|
|
- // pages/Bluetooth/Bluetooth.js
- const config = require('../../config')
- const util1 = require('../../utils/util1.js')
- const plugin = requirePlugin("myPlugin")
-
-
-
- var util = require('../../utils/util');
- var md5 = require('../../utils/md5.js');
- // import {
- // BLE
- // } from "../../utils/btls/ble";
- const app = getApp();
-
- function RandNum() {
- var rand = ''
- for (var i = 0; i < 8; i++) {
- rand += Math.floor(Math.random() * 10)
- }
- return rand
- }
- var connectedDeviceId
- var basecode = 29283991 //RandNum()//
- var lockId = 1
- var lockManagerId = 1
- var lockMac = ''
- var isInitReady = false
- var isConnected = false
- var lockModel
- var lockDevice
- var taskId = 0
-
- var pincode = -1
- var pincodeIndex = -1
-
- var rfCardId = -1
- var rfCardIndex = -1
-
- var fingerprintIndex = -1
-
- var isLockLogin = false
-
-
-
- const WXAPI = require('../../utils/request')
- import ICINLocker from '../../utils/ICINPakage/ICINLocker'
- import moment from '../../utils/moment';
- // const emitter = app.globalData.emitter
- // ArrayBuffer转16进度字符串示例
- function ab2hex(buffer) {
- var hexArr = Array.prototype.map.call(
- new Uint8Array(buffer),
- function (bit) {
- return ('00' + bit.toString(16)).slice(-2)
- }
- )
- return hexArr.join(',');
- }
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- platformId: 0, // 运营商
- platformname: "",
- sheetshow: false,
- actions1: [{
- name: '电信',
- id: 1
- },
- {
- name: '移动',
- id: 2
- },
- {
- name: '联通',
- id: 3
- },
- {
- name: "直连UDP平台",
- id: 8
- },
- {
- name: "直连TCP平台",
- id: 9
- },
- {
- name: "消息服务器",
- id: 98
- },
- {
- name: "本地缓存",
- id: 99
- }
- ],
- selectRadio1: '1201',
- showreg: false, // 注册到平台的弹出层
- show2: false,
- WifiName: '',
- WifiPwd: "",
- isBindLock: false,
- isPincodeAdd: false,
- isRfCardAdd: false,
- isRegister: false,
- isFingerprintAdd: false,
- isUnloked: false,
- isMuted: false,
- isNbEnable: true,
- lockModel: 0,
- lock: {
- imei: '',
- roomName: '',
- roomId: '',
- mac: '',
- lockType: '',
- id: ''
- },
-
- showWifi: false,
- showIP: false,
- deviceInfo: {
- roomId: '',
- deviceNum: ''
- },
- dataTree: [],
- selectKey: '', //选中的节点id
- dataList: [],
- array: [],
- show: false,
- deviceNum: '',
- type: '1',
- cgInfo: '',
- lockStatus: "",
- userInfo: '',
- show1: false,
- actions: [{
- name: '静音',
- color: '#ee0a24'
- },
- {
- name: '低音',
- color: '#333'
- },
- {
- name: '高音',
- color: '#333'
- },
- ],
- resgiterdevice: true,
- volume: '',
- adminuserinfo: {
- enterpriseId: ''
- },
- wifiName: '',
- wifiPassword: '',
- IPName: '',
- IPport: '',
- privateKey: "",
- showRoom: false,
- firstAuthList: [],
- secondAuthList: [],
- threeAuthList: [],
- fourAuthList: [],
- romeLockerList: [],
- firstAuthListInfo: [],
- secondAuthListInfo: [],
- threeAuthListInfo: [],
- fourAuthListInfo: [],
- romeLockerListInfo: [],
- selectRoomList: ["", "", "", "", ""],
- index: 0,
- indexSecond: 0,
- indexThree: 0,
- indexFour: 0,
- indexFive: 0,
- FiveAuthList: {},
- selectindex: '',
- selectRadio: '1',
- onlyResgiter: false,
- selectRoomName: ''
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- if (options.selectKey) {
- this.setData({
- selectKey: options.selectKey,
- selectRoomName: options.selectRoomName
- })
- }
- if (options.selectindex == 4) {
- var data = {
- q: JSON.stringify({
- deviceNum: options.deviceNum
- })
- }
- this.data.deviceInfo.deviceNum = options.deviceNum
- WXAPI.getDeviceItems(data).then(res => {
- console.log(res);
- if (res.data.list.length > 0) {
- let lock = this.data.lock
- lock.roomName = res.data.list[0].roomName || ''
- lock.roomId = res.data.list[0].roomId || ''
- lock.id = res.data.list[0].id || ''
- lock.deviceNum = res.data.list[0].deviceNum || ''
- lock.cardName = wx.getStorageSync('userInfo').username
-
- // var data = {
- // code: "zg/bleRegisterInfo",
- // data: {
- // lockerId: options.deviceNum
- // }
- // }
- // WXAPI.sendCommand(data).then(res1 => {
- // if (res1.success) {
- // this.setData({
- // cgInfo: res1.data
- // })
- // } else {
-
- // }
- // })
- let superAdmin = []
- var superAdminIdlist = lock.mac.slice(lock.mac.length - 11, lock.mac.length).split(":").join("")
- for (let i = 0; i < superAdminIdlist.length; i++) {
- if (superAdminIdlist[i] >= 0 && superAdminIdlist[i] <= 9) {
- superAdmin.push(superAdminIdlist[i])
- } else {
- let adminid = superAdminIdlist.charCodeAt(i)
- superAdmin.push(adminid)
- }
- }
- let superAdminId = superAdmin.join('').slice(superAdmin.length - 8, superAdmin.length)
- basecode = superAdminId
- console.log("超管", basecode, superAdminId, this.data.lock);
- this.setData({
- deviceInfo: res.data.list[0],
- lock: lock,
- resgiterdevice: false
- })
- } else {
- this.setData({
- resgiterdevice: true
- })
- }
- })
- var that = this
- connectedDeviceId = options.connectedDeviceId
- lockMac = options.mac
- console.log('onLoad', 'mac = ' + lockMac, connectedDeviceId)
-
- lockModel = util1.getLockModel(options.name)
-
- console.log('onLoad', 'model = ' + lockModel)
- var lockType = util1.getLockType(lockModel)
- var lock = this.data.lock
- lock.mac = lockMac
- lock.lockType = lockType
- lock.deviceNum = options.deviceNum
-
-
- lockDevice = app.getDeviceByDevName(options.name)
- wx.setNavigationBarTitle({
- title: options.name,
- })
- that.setData({
- lock: lock,
- lockModel: lockModel,
- isNbLock: lockModel > 30 && lockModel < 49 || lockModel > 80 && lockModel < 89 || lockModel > 100 && lockModel < 109,
- isFpLock: lockModel > 70 && lockModel < 89,
- isJack: lockModel > 10000 && lockModel < 10009
- })
- var adminuserinfo = wx.getStorageSync('userInfo')
- this.setData({
- deviceNum: options.deviceNum,
- type: options.type,
- adminuserinfo: adminuserinfo,
- selectindex: options.selectindex
- })
-
-
- } else {
- var adminuserinfo = wx.getStorageSync('userInfo')
- this.setData({
- deviceNum: options.deviceNum,
- type: options.type,
- adminuserinfo: adminuserinfo,
- selectindex: options.selectindex
- })
- var datathree = {
- code: "zg/auth/firstAuthList",
- data: {}
- }
- WXAPI.sendCommand(datathree).then(res1 => {
- if (res1.success) {
- var firstAuthList = []
- res1.data.map(li => {
- firstAuthList.push(li.value)
- })
- this.setData({
- firstAuthListInfo: res1.data,
- firstAuthList: firstAuthList
- })
- }
- })
- if (options.deviceNum.indexOf('yxwl') != -1) {
-
- } else if (options.deviceNum.indexOf('ICIN')) {
- this.concatFun(options.deviceNum)
- this.readLockStatus()
- }
- var data = {
- q: JSON.stringify({
- deviceNum: options.deviceNum
- })
- }
- WXAPI.getDeviceItems(data).then(res => {
- console.log(res, '设备列表')
- if (res.data.list.length == 0) {
- this.setData({
- deviceInfo: '',
- resgiterdevice: false
- })
- } else {
- if (res.data.list[0].roomId) {
- this.getuser(res.data.list[0].roomId)
- var selectRoomList = res.data.list[0].roomName.split('/')
- this.setData({
- selectRoomList
- })
- }
- var data = {
- code: "zg/bleRegisterInfo",
- data: {
- lockerId: options.deviceNum
- }
- }
- WXAPI.sendCommand(data).then(res1 => {
- if (res1.success) {
- this.setData({
- cgInfo: res1.data,
- deviceInfo: res.data.list[0]
- })
- } else {
-
- }
- })
- }
- })
- }
- this.getRoom()
- },
- onSelect(event) {
- console.log(event.detail);
- this.setData({
- platformId: event.detail.id,
- platformname: event.detail.name
- })
- },
- changesheetshow() {
- this.setData({
- sheetshow: true
- })
- },
- //
- onChangeSelectRaio(event) {
- this.setData({
- selectRadio: event.detail,
- });
- },
- onChangeSelectRaio1(event) {
- this.setData({
- selectRadio1: event.detail
- })
- },
- bindPickerChange: function (e) {
- console.log('picker发送选择改变,携带值为', e.detail.value)
- var selectRoomList = this.data.selectRoomList
- selectRoomList[0].name = this.data.firstAuthListInfo[e.detail.value].value
- selectRoomList[0].code = this.data.firstAuthListInfo[e.detail.value].code
- this.setData({
- index: e.detail.value,
- selectRoomList
- })
- var datathree = {
- code: "zg/auth/secondAuthList",
- data: {
- parentId: selectRoomList[0].code
- }
- }
- WXAPI.sendCommand(datathree).then(res1 => {
- if (res1.success) {
- var secondAuthList = []
- res1.data.map(li => {
- secondAuthList.push(li.value)
- })
- this.setData({
- secondAuthListInfo: res1.data,
- secondAuthList: secondAuthList
- })
- }
- })
- },
- bindPickerChangeSecond: function (e) {
- console.log('picker发送选择改变,携带值为', e.detail.value)
- var selectRoomList = this.data.selectRoomList
- selectRoomList[1].name = this.data.secondAuthListInfo[e.detail.value].value
- selectRoomList[1].code = this.data.secondAuthListInfo[e.detail.value].code
- this.setData({
- indexSecond: e.detail.value,
- selectRoomList
- })
- var datathree = {
- code: "zg/auth/threeAuthList",
- data: {
- parentId: selectRoomList[1].code
- }
- }
- WXAPI.sendCommand(datathree).then(res1 => {
- if (res1.success) {
- var threeAuthList = []
- res1.data.map(li => {
- threeAuthList.push(li.value)
- })
- this.setData({
- threeAuthListInfo: res1.data,
- threeAuthList: threeAuthList
- })
- }
- })
- },
- bindPickerChangeThree: function (e) {
- console.log('picker发送选择改变,携带值为', e.detail.value)
- var selectRoomList = this.data.selectRoomList
- selectRoomList[2].name = this.data.threeAuthListInfo[e.detail.value].value
- selectRoomList[2].code = this.data.threeAuthListInfo[e.detail.value].code
- this.setData({
- indexThree: e.detail.value,
- selectRoomList
- })
- var datathree = {
- code: "zg/auth/fourAuthList",
- data: {
- parentId: selectRoomList[2].code
- }
- }
- WXAPI.sendCommand(datathree).then(res1 => {
- if (res1.success) {
- var fourAuthList = []
- res1.data.map(li => {
- fourAuthList.push(li.value)
- })
- this.setData({
- fourAuthListInfo: res1.data,
- fourAuthList: fourAuthList
- })
- }
- })
- },
- bindPickerChangeFour: function (e) {
- console.log('picker发送选择改变,携带值为', e.detail.value)
- var selectRoomList = this.data.selectRoomList
- selectRoomList[3].name = this.data.fourAuthListInfo[e.detail.value].value
- selectRoomList[3].code = this.data.fourAuthListInfo[e.detail.value].code
- this.setData({
- indexFour: e.detail.value,
- selectRoomList
- })
- var datathree = {
- code: "zg/auth/getRomeUnLockerList",
- data: {
- parentId: selectRoomList[3].code
- }
- }
- WXAPI.sendCommand(datathree).then(res1 => {
- if (res1.success) {
- var romeLockerList = []
- res1.data.map(li => {
- romeLockerList.push(li.value)
- })
- this.setData({
- romeLockerListInfo: res1.data,
- romeLockerList: romeLockerList
- })
- }
- })
- },
- bindPickerChangeFive: function (e) {
- console.log('picker发送选择改变,携带值为', e.detail.value)
- var selectRoomList = this.data.selectRoomList
- selectRoomList[4].name = this.data.romeLockerListInfo[e.detail.value].value
- selectRoomList[4].code = this.data.romeLockerListInfo[e.detail.value].code
- this.setData({
- indexFive: e.detail.value,
- selectRoomList
- })
- // var datathreeOne = {
- // code: "zg/auth/romeFiveAuthByName",
- // data: {
- // "firstAuthName": selectRoomList[0].name,
- // "secondAuthName": selectRoomList[1].name,
- // "threeAuthName": selectRoomList[2].name,
- // "fourAuthName": selectRoomList[3].name,
- // "roomAuth": selectRoomList[4].name
- // }
- // }
- // WXAPI.sendCommand(datathreeOne).then(res1 => {
- // if (res1.code==200) {
- // this.setData({
- // FiveAuthList:res1.data
- // })
- // }
- // })
- },
- // 获取锁端私钥
- getPirvateKey() {
- wx.showLoading({
- title: '读取中',
- mask: true
- })
- var that = this
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId,
- (callback) => {
- var signKey = callback.signKey
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, signKey, (callback1) => {
- ICINLocker.getPirvateKey(this.data.cgInfo.lockerId, callback1.commonKey, (callback2) => {
- if (callback2.status == '00') {
- console.log(callback2, 'sdsiy')
- var privateKey = callback2.privateKey
- if (privateKey) {
- that.setData({
- privateKey: privateKey
- })
- }
- wx.hideLoading()
- console.log(that.data.privateKey, 'sdsiy')
- }
- })
- })
- })
- setTimeout(() => {
- wx.hideLoading()
- }, 5000)
- },
- synchronizationTime() {
- var time = parseInt(new Date().getTime() / 1000)
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId,
- (callback) => {
- var signKey = callback.signKey
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, signKey, (callback1) => {
- var _commonKey = callback1.commonKey
- ICINLocker.updateTime(this.data.cgInfo.lockerId, this.data.cgInfo.superId, time, '', _commonKey, callback2 => {
- if (callback2.status == '00') {
- wx.showToast({
- title: '同步时间成功',
- duration: 2000,
- icon: 'none'
- })
- this.setData({
- showIP: false
- })
- } else {
- wx.showToast({
- title: '同步时间失败,错误码:' + callback2.status,
- duration: 2000,
- icon: 'none'
- })
- }
- });
-
- })
- })
- },
- confirmSetIP() {
- if (this.data.IPName == '' || this.data.IPport == '') {
- wx.showToast({
- title: '请填写完整信息',
- duration: 2000,
- icon: 'none'
- })
- } else {
- var NbGwIp = this.data.IPName
- var NbGwPort = this.data.IPport
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId,
- (callback) => {
- console.log(callback)
- var signKey = callback.signKey
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, signKey, (callback1) => {
- console.log(callback1)
- var _commonKey = callback1.commonKey
- ICINLocker.setWifiApInfo(NbGwIp, NbGwPort, _commonKey, callback2 => {
- if (callback2.status == '00') {
- wx.showToast({
- title: '设置成功',
- duration: 2000,
- icon: 'none'
- })
- this.setData({
- showIP: false
- })
- } else {
- wx.showToast({
- title: '设置失败,错误码:' + callback2.status,
- duration: 2000,
- icon: 'none'
- })
- }
- });
- })
- })
- }
- },
- confirmSetWifi() {
- if (this.data.wifiName == '' || this.data.wifiPassword == '') {
- wx.showToast({
- title: '请填写完整信息',
- duration: 2000,
- icon: 'none'
- })
- } else {
- var _wifiApSsid = this.data.wifiName
- var _wifiApPwd = this.data.wifiPassword
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId,
- (callback) => {
- console.log(callback)
- var signKey = callback.signKey
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, signKey, (callback1) => {
- console.log(callback1)
- var _commonKey = callback1.commonKey
- ICINLocker.setWifiApInfo(_wifiApSsid, _wifiApPwd, _commonKey, callback2 => {
- if (callback2.status == '00') {
- wx.showToast({
- title: '设置成功',
- duration: 2000,
- icon: 'none'
- })
- this.setData({
- showWifi: false
- })
- } else {
- wx.showToast({
- title: '设置失败,错误码:' + callback2.status,
- duration: 2000,
- icon: 'none'
- })
- }
- });
- })
- })
- }
- },
- onChangeWifi(event) {
- // event.detail 为当前输入的值
- this.setData({
- wifiName: event.detail
- })
- },
- onChangeWifi1(event) {
- // event.detail 为当前输入的值
- this.setData({
- wifiPassword: event.detail
- })
- },
- setWifi() {
- this.setData({
- showWifi: true
- });
- },
- onCloseWifi() {
- this.setData({
- showWifi: false
- });
- },
-
-
- onChangeIP(event) {
- // event.detail 为当前输入的值
- this.setData({
- IPName: event.detail
- })
- },
- onChangeIP1(event) {
- // event.detail 为当前输入的值
- this.setData({
- IPport: event.detail
- })
- },
- setIP() {
- this.setData({
- showIP: true
- });
- },
- onCloseIP() {
- this.setData({
- showIP: false
- });
- },
- onCloseRoom() {
- this.setData({
- showRoom: false
- });
- },
- // 获取用户
- getuser(roomId) {
- var data = {
- q: JSON.stringify({
- id: roomId
- }),
- orderBy: "createTime",
- orderType: 'desc'
- }
- WXAPI.getSiteTenant(data).then(res => {
- if (res.success) {
- this.setData({
- userInfo: res.data.list[0]
- })
- }
- })
- },
- // 删除用户
- deleteUser() {
-
- },
- // 添加指纹
- addFingerPrints() {
- if (this.userInfo == '') {
- wx.showToast({
- title: '请添加用户',
- duration: 2000,
- icon: 'none'
- })
- } else {
- var userInfo = JSON.parse(this.data.userInfo.info)
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, this.data.cgInfo.authKey, (callback) => {
- ICINLocker.addFingerPrints(this.data.cgInfo.lockerId, this.data.cgInfo.superId, userInfo.userPassword, this.data.cgInfo.superId, '', this.data.cgInfo.authKey, '00000000', 'FFFFFFFF', '00', callback.commonKey, (callback) => {
- console.log(callback)
- })
- })
- }
- },
- ShowRoomMathods() {
- this.setData({
- showRoom: true
- })
- },
- sendSetKey() {
- wx.showModal({
- title: '下发五组密钥前,请先获取锁端私钥,是否下发五组密钥',
- success: (result) => {
- if (result.confirm) {
- var selectRoomList = this.data.selectRoomList
- if (this.data.privateKey == '') {
- wx.showModal({
- title: '请获取锁端私钥,才能下发五组密钥',
- })
- return
- }
- wx.showLoading({
- title: '下发中',
- mask: true
- })
- var that = this
- var dataOne = {
- code: "zg/auth/romeFiveAuthByName",
- data: {
- "firstAuthName": selectRoomList[0],
- "secondAuthName": selectRoomList[1],
- "threeAuthName": selectRoomList[2],
- "fourAuthName": selectRoomList[3],
- "roomAuth": selectRoomList[4],
- }
- }
- WXAPI.sendCommand(dataOne).then(resOne => {
- if (resOne.code == 200) {
- let FiveAuthList = resOne.data
- var currtime = moment().format("X")
- var writeTime = parseInt(currtime).toString(16).toUpperCase()
- ICINLocker.getSignKey(that.data.cgInfo.lockerId, that.data.cgInfo.superId, that.data.cgInfo.superId, (callbackSignKey) => {
- ICINLocker.getCommonKey(that.data.cgInfo.lockerId, that.data.cgInfo.superId, that.data.cgInfo.superId, callbackSignKey.signKey, (callback) => {
- console.log(callback)
- if (callback.status == "00") {
- ICINLocker.addFiveKeys(that.data.cgInfo.lockerId, writeTime, "01", that.data.privateKey, "01", FiveAuthList.firstAuth, "01", FiveAuthList.secondAuth, "01", FiveAuthList.threeAuth, "01", FiveAuthList.fourAuth, callback.commonKey, (callback1) => {
- console.log(callback1, '下发五组密钥返回')
- if (callback1.completeFlag == "01" && callback1.status == "00") {
- wx.showModal({
- title: '下发成功',
- })
- var datathreeTwo = {
- code: "zg/auth/reportOfflineCardPrivateKey",
- data: {
- roomId: resOne.data.homeId,
- privateKey: that.data.privateKey,
- }
- }
- WXAPI.sendCommand(datathreeTwo).then(res1 => {
- if (res1.code == 200) {}
- })
- this.setData({
- showRoom: false
- })
- } else {
- wx.showModal({
- title: '下发失败',
- })
- // wx.showToast({
- // title: '下发失败',
- // duration:2000,
- // icon:"none"
- // })
- }
- });
- }
- })
- })
- }
- })
- }
- }
- })
- setTimeout(() => {
- wx.hideLoading()
- }, 10000)
- },
- // 蓝牙开门
- openTheDoor() {
- if (this.userInfo == '') {
- wx.showToast({
- title: '请添加用户',
- duration: 2000,
- icon: 'none'
- })
- } else {
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId,
- (callback) => {
- console.log(callback)
- var signKey = callback.signKey
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, signKey, (callback1) => {
- console.log(callback1)
- var commonKey = callback1.commonKey
- ICINLocker.openTheDoor(this.data.cgInfo.lockerId, this.data.cgInfo.superId, signKey, this.data.cgInfo.superId, '', '01', commonKey, (callback2) => {
- console.log(callback2.status)
- var data = {
- code: "zg/bleUnlockRecord",
- data: {
- lockerId: this.data.cgInfo.lockerId,
- lockerUserId: this.data.cgInfo.superId
- }
- }
- WXAPI.sendCommand(data).then(res => {
- console.log(res)
- })
- setTimeout(() => {
- this.synchronizationTime()
- }, 1000)
- })
- })
- })
- }
- },
- //连接蓝牙
- concatFun() {
- var deviceNum = this.data.deviceNum
- var that = this
- wx.showLoading({
- title: '连接中',
- mask: true
- })
- wx.removeStorageSync("connectedDeviceId")
- ICINLocker.scanDevices(deviceNum)
- .then((res) => {
- if (res.status == 0) {
- //成功找到蓝牙情况下进行锁连接
- ICINLocker.connect(res.deviceId, false) // 此处 deviceId 存起来,当断开连接时使用
- .then((res) => {
- if (res.status == 0) {
- wx.showToast({
- title: res.statusReason,
- duration: 2000,
- icon: "none"
- })
- wx.hideLoading()
- } else {
- wx.showToast({
- title: res.statusReason,
- duration: 2000,
- icon: "none"
- })
- console.log(222, res)
- wx.hideLoading()
- //此处处理返回值不为成功(0)的情况
- }
- }).catch((res) => {
- this.concatFun()
- // 此处处理未能连接成功问题
- })
- }
- })
- .catch((res) => {
- //此处处理未能连接到蓝牙的问题
- })
- },
- resetLock1() {
- wx.showModal({
- title: '是否确认重置锁',
- success: (result) => {
- if (result.confirm) {
- ICINLocker.getSignKey('ICIN_16b017e8f6cc', 'AE822FD', 'AE822FD',
- (callback) => {
- console.log(callback, '111')
- var signKey = callback.signKey
- ICINLocker.getCommonKey('ICIN_16b017e8f6cc', 'AE822FD', 'AE822FD', signKey, (callback1) => {
- console.log(callback1)
- ICINLocker.resetLock('ICIN_16b017e8f6cc', 'AE822FD', '', signKey, callback1.commonKey, (callback2) => {
- console.log(callback2)
- if (callback2.status = '00') {
- var data1 = {
- device: this.data.deviceNum
- }
- // WXAPI.deleteZGDevice(data1).then(res => {
-
- // })
- this.unbindRoom()
- }
- });
- })
- })
- }
- },
- fail: (res) => {
-
- },
- })
- },
- // 重置
- resetLock() {
- wx.showModal({
- title: '是否确认重置锁',
- success: (result) => {
- if (result.confirm) {
- wx.showLoading({
- title: '重置中',
- mask: true
- })
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId,
- (callback) => {
- if (callback.status == '00') {
- var signKey = callback.signKey
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, signKey, (callback1) => {
- ICINLocker.resetLock(this.data.cgInfo.lockerId, this.data.cgInfo.superId, '', signKey, callback1.commonKey, (callback2) => {
- if (callback2.status = '00') {
- wx.showToast({
- title: '重置成功',
- duration: 2000,
- icon: 'none'
- })
- this.unbindRoom()
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '重置失败',
- duration: 2000,
- icon: 'none'
- })
- }
- });
- })
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '重置失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- }
- },
- fail: (res) => {
-
- },
- })
- },
- // 解绑房间
- unbindRoomMethods() {
- wx.showModal({
- title: '是否确认解绑',
- success: (result) => {
- if (result.confirm) {
- var data = [{
- siteId: this.data.deviceInfo.roomId,
- deviceId: this.data.deviceInfo.id,
- }]
- WXAPI.unbindDeviceSite(data).then(res => {
- var data2 = {
- code: "zg/bleResetDevice",
- data: {
- lockerId: this.data.deviceInfo.deviceNum
- }
- }
- WXAPI.sendCommand(data2).then(res1 => {
- console.log(res1, 'res1------')
- if (res1.success) {
- var data1 = {
- lockerId: this.data.deviceInfo.deviceNum,
- imei: this.data.deviceInfo.imei,
- order: 5102,
- cardName: this.data.adminuserinfo.username,
- roomName: this.data.deviceInfo.roomName
- }
- WXAPI.deleteZGDevice(data1).then(res => {
- // console.log(res, '删除设备')
- if (res.success) {
- wx.showToast({
- title: '解绑成功',
- duration: 2000,
- icon: 'none'
- })
- var deviceInfo = this.data.deviceInfo
- deviceInfo['roomId'] = ''
- deviceInfo['roomName'] = ''
- this.setData({
- deviceInfo,
- resgiterdevice: false
- })
- }
- })
- } else {
- wx.showToast({
- title: '删除失败',
- icon: "none",
- duration: 2000
- })
- }
- })
- var data3 = {
- q: JSON.stringify({
- id: this.data.deviceInfo.roomId
- })
- }
- WXAPI.getSiteTenant(data3).then(res2 => {
- console.log(res2, 'res22222')
- if (res2.success) {
- var ids = []
- res2.data.list.map(li => {
- var obj = {
- siteId: this.data.deviceInfo.roomId,
- cardId: li.cardId,
- }
- ids.push(obj)
- })
- WXAPI.unbindCard(ids).then(res3 => {
- if (res3.success) {
- wx.showToast({
- title: '退租成功',
- duration: 2000,
- icon: 'none'
- })
- } else {
- wx.showToast({
- title: '退租失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- } else {
- wx.showToast({
- title: '退租失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- })
- }
- }
- })
- },
- // 解绑房间
- unbindRoom() {
- var data = [{
- siteId: this.data.deviceInfo.roomId,
- deviceId: this.data.deviceInfo.id,
- }]
- WXAPI.unbindDeviceSite(data).then(res => {
- var data2 = {
- code: "zg/bleResetDevice",
- data: {
- lockerId: this.data.deviceInfo.deviceNum
- }
- }
- WXAPI.sendCommand(data2).then(res1 => {
- console.log(res1, 'res1------')
- if (res1.success) {
- var data1 = {
- lockerId: this.data.deviceInfo.deviceNum,
- imei: this.data.deviceInfo.imei,
- order: 5102,
- cardName: this.data.adminuserinfo.username,
- roomName: this.data.deviceInfo.roomName,
- result: 1
- }
- WXAPI.deleteZGDevice(data1).then(res => {
- // console.log(res, '删除设备')
- if (res.success) {
- wx.showToast({
- title: '解绑成功',
- duration: 2000,
- icon: 'none'
- })
- var deviceInfo = this.data.deviceInfo
- deviceInfo['roomId'] = ''
- deviceInfo['roomName'] = ''
- this.setData({
- deviceInfo,
- resgiterdevice: false
- })
- }
- })
- } else {
- wx.showToast({
- title: '删除失败',
- icon: "none",
- duration: 2000
- })
- }
- })
- var data3 = {
- q: JSON.stringify({
- id: this.data.deviceInfo.roomId
- })
- }
- WXAPI.getSiteTenant(data3).then(res2 => {
- console.log(res2, 'res22222')
- if (res2.success) {
- var ids = []
- res2.data.list.map(li => {
- var obj = {
- siteId: this.data.deviceInfo.roomId,
- cardId: li.cardId,
- }
- ids.push(obj)
- })
- WXAPI.unbindCard(ids).then(res3 => {
- if (res3.success) {
- wx.showToast({
- title: '退租成功',
- duration: 2000,
- icon: 'none'
- })
- } else {
- wx.showToast({
- title: '退租失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- } else {
- wx.showToast({
- title: '退租失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- })
- },
- randomString(len, charSet) {
- charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- var randomString = '';
- for (var i = 0; i < len; i++) {
- var randomPoz = Math.floor(Math.random() * charSet.length);
- randomString += charSet.substring(randomPoz, randomPoz + 1);
- }
- return randomString;
- },
- // 设置声音
- setVoice() {
- this.setData({
- show1: true
- });
- },
- // 关闭设置音量
- onClose1() {
- this.setData({
- show2: false
- });
- },
- // 选择设置音量
- onSelect1(event) {
- var volume = ''
- if (event.detail.name == '静音') {
- volume = '00'
- } else if (event.detail.name == '低音') {
- volume = '01'
- } else if (event.detail.name == '高音') {
- volume = '02'
- }
- this.setData({
- volume: volume
- })
- wx.showLoading({
- title: "正在设置...",
- mask: true
- });
- this.setVolume(volume)
- },
- // 设置音量
- setVolume(volume) {
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId,
- (callback) => {
- console.log(callback, '-----')
- if (callback.status == '00') {
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, callback.signKey, (callback1) => {
- console.log(callback1, '2222222')
- if (callback1.status == '00') {
- ICINLocker.setVolume(this.data.cgInfo.lockerId, this.data.cgInfo.superId, volume, callback1.commonKey, (callback2) => {
- console.log(callback2, '333333333')
- if (callback2.status == '00') {
- wx.hideLoading()
- wx.showToast({
- title: '设置成功',
- duration: 2000,
- icon: 'none'
- })
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '设置失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '设置失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '设置失败',
- duration: 2000,
- icon: 'none'
- })
- }
- });
- },
- reportOfflineCardPrivateKeyMethods(str, signKey, commonKey, IMEI, IMSI) {
- var that = this
- var dataTwo = {
- code: "zg/auth/romeFiveAuthByName",
- data: {
- "firstAuthName": that.data.selectRoomList[0],
- "secondAuthName": that.data.selectRoomList[1],
- "threeAuthName": that.data.selectRoomList[2],
- "fourAuthName": that.data.selectRoomList[3],
- "roomAuth": that.data.selectRoomList[4],
- }
- }
- WXAPI.sendCommand(dataTwo).then(resTwo => {
- var datathreeOne = {
- code: "zg/customer/compleateLocker",
- data: {
- romeId: resTwo.data.homeId,
- lockerId: this.data.deviceNum,
- superAdminId: str,
- superAdminKey: str,
- authCode: signKey,
- communicationKey: commonKey,
- commentType: that.data.type,
- imei: IMEI,
- imsi: IMSI
- }
- }
- WXAPI.sendCommand(datathreeOne).then(resOne => {
-
- })
- })
- },
- // 添加管理员
- addAdmin() {
- var that = this
- var str1 = JSON.stringify(util.gettimestamp1())
- var devicenum = this.data.deviceNum
- var md51 = md5(devicenum);
- console.log(md51)
- // var sjnum=this.randomString(7,md51)
- // var str = sjnum.toUpperCase()
- wx.showLoading({
- title: '注册中',
- mask: true
- })
- var str = md51.substr(md51.length - 7, md51.length).toUpperCase()
- console.log(str, this.data.deviceNum)
- ICINLocker.getSignKey(this.data.deviceNum, str, str,
- (callback) => {
- this.data.signKey = callback.signKey
- var signKey = callback.signKey
- console.log(signKey)
- ICINLocker.getCommonKey(this.data.deviceNum, str, str, callback.signKey, (callback) => {
- this.data.commonKey = callback.commonKey
- var commonKey = callback.commonKey
- ICINLocker.readLockerInfo(this.data.deviceNum, str, (callback) => {
- if (that.data.type == '0') {
- ICINLocker.setIpOfNb("103.120.227.76", "9090", commonKey, callback2 => {
- ICINLocker.addUserToLock(this.data.deviceNum, str, str, str, 'FF', signKey, '', commonKey, '00000000', 'FFFFFFFF', (callback1) => {
- if (callback1.status == '00') {
- var IMEI = callback.nbIMEI.substr(0, 15);
- var IMSI = callback.nvIMSI.substr(0, 15);
- var data = {
- lockerId: this.data.deviceNum,
- imei: IMEI,
- imsi: IMSI,
- // customerCode: "d39eaa7fc1f34190869608259133d2fb",
- lockerSuperAdminId: str,
- authKey: this.data.signKey.toUpperCase(),
- commonKey: this.data.commonKey,
- type: this.data.type,
- enterpriseId: this.data.adminuserinfo.enterpriseId,
- order: 5101,
- status: 1,
- cardName: this.data.adminuserinfo.username + '-蓝牙注册锁',
- roomName: this.data.selectRoomList.join("/")
- };
- if (that.data.selectRadio == 1 || that.data.selectRadio == 3) {
- that.reportOfflineCardPrivateKeyMethods(str, signKey, commonKey, IMEI, IMSI)
- }
- setTimeout(() => {
- if (!that.data.resgiterdevice) {
- var datastr = {
- data: {
- manufactureId: that.data.selectindex == 2 ? 201 : that.data.selectindex == 3 ? 221 : '',
- lockerId: data.lockerId,
- imei: data.imei,
- imsi: data.imsi,
- // customerCode:data.customerCode,
- lockerSuperAdminId: data.lockerSuperAdminId,
- authKey: data.authKey,
- commonKey: data.commonKey,
- type: data.type,
- order: 5101,
- status: 1,
- cardName: data.cardName,
- roomName: data.roomName
- },
- code: "/v1/zg/registerDevice",
- enterpriseId: data.enterpriseId,
- key: data.lockerId
- }
- WXAPI.registerDeviceAll(datastr).then(res => {
- console.log(res, '注册设备')
- if (res.success) {
- that.setData({
- onlyResgiter: true
- })
- wx.showToast({
- title: res.message,
- icon: 'none',
- duration: 2000
- })
- var data1 = {
- pageNum: 1,
- pageSize: 10,
- q: JSON.stringify({
- deviceNum: this.data.deviceNum,
- // lockType:1,
- types: [1, 21],
- })
- }
- var data2 = [{
- siteId: that.data.selectKey,
- deviceId: res.data.id,
- }]
- var data3 = {
- code: "zg/bleRegisterInfo",
- data: {
- lockerId: this.data.deviceNum
- }
- }
- WXAPI.sendCommand(data3).then(res1 => {
- console.log(res1, '蓝牙设备')
- if (res1.success) {
- this.setData({
- cgInfo: res1.data
- })
- } else {
-
- }
- })
- if (that.data.selectRadio == 1 || that.data.selectRadio == 3) {
- WXAPI.bindDeviceSite(data2).then(res2 => {
- console.log(res2, '绑定设备数据')
- if (res2.success) {
- wx.showToast({
- title: '操作成功',
- duration: 2000,
- icon: "none"
- })
- this.getuser(that.data.selectKey)
- WXAPI.getDeviceItems(data1).then(res3 => {
- console.log(res, '获取设备')
- wx.hideLoading()
- this.setData({
- deviceInfo: res3.data.list[0],
- show: false,
- })
- })
- }
- })
- }
- } else {
- wx.showToast({
- title: '平台注册失败',
- icon: 'none',
- duration: 2000
- })
- }
- })
- } else {
- var data1 = {
- pageNum: 1,
- pageSize: 10,
- q: JSON.stringify({
- deviceNum: this.data.deviceNum,
- // lockType:1,
- types: [1, 21],
- })
- }
- var data2 = [{
- siteId: that.data.selectKey,
- deviceId: that.data.deviceInfo.id,
- }]
- var data3 = {
- code: "zg/bleRegisterInfo",
- data: {
- lockerId: this.data.deviceNum
- }
- }
- WXAPI.sendCommand(data3).then(res1 => {
- if (res1.success) {
- this.setData({
- cgInfo: res1.data
- })
- } else {
-
- }
- })
- if (that.data.selectRadio == 1 || that.data.selectRadio == 3) {
- WXAPI.bindDeviceSite(data2).then(res2 => {
- console.log(res2, '绑定设备数据')
- if (res2.success) {
- wx.showToast({
- title: '操作成功',
- duration: 2000,
- icon: "none"
- })
- this.getuser(that.data.selectKey)
- WXAPI.getDeviceItems(data1).then(res3 => {
- wx.hideLoading()
- this.setData({
- deviceInfo: res3.data.list[0],
- show: false
- })
- })
- }
- })
- }
- }
- }, 1000)
- } else {
- wx.showToast({
- title: '门锁注册失败',
- icon: 'none',
- duration: 2000
- })
- }
- })
- })
- } else {
- ICINLocker.addUserToLock(this.data.deviceNum, str, str, str, 'FF', signKey, '', commonKey, '00000000', 'FFFFFFFF', (callback1) => {
- if (callback1.status == '00') {
- console.log(callback, '锁信息')
- var IMEI = callback.nbIMEI.substr(0, 15);
- var IMSI = callback.nvIMSI.substr(0, 15);
- var data = {
- lockerId: this.data.deviceNum,
- imei: IMEI,
- imsi: IMSI,
- // customerCode: "d39eaa7fc1f34190869608259133d2fb",
- lockerSuperAdminId: str,
- authKey: this.data.signKey.toUpperCase(),
- commonKey: this.data.commonKey,
- enterpriseId: this.data.adminuserinfo.enterpriseId,
- type: this.data.type,
- order: 5101,
- roomName: this.data.selectRoomList.join("/")
- };
- if (that.data.selectRadio == 1 || that.data.selectRadio == 3) {
- that.reportOfflineCardPrivateKeyMethods(str, signKey, commonKey, IMEI, IMSI)
- }
- setTimeout(() => {
- if (!that.data.resgiterdevice) {
- var datastr = {
- data: {
- manufactureId: that.data.selectindex == 2 ? 201 : that.data.selectindex == 3 ? 221 : '',
- lockerId: data.lockerId,
- imei: data.imei,
- imsi: data.imsi,
- // customerCode:data.customerCode,
- lockerSuperAdminId: data.lockerSuperAdminId,
- authKey: data.authKey,
- commonKey: data.commonKey,
- type: data.type,
- order: 5101,
- cardName: data.cardName,
- roomName: data.roomName
- },
- code: "/v1/zg/registerDevice",
- enterpriseId: data.enterpriseId,
- key: data.lockerId
- }
- console.log(datastr, 'datastrdatastr631')
- WXAPI.registerDeviceAll(datastr).then(res => {
- console.log(res, '注册设备')
- if (res.success) {
- that.setData({
- onlyResgiter: true
- })
- wx.showToast({
- title: res.message,
- icon: 'none',
- duration: 2000
- })
- var data1 = {
- pageNum: 1,
- pageSize: 10,
- q: JSON.stringify({
- deviceNum: this.data.deviceNum,
- // lockType:1,
- types: [1, 21],
- })
- }
- var data2 = [{
- siteId: that.data.selectKey,
- deviceId: res.data.id,
- }]
- var data3 = {
- code: "zg/bleRegisterInfo",
- data: {
- lockerId: this.data.deviceNum
- }
- }
- WXAPI.sendCommand(data3).then(res1 => {
- if (res1.success) {
- this.setData({
- cgInfo: res1.data
- })
- } else {
-
- }
- })
- if (that.data.selectRadio == 1 || that.data.selectRadio == 3) {
- WXAPI.bindDeviceSite(data2).then(res2 => {
- console.log(res2, '绑定设备数据')
- if (res2.success) {
- wx.showToast({
- title: '操作成功',
- duration: 2000,
- icon: "none"
- })
- this.getuser(that.data.selectKey)
- WXAPI.getDeviceItems(data1).then(res3 => {
- wx.hideLoading()
- this.setData({
- deviceInfo: res3.data.list[0],
- show: false
- })
- })
- }
- })
- }
- } else {
- wx.showToast({
- title: '平台注册失败',
- icon: 'none',
- duration: 2000
- })
- }
- })
- } else {
- var data1 = {
- pageNum: 1,
- pageSize: 10,
- q: JSON.stringify({
- deviceNum: this.data.deviceNum,
- // lockType:1,
- types: [1, 21],
- })
- }
- var data2 = [{
- siteId: that.data.selectKey,
- deviceId: that.data.deviceInfo.id,
- }]
- var data3 = {
- code: "zg/bleRegisterInfo",
- data: {
- lockerId: this.data.deviceNum
- }
- }
- WXAPI.sendCommand(data3).then(res1 => {
- if (res1.success) {
- this.setData({
- cgInfo: res1.data
- })
- } else {
-
- }
- })
- if (that.data.selectRadio == 1 || that.data.selectRadio == 3) {
- WXAPI.bindDeviceSite(data2).then(res2 => {
- console.log(res2, '绑定设备数据')
- if (res2.success) {
- wx.showToast({
- title: '操作成功',
- duration: 2000,
- icon: "none"
- })
- this.getuser(that.data.selectKey)
- WXAPI.getDeviceItems(data1).then(res3 => {
- wx.hideLoading()
- this.setData({
- deviceInfo: res3.data.list[0],
- show: false
- })
- })
- }
- })
- }
- }
- }, 1000)
- } else {
- wx.showToast({
- title: '门锁注册失败',
- icon: 'none',
- duration: 2000
- })
- }
- })
- }
- })
-
- })
- })
- },
- // 绑定房间
- bindRoomMethods() {
- this.setData({
- show: true
- })
- },
- // resgiterDeviceMethods(){
- // let deviceInfo = this.data.deviceInfo
- // let userInfo = wx.getStorageSync('userInfo')
- // if(deviceInfo.imei){
- // var datastr={
- // data: {
- // deviceNum: deviceInfo.deviceNum,
- // imei: deviceInfo.imei,
- // imsi: deviceInfo.imei,
- // order: 5101,
- // platformId: 1,
- // manufactureId: 1201,
- // },
- // code: "/v1/isp/registerDevice",
- // enterpriseId: userInfo.enterpriseId,
- // key: deviceInfo.deviceNum
- // }
- // WXAPI.registerDeviceAll(datastr).then(res => {
- // if(res.success && res.data.success){
- // this.getdevice()
- // wx.showToast({
- // title: '注册成功',
- // duration:2000,
- // icon:'none'
- // })
- // }else{
- // if(res.success){
- // wx.showToast({
- // title: `注册失败:${res.data.msg}`,
- // duration:2000,
- // icon:'none'
- // })
- // }else{
- // wx.showToast({
- // title: `注册失败:${res.message}`,
- // duration:2000,
- // icon:'none'
- // })
- // }
- // }
- // })
- // }else if(this.data.selectindex == 4) {
- // let data = {
- // code: 'lwj/registerDevice',
-
- // }
- // WXAPI.sendCommand(data).then(res => {
-
- // })
- // }else{
- // wx.showToast({
- // title: '请先查询IMEI',
- // duration:2000,
- // icon:'none'
- // })
- // }
- // },
-
- // 注册到平台
- resgiterDeviceMethods1() {
- if (this.data.platformId == 0) {
- return wx.showToast({
- title: '请先选择运营商',
- icon: "none",
- duration: 2000
- })
- }
- if (this.data.selectRadio1 == '1201') {
- this.resgWfiDevice()
- } else if (this.data.selectRadio1 == '1221') {
-
- } else if (this.data.selectRadio1 == '1231') {
-
- } else if (this.data.selectRadio1 == '1241') {
- this.resgWfiDevice()
- }
- },
- // Wifi人脸锁注册
- resgWfiDevice() {
- wx.showLoading({
- title: '注册中...',
- icon: 'none'
- })
- var that = this
- var lockMac = this.data.lock.mac
- // var superAdminIdlist = this.data.lock.mac.slice(this.data.lock.mac.length - 11, this.data.lock.mac.length).split(":").join("")
- // var superAdmin = []
- var superAdminId
- var deviceimei
- console.log(that.data.lock);
- if (that.data.selectRadio1 == 1201) {
- deviceimei = that.data.lock.imei
- } else if (that.data.selectRadio1 == 1241) {
- if (that.data.deviceNum.length <= 15) {
- deviceimei = that.data.deviceNum
- } else {
- deviceimei = that.data.deviceNum.slice(that.data.deviceNum.length - 15, that.data.deviceNum.length)
- }
- }
- // for (let i = 0; i < superAdminIdlist.length; i++) {
- // if (superAdminIdlist[i] >= 0 && superAdminIdlist[i] <= 9) {
- // superAdmin.push(superAdminIdlist[i])
- // } else {
- // let adminid = superAdminIdlist.charCodeAt(i)
- // superAdmin.push(adminid)
- // }
- // }
- // superAdminId = superAdmin.join('').slice(superAdmin.length - 8, superAdmin.length)
- // console.log(lockMac, superAdminIdlist, superAdminId);
- // let superAdmin = []
- // var superAdminIdlist = lock.mac.slice(lock.mac.length - 11, lock.mac.length).split(":").join("")
- // for (let i = 0; i < superAdminIdlist.length; i++) {
- // if (superAdminIdlist[i] >= 0 && superAdminIdlist[i] <= 9) {
- // superAdmin.push(superAdminIdlist[i])
- // } else {
- // let adminid = superAdminIdlist.charCodeAt(i)
- // superAdmin.push(adminid)
- // }
- // }
- // let superAdminId = superAdmin.join('').slice(superAdmin.length - 8, superAdmin.length)
- // basecode = superAdminId
- console.log("123123123123", basecode, superAdminId, deviceimei);
- let data = {
- code: 'lwj/registerDevice',
- data: {
- deviceNum: this.data.deviceNum,
- imei: deviceimei,
- imsi: deviceimei,
- platformId: this.data.platformId,
- manufactureId: this.data.selectRadio1
- }
- }
- console.log(data);
- WXAPI.sendCommand(data).then(res => {
- console.log(res, data, basecode);
- if (res.success) {
- let data1 = {
- code: 'lwj/registerSupperAdmin',
- data: {
- lockerId: that.data.deviceNum,
- lockerSuperAdminId: basecode,
- bluetoothMac: lockMac
- }
- }
- WXAPI.sendCommand(data1).then(res1 => {
- console.log(res1);
- if (res1.success) {
- wx.hideLoading()
- wx.showToast({
- title: '注册成功',
- icon: 'none',
- duration: 2000
- })
- this.setData({
- showreg: false,
- resgiterdevice: true
- })
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '注册失败',
- icon: 'none',
- duration: 2000
- })
- this.setData({
- showreg: false
- })
- }
- })
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '注册失败',
- icon: 'none',
- duration: 2000
- })
- }
- })
- },
- changemanId() {
- // var data = {
- // q: JSON.stringify({
- // // lockType:1,
- // types: [41],
- // })
- // }
- // WXAPI.getDeviceItems(data).then(res => {
- // console.log(res);
- // let deviceNumlist = res.data.list.filter(li => {
- // return li.deviceNum == this.data.deviceNum
- // })
- // console.log(deviceNumlist);
- // if (deviceNumlist[0]) {
- // wx.showToast({
- // title: '该设备已注册在平台上',
- // icon: 'none',
- // duration: 2000
- // })
- // } else {
- this.setData({
- showreg: true
- })
- // }
- // })
- },
- onClosereg() {
- this.setData({
- showreg: false
- })
- },
- registerSelectRoom() {
- var _this = this
- if (this.data.selectKey) {
- wx.showModal({
- title: '',
- content: '是否绑定',
- success(res) {
- if (res.confirm) {
- if (_this.data.selectindex == 4) {
- var data2 = [{
- siteId: _this.data.selectKey,
- deviceId: _this.data.deviceInfo.id,
- }]
- WXAPI.bindDeviceSite(data2).then(res2 => {
- if (res2.success) {
- _this.getdevice()
- }
- })
- } else {
- var name = util.findIndexArray(_this.data.dataList, _this.data.selectKey, [])
- _this.setData({
- selectKey: _this.data.selectKey,
- show: false,
- selectRoomList: name
- })
- var data = {
- pageNum: 1,
- pageSize: 1,
- q: JSON.stringify({
- roomIds: [_this.data.selectKey],
- // lockType:1,
- types: [1, 21],
- })
- }
- WXAPI.getDeviceItems(data).then(res => {
- if (res.data.list.length == 0) {
- _this.addAdmin()
- } else {
- wx.showToast({
- title: '该房间已绑定',
- icon: 'none'
- })
- }
- })
- }
- } else if (res.cancel) {
- _this.setData({
- selectKey: _this.data.selectKey,
- show: false
- })
- }
- }
- })
- } else {
- wx.showToast({
- title: '请选择房间',
- icon: 'none'
- })
- }
- },
- handleSelect(e) {
- var _this = this
- if (e.detail.tips) {
- wx.showToast({
- title: '请选择房间',
- icon: 'none'
- })
- } else {
- wx.showModal({
- title: '',
- content: '是否绑定',
- success(res) {
- if (res.confirm) {
- if (_this.data.selectindex == 4) {
- var data2 = [{
- siteId: e.detail.item.id,
- deviceId: _this.data.deviceInfo.id,
- }]
- WXAPI.bindDeviceSite(data2).then(res2 => {
- console.log(res2);
- if (res2.success) {
- _this.getdevice()
- wx.showToast({
- title: '绑定成功',
- icon: 'none',
- duration: 2000
- })
- } else {
- wx.showToast({
- title: '绑定失败',
- icon: 'none',
- duration: 2000
- })
- }
- })
- } else {
- var name = util.findIndexArray(_this.data.dataList, e.detail.item.id, [])
- _this.setData({
- selectKey: e.detail.item.id,
- show: false,
- selectRoomList: name
- })
- var data = {
- pageNum: 1,
- pageSize: 1,
- q: JSON.stringify({
- roomIds: [e.detail.item.id],
- // lockType:1,
- types: [1, 21],
- })
- }
- WXAPI.getDeviceItems(data).then(res => {
- if (res.data.list.length == 0) {
- _this.addAdmin()
- } else {
- wx.showToast({
- title: '该房间已绑定',
- icon: 'none'
- })
- }
- })
- }
- } else if (res.cancel) {
- _this.setData({
- selectKey: e.detail.item.id,
- show: false
- })
- }
- }
- })
- }
- },
- // 配网
- changeshow2() {
- this.setData({
- show2: true
- })
- },
- onChange(event) {
- this.setData({
- WifiName: event.detail
- })
- },
- onChange1(event) {
- this.setData({
- WifiPwd: event.detail
- })
- },
- onConfigurewifi() {
- // if (isConnected) {
- var that = this
- // that.wifitimer = setTimeout(() => {
- // wx.closeBLEConnection({
- // deviceId: lockDevice.deviceId,
- // success(res) {
-
- // },
- // fail: res => {
- // console.log("1", res);
- // }
- // })
- // wx.showToast({
- // title: '配网失败,请重试',
- // duration: 2000
- // })
- // }, 6000)
- // wx.showLoading({
- // title: '配置网络中...',
- // })
- var bytes = plugin.configureWifi(lockDevice.name, lockMac, that.data.WifiName, that.data.WifiPwd)
- that.sendBytes(bytes)
- this.setData({
- show2: false
- })
- // }else{
- // this.initBluetooth()
- // }
- },
- // 添加人脸
- addFaceprint() {
- wx.navigateTo({
- url: '/pagesA/selectFace/selectFace',
- })
- },
- // 删除人脸
- delFaceprint() {
-
- },
- // 获取设备
- getdevice() {
- var q = {
- deviceNum: this.data.deviceInfo.deviceNum,
- // lockType:1,
- types: [1, 21],
- };
- var data = {
- q: JSON.stringify(q),
- pageNum: 1,
- pageSize: 10,
- };
- WXAPI.getDeviceItems(data).then(res => {
- var data = res.data.list
- this.setData({
- deviceInfo: data[0],
- show: false
- })
- })
- },
- bindroom() {
- if (this.data.selectKey) {
- this.registerSelectRoom()
- } else {
- this.setData({
- show: true
- });
- }
- },
- // 添加用户
- adduser() {
- var userInfo = wx.getStorageSync('userInfo')
- var str = md5(userInfo.phone)
- var usrID = str.substr(str.length - 7, str.length).toUpperCase()
- console.log(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, this.data.cgInfo.authKey, '----')
- ICINLocker.getSignKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, (callback) => {
- var signKey = callback.signKey
- console.log(signKey, 'signKey', callback)
- ICINLocker.getCommonKey(this.data.cgInfo.lockerId, this.data.cgInfo.superId, this.data.cgInfo.superId, callback.signKey, (callback1) => {
- var commonKey = callback1.commonKey
- console.log(commonKey, 'commonKey', callback1)
- ICINLocker.addUserToLock(this.data.cgInfo.lockerId, this.data.cgInfo.superId, usrID, this.data.cgInfo.superId, '00', signKey, '', commonKey, '00000000', 'FFFFFFFF', (callback) => {
- if (callback.status == '00') {
- var infostr = {
- userTelephone: userInfo.phone,
- userPassword: usrID,
- };
- var data1 = {
- cardId: userInfo.phone,
- cardState: 1,
- info: JSON.stringify(infostr),
- name: '施工用户',
- number: userInfo.phone,
- phone: userInfo.phone,
- sex: 1,
- type: 0
- }
- WXAPI.addCard(data1).then(res => {
- if (res.success) {
- wx.showToast({
- title: '添加成功',
- icon: 'none'
- })
- var data2 = [{
- cardId: res.data,
- siteId: this.data.deviceInfo.roomId,
- }]
- WXAPI.bindCard(data2).then(res2 => {
- if (res2.success) {
- wx.showToast({
- title: '绑定成功',
- icon: 'none'
- })
- }
- })
- }
- })
- }
- })
- })
- })
- },
- // 读取门锁状态
- readLockStatus() {
- wx.showLoading({
- title: '读取中',
- mask: true
- })
- var cgInfo = this.data.cgInfo
- ICINLocker.getSignKey(cgInfo.lockerId, cgInfo.superId, cgInfo.superId, (callback) => {
- var signKey = callback.signKey
- console.log(signKey, 'signKey')
- ICINLocker.getCommonKey(cgInfo.lockerId, cgInfo.superId, cgInfo.superId, signKey, (callback1) => {
- ICINLocker.readLockerInfo(cgInfo.lockerId, cgInfo.superId, (callback) => {
- console.log(callback)
- this.setData({
- lockStatus: callback
- })
- wx.hideLoading()
- })
- })
- })
- setTimeout(() => {
- wx.hideLoading()
- }, 5000)
- // ICINLocker.readLockerInfo(this.data.cgInfo.lockerId, this.data.cgInfo.superId, (callback) => {
- // this.setData({
- // lockStatus: callback
- // })
- // })
-
- },
- onClose() {
- this.setData({
- show: false,
- show2: false
- });
- },
- onClose1() {
- this.setData({
- sheetshow: false
- })
- },
- // 获取房间
- getRoom() {
- var _this = this
- WXAPI.getTree('').then(res => {
- var list = (res.data.sort((pre, cur) => pre.id - cur.id))
- var newArr = util.uniqueArray(list, "id");
- this.list = newArr
- var setting = {
- data: {
- simpleData: {
- idKey: 'id',
- pIdKey: 'pid'
- },
- key: {
- children: 'children'
- }
- }
- }
- var dataList = this.transformTozTreeFormat(setting, newArr)
- this.setData({
- dataList: dataList
- })
- })
- },
- transformTozTreeFormat(setting, sNodes) {
- var i, l,
- key = setting.data.simpleData.idKey,
- parentKey = setting.data.simpleData.pIdKey,
- childKey = setting.data.key.children
- if (!key || key == "" || !sNodes) return [];
- var r = [];
- var tmpMap = [];
- for (i = 0, l = sNodes.length; i < l; i++) {
- tmpMap[sNodes[i][key]] = sNodes[i];
- }
- for (i = 0, l = sNodes.length; i < l; i++) {
- if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
- if (!tmpMap[sNodes[i][parentKey]][childKey])
- tmpMap[sNodes[i][parentKey]][childKey] = [];
- tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
- } else {
- r.push(sNodes[i]);
- }
- }
- return r;
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- var that = this
- if (that.data.selectindex == 4) {
- that.initBluetooth()
- }
- },
-
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
-
- },
-
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {},
-
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- if (this.data.selectindex == 4) {
- if (isConnected) {
- wx.closeBLEConnection({
- deviceId: connectedDeviceId,
- success: function (res) {
- isConnected = false
- },
- })
- }
- } else {
- ICINLocker.disConnect(app.globalData.blueDeviceId);
- app.globalData.zgBlueStatus = false
- }
- },
-
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- wx.stopPullDownRefresh()
- },
- bindLock: function () {
- var that = this
- taskId = 11
- that.initBluetooth()
- },
- configurewifj() {
- var that = this
- taskId = 121
- that.initBluetooth()
- },
- unbindLock: function () {
- var that = this
- taskId = 12
- that.initBluetooth()
- },
-
- queryBindState: function () {
- var that = this
- taskId = 21
- that.initBluetooth()
- },
-
- queryBattery: function () {
- var that = this
- taskId = 22
- that.initBluetooth()
- },
-
- queryNbImei: function () {
- var that = this
- taskId = 31
- that.initBluetooth()
- },
-
- login: function () {
- var that = this
- taskId = 32
- that.initBluetooth()
- },
-
- openLock: function () {
- var that = this
- taskId = 41
- that.initBluetooth()
- },
-
- syncClock: function () {
- var that = this
- taskId = 42
- that.initBluetooth()
- },
-
- addPincode: function () {
- var that = this
- taskId = 51
- that.initBluetooth()
- },
-
- delPincode: function () {
- var that = this
- taskId = 52
- that.initBluetooth()
- },
-
- addRfCard: function () {
- var that = this
- taskId = 61
- that.initBluetooth()
- },
-
- delRfCard: function () {
- var that = this
- taskId = 62
- that.initBluetooth()
- },
-
- addFingerprint: function () {
- var that = this
- taskId = 71
- that.initBluetooth()
- },
-
- delFingerprint: function () {
- var that = this
- taskId = 72
- that.initBluetooth()
- },
-
- changeAdminPincode: function () {
- var that = this
- taskId = 81
- that.initBluetooth()
- },
-
- queryLockSlotState: function () {
- var that = this
- taskId = 91
- that.initBluetooth()
- },
-
- queryLockUnlockState: function () {
- var that = this
- taskId = 92
- that.initBluetooth()
- },
-
- changeLockUnlockState: function () {
- var that = this
- taskId = 101
- that.initBluetooth()
- },
-
- changeLockMutedState: function () {
- var that = this
- taskId = 102
- that.initBluetooth()
- },
-
- changeLockNbState: function () {
- var that = this
- taskId = 111
- that.initBluetooth()
- },
-
- genOfflinePincode: function () {
- var that = this
- wx.showLoading({
- title: '生成离线密码中',
- })
- var startTime = util1.getLocalTime(8)
- var endTime = new Date(startTime.getTime() + 5 * 60 * 1000) //有效期5分钟
- plugin.genOfflinePincode(lockDevice.name, lockMac, basecode, 0, startTime, endTime)
- .then(function (data) {
- console.debug('data', data)
- wx.hideLoading()
- if (data.code == 200) {
- wx.showModal({
- title: '提示',
- content: `生成离线密码${data.data},有效期至${util1.formatTime(endTime)}!`,
- showCancel: false
- })
- } else {
- wx.showModal({
- title: '提示',
- content: data.data,
- showCancel: false
- })
- }
- })
- },
-
- onQueryBindState: function () {
- var that = this
- wx.showLoading({
- title: '查询中',
- })
-
- var bytes = plugin.queryLockState(lockDevice.name)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onQueryBattery: function () {
- var that = this
- wx.showLoading({
- title: '查询中',
- })
-
- var bytes = plugin.queryLockBattery(lockDevice.name)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onQueryNbImei: function () {
- var that = this
- wx.showLoading({
- title: '查询中',
- })
-
- var bytes = plugin.queryNbImei(lockDevice.name)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onBindLock: function () {
- var that = this
- wx.showLoading({
- title: '绑定中',
- })
-
- var bytes = plugin.sendBindLock(lockDevice.name, lockId, lockManagerId, basecode)
- console.debug('bytes----', bytes)
- that.sendBytes(bytes)
- },
-
- onUnbindLock: function () {
- var that = this
- wx.showLoading({
- title: '解绑中',
- })
-
- var bytes = plugin.sendUnbindLock(lockDevice.name, lockId, lockManagerId, basecode)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onOpenLock: function () {
- var that = this
- wx.showLoading({
- title: that.data.isJack ? '上电中' : '解锁中',
- })
-
- var bytes = plugin.sendOpenLockP1(lockDevice.name, basecode)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onLogin: function () {
- var that = this
- wx.showLoading({
- title: '登录中',
- })
-
- var bytes = plugin.login1(lockDevice.name, basecode)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onSyncClock: function () {
- var that = this
- wx.showLoading({
- title: '同步时钟中',
- })
- console.log(lockDevice.name, basecode, util1.getLocalTime(8), '0000')
- var bytes = plugin.syncClock(lockDevice.name, basecode, util1.getLocalTime(8))
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onAddPincode: function () {
- var that = this
- wx.showLoading({
- title: '添加密码中',
- })
- var startTime = util1.getLocalTime(8)
- var endTime = new Date(startTime.getTime() + 30 * 24 * 60 * 60 * 1000) //有效期5分钟
- pincode = util1.randomPrime6()
- pincodeIndex = Math.floor(Math.random() * 100)
- console.log(lockDevice.name, basecode, pincode, pincodeIndex, startTime, endTime, 'lockDevice.name, basecode, pincode, pincodeIndex, startTime, endTime')
- var bytes = plugin.addPincode(lockDevice.name, basecode, pincode, pincodeIndex, startTime, endTime)
- console.log('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onDelPincode: function () {
- var that = this
- wx.showLoading({
- title: '删除密码中',
- })
- var bytes = plugin.delPincode(lockDevice.name, basecode, pincode, pincodeIndex)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onAddRfCard: function () {
- var that = this
- wx.showLoading({
- title: '添加房卡中',
- })
- var startTime = util1.getLocalTime(8)
- var endTime = new Date(startTime.getTime() + 5 * 60 * 1000) //有效期5分钟
- rfCardIndex = Math.floor(Math.random() * 100)
- var bytes = plugin.addRfCard(lockDevice.name, basecode, rfCardId, rfCardIndex, startTime, endTime)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onDelRfCard: function () {
- var that = this
- wx.showLoading({
- title: '删除房卡中',
- })
- var bytes = plugin.delRfCard(lockDevice.name, basecode, rfCardId, rfCardIndex)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
-
- onAddFingerprint: function () {
- var that = this
- wx.showLoading({
- title: '添加指纹中',
- })
- var startTime = util1.getLocalTime(8)
- var endTime = new Date(startTime.getTime() + 5 * 60 * 1000) //有效期5分钟
- fingerprintIndex = Math.floor(Math.random() * 100)
- var bytes = plugin.addFingerprint(lockDevice.name, basecode, fingerprintIndex, startTime, endTime)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onDelFingerprint: function () {
- var that = this
- wx.showLoading({
- title: '删除指纹中',
- })
- var bytes = plugin.delFingerprint(lockDevice.name, basecode, fingerprintIndex)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onChangeAdminPincode: function () {
- var that = this
- wx.showLoading({
- title: '修改管理密码中',
- })
- var bytes = plugin.changeAdminPincode(lockDevice.name, lockMac, 12345678, 87654321)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onQueryLockSlotState: function () {
- var that = this
- wx.showLoading({
- title: '查询门锁方舌状态',
- })
- var bytes = plugin.queryLockSlotState(lockDevice.name)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onQueryLockUnlockState: function () {
- var that = this
- wx.showLoading({
- title: '查询门锁开关状态',
- })
- var bytes = plugin.queryLockUnlockState(lockDevice.name)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onChangeLockUnlockState: function () {
- var that = this
- wx.showLoading({
- title: that.data.isUnloked ? '退出常开模式' : '进入常开模式',
- })
- var bytes = plugin.setLockUnlockState(lockDevice.name, !that.data.isUnloked)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onChangeLockMutedState: function () {
- var that = this
- wx.showLoading({
- title: that.data.isMuted ? '退出静音模式' : '进入静音模式',
- })
- var bytes = plugin.setLockMuteState(lockDevice.name, !that.data.isMuted)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- onChangeLockNbState: function () {
- var that = this
- wx.showLoading({
- title: that.data.isNbEnable ? '禁用NB功能' : '打开NB功能',
- })
- var bytes = plugin.setNbFun(lockDevice.name, !that.data.isNbEnable)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- },
-
- doWork: function () {
- var that = this
- switch (taskId) {
- case 11: {
- that.onBindLock()
- break
- }
- case 12: {
- that.onUnbindLock()
- break
- }
- case 21: {
- that.onQueryBindState()
- break
- }
- case 22: {
- that.onQueryBattery()
- break
- }
-
- case 31: {
- that.onQueryNbImei()
- break
- }
- case 32: {
- that.onLogin()
- break
- }
- case 41: {
- that.onOpenLock()
- break
- }
- case 42: {
- that.onSyncClock()
- break
- }
- case 51: {
- that.onAddPincode()
- break
- }
- case 52: {
- that.onDelPincode()
- break
- }
- case 61: {
- if (lockModel > 70) {
- that.onAddRfCard()
- } else {
- wx.showModal({
- title: '提示',
- content: '请刷卡!',
- showCancel: false
- })
-
- }
- break
- }
- case 62: {
- that.onDelRfCard()
- break
- }
- case 71: {
- that.onAddFingerprint()
- break
- }
- case 72: {
- that.onDelFingerprint()
- break
- }
- case 81: {
- that.onChangeAdminPincode()
- break
- }
-
- case 91: {
- that.onQueryLockSlotState()
- break
- }
-
- case 92: {
- that.onQueryLockUnlockState()
- break
- }
-
- case 101: {
- that.onChangeLockUnlockState()
- break
- }
-
- case 102: {
- that.onChangeLockMutedState()
- break
- }
- case 111: {
- this.onChangeLockNbState()
- break
- }
- case 121: {
- this.onConfigurewifi()
- }
- default: {
-
- }
- }
- },
-
- initBluetooth: function () {
- var that = this
- wx.getConnectedBluetoothDevices({
- services: [config.uuid.serviceUuid],
- success: function (res) {
- res.devices.map(function (it) {
- if (it.deviceId == connectedDeviceId || it.name == name) {
- isConnected = true
- }
- })
- that.setData({
- isConnected: isConnected
- })
- console.log(isInitReady, 'isConnected', isConnected)
- if (isConnected) {
- if (isInitReady) {
- let lock = that.data.lock
- let superAdmin = []
- var superAdminIdlist = lock.mac.slice(lock.mac.length - 11, lock.mac.length).split(":").join("")
- for (let i = 0; i < superAdminIdlist.length; i++) {
- if (superAdminIdlist[i] >= 0 && superAdminIdlist[i] <= 9) {
- superAdmin.push(superAdminIdlist[i])
- } else {
- let adminid = superAdminIdlist.charCodeAt(i)
- superAdmin.push(adminid)
- }
- }
- let superAdminId = superAdmin.join('').slice(superAdmin.length - 8, superAdmin.length)
- basecode = superAdminId
- console.log(basecode,"basecode")
- setTimeout(() => {
- that.doWork()
- }, 500)
- } else {
- that.setupConnection()
- }
- } else {
- that.connectTo()
- }
- },
- })
- },
-
- connectTo: function () {
- var that = this
- wx.showLoading({
- title: '连接中',
- })
- wx.createBLEConnection({
- deviceId: lockDevice.deviceId,
- timeout: config.ble.connectTimeOut,
- success: function (res) {
- console.debug('connectTo', res)
- isConnected = true
- wx.hideLoading()
- setTimeout(function () {
- that.setupConnection()
- }, 500)
- },
- fail: function (e) {
- console.debug('connectTo', e)
- wx.hideLoading()
- switch (e.errCode) {
- case 10003: {
- wx.showModal({
- title: '连接失败',
- content: '是否重新连接?',
- success: function (res) {
- if (res.confirm) {
- that.connectTo()
- }
- }
- })
- break
- }
- case 10012: {
- wx.showModal({
- title: '连接失败',
- content: '蓝牙连接超时',
- showCancel: false
- })
- break
- }
- case 10002: {
- wx.showModal({
- title: '连接失败',
- content: '没有找到指定设备',
- showCancel: false
- })
- break
- }
- }
- }
- })
- },
-
- setupConnection: function () {
- var that = this
- wx.showLoading({
- title: '初始化连接中',
- })
- wx.getBLEDeviceServices({
- deviceId: lockDevice.deviceId,
- success: function (res) {
- console.log('Services', res)
- wx.getBLEDeviceCharacteristics({
- deviceId: lockDevice.deviceId,
- serviceId: config.uuid.serviceUuid.toUpperCase(),
- success: function (res) {
- console.log('Characteristics', res)
- wx.showLoading({
- title: '连接成功',
- })
- wx.onBLECharacteristicValueChange(function (res) {
- console.log(res, 'reslllllll')
- var bytes = new Uint8Array(res.value)
- console.log('bytes', bytes)
- var data = plugin.parseBytes(lockDevice.name, basecode, bytes)
- console.log('data', data)
- switch (data.cmd) {
- case 'reportLockBattery': {
- if (data.data.battery < 10) {
- wx.showModal({
- title: '电量报警',
- content: `门锁当前电量${data.data.battery}%!\n电量严重不足,请立即更换电池!`,
- showCancel: false
- })
- } else if (data.data.battery < 30) {
- wx.showModal({
- title: '电量预警',
- content: `门锁当前电量${data.data.battery}%!\n请及时更换电池!`,
- showCancel: false
- })
- }
- break
- }
- case 'reportRfCardResult': {
- if (taskId == 61) {
- wx.showModal({
- title: '检测到新卡',
- content: `是否添加此房卡,卡号:${data.data.cardId}?`,
- success: function (res) {
- if (res.confirm) {
- rfCardId = data.data.cardId
- that.onAddRfCard()
- }
- }
- })
- } else {
- if (lockModel > 70) {
- if (data.data.isValid) {
- wx.showModal({
- title: '提示',
- content: `房卡开锁成功,序号:${data.data.index}!`,
- showCancel: false
- })
- } else {
- wx.showModal({
- title: '提示',
- content: `多次刷房卡开锁失败!`,
- showCancel: false
- })
- }
- } else {
- if (data.data.isValid) {
- wx.showModal({
- title: '提示',
- content: `房卡开锁成功,卡号:${data.data.cardId}!`,
- showCancel: false
- })
- } else {
- wx.showModal({
- title: '提示',
- content: `房卡未授权,卡号:${data.data.cardId}!`,
- showCancel: false
- })
- }
- }
- }
- break
- }
- case 'reportPincodeResult': {
- if (lockModel > 70) {
- if (data.data.isValid) {
- wx.showModal({
- title: '提示',
- content: `密码开锁成功,序号:${data.data.index}!`,
- showCancel: false
- })
- } else {
- wx.showModal({
- title: '提示',
- content: `多次密码开锁失败!`,
- showCancel: false
- })
- }
- } else {
- if (data.data.isValid) {
- wx.showModal({
- title: '提示',
- content: `密码:${data.data.pincode}开锁成功!`,
- showCancel: false
- })
- } else {
- wx.showModal({
- title: '提示',
- content: `密码:${data.data.pincode}未授权!`,
- showCancel: false
- })
- }
- }
- break
- }
- case 'reportFingerprintResult': {
- if (data.data.isValid) {
- wx.showModal({
- title: '提示',
- content: `指纹开锁成功,序号:${data.data.index}!`,
- showCancel: false
- })
- } else {
- wx.showModal({
- title: '提示',
- content: `多次指纹开锁失败!`,
- showCancel: false
- })
- }
- break
- }
- case 'queryLockState': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '查询失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- that.setData({
- lock: {
- mac: data.data.mac,
- lockType: util1.getLockType(lockModel),
- },
- isBindLock: data.data.isBind
- })
- lockMac = data.data.mac
-
- if (taskId > 0) {
- if (data.data.isBind) {
- wx.showModal({
- title: data.data.mac,
- content: '此设备已经硬件绑定!',
- showCancel: false,
- success: function (res) {}
- })
- } else {
- wx.showModal({
- title: data.data.mac,
- content: '此设备硬件未绑定!',
- showCancel: false,
- success: function (res) {}
- })
- }
- }
- taskId = 0
- break
- }
- case 'queryLockBattery': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '查询失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: `此门锁电量为${data.data.battery}%`,
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- case 'queryNbImei': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '查询失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- that.data.deviceInfo.imei = data.data.imei
- wx.showModal({
- title: '提示',
- content: `此NB设备IMEI为${data.data.imei}`,
- showCancel: false,
- success: function (res) {
- let lock = that.data.lock
- lock.imei = data.data.imei
- that.setData({
- lock
- })
- }
- })
- break
- }
- case 'setNbFun': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '设置Nb功能失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: that.data.isNbEnable ? 'NB功能已禁用' : 'NB功能已打开',
- showCancel: false,
- })
- that.setData({
- isNbEnable: !that.data.isNbEnable
- })
- break
- }
- case 'sendBindLock': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '绑定失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- that.setData({
- isBindLock: data.data.isBind
- })
-
- // if (data.data.isBind) {
- // var dataStr = {
- // code: "lwj/registerSupperAdmin",
- // data: {
- // lockerId: that.data.deviceNum,
- // lockerSuperAdminId: basecode,
- // bluetoothMac: lockMac,
- // }
- // }
- // WXAPI.sendCommand(dataStr).then((res2) => {
-
- // })
- // wx.showToast({
- // title: '绑定成功!',
- // })
- // } else {
- // wx.showToast({
- // title: '绑定失败!',
- // })
- // }
- break
- }
- case 'sendUnbindLock': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '解绑失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- that.setData({
- isBindLock: data.data.isBind
- })
- if (data.data.isBind) {
- wx.showToast({
- title: '解绑失败!',
- })
- } else {
- var data = [{
- siteId: that.data.lock.roomId,
- deviceId: that.data.lock.id,
- }]
- WXAPI.unbindDeviceSite(data).then(res => {
- if (res.success) {
- let lock = that.data.lock
- lock.roomName = ''
- lock.id = ''
- lock.roomId = ''
- that.setData({
- lock
- })
- }
- })
- wx.showToast({
- title: '解绑成功!',
- })
- that.unbindRoom()
- }
- break
- }
- case 'login1':
- case 'sendOpenLockP1': {
- if (data.code != 200) {
- wx.hideLoading()
- if (taskId == 41) {
- wx.showModal({
- title: '提示',
- content: that.data.isJack ? '上电失败!' : '解锁失败!',
- showCancel: false,
- success: function (res) {}
- })
- } else if (taskId == 32) {
- wx.showModal({
- title: '提示',
- content: '登录失败!',
- showCancel: false,
- success: function (res) {}
- })
- }
-
- break
- }
- if (taskId == 41) {
- var bytes = plugin.sendOpenLockP2(lockDevice.name, basecode, data.data.randomN)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- } else if (taskId == 32) {
- var bytes = plugin.login2(lockDevice.name, basecode, data.data.randomN)
- console.debug('bytes', bytes)
- that.sendBytes(bytes)
- }
- break;
- }
- case 'login':
- case 'sendOpenLockP2': {
- wx.hideLoading()
- if (data.code != 200) {
- if (taskId == 41) {
- wx.showModal({
- title: '提示',
- content: that.data.isJack ? '上电失败!' : '解锁失败!',
- showCancel: false,
- success: function (res) {}
- })
- } else if (taskId == 32) {
- wx.showModal({
- title: '提示',
- content: '登录失败!',
- showCancel: false,
- success: function (res) {}
- })
- }
- break
- }
-
- isLockLogin = true
- if (taskId == 41) {
- var data = {
- code: "ble/bleUnlockRecord",
- data: {
- deviceNum: that.data.deviceNum,
- roomId: that.data.lock.roomId,
- roomName: that.data.lock.roomName,
- cardName: that.data.adminuserinfo.username,
- productId: 1201,
- userId: '29283991'
- }
- }
- WXAPI.sendCommand(data).then(res => {
- console.log(res)
- })
- wx.showToast({
- title: that.data.isJack ? '上电成功!' : '解锁成功!',
- })
- } else if (taskId == 32) {
- wx.showToast({
- title: '登录成功!',
- })
- }
- taskId = 0
- break;
- }
-
- case 'syncClock': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '同步时间失败!' + data.data.msg,
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: '时间更新成功!',
- showCancel: false
- })
- break;
- }
- case 'addPincode': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '添加密码失败!' + data.data.msg,
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- that.setData({
- isPincodeAdd: true
- })
- wx.showModal({
- title: '提示',
- content: `添加密码${pincode}成功!`,
- showCancel: false
- })
- break
- }
-
- case 'delPincode': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '删除密码失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: `删除密码${pincode}成功!`,
- showCancel: false,
- })
- that.setData({
- isPincodeAdd: false
- })
- pincode = -1
- pincodeIndex = -1
- break
- }
-
- case 'addRfCard': {
- wx.hideLoading()
- if (data.code == 100) {
- wx.showLoading({
- title: data.data.msg,
- })
- break
- } else if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '添加房卡失败!' + data.data.msg,
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- that.setData({
- isRfCardAdd: true
- })
- if (lockModel > 70) {
- wx.showModal({
- title: '提示',
- content: `添加房卡成功,序号${rfCardIndex}!`,
- showCancel: false
- })
- } else {
- wx.showModal({
- title: '提示',
- content: `添加房卡成功,卡号${rfCardId}!`,
- showCancel: false
- })
- }
- break
- }
-
- case 'delRfCard': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '删除房卡失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- that.setData({
- isRfCardAdd: false
- })
- if (lockModel > 70) {
- wx.showModal({
- title: '提示',
- content: `删除房卡成功,序号${rfCardIndex}!`,
- showCancel: false,
- })
- } else {
- wx.showModal({
- title: '提示',
- content: `删除房卡成功,卡号${rfCardId}!`,
- showCancel: false,
- })
- }
- rfCardId = -1
- rfCardIndex = -1
- break
- }
-
- case 'addFingerprint': {
- wx.hideLoading()
- if (data.code == 100) {
- wx.showLoading({
- title: data.data.msg,
- })
- break
- } else if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '添加指纹失败!' + data.data.msg,
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- that.setData({
- isFingerprintAdd: true
- })
- wx.showModal({
- title: '提示',
- content: `添加指纹成功,序号${fingerprintIndex}!`,
- showCancel: false
- })
- break
- }
-
- case 'delFingerprint': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '删除指纹失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: `删除指纹成功,序号${fingerprintIndex}!`,
- showCancel: false,
- })
- that.setData({
- isFingerprintAdd: false
- })
- fingerprintIndex = -1
- break
- }
-
- case 'changeAdminPincode': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '修改管理密码失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showToast({
- title: '修改管理密码成功!',
- })
- }
-
- case 'configurewifi': {
- if (data.code == 300) {
- wx.hideLoading()
- clearTimeout(that.wifitimer)
- wx.showModal({
- title: '提示',
- content: '配网失败,请重新尝试',
- showCancel: false,
- success: function (res) {}
- })
- }
- if (data.code == 200) {
- wx.hideLoading()
- clearTimeout(that.wifitimer)
- that.show2 = false
- wx.showToast({
- title: '配网成功',
- })
- }
- break;
- }
-
- case 'queryLockSlotState': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '查询失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: data.data.state == 0 ? '此门锁方舌关闭' : '此门锁方舌打开',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
-
- case 'queryLockUnlockState': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '查询失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: data.data.state == 0 ? '此门锁已关闭' : '此门锁已打开',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
-
- case 'setLockUnlockState': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '设置常开指令失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: data.data.state == 0 ? '常开模式已退出' : '常开模式已开启',
- showCancel: false,
- })
- that.setData({
- isUnloked: data.data.state == 1
- })
- break
- }
-
- case 'setLockMuteState': {
- wx.hideLoading()
- if (data.code != 200) {
- wx.showModal({
- title: '提示',
- content: '设置静音指令失败!',
- showCancel: false,
- success: function (res) {}
- })
- break
- }
- taskId = 0
- wx.showModal({
- title: '提示',
- content: data.data.state == 1 ? '静音模式已退出' : '静音模式已开启',
- showCancel: false,
- })
- that.setData({
- isMuted: data.data.state == 0
- })
- break
- }
- }
- })
-
- wx.notifyBLECharacteristicValueChange({
- deviceId: lockDevice.deviceId,
- serviceId: config.uuid.serviceUuid.toUpperCase(),
- characteristicId: config.uuid.notifyUuid.toUpperCase(),
- state: true,
- success: function (res) {
- console.log('setupNotify', res)
- isInitReady = true
- setTimeout(function () {
- wx.hideLoading()
- that.onQueryBindState()
- }, 500)
- },
- })
- },
- })
- },
- })
- },
-
- sendBytes(bytes) {
- var that = this
- setTimeout(function () {
- wx.writeBLECharacteristicValue({
- deviceId: lockDevice.deviceId,
- serviceId: config.uuid.serviceUuid.toUpperCase(),
- characteristicId: config.uuid.writeUuid.toUpperCase(),
- value: bytes,
- success: function (res) {
-
- },
- })
- }, 50)
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
-
- },
-
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
-
- }
- })
|