heyang 2 years ago
parent
commit
490494e27f

+ 2 - 2
App.vue

@@ -106,8 +106,8 @@
                     connectTimeout: 5000, // 超时时间
                     reconnectPeriod:5000, // 重连间隔
                     clientId: uni.getStorageSync('token')+'lab/function/data',
-                    username: uni.getStorageSync('mqttUrl'),
-                    password: uni.getStorageSync('mqttUrl'),
+                    username: uni.getStorageSync('mqttUser'),
+                    password: uni.getStorageSync('mqttPassword'),
                 }
                 const connectUrl = uni.getStorageSync('mqttUrl');
                 // this.client = $mqtt.connect('wxs://' + connectUrl, mqttOptions);

+ 3 - 3
api/request/config.js

@@ -2,19 +2,19 @@ const config = {
 	//base_url: 'http://192.168.1.9:8080',//柴
 	// base_url: 'http://192.168.1.7:8080',//刘波
      //base_url: 'http://192.168.1.17:8080',//小飞
-    // base_url: 'http://192.168.1.20:8080',//志伟
+     //base_url: 'http://192.168.1.20:8080',//志伟
     // base_url: 'http://192.168.1.8:8080',//高升
 	// base_url: 'http://192.168.1.29:8080',//何成
     //base_url: 'http://192.168.1.43:9800',//43服务器
 	// base_url: 'https://demo.sxitdlc.com/xzgd/',
 
 	// base_url: 'https://lab.sxitdlc.com/labNhSystem/',//43服务器高升测试
-	// base_url: 'https://lab.sxitdlc.com/labAppTest',//43服务器线上
+	 base_url: 'https://lab.sxitdlc.com/labAppTest',//43服务器线上
     //base_url: 'https://lab.sxitdlc.com/appTest/',//88服务器线上
 	//base_url: 'https://lab.sxitdlc.com/labSystem/', //矿大地址
 	// base_url: 'https://lab.sxitdlc.com/jdlabSystem/', //交大地址
     // base_url: 'https://lab.sxitdlc.com/jndxlabSystem/', //暨大地址
      //  base_url: 'https://lab.sxitdlc.com/kdwclabSystem/', //矿大文昌地址
-       base_url: 'https://lab.sxitdlc.com/sudalabSystem/', //苏大临时地址
+     //  base_url: 'https://lab.sxitdlc.com/sudalabSystem/', //苏大临时地址
 }
 export { config }

+ 2 - 2
pages/emergencyEvacuationBig.vue

@@ -1230,8 +1230,8 @@ export default {
         connectTimeout: 60000, // 超时时间
         reconnectPeriod: 5000, // 重连间隔
         clientId: uni.getStorageSync('token') + 'lab/function/data',
-        username: uni.getStorageSync('mqttUrl'),
-        password: uni.getStorageSync('mqttUrl'),
+        username: uni.getStorageSync('mqttUser'),
+        password: uni.getStorageSync('mqttPassword'),
       }
       const connectUrl = uni.getStorageSync('mqttUrl');
       self.floorClient = $mqtt.connect('wxs://' + connectUrl, mqttOptions);

+ 2 - 2
pages/emergencyEvacuationBigFullScreen.vue

@@ -383,8 +383,8 @@
 					connectTimeout: 600000, // 超时时间
 					reconnectPeriod: 5000, // 重连间隔
 					clientId: uni.getStorageSync('token') + 'lab/function/data',
-					username: uni.getStorageSync('mqttUrl'),
-					password: uni.getStorageSync('mqttUrl'),
+          username: uni.getStorageSync('mqttUser'),
+          password: uni.getStorageSync('mqttPassword'),
 				}
 				const connectUrl = uni.getStorageSync('mqttUrl');
 				this.floorClient = $mqtt.connect('wxs://' + connectUrl, mqttOptions);

+ 4 - 3
pages/login.vue

@@ -36,6 +36,7 @@
 <script>
 import { config } from '@/api/request/config.js'
 import { login,getLogoInfo,getDemoInfoList,getOpenId,getUrlConfig} from '@/api/index.js'
