Commit 4d2d278f authored by YIyiyi's avatar YIyiyi

fead:添加mq配置

parent 4b74bb74
This diff is collapsed.
function jsToJavaDefault() {
var data = '发送数据给java默认接收';
window.WebViewJavascriptBridge.send(
data
, function(responseData) { //处理java回传的数据
document.getElementById("show").innerHTML = responseData;
}
);
}
/**
*
* @param {object} data 入参'{“action”:”encrypt”,”msg”:””} ';
* @param {object} obj 回调对象
*/
function androidJsSdk(data,obj){
if(typeof data != 'object') return
var info = JSON.stringify(data)
window.WebViewJavascriptBridge.send(
info
, function(responseData) { //处理java回传的数据
if(responseData){
var json = {}
try {
json = JSON.parse(responseData)
} catch (error) {
alert(error+'java回调数据格式异常')
}
if(json.code == 1){
obj.success(json.data || {})
}else{
obj.fail(json)
}
}
}
);
}
//注册事件监听,初始化
function setupWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) {
callback(WebViewJavascriptBridge)
} else {
document.addEventListener(
'WebViewJavascriptBridgeReady'
, function() {
callback(WebViewJavascriptBridge)
},
false
);
}
}
//回调函数,接收java发送来的数据
setupWebViewJavascriptBridge(function(bridge) {
//默认接收
bridge.init(function(message, responseCallback) {
var responseData = 'js默认接收完毕,并回传数据给java';
responseCallback(responseData); //回传数据给java
});
//指定接收,参数functionInJs 与java保持一致
bridge.registerHandler("functionInJs", function(data, responseCallback) {
var responseData = 'js指定接收完毕,并回传数据给java';
responseCallback(responseData); //回传数据给java
});
})
\ No newline at end of file
/**
* Minified by jsDelivr using Terser v5.7.1.
* Original file: /npm/js-base64@3.7.2/base64.js
*
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
*/
!function(t,n){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(r=t.Base64,(e=n()).noConflict=function(){return t.Base64=r,e},t.Meteor&&(Base64=e),t.Base64=e)}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,(function(){"use strict";var t,n="3.7.2",r="function"==typeof atob,e="function"==typeof btoa,o="function"==typeof Buffer,u="function"==typeof TextDecoder?new TextDecoder:void 0,i="function"==typeof TextEncoder?new TextEncoder:void 0,f=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),c=(t={},f.forEach((function(n,r){return t[n]=r})),t),a=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,d=String.fromCharCode.bind(String),s="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(t,n){return void 0===n&&(n=function(t){return t}),new Uint8Array(Array.prototype.slice.call(t,0).map(n))},l=function(t){return t.replace(/=/g,"").replace(/[+\/]/g,(function(t){return"+"==t?"-":"_"}))},h=function(t){return t.replace(/[^A-Za-z0-9\+\/]/g,"")},p=function(t){for(var n,r,e,o,u="",i=t.length%3,c=0;c<t.length;){if((r=t.charCodeAt(c++))>255||(e=t.charCodeAt(c++))>255||(o=t.charCodeAt(c++))>255)throw new TypeError("invalid character found");u+=f[(n=r<<16|e<<8|o)>>18&63]+f[n>>12&63]+f[n>>6&63]+f[63&n]}return i?u.slice(0,i-3)+"===".substring(i):u},y=e?function(t){return btoa(t)}:o?function(t){return Buffer.from(t,"binary").toString("base64")}:p,A=o?function(t){return Buffer.from(t).toString("base64")}:function(t){for(var n=[],r=0,e=t.length;r<e;r+=4096)n.push(d.apply(null,t.subarray(r,r+4096)));return y(n.join(""))},b=function(t,n){return void 0===n&&(n=!1),n?l(A(t)):A(t)},g=function(t){if(t.length<2)return(n=t.charCodeAt(0))<128?t:n<2048?d(192|n>>>6)+d(128|63&n):d(224|n>>>12&15)+d(128|n>>>6&63)+d(128|63&n);var n=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return d(240|n>>>18&7)+d(128|n>>>12&63)+d(128|n>>>6&63)+d(128|63&n)},B=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,x=function(t){return t.replace(B,g)},C=o?function(t){return Buffer.from(t,"utf8").toString("base64")}:i?function(t){return A(i.encode(t))}:function(t){return y(x(t))},m=function(t,n){return void 0===n&&(n=!1),n?l(C(t)):C(t)},v=function(t){return m(t,!0)},U=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,F=function(t){switch(t.length){case 4:var n=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return d(55296+(n>>>10))+d(56320+(1023&n));case 3:return d((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return d((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},w=function(t){return t.replace(U,F)},S=function(t){if(t=t.replace(/\s+/g,""),!a.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));for(var n,r,e,o="",u=0;u<t.length;)n=c[t.charAt(u++)]<<18|c[t.charAt(u++)]<<12|(r=c[t.charAt(u++)])<<6|(e=c[t.charAt(u++)]),o+=64===r?d(n>>16&255):64===e?d(n>>16&255,n>>8&255):d(n>>16&255,n>>8&255,255&n);return o},E=r?function(t){return atob(h(t))}:o?function(t){return Buffer.from(t,"base64").toString("binary")}:S,D=o?function(t){return s(Buffer.from(t,"base64"))}:function(t){return s(E(t),(function(t){return t.charCodeAt(0)}))},R=function(t){return D(T(t))},z=o?function(t){return Buffer.from(t,"base64").toString("utf8")}:u?function(t){return u.decode(D(t))}:function(t){return w(E(t))},T=function(t){return h(t.replace(/[-_]/g,(function(t){return"-"==t?"+":"/"})))},Z=function(t){return z(T(t))},j=function(t){return{value:t,enumerable:!1,writable:!0,configurable:!0}},I=function(){var t=function(t,n){return Object.defineProperty(String.prototype,t,j(n))};t("fromBase64",(function(){return Z(this)})),t("toBase64",(function(t){return m(this,t)})),t("toBase64URI",(function(){return m(this,!0)})),t("toBase64URL",(function(){return m(this,!0)})),t("toUint8Array",(function(){return R(this)}))},O=function(){var t=function(t,n){return Object.defineProperty(Uint8Array.prototype,t,j(n))};t("toBase64",(function(t){return b(this,t)})),t("toBase64URI",(function(){return b(this,!0)})),t("toBase64URL",(function(){return b(this,!0)}))},P={version:n,VERSION:"3.7.2",atob:E,atobPolyfill:S,btoa:y,btoaPolyfill:p,fromBase64:Z,toBase64:m,encode:m,encodeURI:v,encodeURL:v,utob:x,btou:w,decode:Z,isValid:function(t){if("string"!=typeof t)return!1;var n=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(n)||!/[^\s0-9a-zA-Z\-_]/.test(n)},fromUint8Array:b,toUint8Array:R,extendString:I,extendUint8Array:O,extendBuiltins:function(){I(),O()},Base64:{}};return Object.keys(P).forEach((function(t){return P.Base64[t]=P[t]})),P}));
//# sourceMappingURL=/sm/79de78edcfa94236e4c8354f91262971e185c3633bb865b6fc17942e93a40207.map
\ No newline at end of file
<!DOCTYPE html> <!DOCTYPE html>
<html lang=""> <html lang="">
<head>
<head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>数字样表系统</title> <title>数字样表系统</title>
</head> </head>
<body>
<body>
<noscript> <noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript> </noscript>
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
<script src="./JSSDK.js"></script> <script src="./base64.min.js"></script>
<script src="./stomp.js"></script> <script src="./stomp.js"></script>
<script src="./android-jssdk.js"></script>
<!-- <script> <!-- <script>
// 自动撑开 // 自动撑开
window.onload = function () { window.onload = function () {
...@@ -34,6 +38,6 @@ ...@@ -34,6 +38,6 @@
} }
</script> --> </script> -->
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -6,145 +6,111 @@ ...@@ -6,145 +6,111 @@
<script> <script>
import local from "@/utils/local"; import local from "@/utils/local";
import mq from "@/mixin/mq";
import { getHomeInfo } from "@/api";
import { mapMutations } from "vuex";
export default { export default {
mixins: [mq],
data() { data() {
return { return {
routeQuery: "", routeQuery: "",
devicenum: "", devicenum: "",
// serveinfo: {
// deviceInfo: {
// enabled: 1,
// productId: 1,
// productName: "排队机",
// siteCode: "",
// siteId: 2,
// siteName: "",
// source: 1,
// },
// rabbmitInfo: {
// downTopicFilter: "/down/00-F1-F5-12-3F-64",
// exchangeName: "phxt.pdj",
// host: "192.168.0.98",
// messageTtl: "86400000",
// password: "admin@2020",
// port: 5672,
// uploadTopicFilter: "/upload/00-F1-F5-12-3F-64",
// username: "taxi_mq",
// virtualHost: "/test",
// },
// serviceInfo: { homeUrl: "", serverUrl: "http://192.168.0.98:8090" },
// },
}; };
}, },
created() { created() {
this.loadconfig(); this.getInfo();
this.getHomeInfo();
// 开发环境
if (process.env.NODE_ENV == "development") {
let obj = {
deviceInfo: {
enabled: 1,
productId: 3,
productName: "样表系统",
siteCode: "511500000000-0001",
siteId: 1,
siteName: "宜宾市民中心",
source: 1,
}, },
methods: { rabbmitInfo: {
errorFn() { downTopicFilter: "/down/" + devicenum,
let dom; exchangeName: "phxt.hjq",
return function (err) { host: "10.12.185.213",
if (dom) { messageTtl: "86400000",
dom.innerText = err || "MQ通讯异常"; password: "admin@2020",
return dom; port: 5672,
} else { uploadTopicFilter: "/upload/" + devicenum,
let createdDom = document.createElement("div"); username: "taxi_mq",
createdDom.style.position = "absolute"; virtualHost: "/",
createdDom.style.left = "0";
createdDom.style.top = "10px";
createdDom.style.width = "100%";
createdDom.style.textAlign = "center";
createdDom.style.fontSize = "12px";
createdDom.style.color = "red";
createdDom.style.zIndex = 10;
createdDom.style.display = "none";
createdDom.innerText = err || "MQ通讯异常";
document.body.appendChild(createdDom);
dom = createdDom;
return dom;
}
};
}, },
clientMp(obj) { serviceInfo: {
var _this = this; homeUrl: "http://192.168.0.24:8080/#/",
// var downTopicFilter = obj.downTopicFilter.replace(/\//g, '%2F') serverUrl: "http://10.12.185.213:8090",
var uploadTopicFilter = obj.uploadTopicFilter.replace(/\//g, "%2F");
var ws = new WebSocket("ws://" + obj.host + ":15674/ws");
/* eslint-disable */
var client = Stomp.over(ws);
// var conditions = {
// durable: true,
// "x-message-ttl": parseInt(obj.messageTtl),
// };
client.connect(
obj.username,
obj.password,
function () {
_this.settimer = setInterval(function () {
// 心跳上行消息
let beatObj = {
data: "=",
headers: {
data: {
protocol: "json",
messageType: "HEART_BEAT",
deviceCode: _this.devicenum,
sign: "abcd1234",
timestamp: _this.$moment().format("YYYY-MM-DD H:mm:ss"),
}, },
},
key: new Date().getTime() + "-" + _this.devicenum,
}; };
client.send( this.WebSocketMq(obj);
"/queue/" + uploadTopicFilter, }
{ "x-message-ttl": parseInt(obj.messageTtl) },
JSON.stringify(beatObj)
);
}, 1000);
this.errorFn().style.display = "none";
},
function (e) {
this.errorFn("MQ通讯异常:" + e).style.display = "block";
_this.settimer && clearInterval(_this.settimer);
setTimeout(function () {
_this.clientMp(obj);
}, 1000);
},
obj.virtualHost
);
}, },
methods: {
...mapMutations(["SET_homeInfo", "SET_datumList", "SET_matterList"]),
// 简析url
urlGet() { urlGet() {
let q = {}; let q = {};
let search = location.search;
let hash = location.hash;
if (search) {
location.search.replace(/([^?&=]+)=([^&]+)/g, function (_, k, v) { location.search.replace(/([^?&=]+)=([^&]+)/g, function (_, k, v) {
return (q[k] = v); return (q[k] = v);
}); });
} else if (hash) {
location.hash.replace(/([^?&=]+)=([^&]+)/g, function (_, k, v) {
return (q[k] = v);
});
}
return q; return q;
}, },
getInfo(info = {}) { // 获取地址栏信息
let { serveinfo, devicenum } = info; getInfo() {
let { deviceInfo, rabbmitInfo, serviceInfo } = serveinfo; let routeQuery = urlGet();
let { serverUrl } = serviceInfo; if (JSON.stringify(routeQuery) !== "{}") {
let { siteId } = deviceInfo; let { devicenum, deviceInfo } = routeQuery;
this.devicenum = devicenum; this.devicenum = devicenum;
local.setLocal("baseURL", serverUrl); local.setLocal("devicenum", devicenum);
local.setLocal("siteId", siteId); local.setLocal("siteId", deviceInfo.siteId);
local.setLocal("devicenum", this.devicenum);
if (serveinfo) {
// **正式环境请打开下面内容**
rabbmitInfo && this.clientMp(rabbmitInfo);
} }
}, },
loadconfig() { // 获取首页信息
this.routeQuery = this.urlGet(); async getHomeInfo() {
if (JSON.stringify(this.routeQuery) !== "{}") { let res = await getHomeInfo({});
this.getInfo(this.routeQuery); let { data, code } = res.data;
} else if (JSON.stringify(this.$route.query) !== "{}") { if (code === 1) {
this.getInfo(this.$route.query); data.hotWords = data.hotWords.map((v) => v.hotwords);
} else { this.homeInfo = data;
local.setLocal("baseURL", "http://192.168.0.98:11078"); this.SET_homeInfo(data);
local.setLocal("siteId", 3); this.SET_datumList(data.datumList);
local.setLocal("devicenum", "90-2B-34-BF-1B-48"); this.SET_matterList(data.matterList);
} }
}, },
// 换肤
getSetinfo() {
console.log(11);
// let _this = this;
// setinfo().then((res) => {
// const { code, data } = res.data;
// if (code == 1) {
// if (_this.linkDom) {
// _this.linkDom.remove();
// }
// if (data.css_path) {
// let link = document.createElement("link");
// _this.linkDom = link;
// link.rel = "stylesheet";
// link.href = data.css_path;
// document.getElementsByTagName("head")[0].appendChild(link);
// }
// }
// });
},
}, },
}; };
</script> </script>
......
// 事项api // 事项api
import local from "@/utils/local"; import local from "@/utils/local";
import request from "@/utils/request"; import request from "@/utils/request";
let baseUrl = local.getLocal("serverUrl");
//let baseUrl = local.getLocal('baseUrl') ? local.getLocal('baseUrl') : 'http://localhost:17002' let siteId = local.getLocal("siteId");
let baseUrl = local.getLocal("baseUrl") let devicenum = local.getLocal("devicenum");
? local.getLocal("baseUrl")
: "http://192.168.0.98:11078";
let siteId = local.getLocal("siteId") ? local.getLocal("siteId") : "3";
let devicenum = local.getLocal("devicenum")
? local.getLocal("devicenum")
: "90-2B-34-BF-1B-48";
// 首页数据展示 // 首页数据展示
export const getHomeInfo = (data) => { export const getHomeInfo = (data) => {
return request({ return request({
......
import local from "@/utils/local";
import moment from "moment";
function createError() {
let dom;
return function (err) {
if (dom) {
dom.innerText = err || "MQ通讯异常";
return dom;
} else {
let createdDom = document.createElement("div");
createdDom.style.position = "absolute";
createdDom.style.left = "0";
createdDom.style.bottom = "10px";
createdDom.style.width = "100%";
createdDom.style.textAlign = "center";
createdDom.style.fontSize = "12px";
createdDom.style.color = "red";
createdDom.style.zIndex = 10;
createdDom.style.display = "none";
createdDom.innerText = err || "MQ通讯异常";
document.body.appendChild(createdDom);
dom = createdDom;
return dom;
}
};
}
const errorFn = createError();
// 解密BASE64
function BASE64Decode(t) {
return JSON.parse(Base64.decode(t));
}
export default {
data() {
return {
settimer: null, //定时器添加心跳
StompObj: null,
ws: null,
};
},
mounted() {
// 调用安卓获取mq数据 JS 重新封装sdk
setTimeout(() => {
this.fnAndroidJsSdk();
}, 1000);
},
methods: {
fnAndroidJsSdk() {
let _this = this;
try {
androidJsSdk(
{ action: "query", msg: "index" },
{
success: function (d) {
_this.WebSocketMq(d);
},
fail: function (d) {
alert(d.msg + ",查询本地数据失败");
},
}
);
} catch (error) {
setTimeout(() => {
this.fnAndroidJsSdk();
}, 1000);
console.log(error);
}
},
clientMp(obj) {
var StompObj = this.StompObj;
if (StompObj == null || !StompObj.connected) {
var _this = this;
var downTopicFilter = obj.downTopicFilter.replace(/\//g, "%2F");
var uploadTopicFilter = obj.uploadTopicFilter.replace(/\//g, "%2F");
this.ws = new WebSocket(`ws://${obj.host}:15674/ws`);
var ws = this.ws;
this.StompObj = Stomp.over(ws);
var client = this.StompObj;
var conditions = {
durable: true,
"x-message-ttl": parseInt(obj.messageTtl),
};
client.connect(
obj.username,
obj.password,
function (x) {
client.subscribe(
"/queue/" + downTopicFilter,
function (data) {
var msg = data.body;
if (msg) {
var json = JSON.parse(msg);
// 解密后数据
var mqOBJ = BASE64Decode(json.data);
switch (json.headers.data.messageType) {
case "restartapp":
// 重启软件
try {
androidJsSdk(
{ action: "restartapp", msg: "" },
{
success: function (d) {},
fail: function (d) {},
}
);
} catch (error) {
console.log(error);
}
break;
case "restartdevice":
// 重启设备
try {
androidJsSdk(
{ action: "restartdevice", msg: "" },
{
success: function (d) {},
fail: function (d) {},
}
);
} catch (error) {
console.log(error);
}
break;
case "sitechange":
// 站点名称变更
_this.getHomeInfo();
break;
case "edition":
// 皮肤换肤通知
_this.getSetinfo();
break;
case "UPGREAD":
// 跟新软件
try {
androidJsSdk(
{ action: "update", msg: "" },
{
success: function (d) {},
fail: function (d) {
_this.$message.error("调用升级异常");
},
}
);
} catch (error) {
console.log(error);
}
break;
}
}
},
conditions
);
// 心跳上行消息
_this.settimer = setInterval(() => {
let beatObj = {
data: "=",
headers: {
data: {
protocol: "json",
messageType: "HEART_BEAT",
deviceCode: _this.devicenum,
sign: "abcd1234",
timestamp: moment().format("YYYY-MM-DD H:mm:ss"),
},
},
key: new Date().getTime() + "-" + _this.devicenum,
};
client.send(
"/queue/" + uploadTopicFilter,
{ "x-message-ttl": parseInt(obj.messageTtl) },
JSON.stringify(beatObj)
);
}, 1000 * 60);
errorFn().style.display = "none";
},
function (e) {
errorFn(`MQ通讯异常:${e}`).style.display = "block";
_this.settimer && clearInterval(_this.settimer);
_this.StompObj = null;
_this.ws = null;
setTimeout(() => {
_this.clientMp(obj);
}, 1000);
},
obj.virtualHost
);
}
},
// mq通讯
WebSocketMq: function (objc) {
var obj = objc.rabbmitInfo; //mq信息
var serviceInfo = objc.serviceInfo; //服务器信息
var serverUrl = serviceInfo.serverUrl; //系统地址
// 保存地址
local.setLocal("serverUrl", serverUrl);
// 初始化接口
setTimeout(() => {
// 查询站点信息
this.getHomeInfo();
// 查询皮肤
this.getSetinfo();
});
// mq连接
this.clientMp(obj);
},
},
};
...@@ -186,8 +186,9 @@ ...@@ -186,8 +186,9 @@
</template> </template>
<script> <script>
import { getHomeInfo } from "@/api"; // import { getHomeInfo } from "@/api";
import MateralsList from "@/components/MateralsList.vue"; import MateralsList from "@/components/MateralsList.vue";
import { mapState } from "vuex";
export default { export default {
components: { components: {
MateralsList, MateralsList,
...@@ -199,9 +200,9 @@ export default { ...@@ -199,9 +200,9 @@ export default {
top1: require("../../assets/img/png_no.1.png"), top1: require("../../assets/img/png_no.1.png"),
top2: require("../../assets/img/png_no.2.png"), top2: require("../../assets/img/png_no.2.png"),
top3: require("../../assets/img/png_no.3.png"), top3: require("../../assets/img/png_no.3.png"),
homeInfo: {}, // 首页数据 // homeInfo: {}, // 首页数据
datumList: [], // datumList: [],
matterList: [], // matterList: [],
visible: false, visible: false,
matterInfo: {}, matterInfo: {},
}; };
...@@ -225,6 +226,7 @@ export default { ...@@ -225,6 +226,7 @@ export default {
waitTime: 2500, // 单行停顿时间(singleHeight,waitTime) waitTime: 2500, // 单行停顿时间(singleHeight,waitTime)
}; };
}, },
...mapState(["homeInfo", "datumList", "matterList"]),
}, },
created() { created() {
this.getHomeInfo(); this.getHomeInfo();
...@@ -246,16 +248,16 @@ export default { ...@@ -246,16 +248,16 @@ export default {
}, },
methods: { methods: {
// 获取首页数据展示 // 获取首页数据展示
async getHomeInfo() { // async getHomeInfo() {
let res = await getHomeInfo({}); // let res = await getHomeInfo({});
let { data, code } = res.data; // let { data, code } = res.data;
if (code === 1) { // if (code === 1) {
data.hotWords = data.hotWords.map((v) => v.hotwords); // data.hotWords = data.hotWords.map((v) => v.hotwords);
this.homeInfo = data; // this.homeInfo = data;
this.matterList = data.matterList; // this.matterList = data.matterList;
this.datumList = data.datumList; // this.datumList = data.datumList;
} // }
}, // },
checkTopImg(index) { checkTopImg(index) {
if (index === 0) { if (index === 0) {
return this.top1; return this.top1;
......
import Vue from 'vue' import Vue from "vue";
import Vuex from 'vuex' import Vuex from "vuex";
Vue.use(Vuex) Vue.use(Vuex);
export default new Vuex.Store({ export default new Vuex.Store({
state: { state: {
menus: [], // 菜单 devicenum: "", // 设备编号
}, homeInfo: {}, // 首页数据
getters: { datumList: [], // 首页材料
matterList: [], // 首页事项
}, },
getters: {},
mutations: { mutations: {
SET_MENUS(state, menus) { SET_devicenum(state, devicenum) {
state.menus = menus state.devicenum = devicenum;
} },
SET_homeInfo(state, homeInfo) {
state.homeInfo = homeInfo;
},
SET_datumList(state, datumList) {
state.datumList = datumList;
},
SET_matterList(state, matterList) {
state.matterList = matterList;
}, },
actions: {
}, },
modules: { actions: {},
} modules: {},
}) });
/** /**
* axios 工具函数层 * axios 工具函数层
*/ */
import axios from 'axios' import axios from "axios";
import { Message } from 'element-ui'; import { Message } from "element-ui";
import local from "@/utils/local" import local from "@/utils/local";
// 请求超时时间 // 请求超时时间
axios.defaults.timeout = 15 * 1000 axios.defaults.timeout = 15 * 1000;
// 设置统一服务器地址 // 设置统一服务器地址
axios.defaults.baseURL = process.env.VUE_APP_API_BASE_URL axios.defaults.baseURL = local.getLocal("serverUrl");
// 请求拦截 // 请求拦截
axios.interceptors.request.use(config => { axios.interceptors.request.use(
let token = local.getLocal('token') (config) => {
if (token) { // let token = local.getLocal('token')
config.headers.Authorization = token // if (token) {
// config.headers.Authorization = token
// }
return config;
},
(err) => {
return Promise.reject(err);
} }
return config );
}, err => {
return Promise.reject(err)
})
// 响应拦截 // 响应拦截
axios.interceptors.response.use(response => { axios.interceptors.response.use(
(response) => {
if (response.data.code !== undefined && response.data.msg !== undefined) { if (response.data.code !== undefined && response.data.msg !== undefined) {
// 取出数据 // 取出数据
let { code, msg } = response.data let { code, msg } = response.data;
if (code === -1) { if (code === -1) {
Message.error({ Message.error({
message: msg, message: msg,
}) });
} else if (code === 401) { } else if (code === 401) {
Message.error({ Message.error({
message: msg, message: msg,
}) });
} }
} }
return response return response;
}, err => { },
if (err.message.includes('timeout')) { (err) => {
if (err.message.includes("timeout")) {
Message.error({ Message.error({
message: '请求超时,请稍后再试', message: "请求超时,请稍后再试",
}) });
} }
return Promise.reject(err) return Promise.reject(err);
}) }
);
export default axios export default axios;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment