import { request } from "@/utils/requestGd/index.js" import website from '@/config/website' import { getEnvObj } from '@/utils/index.js' import { useUserStore } from '@/store/index.js' import { Base64 } from 'js-base64' // 工单用户登录接口 export const ticketLoginInterfaceApi = (tenantId, deptId, roleId, username, password, type, key, code) => { return request({ url: '/blade-auth/oauth/token', method: 'post', header: { 'Tenant-Id': tenantId, 'Dept-Id': website.switchMode ? deptId : '', 'Role-Id': website.switchMode ? roleId : '', 'Captcha-Key': key, 'Captcha-Code': code, }, params: { tenantId, username, password, grant_type: 'password', scope: 'all', type, }, }) } // 获取工单列表 export const getGdList = data => { return request({ url: '/drone-gd/workOrder/gdClueEvent/list', method: 'get', data, }); }; // 获取详情 export const getGddetailedData = data => { return request({ url: '/drone-gd/workOrder/gdClueEvent/detail', method: 'get', data, }); }; // 获取数量 export const getstatusCount = (params) => { return request({ url: '/drone-gd/workOrder/gdClueEvent/count', method: 'get', params, }) } // 退回工单 export const backGdApi = (data) => { return request({ url: '/drone-gd/workOrder/gdClueEvent/handle', method: 'post', data, }) } // 分享缓存数据 export const shareCacheApi = (data) => { return request({ url: '/drone-gd/workOrder/gdPatrolTask/share-cache-data', method: 'post', data, }) } // 新增处置记录 export const addDisposeRecord = data => { return request({ url: '/drone-gd/workOrder/gdClueEvent/addDisposeRecord', method: 'post', data, }) } // 更新状态 export const updateStatus = data => { return request({ url: '/drone-gd/workOrder/gdClueEvent/updateStatus', method: 'post', data, }) } // 获取处置记录列表 export const getDisposeRecords = params => { return request({ url: '/drone-gd/workOrder/gdClueEvent/disposeRecords', method: 'get', params, }) } // 上传文件 export const uploadFileAPI = filePath => { let baseURL = getEnvObj().VITE_API_BASE_URL_GD // #ifdef H5 if (import.meta.env.VITE_APP_PROXY === 'true') { baseURL = import.meta.env.VITE_API_PREFIX_GD } // #endif const userInfo = useUserStore()?.$state?.userInfo || {} const accessToken = userInfo.gd_access_token const areaCode = userInfo.detail?.areaCode const header = { 'Blade-Requested-With': 'BladeHttpRequest', Authorization: `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`, } if (accessToken) header['Blade-Auth'] = `bearer ${accessToken}` if (areaCode) header.areaCode = areaCode return new Promise((resolve, reject) => { uni.uploadFile({ url: `${baseURL.replace(/\/$/, '')}/blade-resource/oss/endpoint/put-file`, filePath, name: 'file', header, success: response => { try { const responseData = typeof response.data === 'string' ? JSON.parse(response.data) : response.data const status = Number(responseData?.error_code ?? responseData?.code ?? response.statusCode) if (![0, 200].includes(status)) { reject(responseData) return } resolve(responseData) } catch (error) { reject(error) } }, fail: reject, }) }) }