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

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

......@@ -652,12 +652,9 @@ class Util {
// }
},
fail: (e) => {
// if (process.env.NODE_ENV === 'development') {
// console.log('stat request fail', e);
// }
if (++this._retry < 3) {
setTimeout(() => {
this.request(data);
this._sendRequest(optionsData);
}, 1000);
}
}
......@@ -867,10 +864,10 @@ const lifecycle = {
};
function main() {
const Vue = require('vue');
if (process.env.NODE_ENV === 'development') {
uni.report = function(type, options) {};
}else{
const Vue = require('vue');
(Vue.default || Vue).mixin(lifecycle);
uni.report = function(type, options) {
stat.sendEvent(type, options);
......
......@@ -40,10 +40,10 @@ const lifecycle = {
}
function main() {
const Vue = require('vue');
if (process.env.NODE_ENV === 'development') {
uni.report = function(type, options) {};
}else{
const Vue = require('vue');
(Vue.default || Vue).mixin(lifecycle);
uni.report = function(type, options) {
stat.sendEvent(type, options);
......
......@@ -387,12 +387,9 @@ class Util {
// }
},
fail: (e) => {
// if (process.env.NODE_ENV === 'development') {
// console.log('stat request fail', e);
// }
if (++this._retry < 3) {
setTimeout(() => {
this.request(data);
this._sendRequest(optionsData);
}, 1000);
}
}
......
......@@ -67,7 +67,9 @@ process.UNI_STAT_CONFIG = {
// 默认启用 自定义组件模式
// if (isInHBuilderXAlpha) {
let usingComponentsAbsent = false
if (!platformOptions.hasOwnProperty('usingComponents')) {
usingComponentsAbsent = true
platformOptions.usingComponents = true
}
// }
......@@ -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') {
try {
......@@ -190,20 +197,20 @@ if (process.env.UNI_PLATFORM !== 'h5') {
}).length) {
console.log(info)
console.log(modeText)
if (!platformOptions.usingComponents) {
if (needWarning) {
console.log(warningMsg)
}
console.log('当前nvue编译模式:' + (isNVueCompiler ? 'uni-app' : 'weex') +
' 。编译模式差异见:https://ask.dcloud.net.cn/article/36074')
} else {
console.log(info + '' + modeText)
if (!platformOptions.usingComponents) {
if (needWarning) {
console.log(warningMsg)
}
}
} else {
console.log(modeText)
if (!platformOptions.usingComponents) {
if (needWarning) {
console.log(warningMsg)
}
}
......
......@@ -83,8 +83,8 @@ export function processEvent (name, $event = {}, detail = {}, target = {}, curre
target: processTarget(target, detail),
currentTarget: processTarget(currentTarget),
// 只处理系统事件
touches: $event instanceof Event ? processTouches($event.touches) : $event.touches,
changedTouches: $event instanceof Event ? processTouches($event.changedTouches) : $event.changedTouches,
touches: ($event instanceof Event || $event instanceof CustomEvent) ? processTouches($event.touches) : $event.touches,
changedTouches: ($event instanceof Event || $event instanceof CustomEvent) ? processTouches($event.changedTouches) : $event.changedTouches,
preventDefault () { },
stopPropagation () { }
})
......@@ -124,15 +124,16 @@ function touchstart (evt) {
startPageX = pageX
startPageY = pageY
longPressTimer = setTimeout(function () {
evt.target.dispatchEvent(new CustomEvent('longpress', {
longPressTimer = setTimeout(function () {
let customEvent = new CustomEvent('longpress', {
bubbles: true,
cancelable: true,
target: evt.target,
currentTarget: evt.currentTarget,
touches: evt.touches,
changedTouches: evt.changedTouches
}))
currentTarget: evt.currentTarget
})
customEvent.touches = evt.touches
customEvent.changedTouches = evt.changedTouches
evt.target.dispatchEvent(customEvent)
}, LONGPRESS_TIMEOUT)
}
......
import {
invoke,
publish,
pack,
unpack
publish,
arrayBufferToBase64,
base64ToArrayBuffer
} from '../../bridge'
/**
* 执行蓝牙相关方法
*/
function bluetoothExec (method, callbackId, data = {}) {
function bluetoothExec (method, callbackId, data = {}, beforeSuccess) {
var deviceId = data.deviceId
if (deviceId) {
data.deviceId = deviceId.toUpperCase()
......@@ -20,7 +20,10 @@ function bluetoothExec (method, callbackId, data = {}) {
plus.bluetooth[method.replace('Changed', 'Change')](Object.assign(data, {
success (data) {
invoke(callbackId, Object.assign({}, pack(data), {
if (typeof beforeSuccess === 'function') {
beforeSuccess(data)
}
invoke(callbackId, Object.assign({}, data, {
errMsg: `${method}:ok`,
code: undefined,
message: undefined
......@@ -37,9 +40,12 @@ function bluetoothExec (method, callbackId, data = {}) {
/**
* 监听蓝牙相关事件
*/
function bluetoothOn (method) {
function bluetoothOn (method, beforeSuccess) {
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,
message: undefined
}))
......@@ -47,6 +53,16 @@ function bluetoothOn (method) {
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 onBluetoothDeviceFound
var onBLEConnectionStateChange
......@@ -67,7 +83,7 @@ export function getBluetoothAdapterState (data, callbackId) {
}
export function startBluetoothDevicesDiscovery (data, callbackId) {
onBluetoothDeviceFound = onBluetoothDeviceFound || bluetoothOn('onBluetoothDeviceFound')
onBluetoothDeviceFound = onBluetoothDeviceFound || bluetoothOn('onBluetoothDeviceFound', checkDevices)
bluetoothExec('startBluetoothDevicesDiscovery', callbackId, data)
}
......@@ -76,7 +92,7 @@ export function stopBluetoothDevicesDiscovery (data, callbackId) {
}
export function getBluetoothDevices (data, callbackId) {
bluetoothExec('getBluetoothDevices', callbackId, {})
bluetoothExec('getBluetoothDevices', callbackId, {}, checkDevices)
}
export function getConnectedBluetoothDevices (data, callbackId) {
......@@ -102,12 +118,18 @@ export function getBLEDeviceCharacteristics (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)
}
export function notifyBLECharacteristicValueChanged (data, callbackId) {
onBLECharacteristicValueChange = onBLECharacteristicValueChange || bluetoothOn('onBLECharacteristicValueChange')
onBLECharacteristicValueChange = onBLECharacteristicValueChange || bluetoothOn('onBLECharacteristicValueChange',
data => {
data.value = arrayBufferToBase64(data.value)
})
bluetoothExec('notifyBLECharacteristicValueChanged', callbackId, data)
}
......@@ -116,5 +138,6 @@ export function readBLECharacteristicValue (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.
先完成此消息的编辑!
想要评论请 注册