智能照明系统APP-本地串口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
LightingSystemApp-serial/.svn/pristine/b4/b4205753c46050bfeeb565108b4...

106 lines
2.6 KiB

import {
isFn,
hasOwn
} from 'uni-shared'
export function setStorageSync (key, data) {
return my.setStorageSync({
key,
data
})
}
export function getStorageSync (key) {
const result = my.getStorageSync({
key
})
// 支付宝平台会返回一个 success 值,但是目前测试的结果这个始终是 true。当没有存储数据的时候,其它平台会返回空字符串。
return result.data !== null ? result.data : ''
}
export function removeStorageSync (key) {
return my.removeStorageSync({
key
})
}
export function startGyroscope (params) {
if (hasOwn(params, 'interval')) {
console.warn('支付宝小程序 startGyroscope暂不支持interval')
}
params.success && params.success({
errMsg: 'startGyroscope:ok'
})
params.complete && params.complete({
errMsg: 'startGyroscope:ok'
})
}
function createExecCallback (execCallback) {
return function wrapperExecCallback (res) {
this.actions.forEach((action, index) => {
(action._$callbacks || []).forEach(callback => {
callback(res[index])
})
})
if (isFn(execCallback)) {
execCallback(res)
}
}
}
function addCallback (callback) {
if (isFn(callback)) {
const action = this.actions[this.actions.length - 1]
if (action) {
(action._$callbacks || (action._$callbacks = [])).push(callback)
}
}
}
export function createSelectorQuery () {
const query = my.createSelectorQuery()
const oldExec = query.exec
const oldScrollOffset = query.scrollOffset
const oldBoundingClientRect = query.boundingClientRect
query.exec = function exec (callback) {
return oldExec.call(this, createExecCallback(callback).bind(this))
}
query.scrollOffset = function scrollOffset (callback) {
const ret = oldScrollOffset.call(this)
addCallback.call(this, callback)
return ret
}
query.boundingClientRect = function boundingClientRect (callback) {
const ret = oldBoundingClientRect.call(this)
addCallback.call(this, callback)
return ret
}
if (!query.fields) {
query.fields = function ({ rect, size, scrollOffset } = {}, callback) {
if (rect || size) {
this.boundingClientRect()
}
if (scrollOffset) {
this.scrollOffset()
}
addCallback.call(this, callback)
return this
}
}
if (!query.in) {
query.in = function () {
return this
}
}
return query
}
export function createIntersectionObserver (component, options) {
if (options && options.observeAll) {
options.selectAll = options.observeAll
delete options.observeAll
}
return my.createIntersectionObserver(options)
}