Selaa lähdekoodia

修复跳转前端插件时候token获取报错的问题

yanglzh 2 vuotta sitten
vanhempi
sitoutus
d04c646b3b

+ 3 - 1
src/api/device/index.ts

@@ -15,7 +15,9 @@ export default {
     trunsport_protocol_list: (params: object) => get('/product/protocol/trunsport_protocol_list', params),
     getDataType: (params: object) => get('/product/tsl/data_type', params),
     deploy: (data: object) => post('/product/deploy', data),
-    undeploy: (data: object) => post('/product/undeploy', data),  },
+    undeploy: (data: object) => post('/product/undeploy', data),
+    event: (data: object) => post('/product/tsl/event/all', data),
+  },
   category:{
     getList: (params: object) => get('/product/category/list', params),
     add: (data: object) => post('/product/category/add', data),

+ 1 - 1
src/components/upload-wrapper/index.vue

@@ -15,7 +15,7 @@ import getOrigin from '/@/utils/origin'
 const uploadUrl: string = getOrigin(import.meta.env.VITE_API_URL + '/common/singleImg');
 
 const headers = {
-  Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+  Authorization: 'Bearer ' + localStorage.token,
 };
 
 const emit = defineEmits(['setImg', 'setImgs']);

+ 1 - 1
src/components/upload/button.vue

@@ -23,7 +23,7 @@ import type { UploadProps } from 'element-plus';
 import getOrigin from '/@/utils/origin';
 
 const headers = {
-	Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+	Authorization: 'Bearer ' + localStorage.token,
 };
 
 const emit = defineEmits(['update']);

+ 1 - 1
src/components/upload/index.vue

@@ -34,7 +34,7 @@ import getOrigin from '/@/utils/origin'
 const uploadUrl: string = getOrigin(import.meta.env.VITE_API_URL + '/common/singleImg');
 
 const headers = {
-	Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+	Authorization: 'Bearer ' + localStorage.token,
 };
 
 const emit = defineEmits(['setImg', 'setImgs']);

+ 1 - 1
src/components/upload/uploadFile.vue

@@ -23,7 +23,7 @@ import type { UploadProps } from 'element-plus';
 import getOrigin from '/@/utils/origin';
 
 const headers = {
-	Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+	Authorization: 'Bearer ' + localStorage.token,
 };
 
 const emit = defineEmits(['update']);

+ 6 - 0
src/views/iot/alarm/setting/component/edit.vue

@@ -36,6 +36,12 @@
 					</el-radio-group>
 				</el-form-item>
 
+				<el-form-item label="选择事件" prop="triggerType" v-if="ruleForm.productKey">
+					<el-radio-group v-model="ruleForm.triggerType" @change="getRadio()">
+						<el-radio :label="item.type" v-for="item in typeData">{{ item.title }}</el-radio>
+					</el-radio-group>
+				</el-form-item>
+
 				<el-divider content-position="left">触发条件</el-divider>
 				<div class="box-content">
 					<div v-for="(item, index) in requestParams" :key="index">

+ 1 - 1
src/views/iot/configuration/screen/edit.vue

@@ -27,7 +27,7 @@ import { ElMessage } from 'element-plus';
 const emit = defineEmits(['getList']);
 
 const headers = {
-	Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+	Authorization: 'Bearer ' + localStorage.token,
 };
 const flowsUrl = window.location.origin + '/rule-engine/flow';
 // const flowsUrl = 'http://zhgy.sagoo.cn/rule-engine/flow';

+ 24 - 8
src/views/iot/device/instance/component/function.vue

@@ -17,7 +17,7 @@
 					<el-input type="textarea" :value="item.result" class="result"> </el-input>
 				</div>
 				<div class="btn">
-					<el-button type="primary" @click="run(item)">执行</el-button>
+					<el-button type="primary" :loading="item.loading" @click="run(item)">执行</el-button>
 					<el-button @click="clear(item)">清空</el-button>
 				</div>
 			</el-tab-pane>
@@ -27,7 +27,7 @@
 
 <script setup lang="ts">
 import { ref } from 'vue'
-import { ElMessage } from 'element-plus';
+import { ElMessage } from 'element-plus'
 import api from '/@/api/device'
 
 const props = defineProps({
@@ -39,6 +39,7 @@ interface IListItem {
 	name: string
 	inputs: any[]
 	result: string
+	loading: boolean
 }
 
 const list = ref<IListItem[]>([])
@@ -49,15 +50,30 @@ api.tabDeviceFucntion.getList({ key: props.funKey }).then((res: IListItem[]) =>
 })
 
 function run(row: IListItem) {
-  const notValid = row.inputs.some(item => !item.value)
-  if(notValid) return ElMessage.info('请输入完整参数')
-  row.result = JSON.stringify(row, null, 2)
- }
+	row.result = ''
 
-function clear(row: IListItem) {
-  row.result = ''
+	const notValid = row.inputs.some((item) => !item.value)
+	if (notValid) return ElMessage.info('请输入完整参数')
+
+	row.loading = true
+	const params: any = {}
+	row.inputs.forEach(({ key, value }) => (params[key] = value))
+	api.tabDeviceFucntion
+		.do({
+			deviceKey: props.funKey,
+			funcKey: row.key,
+			params,
+		})
+		.then((res: any) => {
+			// console.log(res)
+			row.result = JSON.stringify(res, null, 2)
+		})
+		.finally(() => (row.loading = false))
 }
 
+function clear(row: IListItem) {
+	row.result = ''
+}
 </script>
 
 <style scoped lang="scss">

+ 1 - 1
src/views/iot/rule-engine/edit.vue

@@ -41,7 +41,7 @@ const props = defineProps({
 });
 
 const headers = {
-	Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+	Authorization: 'Bearer ' + localStorage.token,
 };
 const flowsUrl = window.location.origin + '/rule-engine/flow';
 // const flowsUrl = 'http://zhgy.sagoo.cn/rule-engine/flow';

+ 1 - 1
src/views/iot/rule-engine/index.vue

@@ -57,7 +57,7 @@ const editFormRef = ref();
 const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { types: 0 });
 
 const headers = {
-	Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+	Authorization: 'Bearer ' + localStorage.token,
 };
 
 const flowsUrl = window.location.origin + '/rule-engine/flows';

+ 1 - 1
src/views/iot/rule-engine/send.vue

@@ -57,7 +57,7 @@ const editFormRef = ref();
 const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { types: 1 });
 
 const headers = {
-  Authorization: 'Bearer ' + JSON.parse(sessionStorage.token),
+  Authorization: 'Bearer ' + localStorage.token,
 };
 const flowsUrl = window.location.origin + '/rule-engine/flows';