// app.js
|
|
const app=getApp()
|
|
const EventEmitter2 = require("./components/eventemitter2/index.js").EventEmitter2;
|
|
const emitter = new EventEmitter2();
|
|
const WXAPI = require('./utils/request')
|
|
|
|
const plugin = requirePlugin("myPlugin")
|
|
|
|
App({
|
|
onLaunch() {
|
|
this.globalData.sysinfo = wx.getSystemInfoSync()
|
|
// wx885b65d99da00084
|
|
// wx20de9fe5943934a1 公寓
|
|
plugin.init('wx20de9fe5943934a1', '458f9df0-3405-66a9-1cdb-49d5f4197e6a')
|
|
.then(function(res){
|
|
console.log('res', res)
|
|
if(res.code != 200){
|
|
wx.showToast({
|
|
title: res.data.msg,
|
|
})
|
|
}
|
|
})
|
|
wx.login({
|
|
success (res) {
|
|
if (res.code) {
|
|
let data={
|
|
code:res.code
|
|
}
|
|
WXAPI.getOpenId(data).then(res=>{
|
|
console.log(res)
|
|
wx.setStorageSync('openid', res.openid)
|
|
})
|
|
} else {
|
|
console.log('登录失败!' + res.errMsg)
|
|
}
|
|
}
|
|
})
|
|
// 展示本地存储能力
|
|
var logs = wx.getStorageSync('token') || ''
|
|
var userRole = wx.getStorageSync('userRole') || ''
|
|
var signature= wx.getStorageSync('signature') || ''
|
|
// 登录
|
|
if(logs!=''&&userRole==0){
|
|
this.globalData.token=logs.access_token
|
|
setTimeout(()=>{
|
|
wx.switchTab({
|
|
url: '/pages/index/index',
|
|
})
|
|
},100)
|
|
}
|
|
if(signature&&userRole==1){
|
|
wx.navigateTo({
|
|
url: '/pages/indexUser/indexUser',
|
|
})
|
|
}
|
|
},
|
|
getDeviceByDevName(devName) {
|
|
return this.globalData.foundBleDevs[devName]
|
|
},
|
|
addDeviceWithDevName(devName, dev) {
|
|
this.globalData.foundBleDevs[devName] = dev
|
|
},
|
|
connectTo: function(options) {
|
|
console.debug('connectTo', options)
|
|
if (typeof options !== 'object') {
|
|
var message = '请求传参应为 object 类型,但实际传了 ' + (typeof options) + ' 类型';
|
|
throw new RequestError('invalid params', message);
|
|
}
|
|
|
|
var success = options.success || noop;
|
|
var fail = options.fail || noop;
|
|
var complete = options.complete || noop;
|
|
|
|
// 成功回调
|
|
var callSuccess = function() {
|
|
success.apply(null, arguments);
|
|
complete.apply(null, arguments);
|
|
};
|
|
|
|
// 失败回调
|
|
var callFail = function(error) {
|
|
fail.call(null, error);
|
|
complete.call(null, error);
|
|
};
|
|
var that = this
|
|
if (options.devName == undefined) {
|
|
throw new RequestError('invalid params', 'options.devName');
|
|
}
|
|
|
|
var bleDev = that.globalData.foundBleDevs[options.devName]
|
|
console.log('bleDev', bleDev)
|
|
if(bleDev == undefined){
|
|
throw new RequestError('dev not found', options.devName);
|
|
}
|
|
|
|
wx.showLoading({
|
|
mask: true,
|
|
title: '连接中...',
|
|
})
|
|
wx.createBLEConnection({
|
|
deviceId: bleDev.deviceId,
|
|
timeout: 8000,
|
|
success: function(res) {
|
|
console.log('createBLEConnection success', res)
|
|
wx.getBLEDeviceServices({
|
|
deviceId: bleDev.deviceId,
|
|
success: function(res) {
|
|
wx.getBLEDeviceCharacteristics({
|
|
deviceId: bleDev.deviceId,
|
|
serviceId: config.uuid.serviceUuid.toUpperCase(),
|
|
success: function(res) {
|
|
wx.notifyBLECharacteristicValueChange({
|
|
deviceId: bleDev.deviceId,
|
|
serviceId: config.uuid.serviceUuid.toUpperCase(),
|
|
characteristicId: config.uuid.notifyUuid.toUpperCase(),
|
|
state: true,
|
|
success: function(res) {
|
|
callSuccess()
|
|
},
|
|
fail: function(res) {
|
|
callFail(res)
|
|
}
|
|
})
|
|
},
|
|
fail: function(res) {
|
|
callFail(res)
|
|
}
|
|
})
|
|
},
|
|
fail: function(res) {
|
|
callFail(res)
|
|
}
|
|
})
|
|
},
|
|
fail: function(res) {
|
|
console.log('createBLEConnection fail', res)
|
|
wx.hideLoading()
|
|
if (res.errMsg.indexOf('already connect') > 0) {
|
|
callSuccess()
|
|
} else {
|
|
callFail(res)
|
|
}
|
|
}
|
|
})
|
|
},
|
|
globalData: {
|
|
userInfo: null,
|
|
token:'',
|
|
baseurl:'https://schoolsafety.zhiweisz.cn/',
|
|
emitter:emitter,//全局订阅函数
|
|
ble: "", //全局蓝牙实例
|
|
blueStatus: false,
|
|
userInfo: null,
|
|
fingerprintId: -1,//指纹ID
|
|
backdata: -1,//返回状态
|
|
openlock:-1,//蓝牙开锁返回状态
|
|
stop29:false,
|
|
zgBlueStatus:false,
|
|
blueDeviceId:'',
|
|
deviceNum:'',
|
|
tenantIdEnter:wx.getStorageSync('tenantId') || '100',
|
|
sysinfo: null,
|
|
foundBleDevs: {},
|
|
isSearch:false,
|
|
isConnected:false,
|
|
isInitReady:false
|
|
}
|
|
})
|