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.

1843 lines
84 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. // pagesA/facepeople/facepeople.js
  2. import moment from '../../utils/moment'
  3. function CurentTime() {
  4. var now = new Date();
  5. var year = now.getFullYear(); //年
  6. var month = now.getMonth() + 1; //月
  7. var day = now.getDate(); //日
  8. var hh = now.getHours(); //时
  9. var mm = now.getMinutes(); //分
  10. var clock = year + "-";
  11. if (month < 10)
  12. clock += "0";
  13. clock += month + "-";
  14. if (day < 10)
  15. clock += "0";
  16. clock += day + " ";
  17. // if (hh < 10)
  18. // clock += "0";
  19. // clock += '00' + ":";
  20. // // if (mm < 10) clock += '0';
  21. clock += '00:00:00';
  22. return (clock);
  23. }
  24. function CurentTime1() {
  25. var now = new Date();
  26. var year = now.getFullYear() + 3; //年
  27. var month = now.getMonth() + 1; //月
  28. var day = now.getDate(); //日
  29. var hh = now.getHours(); //时
  30. var mm = now.getMinutes(); //分
  31. var clock = year + "-";
  32. if (month < 10)
  33. clock += "0";
  34. clock += month + "-";
  35. if (day < 10)
  36. clock += "0";
  37. clock += day + " ";
  38. // if (hh < 10)
  39. // clock += "0";
  40. // clock += hh + ":";
  41. // if (mm < 10) clock += '0';
  42. // clock += mm;
  43. clock += '23:59:59';
  44. return (clock);
  45. }
  46. const app = getApp()
  47. const WXAPI = require("../../utils/request")
  48. const util = require("../../utils/util")
  49. const plugin = requirePlugin("myPlugin")
  50. var methods = require('../../utils/methods');
  51. var md5 = require('../../utils/md5.js');
  52. var bleall = require('../../utils/bleall');
  53. var util1 = require('../../utils/util1');
  54. const config = require('../../config')
  55. const ADD_NFC_MODE = 10
  56. var date = new Date()
  57. var isConnected = false
  58. var connectedDeviceId = ''
  59. var basecode = 29283991
  60. var lockId = 1
  61. var lockManagerId = 1
  62. var lockMac = ''
  63. var isInitReady = false
  64. var lockModel
  65. var lockDevice
  66. var taskId = 0
  67. var pincode = -1
  68. var pincodeIndex = -1
  69. var rfCardId = -1
  70. var rfCardIndex = -1
  71. var fingerprintIndex = -1
  72. var passwordLiAll = {
  73. id: ''
  74. }
  75. var faceaddIndex = -1
  76. var isLockLogin = false
  77. var serialNumber = ''
  78. Page({
  79. /**
  80. * 页面的初始数据
  81. */
  82. data: {
  83. date: moment().format('YYYY-MM-DD HH:mm:ss'),
  84. show: false,
  85. value: '',
  86. show2: false,
  87. facename: '',
  88. minDate: '',
  89. minDate1: '',
  90. endtime: '',
  91. starttime: '',
  92. datetimerange: [CurentTime(), CurentTime1()],
  93. chooseface: false,
  94. avatarPath: "", // 上传的图片数据
  95. facepic: "", // 上传的图片的base64格式
  96. isSearch: app.globalData.isSearch,
  97. cgInfo: {},
  98. deviceinfo: {},
  99. personLi: {},
  100. faceList: [],
  101. facemessage: {}, // 删除人的信息
  102. },
  103. /**
  104. * 生命周期函数--监听页面加载
  105. */
  106. onLoad: function (options) {
  107. var cgInfo = wx.getStorageSync('cgInfo')
  108. var deviceinfo = wx.getStorageSync('deviceinfo')
  109. var personLi = wx.getStorageSync('personLi')
  110. let minDate = wx.getStorageSync('minDate')
  111. let minDate1 = wx.getStorageSync('minDate1')
  112. console.log(cgInfo, deviceinfo, personLi, minDate, minDate1);
  113. this.setData({
  114. isSearch: false,
  115. cgInfo: cgInfo,
  116. minDate,
  117. minDate1,
  118. starttime: minDate,
  119. endtime: minDate1,
  120. deviceinfo: deviceinfo,
  121. personLi: personLi,
  122. })
  123. if (this.data.avatarPath) {
  124. this.setData({
  125. show2: true
  126. })
  127. }
  128. if(deviceinfo.bluetoothMac){
  129. let superAdmin = []
  130. var superAdminIdlist = deviceinfo.bluetoothMac.slice(deviceinfo.bluetoothMac.length - 11, deviceinfo.bluetoothMac.length).split(":").join("")
  131. for (let i = 0; i < superAdminIdlist.length; i++) {
  132. if (superAdminIdlist[i] >= 0 && superAdminIdlist[i] <= 9) {
  133. superAdmin.push(superAdminIdlist[i])
  134. } else {
  135. let adminid = superAdminIdlist.charCodeAt(i)
  136. superAdmin.push(adminid)
  137. }
  138. }
  139. let superAdminId = superAdmin.join('').slice(superAdmin.length - 8, superAdmin.length)
  140. basecode = superAdminId
  141. console.log(basecode, "basecode");
  142. }
  143. this.getFace();
  144. },
  145. // 获取已录入人脸数据
  146. getFace() {
  147. var data = {
  148. pageNum: 0,
  149. pageSize: 0,
  150. q: JSON.stringify({
  151. cardId: '1444',
  152. deviceNum: this.data.deviceinfo.deviceNum,
  153. types: "0",
  154. inStatus: '0,1,702'
  155. })
  156. }
  157. console.log(data, "data");
  158. WXAPI.getCertificates(data).then(res => {
  159. var dataOne = util.zlib_unzip(res.data)
  160. console.log("人脸", res, dataOne);
  161. if (res.success) {
  162. dataOne.map(li => {
  163. let content = JSON.parse(li.content)
  164. li['pzname'] = content.pzname
  165. li['password'] = ''
  166. li['facepic'] = content.faceData
  167. li['startTime'] = moment(li['startTime'] * 1000).format('YYYY-MM-DD')
  168. li['endTime'] = moment(li['endTime'] * 1000).format('YYYY-MM-DD')
  169. })
  170. console.log(dataOne);
  171. this.setData({
  172. faceList: dataOne
  173. })
  174. }
  175. })
  176. },
  177. CurentTime() {
  178. var now = new Date();
  179. var year = now.getFullYear(); //年
  180. var month = now.getMonth() + 1; //月
  181. var day = now.getDate(); //日
  182. var hh = now.getHours(); //时
  183. var mm = now.getMinutes(); //分
  184. var clock = year + "-";
  185. if (month < 10)
  186. clock += "0";
  187. clock += month + "-";
  188. if (day < 10)
  189. clock += "0";
  190. clock += day + " ";
  191. // if (hh < 10)
  192. // clock += "0";
  193. // clock += '00' + ":";
  194. // // if (mm < 10) clock += '0';
  195. clock += '00:00:00';
  196. return (clock);
  197. },
  198. changeshow2() {
  199. this.setData({
  200. show2: true
  201. })
  202. },
  203. onChange2(e) {
  204. this.setData({
  205. facename: e.detail
  206. })
  207. },
  208. bindDateChange: function (e) {
  209. var str = e.detail.value + " 00:00:00"
  210. this.data.datetimerange[0] = str
  211. this.setData({
  212. starttime: str,
  213. })
  214. },
  215. bindDateChange1: function (e) {
  216. var str = e.detail.value + " 23:59:59"
  217. this.data.datetimerange[1] = str
  218. this.setData({
  219. endtime: str
  220. })
  221. },
  222. onSearch() {
  223. },
  224. onCancel() {
  225. },
  226. // 新增人脸
  227. addFace() {
  228. // wx.chooseImage({
  229. // count: 1,
  230. // sizeType: ['original', 'compressed'],
  231. // success: function (res) {
  232. // console.log(res)
  233. // wx.getImageInfo({
  234. // src: res.tempFilePaths[0],
  235. // success(res) {
  236. // wx.navigateTo({
  237. // url: '/pagesA/selectFace/selectFace?data=' + JSON.stringify(res)
  238. // })
  239. // }
  240. // })
  241. // }
  242. // });
  243. wx.navigateTo({
  244. url: '/pagesA/selectFace/selectFace',
  245. })
  246. },
  247. // 弹出框
  248. changeshow(e) {
  249. this.setData({
  250. show: true,
  251. facemessage: e.currentTarget.dataset.item
  252. })
  253. },
  254. onClose() {
  255. this.setData({
  256. show: false,
  257. show2: false
  258. })
  259. },
  260. // 跳转详情页
  261. gotoinfo() {
  262. wx.setStorageSync('facemessage', this.data.facemessage)
  263. wx.navigateTo({
  264. url: '/pagesA/faceinfo/faceinfo',
  265. })
  266. },
  267. // 增加人脸
  268. sendface() {
  269. var time3 = new Date(this.data.datetimerange[0].replace(/-/g, '/'))
  270. var time4 = new Date(this.data.datetimerange[1].replace(/-/g, '/'))
  271. var passwordStartTimecontrast = time3.getTime() / 1000
  272. var passwordEndTimecontrast = time4.getTime() / 1000
  273. if (passwordStartTimecontrast > passwordEndTimecontrast) {
  274. wx.showToast({
  275. title: '开始时间不能大于结束时间',
  276. duration: 2000,
  277. mask: true,
  278. icon: 'none'
  279. })
  280. return
  281. }
  282. wx.showLoading({
  283. title: '正在添加人脸',
  284. mask: true
  285. })
  286. var _this = this
  287. var deviceinfo = this.data.deviceinfo
  288. var info = JSON.parse(this.data.personLi.info)
  289. console.log(deviceinfo, info, this.data.personLi);
  290. if (deviceinfo.manufactureId == 1241) {
  291. var time1 = new Date(_this.data.datetimerange[0].replace(/-/g, '/'))
  292. var time2 = new Date(_this.data.datetimerange[1].replace(/-/g, '/'))
  293. var passwordStartTime = time1.getTime() / 1000
  294. var passwordEndTime = time2.getTime() / 1000
  295. var facename
  296. if(_this.data.facename == ''){
  297. facename = "人脸" + _this.data.faceList.length
  298. }else {
  299. facename = _this.data.facename
  300. }
  301. // let facepicture = wx.getFileSystemManager().readFileSync(_this.data.avatarPath, "base64")
  302. // facepic = `data:image/jpg;base64, ${facepicture}`
  303. var dataface = {
  304. code: "lwj/faceOperate",
  305. data: {
  306. action: 1,
  307. endTime: passwordEndTime,
  308. faceData: _this.data.facepic,
  309. lockerId: deviceinfo.deviceNum,
  310. lockerUserId: info.userPassword,
  311. startTime: passwordStartTime,
  312. operateMode: 20,
  313. order: 6220
  314. }
  315. }
  316. var str = {
  317. // cardId: this.personInfo.cardId,
  318. imei: _this.data.deviceinfo.imei || "",
  319. pzname: facename,
  320. password: '',
  321. faceData: _this.data.avatarPath,
  322. userTelephone: JSON.parse(_this.data.personLi.info).userTelephone,
  323. operateMode: 20,
  324. order: 6220,
  325. userPassword: JSON.parse(_this.data.personLi.info).userPassword,
  326. passwordStartTime: passwordStartTime,
  327. passwordEndTime: passwordEndTime,
  328. is: false,
  329. pass: true,
  330. cardName: this.data.personLi.name + '-' + pzname,
  331. roomName: deviceinfo.roomName
  332. }
  333. console.log(_this.data.avatarPath, dataface);
  334. WXAPI.sendCommand(dataface).then(res => {
  335. console.log(res);
  336. if (res.success) {
  337. str.faceaddIndex = res.data.index
  338. serialNumber = res.data.serialNumber
  339. var datalist = {
  340. cardId: _this.data.personLi.cardId,
  341. content: JSON.stringify(str), //operateMode:NFC-10、把人员添加到凭证-1
  342. type: 10,
  343. startTime: passwordStartTime,
  344. endTime: passwordEndTime
  345. };
  346. WXAPI.addCertificates(datalist).then(res6 => {
  347. console.log("res6", res6);
  348. })
  349. var data1 = {
  350. cardId: _this.data.personLi.cardId,
  351. content: JSON.stringify(str), //operateMode:NFC-10、把人员添加到凭证-1
  352. deviceNum: _this.data.deviceinfo.deviceNum,
  353. type: 0,
  354. imei: _this.data.deviceinfo.imei,
  355. serial: serialNumber,
  356. startTime: passwordStartTime,
  357. endTime: passwordEndTime,
  358. order: 6220,
  359. operateMode: 20
  360. }
  361. WXAPI.addCertificates(data1).then(res2 => {
  362. console.log("res2", res2);
  363. var updatedata = {
  364. id: res2.data,
  365. status: 1
  366. };
  367. WXAPI.updateCertificates(updatedata).then((res3) => {
  368. console.log("res3", res3);
  369. });
  370. })
  371. this.setData({
  372. show2: false
  373. })
  374. wx.showToast({
  375. title: '添加人脸成功',
  376. icon: 'none',
  377. duration: 2000
  378. })
  379. this.getFace()
  380. }else{
  381. this.setData({
  382. show2: false
  383. })
  384. wx.showToast({
  385. title: res.msg,
  386. icon: 'none',
  387. duration: 2000
  388. })
  389. this.getFace()
  390. }
  391. })
  392. }
  393. },
  394. // 删除人脸
  395. delFace() {
  396. console.log(this.data.facemessage);
  397. var facemessage = this.data.facemessage
  398. var content = JSON.parse(facemessage.content)
  399. wx.showModal({
  400. title: '提示',
  401. content: "此操作将删除该人脸信息,确定删除吗?",
  402. success(res) {
  403. if(res.confirm){
  404. let dataface = {
  405. code: "lwj/faceOperate",
  406. data: {
  407. faceIndex: content.index,
  408. action: 2,
  409. endTime: content.passwordEndTime,
  410. faceData: content.faceData,
  411. lockerId: facemessage.deviceNum,
  412. lockerUserId: content.userPassword,
  413. startTime: content.passwordStartTime,
  414. operateMode: 22,
  415. order: 6222
  416. }
  417. }
  418. WXAPI.sendCommand(dataface).then(res => {
  419. console.log(res);
  420. content.operateMode = 22
  421. content.order = 6222
  422. if(res.success){
  423. let updatedata = {
  424. id: facemessage.id,
  425. status: 0,
  426. serial: res.data.serialNumber,
  427. content: JSON.stringify(content)
  428. }
  429. WXAPI.updateCertificates(updatedata).then(res1 => {
  430. console.log(res1);
  431. if(res1.success){
  432. wx.showToast({
  433. title: '删除人脸成功',
  434. icon: 'none',
  435. duration: 2000
  436. })
  437. }else{
  438. wx.showToast({
  439. title: '删除人脸失败',
  440. icon: "none",
  441. duration: 2000
  442. })
  443. }
  444. })
  445. }
  446. })
  447. }else if(res.cancel) {
  448. wx.showToast({
  449. title: '取消删除该图像信息',
  450. icon: "none",
  451. duration: 2000
  452. })
  453. }
  454. }
  455. })
  456. },
  457. sendBytes(bytes) {
  458. setTimeout(() => {
  459. wx.writeBLECharacteristicValue({
  460. deviceId: lockDevice.deviceId,
  461. serviceId: config.uuid.serviceUuid.toUpperCase(),
  462. characteristicId: config.uuid.writeUuid.toUpperCase(),
  463. value: bytes,
  464. success: function (res) {
  465. },
  466. })
  467. }, 50)
  468. },
  469. searchDevicesMethods() {
  470. var that = this;
  471. wx.showLoading({
  472. title: '正在搜索',
  473. // mask: true
  474. })
  475. this.setData({
  476. searchClick: false
  477. })
  478. wx.openBluetoothAdapter({
  479. success: function (res) {
  480. wx.startBluetoothDevicesDiscovery({
  481. success: function (res) {
  482. wx.getBluetoothDevices({
  483. success: function (res) {
  484. res.devices.map(it => {
  485. var status = it.name.indexOf('WSL_')
  486. if (status != -1) {
  487. if (it.RSSI != 127) {
  488. if (it.advertisData != null) {
  489. it.adData = util1.ab2hex(it.advertisData)
  490. if (it.adData.length > 10) {
  491. var macStr = it.adData.substring(4, 16).toUpperCase()
  492. //console.log('macStr', macStr)
  493. it.mac = macStr.substr(10, 2) + ':' + macStr.substr(8, 2) + ':' + macStr.substr(6, 2) + ':' + macStr.substr(4, 2) + ':' + macStr.substr(2, 2) + ':' + macStr.substr(0, 2)
  494. if (it.adData.substring(1, 2) == '1') {
  495. it.isLightOn = true
  496. it.textColor = 'green'
  497. } else {
  498. it.isLightOn = false
  499. it.textColor = 'black'
  500. }
  501. if (it.adData.substring(3, 4) == '1') {
  502. it.textColor = 'pink'
  503. it.isBind = true
  504. } else {
  505. it.isBind = false
  506. }
  507. }
  508. } else {
  509. it.textColor = 'black'
  510. }
  511. lockModel = util1.getLockModel(it.name)
  512. it.lockType = util1.getLockType(lockModel)
  513. if (it.name == that.data.deviceinfo.deviceNum) {
  514. app.addDeviceWithDevName(it.name, it)
  515. lockDevice = it
  516. connectedDeviceId = it.deviceId
  517. that.setData({
  518. isSearch: true
  519. })
  520. that.initBluetooth()
  521. }
  522. }
  523. }
  524. })
  525. if (!that.data.isSearch) {
  526. that.searchDevicesMethods()
  527. }
  528. }
  529. })
  530. },
  531. fail: function (res) {
  532. wx.hideLoading({
  533. success: (res) => {
  534. wx.showToast({
  535. title: res.errMsg,
  536. duration: 2000,
  537. icon: 'none'
  538. })
  539. },
  540. })
  541. }
  542. })
  543. },
  544. fail: function (res) {
  545. console.log('请打开蓝牙和定位功能')
  546. wx.hideLoading({
  547. success: (res) => {
  548. wx.showToast({
  549. title: '请打开蓝牙和定位功能',
  550. duration: 2000,
  551. icon: 'none'
  552. })
  553. },
  554. })
  555. }
  556. })
  557. },
  558. initBluetooth: function () {
  559. var that = this
  560. wx.getConnectedBluetoothDevices({
  561. services: [config.uuid.serviceUuid],
  562. success: function (res) {
  563. res.devices.map(function (it) {
  564. if (it.deviceId == connectedDeviceId || it.name == that.data.deviceinfo.deviceNum) {
  565. isConnected = true
  566. }
  567. })
  568. that.setData({
  569. isConnected: isConnected
  570. })
  571. console.log(isInitReady, 'isConnected', isConnected)
  572. if (isConnected) {
  573. console.log("2144");
  574. if (isInitReady) {
  575. console.log("2146");
  576. that.doWork()
  577. } else {
  578. that.setupConnection()
  579. }
  580. } else {
  581. that.connectTo()
  582. }
  583. },
  584. })
  585. },
  586. connectTo: function () {
  587. var that = this
  588. wx.showLoading({
  589. title: '连接中',
  590. })
  591. wx.createBLEConnection({
  592. deviceId: lockDevice.deviceId,
  593. timeout: config.ble.connectTimeOut,
  594. success: function (res) {
  595. console.log('connectTo', res)
  596. isConnected = true
  597. // app.globalData.isConnected = true
  598. wx.hideLoading()
  599. setTimeout(function () {
  600. that.setupConnection()
  601. }, 500)
  602. },
  603. fail: function (e) {
  604. console.debug('connectTo', e)
  605. wx.hideLoading()
  606. switch (e.errCode) {
  607. case 10003: {
  608. wx.showModal({
  609. title: '连接失败',
  610. content: '是否重新连接?',
  611. success: function (res) {
  612. if (res.confirm) {
  613. that.connectTo()
  614. }
  615. }
  616. })
  617. break
  618. }
  619. case 10012: {
  620. wx.showModal({
  621. title: '连接失败',
  622. content: '蓝牙连接超时',
  623. showCancel: false
  624. })
  625. break
  626. }
  627. case 10002: {
  628. wx.showModal({
  629. title: '连接失败',
  630. content: '没有找到指定设备',
  631. showCancel: false
  632. })
  633. break
  634. }
  635. }
  636. }
  637. })
  638. },
  639. setupConnection: function () {
  640. var that = this
  641. wx.showLoading({
  642. title: '初始化连接中',
  643. })
  644. wx.getBLEDeviceServices({
  645. deviceId: lockDevice.deviceId,
  646. success: function (res) {
  647. console.log('Services', res)
  648. wx.getBLEDeviceCharacteristics({
  649. deviceId: lockDevice.deviceId,
  650. serviceId: config.uuid.serviceUuid.toUpperCase(),
  651. success: function (res) {
  652. console.log('Characteristics', res)
  653. wx.showToast({
  654. title: '连接成功',
  655. duration: 1000,
  656. icon: 'none'
  657. })
  658. wx.onBLECharacteristicValueChange(function (res) {
  659. console.log(res, 'reslllllll')
  660. var bytes = new Uint8Array(res.value)
  661. console.log('bytes', bytes)
  662. var data = plugin.parseBytes(lockDevice.name, basecode, bytes)
  663. console.log('data', data)
  664. switch (data.cmd) {
  665. case 'reportLockBattery': {
  666. if (data.data.battery < 10) {
  667. wx.showModal({
  668. title: '电量报警',
  669. content: `门锁当前电量${data.data.battery}%!\n电量严重不足,请立即更换电池!`,
  670. showCancel: false
  671. })
  672. } else if (data.data.battery < 30) {
  673. wx.showModal({
  674. title: '电量预警',
  675. content: `门锁当前电量${data.data.battery}%!\n请及时更换电池!`,
  676. showCancel: false
  677. })
  678. }
  679. break
  680. }
  681. case 'reportRfCardResult': {
  682. if (taskId == 61) {
  683. wx.showModal({
  684. title: '检测到新卡',
  685. content: `是否添加此房卡,卡号:${data.data.cardId}`,
  686. success: function (res) {
  687. if (res.confirm) {
  688. console.log(data.data, 'rfCardIdrfCardId')
  689. // rfCardId = randomMethods()//data.data.cardId
  690. that.onAddRfCard()
  691. }
  692. }
  693. })
  694. } else {
  695. if (lockModel > 70) {
  696. if (data.data.isValid) {
  697. wx.showModal({
  698. title: '提示',
  699. content: `房卡开锁成功,序号:${data.data.index}`,
  700. showCancel: false
  701. })
  702. } else {
  703. wx.showModal({
  704. title: '提示',
  705. content: `多次刷房卡开锁失败!`,
  706. showCancel: false
  707. })
  708. }
  709. } else {
  710. if (data.data.isValid) {
  711. wx.showModal({
  712. title: '提示',
  713. content: `房卡开锁成功,卡号:${data.data.cardId}`,
  714. showCancel: false
  715. })
  716. } else {
  717. wx.showModal({
  718. title: '提示',
  719. content: `房卡未授权,卡号:${data.data.cardId}`,
  720. showCancel: false
  721. })
  722. }
  723. }
  724. }
  725. break
  726. }
  727. case 'reportPincodeResult': {
  728. if (lockModel > 70) {
  729. if (data.data.isValid) {
  730. wx.showModal({
  731. title: '提示',
  732. content: `密码开锁成功,序号:${data.data.index}`,
  733. showCancel: false
  734. })
  735. } else {
  736. wx.showModal({
  737. title: '提示',
  738. content: `多次密码开锁失败!`,
  739. showCancel: false
  740. })
  741. }
  742. } else {
  743. if (data.data.isValid) {
  744. wx.showModal({
  745. title: '提示',
  746. content: `密码:${data.data.pincode}开锁成功!`,
  747. showCancel: false
  748. })
  749. } else {
  750. wx.showModal({
  751. title: '提示',
  752. content: `密码:${data.data.pincode}未授权!`,
  753. showCancel: false
  754. })
  755. }
  756. }
  757. break
  758. }
  759. case 'reportFingerprintResult': {
  760. if (data.data.isValid) {
  761. wx.showModal({
  762. title: '提示',
  763. content: `指纹开锁成功,序号:${data.data.index}`,
  764. showCancel: false
  765. })
  766. } else {
  767. wx.showModal({
  768. title: '提示',
  769. content: `多次指纹开锁失败!`,
  770. showCancel: false
  771. })
  772. }
  773. break
  774. }
  775. case 'queryLockState': {
  776. wx.hideLoading()
  777. if (data.code != 200) {
  778. wx.showModal({
  779. title: '提示',
  780. content: '查询失败!',
  781. showCancel: false,
  782. success: function (res) {}
  783. })
  784. break
  785. }
  786. that.setData({
  787. lock: {
  788. mac: data.data.mac,
  789. lockType: util1.getLockType(lockModel),
  790. },
  791. isBindLock: data.data.isBind
  792. })
  793. lockMac = data.data.mac
  794. if (taskId > 0) {
  795. if (data.data.isBind) {
  796. // wx.showModal({
  797. // title: data.data.mac,
  798. // content: '此设备已经硬件绑定!',
  799. // showCancel: false,
  800. // success: function (res) {}
  801. // })
  802. } else {
  803. wx.showModal({
  804. title: data.data.mac,
  805. content: '此设备硬件未绑定!',
  806. showCancel: false,
  807. success: function (res) {}
  808. })
  809. }
  810. }
  811. taskId = 0
  812. break
  813. }
  814. case 'queryLockBattery': {
  815. wx.hideLoading()
  816. if (data.code != 200) {
  817. wx.showModal({
  818. title: '提示',
  819. content: '查询失败!',
  820. showCancel: false,
  821. success: function (res) {}
  822. })
  823. break
  824. }
  825. taskId = 0
  826. wx.showModal({
  827. title: '提示',
  828. content: `此门锁电量为${data.data.battery}%`,
  829. showCancel: false,
  830. success: function (res) {}
  831. })
  832. break
  833. }
  834. case 'queryNbImei': {
  835. wx.hideLoading()
  836. if (data.code != 200) {
  837. wx.showModal({
  838. title: '提示',
  839. content: '查询失败!',
  840. showCancel: false,
  841. success: function (res) {}
  842. })
  843. break
  844. }
  845. taskId = 0
  846. wx.showModal({
  847. title: '提示',
  848. content: `此NB设备IMEI为${data.data.imei}`,
  849. showCancel: false,
  850. success: function (res) {}
  851. })
  852. break
  853. }
  854. case 'setNbFun': {
  855. wx.hideLoading()
  856. if (data.code != 200) {
  857. wx.showModal({
  858. title: '提示',
  859. content: '设置Nb功能失败!',
  860. showCancel: false,
  861. success: function (res) {}
  862. })
  863. break
  864. }
  865. taskId = 0
  866. wx.showModal({
  867. title: '提示',
  868. content: that.data.isNbEnable ? 'NB功能已禁用' : 'NB功能已打开',
  869. showCancel: false,
  870. })
  871. that.setData({
  872. isNbEnable: !that.data.isNbEnable
  873. })
  874. break
  875. }
  876. case 'sendBindLock': {
  877. wx.hideLoading()
  878. if (data.code != 200) {
  879. wx.showModal({
  880. title: '提示',
  881. content: '绑定失败!',
  882. showCancel: false,
  883. success: function (res) {}
  884. })
  885. break
  886. }
  887. taskId = 0
  888. that.setData({
  889. isBindLock: data.data.isBind
  890. })
  891. if (data.data.isBind) {
  892. wx.showToast({
  893. title: '绑定成功!',
  894. })
  895. } else {
  896. wx.showToast({
  897. title: '绑定失败!',
  898. })
  899. }
  900. break
  901. }
  902. case 'sendUnbindLock': {
  903. wx.hideLoading()
  904. if (data.code != 200) {
  905. wx.showModal({
  906. title: '提示',
  907. content: '解绑失败!',
  908. showCancel: false,
  909. success: function (res) {}
  910. })
  911. break
  912. }
  913. taskId = 0
  914. that.setData({
  915. isBindLock: data.data.isBind
  916. })
  917. if (data.data.isBind) {
  918. wx.showToast({
  919. title: '解绑失败!',
  920. })
  921. } else {
  922. wx.showToast({
  923. title: '解绑成功!',
  924. })
  925. }
  926. break
  927. }
  928. case 'login1':
  929. case 'sendOpenLockP1': {
  930. if (data.code != 200) {
  931. wx.hideLoading()
  932. if (taskId == 41) {
  933. wx.showModal({
  934. title: '提示',
  935. content: that.data.isJack ? '上电失败!' : '解锁失败!',
  936. showCancel: false,
  937. success: function (res) {}
  938. })
  939. } else if (taskId == 32) {
  940. wx.showModal({
  941. title: '提示',
  942. content: '登录失败!',
  943. showCancel: false,
  944. success: function (res) {}
  945. })
  946. }
  947. break
  948. }
  949. if (taskId == 41) {
  950. var bytes = plugin.sendOpenLockP2(lockDevice.name, basecode, data.data.randomN)
  951. console.debug('bytes', bytes)
  952. that.sendBytes(bytes)
  953. } else if (taskId == 32) {
  954. var bytes = plugin.login2(lockDevice.name, basecode, data.data.randomN)
  955. console.debug('bytes', bytes)
  956. that.sendBytes(bytes)
  957. }
  958. break;
  959. }
  960. case 'login':
  961. case 'sendOpenLockP2': {
  962. wx.hideLoading()
  963. if (data.code != 200) {
  964. if (taskId == 41) {
  965. wx.showModal({
  966. title: '提示',
  967. content: that.data.isJack ? '上电失败!' : '解锁失败!',
  968. showCancel: false,
  969. success: function (res) {}
  970. })
  971. } else if (taskId == 32) {
  972. wx.showModal({
  973. title: '提示',
  974. content: '登录失败!',
  975. showCancel: false,
  976. success: function (res) {}
  977. })
  978. }
  979. break
  980. }
  981. isLockLogin = true
  982. if (taskId == 41) {
  983. // var data = {
  984. // code: "zg/bleUnlockRecord",
  985. // data: {
  986. // lockerId: that.data.deviceinfo.deviceNum,
  987. // roomId:that.data.deviceinfo.roomId,
  988. // roomName:that.data.deviceinfo.roomName,
  989. // cardName:that.data.userInfo.username
  990. // }
  991. // }
  992. var data = {
  993. code: "ble/bleUnlockRecord",
  994. data: {
  995. deviceNum: that.data.deviceinfo.deviceNum,
  996. roomId: that.data.deviceinfo.roomId,
  997. roomName: that.data.deviceinfo.roomName,
  998. cardName: that.data.userInfo.username,
  999. productId: that.data.deviceinfo.manufactureId,
  1000. userId: '29283991'
  1001. }
  1002. }
  1003. WXAPI.sendCommand(data).then(res => {
  1004. console.log(res)
  1005. })
  1006. wx.showToast({
  1007. title: that.data.isJack ? '上电成功!' : '解锁成功!',
  1008. })
  1009. } else if (taskId == 32) {
  1010. wx.showToast({
  1011. title: '登录成功!',
  1012. })
  1013. }
  1014. taskId = 0
  1015. break;
  1016. }
  1017. case 'syncClock': {
  1018. wx.hideLoading()
  1019. if (data.code != 200) {
  1020. wx.showModal({
  1021. title: '提示',
  1022. content: '同步时间失败!' + data.data.msg,
  1023. showCancel: false,
  1024. success: function (res) {}
  1025. })
  1026. break
  1027. }
  1028. taskId = 0
  1029. wx.showModal({
  1030. title: '提示',
  1031. content: '时间更新成功!',
  1032. showCancel: false
  1033. })
  1034. break;
  1035. }
  1036. case 'addPincode': {
  1037. // console.log(data.data,'data.data')
  1038. // wx.hideLoading()
  1039. let data2 = {
  1040. "code": "ble/bleSendVoucherReply",
  1041. "data": {
  1042. "deviceNum": that.data.deviceinfo.deviceNum,
  1043. "serialNumber": serialNumber,
  1044. "index": pincodeIndex,
  1045. "type": 7,
  1046. "result": 1,
  1047. "productId": that.data.deviceinfo.manufactureId
  1048. }
  1049. }
  1050. if (data.code != 200) {
  1051. data2 = {
  1052. "code": "ble/bleSendVoucherReply",
  1053. "data": {
  1054. "deviceNum": that.data.deviceinfo.deviceNum,
  1055. "serialNumber": serialNumber,
  1056. "index": pincodeIndex,
  1057. "type": 7,
  1058. "result": 0,
  1059. "productId": that.data.deviceinfo.manufactureId
  1060. }
  1061. }
  1062. WXAPI.sendCommand(data2).then(res => {
  1063. })
  1064. wx.showModal({
  1065. title: '提示',
  1066. content: '添加密码失败!' + data.data.msg,
  1067. showCancel: false,
  1068. success: function (res) {}
  1069. })
  1070. break
  1071. }
  1072. var time1 = new Date(that.data.starttime.replace(/-/g, '/'))
  1073. var time2 = new Date(that.data.endtime.replace(/-/g, '/'))
  1074. var passwordStartTime = time1.getTime() / 1000
  1075. var passwordEndTime = time2.getTime() / 1000
  1076. var pzname = '',
  1077. cardName = '';
  1078. pzname = '蓝牙-密码' + (that.data.passwordList.length + 1)
  1079. cardName = that.data.personLi.name + '-蓝牙-密码' + (that.data.passwordList.length + 1)
  1080. var str = {
  1081. // cardId: this.personInfo.cardId,
  1082. imei: that.data.deviceinfo.imei,
  1083. pzname: pzname,
  1084. password: that.data.password.toString(),
  1085. userTelephone: JSON.parse(that.data.personLi.info).userTelephone,
  1086. operateMode: 7,
  1087. userPassword: JSON.parse(that.data.personLi.info).userPassword,
  1088. passwordStartTime: passwordStartTime,
  1089. passwordEndTime: passwordEndTime,
  1090. index: pincodeIndex,
  1091. is: false,
  1092. pass: true
  1093. }
  1094. var data1 = {
  1095. cardId: that.data.personLi.cardId,
  1096. content: JSON.stringify(str), //operateMode:NFC-10、把人员添加到凭证-1
  1097. deviceNum: that.data.deviceinfo.deviceNum,
  1098. type: 4,
  1099. imei: that.data.deviceinfo.imei,
  1100. serial: serialNumber,
  1101. startTime: passwordStartTime,
  1102. endTime: passwordEndTime,
  1103. };
  1104. var datalist = {
  1105. cardId: that.data.personLi.cardId,
  1106. content: JSON.stringify(str), //operateMode:NFC-10、把人员添加到凭证-1
  1107. type: 14,
  1108. startTime: passwordStartTime,
  1109. endTime: passwordEndTime,
  1110. };
  1111. WXAPI.addCertificates(datalist).then(res6 => {
  1112. console.log(datalist, '密码22', res6)
  1113. })
  1114. WXAPI.addCertificates(data1).then(res3 => {
  1115. if (res3.success) {
  1116. var updatedata = {
  1117. id: res3.data,
  1118. status: 1
  1119. };
  1120. WXAPI.updateCertificates(updatedata).then((res2) => {});
  1121. WXAPI.sendCommand(data2).then(res => {
  1122. })
  1123. that.getPassword()
  1124. that.setData({
  1125. show: false
  1126. })
  1127. wx.hideLoading()
  1128. wx.showToast({
  1129. title: '添加成功',
  1130. mask: true,
  1131. icon: 'none',
  1132. duration: 2000
  1133. })
  1134. } else {
  1135. wx.hideLoading()
  1136. wx.showToast({
  1137. title: '添加失败',
  1138. mask: true,
  1139. icon: 'none',
  1140. duration: 2000
  1141. })
  1142. }
  1143. })
  1144. taskId = 0
  1145. that.setData({
  1146. isPincodeAdd: true,
  1147. show: false
  1148. })
  1149. wx.showModal({
  1150. title: '提示',
  1151. content: `添加密码${pincode}成功!`,
  1152. showCancel: false
  1153. })
  1154. break
  1155. }
  1156. case 'delPincode': {
  1157. wx.hideLoading()
  1158. if (data.code != 200) {
  1159. var datacom = {
  1160. code: "lwj/passwordOperate",
  1161. data: {
  1162. lockerId: that.data.deviceinfo.deviceNum,
  1163. serialNumber: serialNumber,
  1164. index: pincodeIndex,
  1165. action: 2,
  1166. type: 9,
  1167. result: 0
  1168. }
  1169. }
  1170. WXAPI.sendCommand(datacom).then(res2 => {
  1171. console.log(res2, '失败')
  1172. })
  1173. wx.showModal({
  1174. title: '提示',
  1175. content: '删除密码失败!',
  1176. showCancel: false,
  1177. success: function (res) {}
  1178. })
  1179. break
  1180. }
  1181. taskId = 0
  1182. wx.showModal({
  1183. title: '提示',
  1184. content: `删除密码成功!`,
  1185. showCancel: false,
  1186. })
  1187. var datacom = {
  1188. code: "lwj/passwordOperate",
  1189. data: {
  1190. lockerId: that.data.deviceinfo.deviceNum,
  1191. serialNumber: serialNumber,
  1192. index: pincodeIndex,
  1193. action: 2,
  1194. type: 9,
  1195. result: 1
  1196. }
  1197. }
  1198. WXAPI.sendCommand(datacom).then(res2 => {
  1199. if (res2.success) {}
  1200. })
  1201. var data = {
  1202. ids: [passwordLiAll.id]
  1203. }
  1204. WXAPI.deleteCertificates(data).then(res1 => {
  1205. if (res1.success) {
  1206. that.getPassword()
  1207. wx.hideLoading()
  1208. wx.showToast({
  1209. title: '删除成功',
  1210. mask: true,
  1211. icon: 'none',
  1212. duration: 2000
  1213. })
  1214. } else {
  1215. wx.hideLoading()
  1216. wx.showToast({
  1217. title: '删除失败',
  1218. mask: true,
  1219. icon: 'none',
  1220. duration: 2000
  1221. })
  1222. }
  1223. })
  1224. that.setData({
  1225. isPincodeAdd: false
  1226. })
  1227. pincode = -1
  1228. pincodeIndex = -1
  1229. break
  1230. }
  1231. case 'addRfCard': {
  1232. wx.hideLoading()
  1233. if (data.code == 100) {
  1234. wx.showLoading({
  1235. title: data.data.msg,
  1236. })
  1237. break
  1238. } else if (data.code != 200) {
  1239. var datacom = {
  1240. code: "ble/bleSendVoucherReply",
  1241. data: {
  1242. deviceNum: that.data.deviceinfo.deviceNum,
  1243. serialNumber: serialNumber,
  1244. index: rfCardIndex,
  1245. type: ADD_NFC_MODE,
  1246. cardNo: '',
  1247. result: 0,
  1248. productId: that.data.deviceinfo.manufactureId
  1249. }
  1250. }
  1251. WXAPI.sendCommand(datacom).then(res2 => {})
  1252. wx.showModal({
  1253. title: '提示',
  1254. content: '添加房卡失败!' + data.data.msg,
  1255. showCancel: false,
  1256. success: function (res) {}
  1257. })
  1258. break
  1259. }
  1260. taskId = 0
  1261. that.setData({
  1262. isRfCardAdd: true
  1263. })
  1264. if (lockModel > 70) {
  1265. console.log(data.data, 'rfCardIndexrfCardIndex')
  1266. // rfCardId = randomMethods()
  1267. wx.showModal({
  1268. title: '提示',
  1269. content: `添加房卡成功,序号${rfCardIndex}`,
  1270. showCancel: false
  1271. })
  1272. that.addRfcardCertificates()
  1273. } else {
  1274. console.log(data.data, 'rfCardIndexrfCardIndex1')
  1275. // rfCardId = randomMethods()
  1276. wx.showModal({
  1277. title: '提示',
  1278. content: `添加房卡成功,卡号${rfCardId}`,
  1279. showCancel: false
  1280. })
  1281. that.addRfcardCertificates()
  1282. }
  1283. break
  1284. }
  1285. case 'delRfCard': {
  1286. wx.hideLoading()
  1287. if (data.code != 200) {
  1288. var datacom = {
  1289. code: "lwj/c",
  1290. data: {
  1291. lockerId: that.data.deviceinfo.deviceNum,
  1292. serialNumber: serialNumber,
  1293. index: rfCardIndex,
  1294. action: 2,
  1295. type: 12,
  1296. result: 0
  1297. }
  1298. }
  1299. WXAPI.sendCommand(datacom).then(res2 => {
  1300. console.log(res2, '失败')
  1301. })
  1302. wx.showModal({
  1303. title: '提示',
  1304. content: '删除房卡失败!',
  1305. showCancel: false,
  1306. success: function (res) {}
  1307. })
  1308. break
  1309. }
  1310. taskId = 0
  1311. that.setData({
  1312. isRfCardAdd: false
  1313. })
  1314. if (lockModel > 70) {
  1315. wx.showModal({
  1316. title: '提示',
  1317. content: `删除房卡成功,序号${rfCardIndex}`,
  1318. showCancel: false,
  1319. })
  1320. } else {
  1321. wx.showModal({
  1322. title: '提示',
  1323. content: `删除房卡成功,卡号${rfCardId}`,
  1324. showCancel: false,
  1325. })
  1326. }
  1327. var datacom = {
  1328. code: "lwj/c",
  1329. data: {
  1330. lockerId: that.data.deviceinfo.deviceNum,
  1331. serialNumber: serialNumber,
  1332. index: rfCardIndex,
  1333. action: 2,
  1334. type: 12,
  1335. result: 1
  1336. }
  1337. }
  1338. WXAPI.sendCommand(datacom).then(res2 => {
  1339. console.log(res2, '失败')
  1340. })
  1341. var data = {
  1342. ids: [passwordLiAll.id]
  1343. }
  1344. WXAPI.deleteCertificates(data).then(res1 => {
  1345. console.log(res1, '2936');
  1346. if (res1.success) {
  1347. that.getNfc()
  1348. wx.showToast({
  1349. title: '删除成功',
  1350. mask: true,
  1351. icon: 'none',
  1352. duration: 2000
  1353. })
  1354. } else {
  1355. wx.showToast({
  1356. title: '删除失败',
  1357. mask: true,
  1358. icon: 'none',
  1359. duration: 2000
  1360. })
  1361. }
  1362. })
  1363. rfCardId = -1
  1364. rfCardIndex = -1
  1365. break
  1366. }
  1367. case 'addFingerprint': {
  1368. wx.hideLoading()
  1369. if (data.code == 100) {
  1370. wx.showLoading({
  1371. title: data.data.msg,
  1372. })
  1373. break
  1374. } else if (data.code != 200) {
  1375. wx.showModal({
  1376. title: '提示',
  1377. content: '添加指纹失败!' + data.data.msg,
  1378. showCancel: false,
  1379. success: function (res) {}
  1380. })
  1381. var datacom = {
  1382. code: "ble/bleSendVoucherReply",
  1383. data: {
  1384. deviceNum: that.data.deviceinfo.deviceNum,
  1385. serialNumber: serialNumber,
  1386. index: 0,
  1387. type: 16,
  1388. result: 0,
  1389. productId: that.data.deviceinfo.manufactureId
  1390. }
  1391. }
  1392. WXAPI.sendCommand(datacom).then(res2 => {
  1393. if (res2.success) {}
  1394. })
  1395. break
  1396. }
  1397. taskId = 0
  1398. that.setData({
  1399. isFingerprintAdd: true
  1400. })
  1401. wx.showModal({
  1402. title: '提示',
  1403. content: `添加指纹成功,序号${fingerprintIndex}`,
  1404. showCancel: false
  1405. })
  1406. var time1 = new Date(that.data.starttime.replace(/-/g, '/'))
  1407. var time2 = new Date(that.data.endtime.replace(/-/g, '/'))
  1408. var passwordStartTime = time1.getTime() / 1000
  1409. var passwordEndTime = time2.getTime() / 1000
  1410. var cardName = '',
  1411. pzname = ''
  1412. if (that.data.pzname) {
  1413. cardName = that.data.personLi.name + '-蓝牙-' + that.data.pzname
  1414. pzname = '蓝牙-' + that.data.pzname
  1415. } else {
  1416. cardName = that.data.personLi.name + '-蓝牙-指纹' + (that.data.FpList.length + 1)
  1417. pzname = '蓝牙-指纹' + (that.data.FpList.length + 1)
  1418. }
  1419. var str = {
  1420. // cardId: this.personInfo.cardId,
  1421. imei: that.data.deviceinfo.imei,
  1422. pzname: pzname,
  1423. password: '',
  1424. fingerprintAlias: that.data.radioDetil,
  1425. userTelephone: JSON.parse(that.data.personLi.info).userTelephone,
  1426. operateMode: 16,
  1427. userPassword: JSON.parse(that.data.personLi.info).userPassword,
  1428. passwordStartTime: passwordStartTime,
  1429. passwordEndTime: passwordEndTime,
  1430. index: fingerprintIndex,
  1431. is: false,
  1432. pass: true
  1433. }
  1434. var data2 = {
  1435. cardId: that.data.personLi.cardId,
  1436. content: JSON.stringify(str), //operateMode:NFC-10、把人员添加到凭证-1
  1437. deviceNum: that.data.deviceinfo.deviceNum,
  1438. type: 1,
  1439. imei: that.data.deviceinfo.imei,
  1440. serial: serialNumber,
  1441. startTime: passwordStartTime,
  1442. endTime: passwordEndTime,
  1443. status: 1
  1444. };
  1445. var datalist = {
  1446. cardId: that.data.personLi.cardId,
  1447. content: JSON.stringify(str), //operateMode:NFC-10、把人员添加到凭证-1
  1448. type: 11,
  1449. startTime: passwordStartTime,
  1450. endTime: passwordEndTime
  1451. };
  1452. var datacom = {
  1453. code: "ble/bleSendVoucherReply",
  1454. data: {
  1455. deviceNum: that.data.deviceinfo.deviceNum,
  1456. serialNumber: serialNumber,
  1457. index: fingerprintIndex,
  1458. type: 16,
  1459. result: 1,
  1460. productId: that.data.deviceinfo.manufactureId
  1461. }
  1462. }
  1463. WXAPI.addCertificates(datalist).then(res6 => {})
  1464. console.log(data, '添加凭证')
  1465. WXAPI.addCertificates(data2).then(res3 => {
  1466. if (res3.success) {
  1467. var updatedata = {
  1468. id: res3.data,
  1469. status: 1
  1470. };
  1471. WXAPI.updateCertificates(updatedata).then((res2) => {});
  1472. WXAPI.sendCommand(datacom).then(res2 => {
  1473. if (res2.success) {}
  1474. })
  1475. console.log(res3, '添加凭证成功')
  1476. that.getFp()
  1477. that.setData({
  1478. show: false
  1479. })
  1480. wx.hideLoading()
  1481. wx.showToast({
  1482. title: '添加成功',
  1483. mask: true,
  1484. icon: 'none',
  1485. duration: 2000
  1486. })
  1487. } else {
  1488. wx.hideLoading()
  1489. wx.showToast({
  1490. title: '添加失败',
  1491. mask: true,
  1492. icon: 'none',
  1493. duration: 2000
  1494. })
  1495. }
  1496. })
  1497. break
  1498. }
  1499. case 'delFingerprint': {
  1500. wx.hideLoading()
  1501. if (data.code != 200) {
  1502. wx.showModal({
  1503. title: '提示',
  1504. content: '删除指纹失败!',
  1505. showCancel: false,
  1506. success: function (res) {}
  1507. })
  1508. break
  1509. }
  1510. taskId = 0
  1511. wx.showModal({
  1512. title: '提示',
  1513. content: `删除指纹成功,序号${fingerprintIndex}`,
  1514. showCancel: false,
  1515. })
  1516. that.setData({
  1517. isFingerprintAdd: false
  1518. })
  1519. fingerprintIndex = -1
  1520. break
  1521. }
  1522. case 'changeAdminPincode': {
  1523. wx.hideLoading()
  1524. if (data.code != 200) {
  1525. wx.showModal({
  1526. title: '提示',
  1527. content: '修改管理密码失败!',
  1528. showCancel: false,
  1529. success: function (res) {}
  1530. })
  1531. break
  1532. }
  1533. taskId = 0
  1534. wx.showToast({
  1535. title: '修改管理密码成功!',
  1536. })
  1537. }
  1538. case 'queryLockSlotState': {
  1539. wx.hideLoading()
  1540. if (data.code != 200) {
  1541. wx.showModal({
  1542. title: '提示',
  1543. content: '查询失败!',
  1544. showCancel: false,
  1545. success: function (res) {}
  1546. })
  1547. break
  1548. }
  1549. taskId = 0
  1550. wx.showModal({
  1551. title: '提示',
  1552. content: data.data.state == 0 ? '此门锁方舌关闭' : '此门锁方舌打开',
  1553. showCancel: false,
  1554. success: function (res) {}
  1555. })
  1556. break
  1557. }
  1558. case 'queryLockUnlockState': {
  1559. wx.hideLoading()
  1560. if (data.code != 200) {
  1561. wx.showModal({
  1562. title: '提示',
  1563. content: '查询失败!',
  1564. showCancel: false,
  1565. success: function (res) {}
  1566. })
  1567. break
  1568. }
  1569. taskId = 0
  1570. wx.showModal({
  1571. title: '提示',
  1572. content: data.data.state == 0 ? '此门锁已关闭' : '此门锁已打开',
  1573. showCancel: false,
  1574. success: function (res) {}
  1575. })
  1576. break
  1577. }
  1578. case 'setLockUnlockState': {
  1579. wx.hideLoading()
  1580. if (data.code != 200) {
  1581. wx.showModal({
  1582. title: '提示',
  1583. content: '设置常开指令失败!',
  1584. showCancel: false,
  1585. success: function (res) {}
  1586. })
  1587. break
  1588. }
  1589. taskId = 0
  1590. wx.showModal({
  1591. title: '提示',
  1592. content: data.data.state == 0 ? '常开模式已退出' : '常开模式已开启',
  1593. showCancel: false,
  1594. })
  1595. that.setData({
  1596. isUnloked: data.data.state == 1
  1597. })
  1598. break
  1599. }
  1600. case 'setLockMuteState': {
  1601. wx.hideLoading()
  1602. if (data.code != 200) {
  1603. wx.showModal({
  1604. title: '提示',
  1605. content: '设置静音指令失败!',
  1606. showCancel: false,
  1607. success: function (res) {}
  1608. })
  1609. break
  1610. }
  1611. taskId = 0
  1612. wx.showModal({
  1613. title: '提示',
  1614. content: data.data.state == 1 ? '静音模式已退出' : '静音模式已开启',
  1615. showCancel: false,
  1616. })
  1617. that.setData({
  1618. isMuted: data.data.state == 0
  1619. })
  1620. break
  1621. }
  1622. }
  1623. })
  1624. wx.notifyBLECharacteristicValueChange({
  1625. deviceId: lockDevice.deviceId,
  1626. serviceId: config.uuid.serviceUuid.toUpperCase(),
  1627. characteristicId: config.uuid.notifyUuid.toUpperCase(),
  1628. state: true,
  1629. success: function (res) {
  1630. console.log('setupNotify', res)
  1631. isInitReady = true
  1632. setTimeout(function () {
  1633. wx.hideLoading()
  1634. // that.onQueryBindState()
  1635. that.login()
  1636. }, 500)
  1637. },
  1638. })
  1639. },
  1640. })
  1641. },
  1642. })
  1643. },
  1644. doWork: function () {
  1645. var that = this
  1646. console.log(taskId);
  1647. switch (taskId) {
  1648. case 11: {
  1649. that.onBindLock()
  1650. break
  1651. }
  1652. case 12: {
  1653. that.onUnbindLock()
  1654. break
  1655. }
  1656. case 21: {
  1657. that.onQueryBindState()
  1658. break
  1659. }
  1660. case 22: {
  1661. that.onQueryBattery()
  1662. break
  1663. }
  1664. case 31: {
  1665. that.onQueryNbImei()
  1666. break
  1667. }
  1668. case 32: {
  1669. that.onLogin()
  1670. break
  1671. }
  1672. case 41: {
  1673. that.LwjonOpenLock()
  1674. break
  1675. }
  1676. case 42: {
  1677. that.onSyncClock()
  1678. break
  1679. }
  1680. case 51: {
  1681. that.onAddPincode()
  1682. break
  1683. }
  1684. case 52: {
  1685. that.onDelPincode()
  1686. break
  1687. }
  1688. case 61: {
  1689. // that.onAddRfCard()
  1690. // if (lockModel > 70) {
  1691. that.sendAddRfcard()
  1692. // } else {
  1693. // wx.showModal({
  1694. // title: '提示',
  1695. // content: '请刷卡!',
  1696. // showCancel: false
  1697. // })
  1698. // }
  1699. break
  1700. }
  1701. case 62: {
  1702. that.onDelRfCard()
  1703. break
  1704. }
  1705. case 71: {
  1706. that.onAddFingerprint()
  1707. break
  1708. }
  1709. case 72: {
  1710. that.onDelFingerprint()
  1711. break
  1712. }
  1713. case 81: {
  1714. that.onChangeAdminPincode()
  1715. break
  1716. }
  1717. case 91: {
  1718. that.onQueryLockSlotState()
  1719. break
  1720. }
  1721. case 92: {
  1722. that.onQueryLockUnlockState()
  1723. break
  1724. }
  1725. case 101: {
  1726. that.onChangeLockUnlockState()
  1727. break
  1728. }
  1729. case 102: {
  1730. that.onChangeLockMutedState()
  1731. break
  1732. }
  1733. case 111: {
  1734. this.onChangeLockNbState()
  1735. }
  1736. default: {
  1737. }
  1738. }
  1739. },
  1740. login: function () {
  1741. var that = this
  1742. taskId = 32
  1743. that.initBluetooth()
  1744. },
  1745. onLogin: function () {
  1746. var that = this
  1747. wx.showLoading({
  1748. title: '登录中',
  1749. })
  1750. var bytes = plugin.login1(lockDevice.name, basecode)
  1751. console.debug('bytes', bytes)
  1752. that.sendBytes(bytes)
  1753. },
  1754. /**
  1755. * 生命周期函数--监听页面初次渲染完成
  1756. */
  1757. onReady: function () {
  1758. },
  1759. /**
  1760. * 生命周期函数--监听页面显示
  1761. */
  1762. onShow: function () {
  1763. },
  1764. /**
  1765. * 生命周期函数--监听页面隐藏
  1766. */
  1767. onHide: function () {
  1768. },
  1769. /**
  1770. * 生命周期函数--监听页面卸载
  1771. */
  1772. onUnload: function () {
  1773. },
  1774. /**
  1775. * 页面相关事件处理函数--监听用户下拉动作
  1776. */
  1777. onPullDownRefresh: function () {
  1778. },
  1779. /**
  1780. * 页面上拉触底事件的处理函数
  1781. */
  1782. onReachBottom: function () {
  1783. },
  1784. /**
  1785. * 用户点击右上角分享
  1786. */
  1787. onShareAppMessage: function () {
  1788. }
  1789. })