提交 27cb35ed 编写于 作者: fxy060608's avatar fxy060608

Merge branch 'dev' of https://github.com/dcloudio/uni-app into alpha

...@@ -652,12 +652,9 @@ class Util { ...@@ -652,12 +652,9 @@ class Util {
// } // }
}, },
fail: (e) => { fail: (e) => {
// if (process.env.NODE_ENV === 'development') {
// console.log('stat request fail', e);
// }
if (++this._retry < 3) { if (++this._retry < 3) {
setTimeout(() => { setTimeout(() => {
this.request(data); this._sendRequest(optionsData);
}, 1000); }, 1000);
} }
} }
...@@ -867,10 +864,10 @@ const lifecycle = { ...@@ -867,10 +864,10 @@ const lifecycle = {
}; };
function main() { function main() {
const Vue = require('vue');
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
uni.report = function(type, options) {}; uni.report = function(type, options) {};
}else{ }else{
const Vue = require('vue');
(Vue.default || Vue).mixin(lifecycle); (Vue.default || Vue).mixin(lifecycle);
uni.report = function(type, options) { uni.report = function(type, options) {
stat.sendEvent(type, options); stat.sendEvent(type, options);
......
...@@ -40,10 +40,10 @@ const lifecycle = { ...@@ -40,10 +40,10 @@ const lifecycle = {
} }
function main() { function main() {
const Vue = require('vue');
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
uni.report = function(type, options) {}; uni.report = function(type, options) {};
}else{ }else{
const Vue = require('vue');
(Vue.default || Vue).mixin(lifecycle); (Vue.default || Vue).mixin(lifecycle);
uni.report = function(type, options) { uni.report = function(type, options) {
stat.sendEvent(type, options); stat.sendEvent(type, options);
......
...@@ -387,12 +387,9 @@ class Util { ...@@ -387,12 +387,9 @@ class Util {
// } // }
}, },
fail: (e) => { fail: (e) => {
// if (process.env.NODE_ENV === 'development') {
// console.log('stat request fail', e);
// }
if (++this._retry < 3) { if (++this._retry < 3) {
setTimeout(() => { setTimeout(() => {
this.request(data); this._sendRequest(optionsData);
}, 1000); }, 1000);
} }
} }
......
...@@ -67,7 +67,9 @@ process.UNI_STAT_CONFIG = { ...@@ -67,7 +67,9 @@ process.UNI_STAT_CONFIG = {
// 默认启用 自定义组件模式 // 默认启用 自定义组件模式
// if (isInHBuilderXAlpha) { // if (isInHBuilderXAlpha) {
let usingComponentsAbsent = false
if (!platformOptions.hasOwnProperty('usingComponents')) { if (!platformOptions.hasOwnProperty('usingComponents')) {
usingComponentsAbsent = true
platformOptions.usingComponents = true platformOptions.usingComponents = true
} }
// } // }
...@@ -170,7 +172,12 @@ if (process.env.UNI_USING_COMPONENTS) { // 是否启用分包优化 ...@@ -170,7 +172,12 @@ if (process.env.UNI_USING_COMPONENTS) { // 是否启用分包优化
} }
} }
const warningMsg = `uni-app将于2019年11月1日起停止支持非自定义组件模式 [详情](https://ask.dcloud.net.cn/article/36385)` const warningMsg =
usingComponentsAbsent
? `该应用之前可能是非自定义组件模式,目前以自定义组件模式运行。非自定义组件将于2019年11月1日起停止支持。详见:https://ask.dcloud.net.cn/article/36385`
: `uni-app将于2019年11月1日起停止支持非自定义组件模式 [详情](https://ask.dcloud.net.cn/article/36385)`
const needWarning = !platformOptions.usingComponents || usingComponentsAbsent
// 输出编译器版本等信息 // 输出编译器版本等信息
if (process.env.UNI_PLATFORM !== 'h5') { if (process.env.UNI_PLATFORM !== 'h5') {
try { try {
...@@ -190,20 +197,20 @@ if (process.env.UNI_PLATFORM !== 'h5') { ...@@ -190,20 +197,20 @@ if (process.env.UNI_PLATFORM !== 'h5') {
}).length) { }).length) {
console.log(info) console.log(info)
console.log(modeText) console.log(modeText)
if (!platformOptions.usingComponents) { if (needWarning) {
console.log(warningMsg) console.log(warningMsg)
} }
console.log('当前nvue编译模式:' + (isNVueCompiler ? 'uni-app' : 'weex') + console.log('当前nvue编译模式:' + (isNVueCompiler ? 'uni-app' : 'weex') +
' 。编译模式差异见:https://ask.dcloud.net.cn/article/36074') ' 。编译模式差异见:https://ask.dcloud.net.cn/article/36074')
} else { } else {
console.log(info + '' + modeText) console.log(info + '' + modeText)
if (!platformOptions.usingComponents) { if (needWarning) {
console.log(warningMsg) console.log(warningMsg)
} }
} }
} else { } else {
console.log(modeText) console.log(modeText)
if (!platformOptions.usingComponents) { if (needWarning) {
console.log(warningMsg) console.log(warningMsg)
} }
} }
......
...@@ -83,8 +83,8 @@ export function processEvent (name, $event = {}, detail = {}, target = {}, curre ...@@ -83,8 +83,8 @@ export function processEvent (name, $event = {}, detail = {}, target = {}, curre
target: processTarget(target, detail), target: processTarget(target, detail),
currentTarget: processTarget(currentTarget), currentTarget: processTarget(currentTarget),
// 只处理系统事件 // 只处理系统事件
touches: $event instanceof Event ? processTouches($event.touches) : $event.touches, touches: ($event instanceof Event || $event instanceof CustomEvent) ? processTouches($event.touches) : $event.touches,
changedTouches: $event instanceof Event ? processTouches($event.changedTouches) : $event.changedTouches, changedTouches: ($event instanceof Event || $event instanceof CustomEvent) ? processTouches($event.changedTouches) : $event.changedTouches,
preventDefault () { }, preventDefault () { },
stopPropagation () { } stopPropagation () { }
}) })
...@@ -124,15 +124,16 @@ function touchstart (evt) { ...@@ -124,15 +124,16 @@ function touchstart (evt) {
startPageX = pageX startPageX = pageX
startPageY = pageY startPageY = pageY
longPressTimer = setTimeout(function () { longPressTimer = setTimeout(function () {
evt.target.dispatchEvent(new CustomEvent('longpress', { let customEvent = new CustomEvent('longpress', {
bubbles: true, bubbles: true,
cancelable: true, cancelable: true,
target: evt.target, target: evt.target,
currentTarget: evt.currentTarget, currentTarget: evt.currentTarget
touches: evt.touches, })
changedTouches: evt.changedTouches customEvent.touches = evt.touches
})) customEvent.changedTouches = evt.changedTouches
evt.target.dispatchEvent(customEvent)
}, LONGPRESS_TIMEOUT) }, LONGPRESS_TIMEOUT)
} }
......
import { import {
invoke, invoke,
publish, publish,
pack, arrayBufferToBase64,
unpack base64ToArrayBuffer
} from '../../bridge' } from '../../bridge'
/** /**
* 执行蓝牙相关方法 * 执行蓝牙相关方法
*/ */
function bluetoothExec (method, callbackId, data = {}) { function bluetoothExec (method, callbackId, data = {}, beforeSuccess) {
var deviceId = data.deviceId var deviceId = data.deviceId
if (deviceId) { if (deviceId) {
data.deviceId = deviceId.toUpperCase() data.deviceId = deviceId.toUpperCase()
...@@ -20,7 +20,10 @@ function bluetoothExec (method, callbackId, data = {}) { ...@@ -20,7 +20,10 @@ function bluetoothExec (method, callbackId, data = {}) {
plus.bluetooth[method.replace('Changed', 'Change')](Object.assign(data, { plus.bluetooth[method.replace('Changed', 'Change')](Object.assign(data, {
success (data) { success (data) {
invoke(callbackId, Object.assign({}, pack(data), { if (typeof beforeSuccess === 'function') {
beforeSuccess(data)
}
invoke(callbackId, Object.assign({}, data, {
errMsg: `${method}:ok`, errMsg: `${method}:ok`,
code: undefined, code: undefined,
message: undefined message: undefined
...@@ -37,9 +40,12 @@ function bluetoothExec (method, callbackId, data = {}) { ...@@ -37,9 +40,12 @@ function bluetoothExec (method, callbackId, data = {}) {
/** /**
* 监听蓝牙相关事件 * 监听蓝牙相关事件
*/ */
function bluetoothOn (method) { function bluetoothOn (method, beforeSuccess) {
plus.bluetooth[method.replace('Changed', 'Change')](function (data) { plus.bluetooth[method.replace('Changed', 'Change')](function (data) {
publish(method, Object.assign({}, pack(data), { if (typeof beforeSuccess === 'function') {
beforeSuccess(data)
}
publish(method, Object.assign({}, data, {
code: undefined, code: undefined,
message: undefined message: undefined
})) }))
...@@ -47,6 +53,16 @@ function bluetoothOn (method) { ...@@ -47,6 +53,16 @@ function bluetoothOn (method) {
return true return true
} }
function checkDevices (data) {
data.devices = data.devices.map(device => {
var advertisData = device.advertisData
if (advertisData && typeof advertisData !== 'string') {
device.advertisData = arrayBufferToBase64(advertisData)
}
return device
})
}
var onBluetoothAdapterStateChange var onBluetoothAdapterStateChange
var onBluetoothDeviceFound var onBluetoothDeviceFound
var onBLEConnectionStateChange var onBLEConnectionStateChange
...@@ -67,7 +83,7 @@ export function getBluetoothAdapterState (data, callbackId) { ...@@ -67,7 +83,7 @@ export function getBluetoothAdapterState (data, callbackId) {
} }
export function startBluetoothDevicesDiscovery (data, callbackId) { export function startBluetoothDevicesDiscovery (data, callbackId) {
onBluetoothDeviceFound = onBluetoothDeviceFound || bluetoothOn('onBluetoothDeviceFound') onBluetoothDeviceFound = onBluetoothDeviceFound || bluetoothOn('onBluetoothDeviceFound', checkDevices)
bluetoothExec('startBluetoothDevicesDiscovery', callbackId, data) bluetoothExec('startBluetoothDevicesDiscovery', callbackId, data)
} }
...@@ -76,7 +92,7 @@ export function stopBluetoothDevicesDiscovery (data, callbackId) { ...@@ -76,7 +92,7 @@ export function stopBluetoothDevicesDiscovery (data, callbackId) {
} }
export function getBluetoothDevices (data, callbackId) { export function getBluetoothDevices (data, callbackId) {
bluetoothExec('getBluetoothDevices', callbackId, {}) bluetoothExec('getBluetoothDevices', callbackId, {}, checkDevices)
} }
export function getConnectedBluetoothDevices (data, callbackId) { export function getConnectedBluetoothDevices (data, callbackId) {
...@@ -102,12 +118,18 @@ export function getBLEDeviceCharacteristics (data, callbackId) { ...@@ -102,12 +118,18 @@ export function getBLEDeviceCharacteristics (data, callbackId) {
} }
export function notifyBLECharacteristicValueChange (data, callbackId) { export function notifyBLECharacteristicValueChange (data, callbackId) {
onBLECharacteristicValueChange = onBLECharacteristicValueChange || bluetoothOn('onBLECharacteristicValueChange') onBLECharacteristicValueChange = onBLECharacteristicValueChange || bluetoothOn('onBLECharacteristicValueChange',
data => {
data.value = arrayBufferToBase64(data.value)
})
bluetoothExec('notifyBLECharacteristicValueChange', callbackId, data) bluetoothExec('notifyBLECharacteristicValueChange', callbackId, data)
} }
export function notifyBLECharacteristicValueChanged (data, callbackId) { export function notifyBLECharacteristicValueChanged (data, callbackId) {
onBLECharacteristicValueChange = onBLECharacteristicValueChange || bluetoothOn('onBLECharacteristicValueChange') onBLECharacteristicValueChange = onBLECharacteristicValueChange || bluetoothOn('onBLECharacteristicValueChange',
data => {
data.value = arrayBufferToBase64(data.value)
})
bluetoothExec('notifyBLECharacteristicValueChanged', callbackId, data) bluetoothExec('notifyBLECharacteristicValueChanged', callbackId, data)
} }
...@@ -116,5 +138,6 @@ export function readBLECharacteristicValue (data, callbackId) { ...@@ -116,5 +138,6 @@ export function readBLECharacteristicValue (data, callbackId) {
} }
export function writeBLECharacteristicValue (data, callbackId) { export function writeBLECharacteristicValue (data, callbackId) {
bluetoothExec('writeBLECharacteristicValue', callbackId, unpack(data)) data.value = base64ToArrayBuffer(data.value)
bluetoothExec('writeBLECharacteristicValue', callbackId, data)
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册