|
|
- var util = require('./util');
- import {
- BLE
- } from "./btls/ble";
- const app = getApp();
- const emitter = app.globalData.emitter
-
- function ab2hex(buffer) {
- var hexArr = Array.prototype.map.call(
- new Uint8Array(buffer),
- function (bit) {
- return ('00' + bit.toString(16)).slice(-2)
- }
- )
- return hexArr.join(',');
- }
-
- function startFp1_63(managerTelephone, managerPassword, userTelephone, userPassword, password, startTime, endTime,
- num,timestamp,callback) {
- wx.showLoading({
- title: "正在发送...",
- mask:true
- });
- setTimeout(() => {
- wx.hideLoading()
- }, 1000);
-
- let cmd = 0x63
- let mt = util.stringToUint8Array(managerTelephone)
- let mp = util.stringToUint8Array(managerPassword)
- let ut = util.stringToUint8Array(userTelephone)
- let up = util.stringToUint8Array(userPassword)
-
- let pd = util.hexStringToBytesWithPadding(password, 10, 0xff)
-
- let ust = util.time40ToBytes(startTime)
- let uet = util.time40ToBytes(endTime)
- let fst = util.time40ToBytes(startTime)
- let fet = util.time40ToBytes(endTime)
- let length = 1 + 11 + 6 + 11 + 6 + 5 + 5 + 4 + 2 + 10 + 5 + 5 + 1 + 2 + 1
-
- let b = new Uint8Array(length)
-
- b[0] = cmd
- b.set(mt, 1)
- b.set(mp, 12)
- b.set(ut, 18)
- b.set(up, 29)
- b.set(ust, 35)
- b.set(uet, 40)
-
- //权限
- b[45] = 0xff;
- b[46] = 0xff;
- b[47] = 0xff;
- b[48] = 0xff;
-
- //密码长度 uint16
- b[49] = 0
- b[50] = 0x0a
- //密码数据
- b.set(pd, 51)
-
- b.set(fst, 61)
- b.set(fet, 66)
-
- b[71] = 0xff;
-
- b[72] = 0xff;
- b[73] = 0xff;
-
- b[74] = num; //添加指纹
- app.globalData.ble.send(cmd, b,timestamp,function(data){
- callback(data)
- })
- }
- function startFp_26(managerTelephone, managerPassword,timestamp,callback) {
- wx.showLoading({
- title: "正在发送...",
- mask:true
- });
- setTimeout(() => {
- wx.hideLoading()
- }, 1000);
-
- let cmd = 0x26
- let mt = util.stringToUint8Array(managerTelephone)
- let mp = util.stringToUint8Array(managerPassword)
-
- let length = 1 + 11 + 6
-
- let b = new Uint8Array(length)
-
- b[0] = cmd
- b.set(mt, 1)
- b.set(mp, 12)
- app.globalData.ble.send(cmd, b,timestamp,function(data){
- callback(data)
- })
- }
-
- function startFp_23(deviceNum, managerTelephone, managerPassword, newPassword, key,timestamp,callback) {
- wx.showLoading({
- title: "正在发送...",
- mask:true
- });
- setTimeout(() => {
- wx.hideLoading()
- }, 1000);
-
- let cmd = 0x23
- let dn = util.stringToBytesWithPadding(deviceNum, 20, 255)
- let mt = util.stringToUint8Array(managerTelephone)
- let mp = util.stringToUint8Array(managerPassword)
- let ut = util.stringToUint8Array(newPassword)
- let up = util.stringToUint8Array(key)
-
- let length = 1 + 20 + 11 + 6 + 6 + 10
-
- let b = new Uint8Array(length)
-
- b[0] = cmd
- b.set(dn, 1)
- b.set(mt, 21)
- b.set(mp, 32)
- b.set(ut, 38)
- b.set(up, 44)
- app.globalData.ble.send(cmd, b,timestamp,function(data){
- callback(data)
- })
- }
-
- function openLock(userTelephone,userPassword,pwd,openLockType,timestamp,callback) {
- wx.showLoading({
- title: "正在发送...",
- mask:true
- });
- setTimeout(()=>{
- wx.hideLoading()
- },3000)
- let cmd = 0x41
- let ut = util.stringToUint8Array(userTelephone)
-
- let up = util.stringToUint8Array(userPassword)
-
- let p = util.hexStringToBytesWithPadding(pwd, 10, 0xff)
- let length = 1 + 11 + 6 + 10 + 1
-
- let b = new Uint8Array(length)
-
- b[0] = cmd
- b.set(ut, 1)
- b.set(up, 12)
- b.set(p, 18)
- b[28] = openLockType
- app.globalData.ble.send(cmd, b, length,timestamp,function(data){
- callback(data)
- })
- }
-
- function startFp_29(deviceNum, status,timestamp,callback) {
- wx.showLoading({
- title: "正在发送...",
- mask:true
- });
-
- let cmd = 0x29
- let dn = util.stringToUint8ArrayWithPadding(deviceNum, 20, 0xff)
-
- let length = 1 + 20 + 5 + 1 + 1
-
- let b = new Uint8Array(length)
-
- b[0] = cmd
- b.set(dn, 1)
-
- //send data=0x0036000008
- b[21] = 0x00;
- b[22] = 0x36;
- b[23] = 0;
- b[24] = 0;
- b[25] = 0x08
-
- b[26] = status //status: 0x03, 0x02, 0x01
- b[27] = 0x01
- app.globalData.ble.send(cmd, b,timestamp,function(data){
- callback(data)
- })
- }
- function startFp_63(managerTelephone, managerPassword, userTelephone, userPassword, startTime, endTime, num,fingerprintId,timestamp,callback) {
- wx.showLoading({
- title: "正在发送...",
- mask:true
- });
- let cmd = 0x63
- let mt = util.stringToUint8Array(managerTelephone)
- let mp = util.stringToUint8Array(managerPassword)
- let ut = util.stringToUint8Array(userTelephone)
- let up = util.stringToUint8Array(userPassword)
-
- let ust = util.time40ToBytes(startTime)
- let uet = util.time40ToBytes(endTime)
- let fst = util.time40ToBytes(startTime)
- let fet = util.time40ToBytes(endTime)
- let length = 1 + 11 + 6 + 11 + 6 + 5 + 5 + 4 + 2 + 10 + 5 + 5 + 1 + 2 + 1
-
- let b = new Uint8Array(length)
-
- b[0] = cmd
- b.set(mt, 1)
- b.set(mp, 12)
- b.set(ut, 18)
- b.set(up, 29)
- b.set(ust, 35)
- b.set(uet, 40)
-
- //权限
- b[45] = 0x46;
- b[46] = 0x46;
- b[47] = 0x46;
- b[48] = 0x46;
-
- //密码长度 uint16
- b[49] = 0
- b[50] = 0x0a
- //密码数据
- console.log(fingerprintId, '指纹ID')
- b[51] = fingerprintId
- b[52] = 0xff
- b[53] = 0xff
- b[54] = 0xff
- b[55] = 0xff
- b[56] = 0xff
- b[57] = 0xff
- b[58] = 0xff
- b[59] = 0xff
- b[60] = 0xff
-
- b.set(fst, 61)
- b.set(fet, 66)
-
- b[71] = 0xff;
-
- b[72] = 0xff;
- b[73] = 0xff;
-
- b[74] = num; //添加指纹
- app.globalData.ble.send(cmd, b,timestamp,function(data){
- callback(data)
- })
- }
- module.exports = {
- startFp1_63,startFp_26,startFp_23,openLock,startFp_29,startFp_63
- }
|