问题修复

master
许宏杰 1 year ago
parent 7aed2a00e2
commit 6b1e2ab67c

@ -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

@ -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'

@ -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,
},
});
}

@ -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,
},
});
}

@ -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,
},
});
}

@ -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,
},
});
}

@ -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,
},
});
}

@ -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;

@ -94,6 +94,8 @@ export default {
...{ videoPath: this.baseUrl + info.data.videoPath },
};
});
} else {
this.form = response.data;
}
});
},

@ -44,7 +44,7 @@
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-row :gutter="10" class="mb8" v-if="showFrom">
<el-col :span="1.5">
<el-button
type="primary"
@ -119,6 +119,7 @@
>
<template slot-scope="scope">
<el-button
v-if="showFrom"
size="mini"
type="text"
icon="el-icon-edit"
@ -188,12 +189,13 @@ import {
addNetHistory,
updateNetHistory,
} from "@/api/netEwm/netHistory";
import { mapGetters } from "vuex";
export default {
name: "NetHistory",
dicts: ["b_is_true"],
data() {
return {
showFrom: false,
//
loading: true,
//
@ -216,6 +218,7 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
shanghuId: null,
isTrue: null,
netName: null,
},
@ -242,7 +245,11 @@ export default {
},
};
},
computed: {
...mapGetters(["shanghuId"]),
},
created() {
this.queryParams.shanghuId = this.shanghuId;
this.getList();
},
methods: {

@ -50,7 +50,7 @@
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-row :gutter="10" class="mb8" v-if="false">
<el-col :span="1.5">
<el-button
type="primary"
@ -131,7 +131,13 @@
<span>{{ parseTime(scope.row.endTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="视频路径" align="center" prop="videoPath" />
<el-table-column label="广告视频" align="center" prop="videoPath">
<template slot-scope="scope">
<el-link type="primary" :href="baseUrl + scope.row.videoPath">{{
scope.row.videoPath
}}</el-link>
</template>
</el-table-column>
<!-- <el-table-column label="视频封面" align="center" prop="videoLogo" /> -->
<el-table-column
label="操作"
@ -139,14 +145,14 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
<!-- <el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['netEwm:posterHistory:edit']"
>修改</el-button
>
> -->
<el-button
size="mini"
type="text"
@ -219,11 +225,13 @@ import {
addPosterHistory,
updatePosterHistory,
} from "@/api/netEwm/posterHistory";
import { mapGetters } from "vuex";
export default {
name: "PosterHistory",
data() {
return {
baseUrl: process.env.VUE_APP_BASE_API,
//
loading: true,
//
@ -249,6 +257,7 @@ export default {
posterName: null,
startTime: null,
endTime: null,
shanghuId: null,
},
//
form: {},
@ -269,7 +278,11 @@ export default {
},
};
},
computed: {
...mapGetters(["shanghuId"]),
},
created() {
this.queryParams.shanghuId = this.shanghuId;
this.getList();
},
methods: {

@ -114,6 +114,10 @@ export default {
return {
codeUrl: "",
registerForm: {
posName: "",
city: "",
address: "",
nickName: "",
username: "",
password: "",
confirmPassword: "",

Loading…
Cancel
Save