Quellcode durchsuchen

增加小程序登录和从服务器上拉取基站参数接口

zhoutao vor 3 Monaten
Ursprung
Commit
04b95dd35d
9 geänderte Dateien mit 251 neuen und 254 gelöschten Zeilen
  1. 2 1
      .gitignore
  2. 7 0
      api/btsparam.js
  3. 2 2
      api/wxlogin.js
  4. 24 47
      app.js
  5. 196 185
      pages/home/home.js
  6. 2 1
      project.private.config.json
  7. 12 10
      sysconfig/sysconfig.js
  8. 3 1
      utils/crypt.js
  9. 3 7
      utils/request.js

+ 2 - 1
.gitignore

@@ -1 +1,2 @@
-node_modules
+node_modules
+miniprogram_npm

+ 7 - 0
api/btsparam.js

@@ -0,0 +1,7 @@
+import fly from "../utils/request.js"
+
+//获取基站参数
+export function getMobileBtsParamList(data) {
+    return fly.post("/bparam/getMobileBtsParamList", data)
+}
+

+ 2 - 2
api/wxlogin.js

@@ -1,7 +1,7 @@
 import fly from "../utils/request.js"
 
 //用户登录
-export function userMobileLogin(data){
-	return fly.post("wxlogin/userMobileLogin", data)
+export function userMobileLogin(data) {
+    return fly.post("/wxlogin/userMobileLogin", data)
 }
 

+ 24 - 47
app.js

@@ -1,7 +1,4 @@
 // app.js
-import { userMobileLogin } from './api/wxlogin.js'
-import sysconfig from '../sysconfig/sysconfig.js'
-
 App({
     data: {//数据
         worker: null,//线程句柄
@@ -11,25 +8,6 @@ App({
         imuStartTimestamp: 0,//IMU开始时间戳
     },
     onLaunch() {
-        // 用户登录登录(发送 res.code 到后台换取 openId, sessionKey, unionId)
-        wx.login({
-            success: (res) => {
-                var paramData = {};
-                paramData.code = res.code; //登录凭证
-                paramData.domain_name = sysconfig.default.domanName; //系统二级域名
-                userMobileLogin(paramData).then((resp) => {
-                    //保存token
-                    const tokenKey = wx.getStorageSync(sysconfig.user.tokenKey)
-                    wx.setStorageSync(tokenKey, resp.data.data.token)
-
-                    //保存用户数据
-                    const userInfoKey = wx.getStorageSync(sysconfig.user.userInfoKey)
-                    wx.setStorageSync(userInfoKey, resp.data.data)
-                }).catch((err) => {
-                    console.log(err)
-                })
-            }
-        })
     },
     //创建线程(listener:线程监听服务程序)
     createWorker(listener) {
@@ -63,29 +41,25 @@ App({
 
         //注册录音回调函数(录音长度达到设定值后执行)
         this.data.recorder.onFrameRecorded((res) => {
-            //从返回参数中解构变量isLastFrame和frameBuffer, 其中frameBuffer是二进制数据数组,不能直接读写
+            //从返回参数res中解构isLastFrame和frameBuffer变量
+            //其中frameBuffer是二进制数据数组,不能直接读写
             const { isLastFrame, frameBuffer } = res
 
-            //录音时长到了最大值,重新开始录音
+            //录音时长达到最大值,则重新开始录音
+            //微信小程序录音时长最长为10分钟
             if (isLastFrame) {
                 self.startRecord()
             }
 
-            //将数据发送给worker
+            //将录音数据发送给worker
             self.data.worker.postMessage({
                 message: 'MAIN_WORKER_AUDIO_DATA',
                 data: frameBuffer
             })
-
-            // //将数据发送给worker
-            // self.data.worker.postMessage({
-            //     message: 'MAIN_WORKER_SAVE_AUDIO_DATA',
-            //     data: frameBuffer
-            // })
         })
 
-        //开始录音
-        setTimeout(this.startRecord, 2000)
+        //延迟1秒后开始录音,以便让录音机稳定
+        setTimeout(this.startRecord, 1000)
     },
     //开始录音
     startRecord() {
@@ -100,23 +74,10 @@ App({
             options.format = "pcm"
             options.frameSize = "22" //单位kB(数据不会太准确,因此需要缓存数据以实施成帧操作)
 
-            //启动录音
+            //开始录音
             this.data.recorder.start(options)
         }
     },
-    //保存音频文件
-    //buffer:录音数据,为二进制单字节数据数组(byte)
-    saveAduioDataToBin(buffer) {
-        console.log("收到保存消息")
-        let fileSystemManager = wx.getFileSystemManager()
-
-        try {
-            fileSystemManager.appendFileSync(wx.env.USER_DATA_PATH + "/IPS8000.bin", buffer, 'binary')
-            return { code: 1, data: 'ok' }
-        } catch (e) {
-            return { code: 0, data: e }
-        }
-    },
     //打开蓝牙适配器
     openBleAdapter() {
         let self = this
@@ -320,4 +281,20 @@ App({
             })
         }
     },
+    ////////////////////////////////////////////////////////////////////////////
+    ///////////////////////////以下未测试接口,已舍弃/////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////
+    //保存音频文件
+    //buffer:录音数据,为二进制单字节数据数组(byte)
+    saveAduioDataToBin(buffer) {
+        console.log("收到保存消息")
+        let fileSystemManager = wx.getFileSystemManager()
+
+        try {
+            fileSystemManager.appendFileSync(wx.env.USER_DATA_PATH + "/IPS8000.bin", buffer, 'binary')
+            return { code: 1, data: 'ok' }
+        } catch (e) {
+            return { code: 0, data: e }
+        }
+    },
 })

+ 196 - 185
pages/home/home.js

@@ -1,16 +1,16 @@
+//注意,注意,""../"表示退回上一级目录
+import { userMobileLogin } from '../../api/wxlogin.js'
+import { getMobileBtsParamList } from '../../api/btsparam.js'
+import sysconfig from '../../sysconfig/sysconfig.js'
 
 const app = getApp()
-// pages/home/home.js
 Page({
-    /**
-     * 页面的初始数据
-     */
     data: {
         bestFrame: 0,
         bestMultiFrame: 0,
         bleDataList: [],//蓝牙设备队列,包括mac和rssi项
-
-        installBtsList: [],//安装基站列表
+        btsParamList: [],//基站参数列表
+        btsDataList: [],//基站数据列表
         btsMinCoordX: 0,
         btsMaxCoordX: 0,
         btsMinCoordY: 0,
@@ -21,8 +21,7 @@ Page({
         canvasHeight: 0, //画布高度
         canvasPixelRatio: 1,//画布像素比例
 
-        coordDataList: [],//定位坐标数据队列
-
+        coordDataList: [],//定位坐标数据队列(所有定位坐标)
     },
     /**
      * 生命周期函数--监听页面加载
@@ -31,12 +30,14 @@ Page({
         //创建线程
         app.createWorker(this.workerMessageListenerHome)
 
-        app.createRecorder()//创建录音设备
+        //创建录音设备
+        //app.createRecorder()
 
-        //TODO,测试用接口,后期改成从服务器上读取安装基站数据
-        this.generateMultiInstallBts() //生成定位基站
+        //用户登录
+        this.userLogin()
 
-        this.initCanvas()//初始化画布
+        //初始化画布
+        this.initCanvas()
 
         //启动三轴加速计
         app.startImu()
@@ -63,6 +64,7 @@ Page({
      * 生命周期函数--监听页面卸载
      */
     onUnload() {
+        //页面关闭时释放wasm模块内存
         if (app.data.worker != null) {
             app.data.worker.postMessage({
                 message: 'MAIN_WORKER_FREE_MEMORY',
@@ -94,13 +96,13 @@ Page({
                 app.openBleAdapter()//打开蓝牙设备
                 break
             case 'WORKER_MAIN_ORGANIZE_INSTALL_BTS_DATA':
-                this.organizeInstallBtsData()//组织安装基站
+                this.organizeBtsDataForWasm()//组织基站数据
                 break
             case 'WORKER_MAIN_START_REC'://开始录音
                 app.createRecorder()
                 break
             case 'WORKER_MAIN_CURRENT_LOCATION_COORD'://当前定位坐标
-                this.drawLocationTrace(res.data)
+                this.saveLocateCoord(res.data)
                 break
             case 'WORKER_MAIN_NOTICE_DOWNLOAD_AUDIO_FILE':
                 this.downloadAudioFile()
@@ -115,6 +117,47 @@ Page({
                 break
         }
     },
+    //用户登录,登录成功后拉取基站参数
+    userLogin() {
+        // 用户登录登录(发送登录凭证[res.code]到后台换取openId、sessionKey和unionId)
+        wx.login({
+            success: (res) => {
+                var paramData = {};
+                paramData.code = res.code; //登录凭证
+                paramData.domain_name = sysconfig.domanName; //系统二级域名(用二级域名换取项目编号)
+
+                userMobileLogin(paramData).then((resp) => {
+                    //保存token
+                    const tokenKey = sysconfig.user.tokenKey
+                    wx.setStorageSync(tokenKey, resp.data.data.token)
+
+                    //保存用户数据
+                    const userInfoKey = sysconfig.user.userInfoKey
+                    wx.setStorageSync(userInfoKey, resp.data.data)
+
+                    //拉取基站参数(注意:需要在用户登录成功后才拉取参数)
+                    this.getBtsParamList()
+                }).catch((err) => {
+                    console.log("用户登录失败", err)
+                })
+            }
+        })
+    },
+    //拉取基站参数(注意:需要在用户登录成功后才拉取参数)
+    getBtsParamList() {
+        //拉取基站参数
+        getMobileBtsParamList().then((resBtsPram) => {
+            this.data.btsParamList = resBtsPram.data.data
+
+            //组织基站数据队列
+            this.data.btsDataList = this.generateBtsDataList(this.data.btsParamList)
+
+            //计算最大最小坐标值
+            this.calMaxMinCoordXY(this.data.btsDataList)
+        }).catch((err) => {
+            console.log("查询基站参数失败", err)
+        })
+    },
     //初始化画布
     initCanvas() {
         //获得屏幕数据
@@ -139,19 +182,20 @@ Page({
                 canvas.height = res[0].height * this.data.canvasPixelRatio
                 this.data.canvasCtx.scale(this.data.canvasPixelRatio, this.data.canvasPixelRatio)
 
-                this.drawPosition(0, 0, 0, 0)
+                //画网格
+                this.drawLocateTrack(0, 0, 0, this.data.coordDataList)
             }
         })
     },
-    //组织安装基站数据
-    organizeInstallBtsData() {
+    //为wasm模块组织基站数据
+    organizeBtsDataForWasm() {
         let dataList = []//数据队列
         let oneItem = {}
 
         //按照wasm模块要求的数据格式组织数据
-        dataList.push(this.data.installBtsList.length)
-        for (let i = 0; i < this.data.installBtsList.length; i++) {
-            oneItem = this.data.installBtsList[i]
+        dataList.push(this.data.btsDataList.length)
+        for (let i = 0; i < this.data.btsDataList.length; i++) {
+            oneItem = this.data.btsDataList[i]
             dataList.push(oneItem.dwBuildId)
             dataList.push(oneItem.dwLayerId)
 
@@ -169,7 +213,7 @@ Page({
             for (let i = 0; i < oneItem.dwTwoBtsNum; i++) {
                 dataList.push(oneItem.adwTwoBtsList[i])
             }
-            for (let i = oneItem.dwTwoBtsNum; i < 6; i++) {
+            for (let i = oneItem.dwTwoBtsNum; i < 6; i++) {//补零占位
                 dataList.push(0)
             }
 
@@ -192,87 +236,22 @@ Page({
             })
         }
     },
-    //生成多个安装基站
-    generateMultiInstallBts() {
-        let oneItem = {}
-        let maxTmpX = -10000000
-        let minTmpX = 10000000
-        let maxTmpY = -10000000
-        let minTmpY = 10000000
-        let xTmp = 0
-        let yTmp = 0
-
-        let btsNum = 5;//基站数量
-
-        //清空基站队列
-        this.data.installBtsList = []
-
-        // a81710d94e04 1号基站
-        // a81710d9a1c8 2号基站
-        // a81710d8f9be 3号基站
-        // a81710d91a5e 4号基站
-
-        // 1号基站,基站ID,频率ID(0 - 8),时隙ID(0 - 3),X坐标(单位厘米),Y坐标(单位厘米),MAC地址,定位类型,1维定位基站数,1维定位基站ID队列
-        oneItem = this.generateOneInstallBts(10001, 3, 0, 0, 720, "685377178192", 3, 1, "10005")
-        this.data.installBtsList.push(oneItem)
-
-        //2号基站
-        oneItem = this.generateOneInstallBts(10002, 4, 1, 2500, 720, "685377183652", 2, 0, "")
-        this.data.installBtsList.push(oneItem)
-
-        //3号基站
-        oneItem = this.generateOneInstallBts(10003, 5, 2, 2500, 0, "6853771679b0", 2, 0, "")
-        this.data.installBtsList.push(oneItem)
-
-        //4号基站
-        oneItem = this.generateOneInstallBts(10004, 6, 3, 0, 0, "68537716c686", 2, 0, "")
-        this.data.installBtsList.push(oneItem)
-
-        //5号基站
-        oneItem = this.generateOneInstallBts(10005, 7, 0, 0, 3300, "685377183238", 1, 1, "10001")
-        this.data.installBtsList.push(oneItem)
-
-        // //6号基站
-        // oneItem = this.generateOneInstallBts(10006, 5, 0, 5500, 0, "685377174ea4", 1, 1, "10005")
-        // this.data.installBtsList.push(oneItem)
-
-
-        // //7号基站
-        // oneItem = this.generateOneInstallBts(2097114, 6, 0, 500, 180, "a81710d94198", 2, 1, "0")
-        // this.data.installBtsList.push(oneItem)
-
-        // // //8号基站
-        // // oneItem = this.generateOneInstallBts(2097110, 7, 0, 800, 1800, "a81710d951dc")
-        // // this.data.installBtsList.push(oneItem)
-
+    //生成基站数据队列
+    generateBtsDataList(btsParamList) {
+        let dataList = []
+        ////组织基站数据
+        let btsNum = btsParamList.length;//基站数量
         for (let i = 0; i < btsNum; i++) {
-            xTmp = this.data.installBtsList[i].dwCoordX
-            if (xTmp > maxTmpX) {
-                maxTmpX = xTmp
-            }
-            if (xTmp < minTmpX) {
-                minTmpX = xTmp
-            }
-
-            yTmp = this.data.installBtsList[i].dwCoordY
-            if (yTmp > maxTmpY) {
-                maxTmpY = yTmp
-            }
-            if (yTmp < minTmpY) {
-                minTmpY = yTmp
-            }
+            let btsParam = btsParamList[i]
+            let oneItem = this.generateOneBtsData(btsParam.bts_id, btsParam.carrier_id, btsParam.timeslot, btsParam.coord_x, btsParam.coord_y, btsParam.coord_z, btsParam.ble_name, btsParam.location_type, btsParam.two_bts_num, btsParam.two_bts_list)
+            dataList.push(oneItem)
         }
 
-        //保存值
-        this.setData({
-            btsMinCoordX: minTmpX,
-            btsMaxCoordX: maxTmpX,
-            btsMinCoordY: minTmpY,
-            btsMaxCoordY: maxTmpY
-        })
+        return dataList
     },
-    //生成一个安装基站数据
-    generateOneInstallBts(dwBtsId, dwFreqIndex, dwSlot, dwCoordX, dwCoordY, macAddressList, dwLctType, dwTwoBtsNum, adwTwoBtsList) {
+    //生成一个基站数据
+    //基站ID,频率ID(0 - 8),时隙ID(0 - 3),X坐标(单位厘米),Y坐标(单位厘米),Z坐标(单位厘米),蓝牙MAC地址,定位类型,1维定位基站数,1维定位基站ID队列
+    generateOneBtsData(dwBtsId, dwFreqIndex, dwSlot, dwCoordX, dwCoordY, dwCoordZ, macAddressList, dwLctType, dwTwoBtsNum, adwTwoBtsList) {
         let installBts = {}
         let oneCharHex = ''
         let oneCharHexValue = 0
@@ -281,12 +260,12 @@ Page({
         installBts.dwLayerId = 1
 
         installBts.dwBtsId = dwBtsId
-        installBts.dwFreqIndex = dwFreqIndex
-        installBts.dwSlot = dwSlot
+        installBts.dwFreqIndex = dwFreqIndex - 1
+        installBts.dwSlot = dwSlot - 1
 
         installBts.dwCoordX = dwCoordX
         installBts.dwCoordY = dwCoordY
-        installBts.dwCoordZ = 270
+        installBts.dwCoordZ = dwCoordZ
 
         //定位类型,1:一维定位,2:二维定位,3:既支持一维定位也支持二维定位
         installBts.dwLctType = dwLctType
@@ -298,14 +277,8 @@ Page({
         installBts.adwTwoBtsList = []
         let btsIdList = adwTwoBtsList.split(",")
         let btsId = 0
-
-        // if (btsIdList.length != dwTwoBtsNum) {
-        //     console.log("长度错误")
-        //     return;
-        // }
         for (let k = 0; k < dwTwoBtsNum; k++) {
             btsId = parseInt(btsIdList[k])
-            console.log("基站ID:", btsId)
             installBts.adwTwoBtsList.push(btsId)
         }
 
@@ -325,73 +298,59 @@ Page({
             installBts.adwWifiMac.push(oneCharHexValue)
         }
 
-        console.log(installBts)
         return installBts
     },
-    //TODO,生成蓝牙基站数据
-    generateBleBtsData() {
-        let mac = "123456789ABC"
-        let rssi = -58
-        let item = {}
-        item['mac'] = mac;
-        item['rssi'] = rssi
-
-        let dataList = []
-        dataList.push(item)
+    //计算基站围成的多边形最大最小坐标
+    calMaxMinCoordXY(btsDataList) {
+        let maxTmpX = -10000000
+        let minTmpX = 10000000
+        let maxTmpY = -10000000
+        let minTmpY = 10000000
+        let xTmp = 0
+        let yTmp = 0
 
-        app.data.worker.postMessage({
-            message: 'MAIN_WORKER_BLE_BTS_DATA',
-            code: 100,
-            data: dataList
-        })
-    },
-    //从服务器上下载文件
-    downloadAudioFile() {
-        const url = "https://www.stp.intourism.cn/tdsadmin/line390-zt.wav"
+        let btsNum = btsDataList.length
 
-        wx.downloadFile({
-            url: url,
-            success: (res) => {
-                if (res.statusCode == 200) {
-                    app.data.wavFilePath = res.tempFilePath
-                    this.readAudioFile();
-                }
+        //计算基站围成的多边形坐标最大最小值
+        for (let i = 0; i < btsNum; i++) {
+            xTmp = btsDataList[i].dwCoordX
+            if (xTmp > maxTmpX) {
+                maxTmpX = xTmp
+            }
+            if (xTmp < minTmpX) {
+                minTmpX = xTmp
             }
-        })
-    },
-    // 读取音频文件
-    readAudioFile() {
-        let filePath = app.data.wavFilePath
-
-        if (app.data.readFileTimes == null) {
-            return
-        }
 
-        //90秒数据
-        if (app.data.readFileTimes >= 360) {
-            app.data.readFileTimes = 0
-            return
+            yTmp = btsDataList[i].dwCoordY
+            if (yTmp > maxTmpY) {
+                maxTmpY = yTmp
+            }
+            if (yTmp < minTmpY) {
+                minTmpY = yTmp
+            }
         }
 
-        const times = app.data.readFileTimes
-        const fs = wx.getFileSystemManager();
-        fs.readFile({
-            filePath: `${filePath}`,
-            position: 44 + times * 12000 * 2,
-            length: 12000 * 2,//12000点,每点2个字节
-            success: (res) => {
-                app.data.readFileTimes++
-                app.data.worker.postMessage({
-                    message: 'MAIN_WORKER_AUDIO_DATA',
-                    data: res.data
-                })
-            },
-            fail(res) {
-                console.log(res);
-            }
+        //保存值
+        this.setData({
+            btsMinCoordX: minTmpX,
+            btsMaxCoordX: maxTmpX,
+            btsMinCoordY: minTmpY,
+            btsMaxCoordY: maxTmpY
         })
+
+        //画基站坐标
+        this.drawLocateTrack(1, 0, 0, this.data.coordDataList)
     },
-    drawPosition(type, coordinateX, coordinateY, coordDataList) {
+    //保存定位坐标
+    saveLocateCoord(coord) {
+        //保存定位坐标
+        this.data.coordDataList.push(coord)
+
+        //画定位轨迹
+        this.drawLocateTrack(2, coord.x, coord.y, this.data.coordDataList)
+    },
+    //画定位轨迹,包括网格线、基站坐标、定位轨迹和当前位置
+    drawLocateTrack(type, coordinateX, coordinateY, coordDataList) {
         let i = 0
         let pos = 0
         let space = 10
@@ -418,7 +377,6 @@ Page({
         //// 画网格
         positionCtx.beginPath()
         positionCtx.strokeStyle = '#CCCCCC'
-
         //1、画网格横线
         space = parseFloat(this.data.canvasWidth) / lineCount
         for (i = 0; i < lineCount; i++) {
@@ -426,7 +384,6 @@ Page({
             positionCtx.moveTo(0, pos)
             positionCtx.lineTo(this.data.canvasWidth, pos)
         }
-
         //2、画网格竖线
         space = parseFloat(this.data.canvasHeight) / lineCount
         for (i = 0; i < lineCount; i++) {
@@ -435,27 +392,24 @@ Page({
             positionCtx.lineTo(pos, this.data.canvasHeight)
         }
         positionCtx.stroke()
-
         if (type === 0) { //仅画网格
             return
         }
 
-        // 画基站
+        //// 画基站
         positionCtx.beginPath()
         positionCtx.fillStyle = "#FF0000"
         positionCtx.strokeStyle = '#FF0000'
-        for (i = 0; i < this.data.installBtsList.length; i++) {
-            let x = (this.data.installBtsList[i].dwCoordX - ctxMinX) * radio
-            let y = this.data.canvasHeight - (this.data.installBtsList[i].dwCoordY - ctxMinY) * radio
+        for (i = 0; i < this.data.btsDataList.length; i++) {
+            let x = (this.data.btsDataList[i].dwCoordX - ctxMinX) * radio
+            let y = this.data.canvasHeight - (this.data.btsDataList[i].dwCoordY - ctxMinY) * radio
             positionCtx.fillRect(x - 5, y - 5, 6, 6);
-            // if (masterFreqFrequency === app.store.signal.ubsList[i].device_frequency) {
-            //     positionCtx.fillRect(x - 8, y - 8, 16, 16);
-            // } else {
-            //     positionCtx.fillRect(x - 5, y - 5, 10, 10);
-            // }
+        }
+        if (type === 1) {//仅画基站
+            return
         }
 
-        // 画轨迹线
+        //// 画轨迹线
         positionCtx.lineWidth = 1.2
         positionCtx.beginPath()
         positionCtx.strokeStyle = '#0A0A0A'
@@ -472,7 +426,7 @@ Page({
         }
         positionCtx.stroke()
 
-        // 画当前位置
+        //// 画当前位置
         positionCtx.beginPath()
         positionCtx.fillStyle = "#0000FF"
         positionCtx.strokeStyle = '#0000FF'
@@ -481,13 +435,70 @@ Page({
         positionCtx.arc(x, y, 3, 0, 2 * Math.PI);
         positionCtx.fill()
     },
-    drawLocationTrace(coord) {
-        let x = coord.x
-        let y = coord.y
+    //////////////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////下面是测试接口,已舍弃////////////////////////////
+    //////////////////////////////////////////////////////////////////////////////////
+    //生成蓝牙基站数据
+    generateBleBtsData() {
+        let mac = "123456789ABC"
+        let rssi = -58
+        let item = {}
+        item['mac'] = mac;
+        item['rssi'] = rssi
 
-        //保存定位坐标
-        this.data.coordDataList.push(coord)
+        let dataList = []
+        dataList.push(item)
 
-        this.drawPosition(1, x, y, this.data.coordDataList)
-    }
+        app.data.worker.postMessage({
+            message: 'MAIN_WORKER_BLE_BTS_DATA',
+            code: 100,
+            data: dataList
+        })
+    },
+    //从服务器上下载文件
+    downloadAudioFile() {
+        const url = "https://www.stp.intourism.cn/tdsadmin/line390-zt.wav"
+
+        wx.downloadFile({
+            url: url,
+            success: (res) => {
+                if (res.statusCode == 200) {
+                    app.data.wavFilePath = res.tempFilePath
+                    this.readAudioFile();
+                }
+            }
+        })
+    },
+    // 读取音频文件
+    readAudioFile() {
+        let filePath = app.data.wavFilePath
+
+        if (app.data.readFileTimes == null) {
+            return
+        }
+
+        //90秒数据
+        if (app.data.readFileTimes >= 360) {
+            app.data.readFileTimes = 0
+            return
+        }
+
+        const times = app.data.readFileTimes
+        const fs = wx.getFileSystemManager();
+        fs.readFile({
+            filePath: `${filePath}`,
+            position: 44 + times * 12000 * 2,
+            length: 12000 * 2,//12000点,每点2个字节
+            success: (res) => {
+                app.data.readFileTimes++
+                app.data.worker.postMessage({
+                    message: 'MAIN_WORKER_AUDIO_DATA',
+                    data: res.data
+                })
+            },
+            fail(res) {
+                console.log(res);
+            }
+        })
+    },
 })

+ 2 - 1
project.private.config.json

@@ -2,6 +2,7 @@
   "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
   "projectname": "apls8000wx",
   "setting": {
-    "compileHotReLoad": true
+    "compileHotReLoad": true,
+    "urlCheck": false
   }
 }

+ 12 - 10
sysconfig/sysconfig.js

@@ -7,16 +7,18 @@ let config = {
         version: 'V2.0.00',
         snCode: 'T0T3061F!',
     },
-	domanName:'hzdz',
-	user:{
-		tokenKey:'apls-8000-token',
-		userInfoKey:'apls-8000-user-info-key'
-	},
-	apiWhiteList:["userMobileLogin"],
-	//系统消息
-	sysMsg:[
-		'REC_LOCARION_AUDIO_DATA',//录音模块到定位模块的音频数据
-	]
+    domanName: 'csxm',//二级域名
+    baseURL: 'http://localhost:8080/msapi',//开发接口
+    //baseURL: 'https://www.locaty.com.cn/msapi',//生产接口
+    user: {
+        tokenKey: 'apls-8000-token',
+        userInfoKey: 'apls-8000-user-info-key'
+    },
+    apiWhiteList: ["userMobileLogin"],
+    //系统消息
+    sysMsg: [
+        'REC_LOCARION_AUDIO_DATA',//录音模块到定位模块的音频数据
+    ]
 }
 
 export default config

+ 3 - 1
utils/crypt.js

@@ -1,4 +1,6 @@
-import cryptojs from 'crypto-js'
+//import cryptojs from 'crypto-js'
+const cryptojs = require('crypto-js');
+
 
 var codecutil = {}
 

+ 3 - 7
utils/request.js

@@ -1,14 +1,11 @@
 import sysconfig from '../sysconfig/sysconfig.js'
 import crypt from './crypt.js'
 
-let Fly = require("flyio/dist/npm/wx")//引入fly包
+let Fly = require("flyio")//引入fly包
 let fly = new Fly()
 
-//本地
-fly.config.baseURL = "http://127.0.0.1:8080/msapi"
-
-//远程
-fly.config.baseURL = "http://www.locaty.com.cn/msapi"
+//接口地址
+fly.config.baseURL = sysconfig.baseURL
 
 //请求拦截,config是请求对象
 fly.interceptors.request.use((config) => {
@@ -60,7 +57,6 @@ fly.interceptors.request.use((config) => {
         config.body = {}
         config.body = ciphertext
     }
-
     return config
 }, error => {
     return Promise.reject(error)