From 9344d08f1f68997035904181df1199fcd7c7da9f Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 21 十二月 2023 11:35:53 +0800 Subject: [PATCH] 1.完成下载环信码功能 --- src/api/fytz/userApi.js | 10 +- src/api/fytz/creditApi.js | 6 + package-lock.json | 11 +++ src/components.d.ts | 2 src/api/fysp/problemApi.js | 2 src/api/fytz/noticeApi.js | 28 +++++---- src/views/fytz/user/UserInfo.vue | 40 ++++++++++--- src/api/fysp/userApi.js | 8 +- src/api/fysp/evaluateApi.js | 5 - src/api/index.js | 6 +- src/api/fysp/sceneApi.js | 24 ++++--- src/api/fysp/taskApi.js | 28 +++++---- package.json | 1 13 files changed, 109 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index 89fa2d3..9eb228d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "axios": "^1.2.1", "dayjs": "^1.11.10", "element-plus": "^2.4.3", + "js-base64": "^3.7.5", "pinia": "^2.0.26", "vue": "^3.2.45", "vue-i18n": "^9.8.0", @@ -5043,6 +5044,11 @@ "@sideway/formula": "^3.0.0", "@sideway/pinpoint": "^2.0.0" } + }, + "node_modules/js-base64": { + "version": "3.7.5", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz", + "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" }, "node_modules/js-sdsl": { "version": "4.2.0", @@ -10834,6 +10840,11 @@ "@sideway/pinpoint": "^2.0.0" } }, + "js-base64": { + "version": "3.7.5", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz", + "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" + }, "js-sdsl": { "version": "4.2.0", "dev": true diff --git a/package.json b/package.json index 0129d3b..fca809c 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "axios": "^1.2.1", "dayjs": "^1.11.10", "element-plus": "^2.4.3", + "js-base64": "^3.7.5", "pinia": "^2.0.26", "vue": "^3.2.45", "vue-i18n": "^9.8.0", diff --git a/src/api/fysp/evaluateApi.js b/src/api/fysp/evaluateApi.js index 7e61e1f..6e752a6 100644 --- a/src/api/fysp/evaluateApi.js +++ b/src/api/fysp/evaluateApi.js @@ -1,11 +1,10 @@ import { $fysp } from '../index'; export default { - /** * 鑾峰彇鑷姩璇勪及鍘嗗彶璁板綍 */ - fetchAutoEvaluation(param){ - return $fysp.post(`evaluation/auto/record`, param); + fetchAutoEvaluation(param) { + return $fysp.post(`evaluation/auto/record`, param).then((res) => res.data); } }; diff --git a/src/api/fysp/problemApi.js b/src/api/fysp/problemApi.js index ce2ba9b..5bb2b72 100644 --- a/src/api/fysp/problemApi.js +++ b/src/api/fysp/problemApi.js @@ -10,6 +10,6 @@ */ checkProblem({ pId, action, remark = '', userId = id, userName = name }) { const params = `?pId=${pId}&action=${action}&remark=${remark}&userId=${userId}&userName=${userName}`; - return $fysp.post(`problemlist/check${params}`); + return $fysp.post(`problemlist/check${params}`).then((res) => res.data); }, }; diff --git a/src/api/fysp/sceneApi.js b/src/api/fysp/sceneApi.js index be95402..9f38b93 100644 --- a/src/api/fysp/sceneApi.js +++ b/src/api/fysp/sceneApi.js @@ -7,7 +7,7 @@ */ searchScene(area, page = 1, perPage = 20) { const params = `page=${page}&per_page=${perPage}`; - return $fysp.post(`scense/find?${params}`, area); + return $fysp.post(`scense/find?${params}`, area).then((res) => res.data); }, /** @@ -16,11 +16,13 @@ * @returns 鍦烘櫙璇︽儏 */ getSceneDetail(sId) { - return $fysp.get(`scense/detail`, { - params: { - sceneId: sId - } - }); + return $fysp + .get(`scense/detail`, { + params: { + sceneId: sId + } + }) + .then((res) => res.data); }, /** @@ -33,21 +35,21 @@ subScene: subScene ? JSON.stringify(subScene) : null, sceneDevice: sceneDevice ? sceneDevice : null }; - return $fysp.post(`scense/detail/update?${params}`, rb); + return $fysp.post(`scense/detail/update?${params}`, rb).then((res) => res.data); }, /** * 鏇存柊鍦烘櫙棰濆淇℃伅 */ updateSubScene(typeId, subScene) { - return this.updateSceneDetail(typeId, { subScene: subScene }); + return this.updateSceneDetail(typeId, { subScene: subScene }).then((res) => res.data); }, /** * 鏇存柊鍦烘櫙璁惧淇℃伅 */ updateSceneDevice(typeId, sceneDevice) { - return this.updateSceneDetail(typeId, { sceneDevice: sceneDevice }); + return this.updateSceneDetail(typeId, { sceneDevice: sceneDevice }).then((res) => res.data); }, /** @@ -55,7 +57,7 @@ * @param {Object} scene */ createScene(scene) { - return $fysp.put('scense', scene); + return $fysp.put('scense', scene).then((res) => res.data); }, /** @@ -63,6 +65,6 @@ * @param {Object} scene */ updateScene(scene) { - return $fysp.post('scense', scene); + return $fysp.post('scense', scene).then((res) => res.data); } }; diff --git a/src/api/fysp/taskApi.js b/src/api/fysp/taskApi.js index 1d6a3d8..35096d7 100644 --- a/src/api/fysp/taskApi.js +++ b/src/api/fysp/taskApi.js @@ -5,29 +5,33 @@ * 鑾峰彇椤跺眰浠诲姟 */ getTopTask() { - return $fysp.get('task/alltask/0'); + return $fysp.get('task/alltask/0').then((res) => res.data); }, /** * 鑾峰彇瀛愪换鍔$粺璁′俊鎭� */ getSubtaskSummary({ topTaskId = undefined, sceneTypeId = undefined }) { - return $fysp.get('subtask/summary', { - params: { - topTaskId: topTaskId, - sceneTypeId: sceneTypeId - } - }); + return $fysp + .get('subtask/summary', { + params: { + topTaskId: topTaskId, + sceneTypeId: sceneTypeId + } + }) + .then((res) => res.data); }, /** * 鑾峰彇瀛愪换鍔¢棶棰樿鎯� */ getProBySubtask(id) { - return $fysp.get('problemlist/subtask', { - params: { - stGuid: id - } - }); + return $fysp + .get('problemlist/subtask', { + params: { + stGuid: id + } + }) + .then((res) => res.data); } }; diff --git a/src/api/fysp/userApi.js b/src/api/fysp/userApi.js index 758b4c2..389bf87 100644 --- a/src/api/fysp/userApi.js +++ b/src/api/fysp/userApi.js @@ -5,27 +5,27 @@ * 鑾峰彇鐢ㄦ埛璇︽儏 */ getUserById(id) { - return $fysp.get(`userinfo/${id}`); + return $fysp.get(`userinfo/${id}`).then((res) => res.data); }, /** * 鏇存柊鐢ㄦ埛璇︽儏 */ updateUser(user) { - return $fysp.post(`userinfo`, user); + return $fysp.post(`userinfo`, user).then((res) => res.data); }, /** * 鑾峰彇鍦烘櫙鐨勭敤鎴疯鎯� */ getUserByScene(sId) { - return $fysp.get(`userinfo/scene/get?sceneId=${sId}`); + return $fysp.get(`userinfo/scene/get?sceneId=${sId}`).then((res) => res.data); }, /** * 鑷姩鍒涘缓璐︽埛 */ autoCreateAccount(sId) { - return $fysp.post(`userinfo/create?sceneId=${sId}`); + return $fysp.post(`userinfo/create?sceneId=${sId}`).then((res) => res.data); } }; diff --git a/src/api/fytz/creditApi.js b/src/api/fytz/creditApi.js index 589bbe8..6c0dec0 100644 --- a/src/api/fytz/creditApi.js +++ b/src/api/fytz/creditApi.js @@ -1,3 +1,4 @@ +import { Base64 } from 'js-base64'; import { $fytz } from '../index'; /** @@ -12,10 +13,11 @@ return $fytz .get(`credit/ecCode/download?userId=${userId}`, { responseType: 'blob' }) .then((res) => { - const url = window.URL.createObjectURL(new Blob([res.data])); + const name = Base64.decode(res.headers.get('fileName')); + const url = window.URL.createObjectURL(res.data); const link = document.createElement('a'); link.href = url; - link.setAttribute('download', 'creditCode.png'); + link.setAttribute('download', name); document.body.appendChild(link); link.click(); document.body.removeChild(link); diff --git a/src/api/fytz/noticeApi.js b/src/api/fytz/noticeApi.js index 1a341d7..af6bd85 100644 --- a/src/api/fytz/noticeApi.js +++ b/src/api/fytz/noticeApi.js @@ -9,23 +9,27 @@ */ getNoticeHistory({ type, subtype = null, page = 1, perPage = 20 }) { const params = `userId=${id}&page=${page}&per_page=${perPage}`; - return $fytz.post(`notifications/history?${params}`, { - ecNoticetype: type, - ecNoticesubtype: subtype - }); + return $fytz + .post(`notifications/history?${params}`, { + ecNoticetype: type, + ecNoticesubtype: subtype + }) + .then((res) => res.data); }, /** * 鑾峰彇鐢ㄦ埛鏈閫氱煡 */ getNotification() { - return $fytz.get('notifications', { - params: { - userId: id, - page: 1, - per_page: 30 - } - }); + return $fytz + .get('notifications', { + params: { + userId: id, + page: 1, + per_page: 30 + } + }) + .then((res) => res.data); }, /** @@ -62,6 +66,6 @@ releaseNotice(notice) { notice.authorId = id; notice.authorName = name; - return $fytz.post(`notifications/${id}/release2`, notice); + return $fytz.post(`notifications/${id}/release2`, notice).then((res) => res.data); } }; diff --git a/src/api/fytz/userApi.js b/src/api/fytz/userApi.js index 8a252c0..dd9b9fa 100644 --- a/src/api/fytz/userApi.js +++ b/src/api/fytz/userApi.js @@ -11,7 +11,7 @@ */ fetchUser(page = 1, per_page = 20, data) { const params = `page=${page}&per_page=${per_page}`; - return $fytz.post(`baseInfo/search/?${params}`, data); + return $fytz.post(`baseInfo/search/?${params}`, data).then((res) => res.data); }, /** @@ -20,7 +20,7 @@ * @returns */ fetchUserBaseInfo(userId) { - return $fytz.get(`userInfo/baseInfo?userId=${userId}`); + return $fytz.get(`userInfo/baseInfo?userId=${userId}`).then((res) => res.data); }, /** @@ -29,7 +29,7 @@ * @returns */ updateUserInfo(data) { - return $fytz.post('userInfo', data); + return $fytz.post('userInfo', data).then((res) => res.data); }, /** @@ -38,13 +38,13 @@ * @returns */ createUser(data) { - return $fytz.put('userInfo/create', data); + return $fytz.put('userInfo/create', data).then((res) => res.data); }, /** * 閲嶇疆鐢ㄦ埛瀵嗙爜 */ resetPassword(id) { - return $fytz.post(`userInfo/resetPw?userId=${id}`); + return $fytz.post(`userInfo/resetPw?userId=${id}`).then((res) => res.data); } }; diff --git a/src/api/index.js b/src/api/index.js index 7b15cd6..45f5a4f 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,7 +1,7 @@ import axios from 'axios'; import { ElMessage } from 'element-plus'; -const debug = true; +const debug = false; let ip1 = 'http://47.100.191.150:9005/'; let ip1_file = 'http://47.100.191.150:9005/'; @@ -67,7 +67,7 @@ if (response.status == 200) { if (response.data.success != undefined && response.data.success != null) { if (response.data.success == true) { - return response.data; + return response; } else { ElMessage({ message: response.data.message, @@ -76,7 +76,7 @@ return Promise.reject(response.data.message); } } else { - return response.data; + return response; } } else { return Promise.reject(response); diff --git a/src/components.d.ts b/src/components.d.ts index 99f1394..c260238 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -17,6 +17,7 @@ ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem'] ElButton: typeof import('element-plus/es')['ElButton'] + ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] ElCard: typeof import('element-plus/es')['ElCard'] ElCascader: typeof import('element-plus/es')['ElCascader'] ElCol: typeof import('element-plus/es')['ElCol'] @@ -59,6 +60,7 @@ ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] ElTag: typeof import('element-plus/es')['ElTag'] + ElText: typeof import('element-plus/es')['ElText'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTree: typeof import('element-plus/es')['ElTree'] Footer: typeof import('./components/core/Footer.vue')['default'] diff --git a/src/views/fytz/user/UserInfo.vue b/src/views/fytz/user/UserInfo.vue index 3269798..72b8dd9 100644 --- a/src/views/fytz/user/UserInfo.vue +++ b/src/views/fytz/user/UserInfo.vue @@ -58,9 +58,6 @@ </template> <template #default="{ row }"> <el-space> - <!-- <el-button :loading="row.loading1" type="primary" size="small" @click="editRow(row)" - >鏌ョ湅</el-button - > --> <el-button :loading="row.loading2" :type="row.userInfo.isenable != '0' ? 'danger' : 'primary'" @@ -68,7 +65,27 @@ @click="itemActive(row)" >{{ row.userInfo.isenable != '0' ? '涓嬬嚎' : '涓婄嚎' }}</el-button > - <el-dropdown + <el-button-group> + <el-button type="primary" :loading="row.loading1" size="small" @click="editRow(row)" + >鏌ョ湅</el-button + > + <el-dropdown @command="handleCommand" trigger="click"> + <el-button + type="primary" + :loading="row.downloadLoading" + size="small" + :icon="row.downloadLoading ? '' : 'ArrowDown'" + ></el-button> + <template #dropdown> + <el-dropdown-menu> + <el-dropdown-item icon="Download" :command="{ c: 1, p: row }" + >涓嬭浇鐜俊鐮�</el-dropdown-item + > + </el-dropdown-menu> + </template> + </el-dropdown> + </el-button-group> + <!-- <el-dropdown split-button :loading="row.loading1" size="small" @@ -85,7 +102,7 @@ > </el-dropdown-menu> </template> - </el-dropdown> + </el-dropdown> --> </el-space> </template> </el-table-column> @@ -108,12 +125,14 @@ }, data() { return { + // 鏌ヨ鏉′欢 formSearch: { _locations: {}, searchText: '', scensetype: {}, online: {} }, + // 鏂板鐢ㄦ埛寮瑰嚭妗� drawer: false }; }, @@ -188,14 +207,17 @@ tableRowClassName({ row }) { return row.userInfo.isenable ? 'online-row' : 'offline-row'; }, - handleCommand(e){ - const userId = e.p.userInfo.guid + handleCommand(e) { + const userId = e.p.userInfo.guid; switch (e.c) { // 涓嬭浇鐜俊鐮� case 1: - creditApi.downloadCode(userId) + e.p.downloadLoading = true; + creditApi.downloadCode(userId).finally(() => { + e.p.downloadLoading = false; + }); break; - + default: break; } -- Gitblit v1.9.3