diff --git a/common/http.api.js b/common/http.api.js index 7d94df6..b766a42 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -176,7 +176,9 @@ const install = (Vue, vm) => { getStationListByStatus: (params = {}) => vm.$u.post(config.adminPath + "/business/station/findListByStationStatus ", params), getStationPostionData: (params = {}) => - vm.$u.post(config.adminPath + "/business/dynamicConfig/pointListData", params) + vm.$u.post(config.adminPath + "/business/dynamicConfig/pointListData", params), + getStationPostionSn: (params = {}) => + vm.$u.post(config.adminPath + "/business/point/getSN", params) }, //设备 diff --git a/pages/home-page/policy-Config/index.vue b/pages/home-page/policy-Config/index.vue index af27a77..e139087 100644 --- a/pages/home-page/policy-Config/index.vue +++ b/pages/home-page/policy-Config/index.vue @@ -75,15 +75,18 @@ username: 'admin', // 设置用户名 password: 'zzkj@688737' // 设置密码 } - + }; }, + onLoad() { + this.getSn() + }, computed: { lang() { return Langlist.find(v => v.value == this.$store.state.vuex_language).prop || 'en' }, currentStation() { - return this.$store.state.vuex_currentStation; + return this.vuex_currentStation; }, }, @@ -92,8 +95,16 @@ }, methods: { + getSn(){ + this.$u.api.station.getStationPostionSn({ + stationId: this.currentStation.id + }).then(res => { + this.sn = res.data[0]?.sn + }) + }, initmqttClient() { - + console.log(this.lang) + console.log(this.currentStation) // 初始化客户端连接地址 // #ifdef H5 let mqttClient = mqtt.connect('ws://1.95.170.86:8083/mqtt', { @@ -110,10 +121,10 @@ mqttClient.on('connect', function(res) { console.log('连接成功') // 订阅主题 - mqttClient.subscribe(`1/ems/zzkj0002/control/response`, function(err) { + mqttClient.subscribe(`1/ems/${this.sn}/control/response`, (err) => { if (!err) { // 订阅成功 - mqttClient.publish('1/app/zzkj0002/control/request', JSON.stringify({ + mqttClient.publish(`1/app/${this.sn}/control/request`, JSON.stringify({ fun: 'GET', type: 'WJ_Get_NewControlSystem', content: 0 @@ -250,7 +261,7 @@ return pre }, {}) - this.mqttClient.publish(`1/app/zzkj0002/control/request`, JSON.stringify({ + this.mqttClient.publish(`1/app/${this.sn}/control/request`, JSON.stringify({ fun: 'SET', type: 'WJ_Set_NewControlSystem', content: { diff --git a/pages/home-page/policy-management/index.vue b/pages/home-page/policy-management/index.vue index 07d4003..9529653 100644 --- a/pages/home-page/policy-management/index.vue +++ b/pages/home-page/policy-management/index.vue @@ -167,6 +167,7 @@ return this.vuex_language } }, + watch: { currentStation: { handler(val) { @@ -284,6 +285,7 @@ this.userId = this.vuex_user.userId }, methods: { + toDeviceControl() { uni.navigateTo({ diff --git a/store/index.js b/store/index.js index 257deeb..5fe88c0 100644 --- a/store/index.js +++ b/store/index.js @@ -1,4 +1,3 @@ - import config from '@/common/config.js'; import Vue from 'vue' import Vuex from 'vuex' @@ -6,20 +5,22 @@ Vue.use(Vuex) let lifeData = {}; -try{ +try { // 尝试获取本地是否存在lifeData变量,第一次启动APP时是不存在的 lifeData = uni.getStorageSync('lifeData'); -}catch(e){ - +} catch (e) { + } // 需要永久存储,且下次APP启动需要取出的,在state中的变量名 -let saveStateKeys = ['vuex_user', 'vuex_token', 'vuex_remember', 'vuex_locale','vuex_isAgent','vuex_language','vuex_stationValue']; +let saveStateKeys = ['vuex_user', 'vuex_token', 'vuex_remember', 'vuex_locale', 'vuex_isAgent', 'vuex_language', + 'vuex_stationValue' +]; // 保存变量到本地存储中 -const saveLifeData = function(key, value){ +const saveLifeData = function(key, value) { // 判断变量名是否在需要存储的数组中 - if(saveStateKeys.indexOf(key) != -1) { + if (saveStateKeys.indexOf(key) != -1) { // 获取本地存储的lifeData对象,将变量添加到对象中 let tmp = uni.getStorageSync('lifeData'); // 第一次打开APP,不存在lifeData变量,故放一个{}空对象 @@ -49,47 +50,46 @@ const store = new Vuex.Store({ vuex_isAgent: lifeData.vuex_isAgent ? lifeData.vuex_isAgent : '', vuex_iv: lifeData.vuex_iv ? lifeData.vuex_iv : '', vuex_psdkey: lifeData.vuex_psdkey ? lifeData.vuex_psdkey : '', - vuex_StationShow:lifeData.vuex_StationShow ? lifeData.vuex_StationShow : [0,0,0], + vuex_StationShow: lifeData.vuex_StationShow ? lifeData.vuex_StationShow : [0, 0, 0], tabbar_current: 0, - vuex_stationValue:lifeData.vuex_stationValue ? lifeData.vuex_stationValue : '', - vuex_inverterFlag:lifeData.vuex_inverterFlag ? lifeData.vuex_inverterFlag : 0, - tabbarList: [ - { - "icon": "warning", - "text": "告警", - 'name': 'Alarm' - }, - // { - // "icon": "order", - // "text": "设备", - // 'name': 'Device' + vuex_stationValue: lifeData.vuex_stationValue ? lifeData.vuex_stationValue : '', + vuex_inverterFlag: lifeData.vuex_inverterFlag ? lifeData.vuex_inverterFlag : 0, + tabbarList: [{ + "icon": "warning", + "text": "告警", + 'name': 'Alarm' + }, + // { + // "icon": "order", + // "text": "设备", + // 'name': 'Device' - // }, - { - "icon": "moments", - "text": "数据", - 'name': 'Data' - }, - { - "icon": "attach", - "text": "收益", - 'name': 'Earnings' - }, - { - "icon": "attach", - "text": "策略", - 'name': 'Policy' - }, - { - "icon": "account", - "text": "我的", - 'name': 'My' - }, + // }, + { + "icon": "moments", + "text": "数据", + 'name': 'Data' + }, + { + "icon": "attach", + "text": "收益", + 'name': 'Earnings' + }, + { + "icon": "attach", + "text": "策略", + 'name': 'Policy' + }, + { + "icon": "account", + "text": "我的", + 'name': 'My' + }, ], - vuex_language:"en_US", + vuex_language: "en_US", // 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式 vuex_config: config, - vuex_currentComponent:'Data' + vuex_currentComponent: 'Data' }, mutations: { $uStore(state, payload) { @@ -97,9 +97,9 @@ const store = new Vuex.Store({ let nameArr = payload.name.split('.'); let saveKey = ''; let len = nameArr.length; - if(len >= 2) { + if (len >= 2) { let obj = state[nameArr[0]]; - for(let i = 1; i < len - 1; i ++) { + for (let i = 1; i < len - 1; i++) { obj = obj[nameArr[i]]; } obj[nameArr[len - 1]] = payload.value; @@ -115,4 +115,4 @@ const store = new Vuex.Store({ } }) -export default store +export default store \ No newline at end of file