+import { Encrypt,Decrypt} from '@/utils/secret.js'
 export default {
   data() {
     return {
@@ -107,11 +108,11 @@ export default {
 	      //摄像头访问地址
 	      uni.setStorageSync('cameraUrl','https://'+data.data.cameraExtranetUrl)
 	      //MQTT地址
-	      uni.setStorageSync('mqttUrl',data.data.mqttExtranetUrl)
+	      uni.setStorageSync('mqttUrl',Decrypt(data.data.mqttExtranetUrl))
 	      //MQTT账号
-	      uni.setStorageSync('mqttUser',data.data.mqttExtranetUser)
+	      uni.setStorageSync('mqttUser',Decrypt(data.data.mqttExtranetUser))
 	      //MQTT密码
-	      uni.setStorageSync('mqttPassword',data.data.mqttExtranetPassword)
+	      uni.setStorageSync('mqttPassword',Decrypt(data.data.mqttExtranetPassword))
 
 	  }
 	},

+ 3 - 2
pages_manage/workbench/plan/planInfo.vue

@@ -39,9 +39,10 @@
             <view class="flex-box-two" v-for="(item,index) in itemData.hardwareOpreteActList" :key="index">
                 <view class="top-text-box">
                     <view>{{item.hardWareName}}</view>
-                    <view :class="item.opreteFlag?'flex-box-colorC':'flex-box-colorA'">{{item.opreteFlag?'执行成功':'执行失败'}}</view>
+                    <view v-if="item.hardWareName!='一键灭火'" :class="item.opreteFlag?'flex-box-colorC':'flex-box-colorA'">{{item.opreteFlag?'执行成功':'执行失败'}}</view>
+                    <view v-if="item.hardWareName=='一键灭火'" :class="item.opreteFlag?'flex-box-colorC':'flex-box-colorA'">{{item.opreteFlag?'自动执行':'手动执行'}}</view>
                 </view>
-                <view v-if="item.opreteFlag" class="bottom-text-box">{{item.hardWareOpreteAct}}</view>
+                <view v-if="item.opreteFlag && item.hardWareName!='一键灭火'" class="bottom-text-box">{{item.hardWareOpreteAct}}</view>
             </view>
             <view class="flex-box-two" v-for="(item,index) in itemData.voiceOpreteActList" :key="index">
                 <view class="top-text-box">

File diff suppressed because it is too large
+ 6191 - 0
utils/crypto-js.js


+ 46 - 0
utils/secret.js

@@ -0,0 +1,46 @@
+//引入crypto-js
+//const CryptoJS = require('crypto-js');
+import CryptoJS from '@/utils/crypto-js.js';	
+//十六位十六进制数作为密钥(秘钥为随机生成,必须与后端保持一致!)
+const key = CryptoJS.enc.Utf8.parse("J4ny0Ja678Y7P2so");
+//十六位十六进制数作为密钥偏移量(秘钥为随机生成,必须与后端保持一致!)
+const iv = CryptoJS.enc.Utf8.parse('pTNorfvZW2UZJbd0');
+
+//解密方法
+function Decrypt(word) {
+  // 先将 Base64 还原一下, 因为加密的时候做了一些字符的替换
+  const restoreBase64 = word.replace(/\-/g,'+').replace(/_/g,'/');
+  // 这里 mode, padding, iv 一定要跟加密的时候完全一样
+  // 返回的是一个解密后的对象
+  let decrypt = CryptoJS.AES.decrypt(restoreBase64, key, {
+    iv: iv,
+    mode: CryptoJS.mode.CBC,
+    padding: CryptoJS.pad.Pkcs7
+  });
+  // 将解密对象转换成 UTF8 的字符串
+  let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
+  // 返回解密结果
+  return decryptedStr.toString();
+}
+
+//加密方法
+function Encrypt(word) {
+  let srcs = CryptoJS.enc.Utf8.parse(word);
+  /**
+   * CipherOption, 加密的一些选项:
+   *   mode: 加密模式, 可取值(CBC, CFB, CTR, CTRGladman, OFB, ECB), 都在 CryptoJS.mode 对象下
+   *   padding: 填充方式, 可取值(Pkcs7, AnsiX923, Iso10126, Iso97971, ZeroPadding, NoPadding), 都在 CryptoJS.pad 对象下
+   *   iv: 偏移量, mode === ECB 时, 不需要 iv
+   * 	返回的是一个加密对象
+   */
+  let encrypted = CryptoJS.AES.encrypt(srcs, key,
+    {
+      iv: iv,
+      mode: CryptoJS.mode.CBC,
+      padding: CryptoJS.pad.Pkcs7
+    });
+  //将结果进行base64加密
+  return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
+}
+
+export {Decrypt , Encrypt}