From 6b1e2ab67c5fb79146cbd78001c3d6ec050bcfeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=AE=8F=E6=9D=B0?= <1943105267@qq.com> Date: Tue, 28 Nov 2023 13:13:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 3 +- .env.production | 2 +- src/api/netEwm/net.js | 53 +++-- src/api/netEwm/netHistory.js | 53 +++-- src/api/netEwm/poster.js | 18 ++ src/api/netEwm/posterHistory.js | 53 +++-- src/api/netEwm/shanghu.js | 53 +++-- src/utils/request.js | 250 ++++++++++++++--------- src/views/netEwm/MyShanghu/index.vue | 2 + src/views/netEwm/netHistory/index.vue | 11 +- src/views/netEwm/posterHistory/index.vue | 21 +- src/views/register.vue | 4 + 12 files changed, 337 insertions(+), 186 deletions(-) diff --git a/.env.development b/.env.development index 5c922c4..72744b6 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,8 @@ VUE_APP_TITLE = 扫码连网 ENV = 'development' # 扫码连网/开发环境 -VUE_APP_BASE_API = 'http://localhost:8080' +# VUE_APP_BASE_API = 'http://localhost:8080' +VUE_APP_BASE_API = 'https://39.101.188.84:9038' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.production b/.env.production index 97f0f76..1242f7f 100644 --- a/.env.production +++ b/.env.production @@ -5,4 +5,4 @@ VUE_APP_TITLE = 扫码连网 ENV = 'production' # 扫码连网/生产环境 -VUE_APP_BASE_API = '/prod-api' +VUE_APP_BASE_API = 'http://39.101.188.84:9038' diff --git a/src/api/netEwm/net.js b/src/api/netEwm/net.js index 3f0a92d..b5c6555 100644 --- a/src/api/netEwm/net.js +++ b/src/api/netEwm/net.js @@ -1,44 +1,59 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询网络列表 export function listNet(query) { return request({ - url: '/netEwm/net/list', - method: 'get', - params: query - }) + url: "/netEwm/net/list", + method: "get", + params: query, + headers: { + isToken: false, + }, + }); } // 查询网络详细 export function getNet(id) { return request({ - url: '/netEwm/net/' + id, - method: 'get' - }) + url: "/netEwm/net/" + id, + method: "get", + headers: { + isToken: false, + }, + }); } // 新增网络 export function addNet(data) { return request({ - url: '/netEwm/net', - method: 'post', - data: data - }) + url: "/netEwm/net", + method: "post", + data: data, + headers: { + isToken: false, + }, + }); } // 修改网络 export function updateNet(data) { return request({ - url: '/netEwm/net', - method: 'put', - data: data - }) + url: "/netEwm/net", + method: "put", + data: data, + headers: { + isToken: false, + }, + }); } // 删除网络 export function delNet(id) { return request({ - url: '/netEwm/net/' + id, - method: 'delete' - }) + url: "/netEwm/net/" + id, + method: "delete", + headers: { + isToken: false, + }, + }); } diff --git a/src/api/netEwm/netHistory.js b/src/api/netEwm/netHistory.js index d2c980d..ed61ee9 100644 --- a/src/api/netEwm/netHistory.js +++ b/src/api/netEwm/netHistory.js @@ -1,44 +1,59 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询连网历史列表 export function listNetHistory(query) { return request({ - url: '/netEwm/netHistory/list', - method: 'get', - params: query - }) + url: "/netEwm/netHistory/list", + method: "get", + params: query, + headers: { + isToken: false, + }, + }); } // 查询连网历史详细 export function getNetHistory(id) { return request({ - url: '/netEwm/netHistory/' + id, - method: 'get' - }) + url: "/netEwm/netHistory/" + id, + method: "get", + headers: { + isToken: false, + }, + }); } // 新增连网历史 export function addNetHistory(data) { return request({ - url: '/netEwm/netHistory', - method: 'post', - data: data - }) + url: "/netEwm/netHistory", + method: "post", + data: data, + headers: { + isToken: false, + }, + }); } // 修改连网历史 export function updateNetHistory(data) { return request({ - url: '/netEwm/netHistory', - method: 'put', - data: data - }) + url: "/netEwm/netHistory", + method: "put", + data: data, + headers: { + isToken: false, + }, + }); } // 删除连网历史 export function delNetHistory(id) { return request({ - url: '/netEwm/netHistory/' + id, - method: 'delete' - }) + url: "/netEwm/netHistory/" + id, + method: "delete", + headers: { + isToken: false, + }, + }); } diff --git a/src/api/netEwm/poster.js b/src/api/netEwm/poster.js index 38ac71a..64e32e3 100644 --- a/src/api/netEwm/poster.js +++ b/src/api/netEwm/poster.js @@ -6,6 +6,9 @@ export function listPoster(query) { url: "/netEwm/poster/list", method: "get", params: query, + headers: { + isToken: false, + }, }); } @@ -14,6 +17,9 @@ export function getPoster(id) { return request({ url: "/netEwm/poster/" + id, method: "get", + headers: { + isToken: false, + }, }); } @@ -23,6 +29,9 @@ export function addPoster(data) { url: "/netEwm/poster", method: "post", data: data, + headers: { + isToken: false, + }, }); } @@ -32,6 +41,9 @@ export function updatePoster(data) { url: "/netEwm/poster", method: "put", data: data, + headers: { + isToken: false, + }, }); } @@ -40,6 +52,9 @@ export function delPoster(id) { return request({ url: "/netEwm/poster/" + id, method: "delete", + headers: { + isToken: false, + }, }); } @@ -49,5 +64,8 @@ export function batchAllocation(data) { url: "/netEwm/poster/batchAllocation", method: "post", data: data, + headers: { + isToken: false, + }, }); } diff --git a/src/api/netEwm/posterHistory.js b/src/api/netEwm/posterHistory.js index e34ccbc..a3c38dc 100644 --- a/src/api/netEwm/posterHistory.js +++ b/src/api/netEwm/posterHistory.js @@ -1,44 +1,59 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询广告历史列表 export function listPosterHistory(query) { return request({ - url: '/netEwm/posterHistory/list', - method: 'get', - params: query - }) + url: "/netEwm/posterHistory/list", + method: "get", + params: query, + headers: { + isToken: false, + }, + }); } // 查询广告历史详细 export function getPosterHistory(id) { return request({ - url: '/netEwm/posterHistory/' + id, - method: 'get' - }) + url: "/netEwm/posterHistory/" + id, + method: "get", + headers: { + isToken: false, + }, + }); } // 新增广告历史 export function addPosterHistory(data) { return request({ - url: '/netEwm/posterHistory', - method: 'post', - data: data - }) + url: "/netEwm/posterHistory", + method: "post", + data: data, + headers: { + isToken: false, + }, + }); } // 修改广告历史 export function updatePosterHistory(data) { return request({ - url: '/netEwm/posterHistory', - method: 'put', - data: data - }) + url: "/netEwm/posterHistory", + method: "put", + data: data, + headers: { + isToken: false, + }, + }); } // 删除广告历史 export function delPosterHistory(id) { return request({ - url: '/netEwm/posterHistory/' + id, - method: 'delete' - }) + url: "/netEwm/posterHistory/" + id, + method: "delete", + headers: { + isToken: false, + }, + }); } diff --git a/src/api/netEwm/shanghu.js b/src/api/netEwm/shanghu.js index d375b17..0de0c49 100644 --- a/src/api/netEwm/shanghu.js +++ b/src/api/netEwm/shanghu.js @@ -1,44 +1,59 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询商户列表 export function listShanghu(query) { return request({ - url: '/netEwm/shanghu/list', - method: 'get', - params: query - }) + url: "/netEwm/shanghu/list", + method: "get", + params: query, + headers: { + isToken: false, + }, + }); } // 查询商户详细 export function getShanghu(id) { return request({ - url: '/netEwm/shanghu/' + id, - method: 'get' - }) + url: "/netEwm/shanghu/" + id, + method: "get", + headers: { + isToken: false, + }, + }); } // 新增商户 export function addShanghu(data) { return request({ - url: '/netEwm/shanghu', - method: 'post', - data: data - }) + url: "/netEwm/shanghu", + method: "post", + data: data, + headers: { + isToken: false, + }, + }); } // 修改商户 export function updateShanghu(data) { return request({ - url: '/netEwm/shanghu', - method: 'put', - data: data - }) + url: "/netEwm/shanghu", + method: "put", + data: data, + headers: { + isToken: false, + }, + }); } // 删除商户 export function delShanghu(id) { return request({ - url: '/netEwm/shanghu/' + id, - method: 'delete' - }) + url: "/netEwm/shanghu/" + id, + method: "delete", + headers: { + isToken: false, + }, + }); } diff --git a/src/utils/request.js b/src/utils/request.js index ffb0d21..2ceba58 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,114 +1,148 @@ -import axios from 'axios' -import { Notification, MessageBox, Message, Loading } from 'element-ui' -import store from '@/store' -import { getToken } from '@/utils/auth' -import errorCode from '@/utils/errorCode' +import axios from "axios"; +import { Notification, MessageBox, Message, Loading } from "element-ui"; +import store from "@/store"; +import { getToken } from "@/utils/auth"; +import errorCode from "@/utils/errorCode"; import { tansParams, blobValidate } from "@/utils/ruoyi"; -import cache from '@/plugins/cache' -import { saveAs } from 'file-saver' +import cache from "@/plugins/cache"; +import { saveAs } from "file-saver"; let downloadLoadingInstance; // 是否显示重新登录 export let isRelogin = { show: false }; -axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' +axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8"; // 创建axios实例 const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: process.env.VUE_APP_BASE_API, // 超时 - timeout: 10000 -}) + timeout: 10000, +}); // request拦截器 -service.interceptors.request.use(config => { - // 是否需要设置 token - const isToken = (config.headers || {}).isToken === false - // 是否需要防止数据重复提交 - const isRepeatSubmit = (config.headers || {}).repeatSubmit === false - if (getToken() && !isToken) { - config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 - } - // get请求映射params参数 - if (config.method === 'get' && config.params) { - let url = config.url + '?' + tansParams(config.params); - url = url.slice(0, -1); - config.params = {}; - config.url = url; - } - if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { - const requestObj = { - url: config.url, - data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, - time: new Date().getTime() +service.interceptors.request.use( + (config) => { + // 是否需要设置 token + const isToken = (config.headers || {}).isToken === false; + // 是否需要防止数据重复提交 + const isRepeatSubmit = (config.headers || {}).repeatSubmit === false; + if (getToken() && !isToken) { + config.headers["Authorization"] = "Bearer " + getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改 } - const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小 - const limitSize = 5 * 1024 * 1024; // 限制存放数据5M - if (requestSize >= limitSize) { - console.warn(`[${config.url}]: ` + '请求数据大小超出允许的5M限制,无法进行防重复提交验证。') - return config; + // get请求映射params参数 + if (config.method === "get" && config.params) { + let url = config.url + "?" + tansParams(config.params); + url = url.slice(0, -1); + config.params = {}; + config.url = url; } - const sessionObj = cache.session.getJSON('sessionObj') - if (sessionObj === undefined || sessionObj === null || sessionObj === '') { - cache.session.setJSON('sessionObj', requestObj) - } else { - const s_url = sessionObj.url; // 请求地址 - const s_data = sessionObj.data; // 请求数据 - const s_time = sessionObj.time; // 请求时间 - const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 - if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { - const message = '数据正在处理,请勿重复提交'; - console.warn(`[${s_url}]: ` + message) - return Promise.reject(new Error(message)) + if ( + !isRepeatSubmit && + (config.method === "post" || config.method === "put") + ) { + const requestObj = { + url: config.url, + data: + typeof config.data === "object" + ? JSON.stringify(config.data) + : config.data, + time: new Date().getTime(), + }; + const requestSize = Object.keys(JSON.stringify(requestObj)).length; // 请求数据大小 + const limitSize = 5 * 1024 * 1024; // 限制存放数据5M + if (requestSize >= limitSize) { + console.warn( + `[${config.url}]: ` + + "请求数据大小超出允许的5M限制,无法进行防重复提交验证。" + ); + return config; + } + const sessionObj = cache.session.getJSON("sessionObj"); + if ( + sessionObj === undefined || + sessionObj === null || + sessionObj === "" + ) { + cache.session.setJSON("sessionObj", requestObj); } else { - cache.session.setJSON('sessionObj', requestObj) + const s_url = sessionObj.url; // 请求地址 + const s_data = sessionObj.data; // 请求数据 + const s_time = sessionObj.time; // 请求时间 + const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 + if ( + s_data === requestObj.data && + requestObj.time - s_time < interval && + s_url === requestObj.url + ) { + const message = "数据正在处理,请勿重复提交"; + console.warn(`[${s_url}]: ` + message); + return Promise.reject(new Error(message)); + } else { + cache.session.setJSON("sessionObj", requestObj); + } } } + return config; + }, + (error) => { + console.log(error); + Promise.reject(error); } - return config -}, error => { - console.log(error) - Promise.reject(error) -}) +); // 响应拦截器 -service.interceptors.response.use(res => { +service.interceptors.response.use( + (res) => { // 未设置状态码则默认成功状态 const code = res.data.code || 200; // 获取错误信息 - const msg = errorCode[code] || res.data.msg || errorCode['default'] + const msg = errorCode[code] || res.data.msg || errorCode["default"]; // 二进制数据则直接返回 - if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { - return res.data + if ( + res.request.responseType === "blob" || + res.request.responseType === "arraybuffer" + ) { + return res.data; } if (code === 401) { if (!isRelogin.show) { isRelogin.show = true; - MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { - isRelogin.show = false; - store.dispatch('LogOut').then(() => { - location.href = '/index'; + MessageBox.confirm( + "登录状态已过期,您可以继续留在该页面,或者重新登录", + "系统提示", + { + confirmButtonText: "重新登录", + cancelButtonText: "取消", + type: "warning", + } + ) + .then(() => { + isRelogin.show = false; + store.dispatch("LogOut").then(() => { + location.href = "/index"; + }); }) - }).catch(() => { - isRelogin.show = false; - }); - } - return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + .catch(() => { + isRelogin.show = false; + }); + } + return Promise.reject("无效的会话,或者会话已过期,请重新登录。"); } else if (code === 500) { - Message({ message: msg, type: 'error' }) - return Promise.reject(new Error(msg)) + Message({ message: msg, type: "error" }); + return Promise.reject(new Error(msg)); } else if (code === 601) { - Message({ message: msg, type: 'warning' }) - return Promise.reject('error') + Message({ message: msg, type: "warning" }); + return Promise.reject("error"); } else if (code !== 200) { - Notification.error({ title: msg }) - return Promise.reject('error') + Notification.error({ title: msg }); + return Promise.reject("error"); } else { - return res.data + return res.data; } }, - error => { - console.log('err' + error) + (error) => { + console.log("err" + error); let { message } = error; if (message == "Network Error") { message = "后端接口连接异常"; @@ -117,36 +151,48 @@ service.interceptors.response.use(res => { } else if (message.includes("Request failed with status code")) { message = "系统接口" + message.substr(message.length - 3) + "异常"; } - Message({ message: message, type: 'error', duration: 5 * 1000 }) - return Promise.reject(error) + Message({ message: message, type: "error", duration: 5 * 1000 }); + return Promise.reject(error); } -) +); // 通用下载方法 export function download(url, params, filename, config) { - downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) - return service.post(url, params, { - transformRequest: [(params) => { return tansParams(params) }], - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - responseType: 'blob', - ...config - }).then(async (data) => { - const isBlob = blobValidate(data); - if (isBlob) { - const blob = new Blob([data]) - saveAs(blob, filename) - } else { - const resText = await data.text(); - const rspObj = JSON.parse(resText); - const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] - Message.error(errMsg); - } - downloadLoadingInstance.close(); - }).catch((r) => { - console.error(r) - Message.error('下载文件出现错误,请联系管理员!') - downloadLoadingInstance.close(); - }) + downloadLoadingInstance = Loading.service({ + text: "正在下载数据,请稍候", + spinner: "el-icon-loading", + background: "rgba(0, 0, 0, 0.7)", + }); + return service + .post(url, params, { + transformRequest: [ + (params) => { + return tansParams(params); + }, + ], + headers: { "Content-Type": "application/x-www-form-urlencoded" }, + responseType: "blob", + ...config, + }) + .then(async (data) => { + const isBlob = blobValidate(data); + if (isBlob) { + const blob = new Blob([data]); + saveAs(blob, filename); + } else { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = + errorCode[rspObj.code] || rspObj.msg || errorCode["default"]; + Message.error(errMsg); + } + downloadLoadingInstance.close(); + }) + .catch((r) => { + console.error(r); + Message.error("下载文件出现错误,请联系管理员!"); + downloadLoadingInstance.close(); + }); } -export default service +export default service; diff --git a/src/views/netEwm/MyShanghu/index.vue b/src/views/netEwm/MyShanghu/index.vue index 05aa19d..3981c4b 100644 --- a/src/views/netEwm/MyShanghu/index.vue +++ b/src/views/netEwm/MyShanghu/index.vue @@ -94,6 +94,8 @@ export default { ...{ videoPath: this.baseUrl + info.data.videoPath }, }; }); + } else { + this.form = response.data; } }); }, diff --git a/src/views/netEwm/netHistory/index.vue b/src/views/netEwm/netHistory/index.vue index e59d3bc..8a5a116 100644 --- a/src/views/netEwm/netHistory/index.vue +++ b/src/views/netEwm/netHistory/index.vue @@ -44,7 +44,7 @@ - + - + + +