From 895502cbf5d297cdf68d1cd505d3b548eb14f5b4 Mon Sep 17 00:00:00 2001 From: han2015 <1019850453@qq.com> Date: Mon, 26 Jan 2026 08:11:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=91=E7=9B=98=EF=BC=9Asm4=20encrypted=20fo?= =?UTF-8?q?r=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 1 + .env.production | 1 + src/api/date/chatbi.ts | 30 ++++++++++++++- src/api/doc/index.ts | 44 +++++++++++++-------- src/api/doc/space.ts | 64 ++++++++++++++++++++++++------- src/api/doc/type.ts | 10 +++-- src/api/hr/people/share_ctrol.ts | 18 ++++++--- src/store/modules/orgMember.ts | 3 +- src/utils/request.ts | 36 +++++++++-------- src/views/date/device_panel.vue | 2 +- src/views/doc/spacePermission.vue | 5 +-- 11 files changed, 153 insertions(+), 61 deletions(-) diff --git a/.env.development b/.env.development index 7770b1d..ee8f405 100644 --- a/.env.development +++ b/.env.development @@ -15,3 +15,4 @@ VITE_DEFAULT_AI_AGENT = '5bd9b0e9-d3f4-4089-670a-880009e925a8' #流程制度 VITE_REGUL_AI_AGENT = 'e3be1378-3915-4e5c-b526-9f5447df39ea' VITE_APP_SM4_APP_KEY = '04TzMuvkHm_EZnHm' +VITE_AI_API_TOKEN = '7551e976-d154-44a2-7569-204277f5123a' diff --git a/.env.production b/.env.production index e2cf8c6..223118a 100644 --- a/.env.production +++ b/.env.production @@ -11,3 +11,4 @@ VITE_DEFAULT_AI_AGENT = '74938263-ffe5-43c5-90af-25e62d34a51f' #流程制度 VITE_REGUL_AI_AGENT = 'e3be1378-3915-4e5c-b526-9f5447df39ea' VITE_APP_SM4_APP_KEY = '04TzMuvkHm_EZnHm' +VITE_AI_API_TOKEN = '7551e976-d154-44a2-7569-204277f5123a' diff --git a/src/api/date/chatbi.ts b/src/api/date/chatbi.ts index 3d3774e..a4957c8 100644 --- a/src/api/date/chatbi.ts +++ b/src/api/date/chatbi.ts @@ -1,5 +1,5 @@ import request from '@/utils/request'; -import axios from 'axios'; +export const apptoken: string = import.meta.env.VITE_AI_API_TOKEN; /** * 获取设备生命周期系统的设备档案树 */ @@ -7,12 +7,23 @@ export function getDevicesTree() { return request({ url: "/aibot/devices/tree", method: "get", + headers: { + 'App-Api-Token': apptoken + } }); } export function getDevicesMonitors(data:{deviceCode:string,rows:number,page:number}) { - return axios.post( import.meta.env.VITE_APP_BASE_API+"/aibot/devices/ep_monitors",data); + return request({ + url: "/aibot/devices/ep_monitors", + method: 'post', + headers: { + 'App-Api-Token': apptoken + }, + data: data + }); + //return axios.post( import.meta.env.VITE_APP_BASE_API+"/aibot/devices/ep_monitors",data); } // 获取ChatBI列表 @@ -20,6 +31,9 @@ export function getChatBIList() { return request({ url: '/aibot/chatbi/list', method: 'get', + headers: { + 'App-Api-Token': apptoken + }, }); } @@ -28,6 +42,9 @@ export function newChatBI(data: any) { return request({ url: '/aibot/chatbi/new', method: 'post', + headers: { + 'App-Api-Token': apptoken + }, data: data }); } @@ -37,6 +54,9 @@ export function editChatBI(data: any) { return request({ url: '/aibot/chatbi/edit', method: 'post', + headers: { + 'App-Api-Token': apptoken + }, data: data }); } @@ -46,6 +66,9 @@ export function delChatBI(data: any) { return request({ url: '/aibot/chatbi/del', method: 'post', + headers: { + 'App-Api-Token': apptoken + }, data: data }); } @@ -60,6 +83,9 @@ export function askChatBI(data: askChatBIRequest, mode:string) { return request({ url: '/aibot/chatbi/api?mode='+mode, method: 'post', + headers: { + 'App-Api-Token': apptoken + }, data: data }); } \ No newline at end of file diff --git a/src/api/doc/index.ts b/src/api/doc/index.ts index c7badfd..7b1f03c 100644 --- a/src/api/doc/index.ts +++ b/src/api/doc/index.ts @@ -6,7 +6,7 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; -import { matterPage,matterResutList,createDir,createShare,respCreateShare,matterTreeList} from './type'; +import { matterPage,matterResutList,createDir,createShare,respCreateShare,matterTreeList,apptoken} from './type'; /** @@ -18,7 +18,8 @@ export function getShareList( uid:string,data?: matterPage): AxiosPromise { method: 'post', headers: { 'Identifier':uid, - 'Content-Type': 'multipart/form-data' + 'Content-Type': 'multipart/form-data', + 'App-Api-Token': apptoken }, }); } \ No newline at end of file diff --git a/src/api/hr/people/share_ctrol.ts b/src/api/hr/people/share_ctrol.ts index 6733169..08b4c1b 100644 --- a/src/api/hr/people/share_ctrol.ts +++ b/src/api/hr/people/share_ctrol.ts @@ -9,7 +9,7 @@ export interface shareOrgInfo{ status:boolean child :shareOrgInfo[] } - +const apptoken: string = import.meta.env.VITE_AI_API_TOKEN; /** * 搜索条件 */ @@ -67,7 +67,8 @@ export function getPermitedList(uid:string,data:{uuid:string}): AxiosPromise<{pe method: 'post', headers: { 'Identifier':uid, - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', + 'App-Api-Token': apptoken }, data: data }); @@ -86,7 +87,8 @@ export function getSpaceMemberList(uid:string,data:{space?:string,matter:string} method: 'post', headers: { 'Identifier':uid, - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', + 'App-Api-Token': apptoken }, data: data }); @@ -101,7 +103,8 @@ export function addSpaceManager(uid:string,data:{space:string,mangers:string}): method: 'post', headers: { 'Identifier':uid, - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', + 'App-Api-Token': apptoken }, data: data }); @@ -116,6 +119,7 @@ export function updateSpaceMetterPermit(uid:string,data:{space:string,matter:str method: 'post', headers: { 'Identifier':uid, + 'App-Api-Token': apptoken }, data: data }); @@ -130,7 +134,8 @@ export function resetSpaceMatterPermit(uid:string,data:{space:string,matter:stri method: 'post', headers: { 'Identifier':uid, - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', + 'App-Api-Token': apptoken }, data: data }); @@ -145,7 +150,8 @@ export function postPermitedList(uid:string,data?:{permitList:string,permitInfos method: 'post', headers: { 'Identifier':uid, - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', + 'App-Api-Token': apptoken }, data: data }); diff --git a/src/store/modules/orgMember.ts b/src/store/modules/orgMember.ts index 6a5c853..6d2ae18 100644 --- a/src/store/modules/orgMember.ts +++ b/src/store/modules/orgMember.ts @@ -1,7 +1,6 @@ import { defineStore } from 'pinia' import { ref} from 'vue'; import request from "@/utils/request"; -import { id } from 'element-plus/es/locale'; export const useOrgMemberStore = defineStore('orgMember', () => { interface OrgMemberItem { @@ -14,6 +13,7 @@ export const useOrgMemberStore = defineStore('orgMember', () => { const dataTree = ref({ id: '', name: '', child: [] }) async function havueOrgTree() { + if(dataTree.value.child?.length>0) return; await request({ url: "/systemapi/app/get_org_everyone_people",//"172.20 .2.87:39168", @@ -24,6 +24,7 @@ export const useOrgMemberStore = defineStore('orgMember', () => { dataTree.value={id:"313",name:"集团公司",child:response.data} handleChildren(response.data) }); + } function handleChildren(childs:any[]){ diff --git a/src/utils/request.ts b/src/utils/request.ts index 73dc9da..b5ae68f 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -40,24 +40,28 @@ service.interceptors.request.use( if (userStore.userToken) { config.headers["user-token"] = userStore.userToken; } + + - // if (config.headers['content-type'] === 'application/json') { - let { data, headers } = config - //获取16位随机数 - let randomString = generateRandomString(16) - config.headers['Auth-key'] = randomString - if (data) { - // 加密请求数据 - config.data = { - data: sm4EncryptMethod(JSON.stringify(data), randomString) - } + //form 云盘请求不加密, 但是Auth-key还是要传输,接口返回的数据可能需要加密 :by han2015 + if (config.headers['Content-Type'] == 'application/x-www-form-urlencoded'||config.headers['Content-Type'] == 'multipart/form-data' ){ + return config } - console.log('请求拦截---------->', randomString) - console.log('请求拦截----headers------>', headers) - console.log('请求拦截----data------>', config.data) - console.log('请求拦截----config------>', config) - // } + let { data, headers } = config + let randomString = generateRandomString(16) + config.headers['Auth-key'] = randomString + //获取16位随机数 + if (data) { + // 加密请求数据 + config.data = { + data: sm4EncryptMethod(JSON.stringify(data), randomString) + } + } + console.log('请求拦截---------->', randomString) + console.log('请求拦截----headers------>', headers) + console.log('请求拦截----data------>', config.data) + console.log('请求拦截----config------>', config) // console.log('请求拦截----content-type------>', config.headers['Content-Type']) // console.log('请求拦截----config------>', config.headers) return config @@ -82,7 +86,7 @@ service.interceptors.response.use( let jsonData = sm4DecryptMethod(data.data, authKey) response.data.data = JSON.parse(jsonData) } - console.log('行营结果----解密结构------>', headers['auth-key'], response) + console.log('行营结果----解密结构------>', response.data) const { code, msg } = response.data; if (code === 0 || code === 200 || code === 10001) { return response.data; diff --git a/src/views/date/device_panel.vue b/src/views/date/device_panel.vue index 0a624eb..e6ad2ff 100644 --- a/src/views/date/device_panel.vue +++ b/src/views/date/device_panel.vue @@ -44,7 +44,7 @@ const freshPage=(page:number)=>{ }).then(res=>{ checkoptions.value=[] opTotal.value=0 - if(res.status==200){ + if(res.code==200){ opTotal.value=res.data.total res.data.rows?.forEach(row => { checkoptions.value.push({id:row.id,name:row.name,code:row.code}) diff --git a/src/views/doc/spacePermission.vue b/src/views/doc/spacePermission.vue index 9d581b3..568d147 100644 --- a/src/views/doc/spacePermission.vue +++ b/src/views/doc/spacePermission.vue @@ -194,9 +194,9 @@ function refreshSpaceData(){ getSpaceMemberList( btoa(props.uid), {space:props.spaceid,matter:props.uuid} - ).then(resp=>{ + ).then(async (resp)=>{ + await orgMembers.havueOrgTree() resp.data?.dprts?.forEach(item=>{ - orgMembers.havueOrgTree() for(let data of dataSource.value){ if (data.id==item) return; if (checkNode(item,data)) return; @@ -273,7 +273,6 @@ function checkNode(key:string,node:Tree):boolean{ onMounted(()=>{ refreshSpaceData() - orgMembers.havueOrgTree() })