After Width: | Height: | Size: 823 B |
After Width: | Height: | Size: 576 B |
After Width: | Height: | Size: 532 B |
After Width: | Height: | Size: 366 B |
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 188 KiB |
@ -0,0 +1,10 @@
|
|||||||
|
export default function ({ app, route, redirect }) {
|
||||||
|
if (!app.store.state.token) {
|
||||||
|
// 未登录直接打开需要登录的页面,跳转首页
|
||||||
|
const needLoginPage = [/\/account/, /\/cart/];
|
||||||
|
const result = needLoginPage.some((item) => item.test(route.path));
|
||||||
|
if (result) {
|
||||||
|
redirect("/");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: ch
|
||||||
|
* @Date: 2022-05-04 17:48:12
|
||||||
|
* @LastEditors: ch
|
||||||
|
* @LastEditTime: 2022-05-04 17:53:11
|
||||||
|
* @Description: file content
|
||||||
|
-->
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
</style>
|
@ -0,0 +1,58 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: ch
|
||||||
|
* @Date: 2022-05-04 17:48:12
|
||||||
|
* @LastEditors: ch
|
||||||
|
* @LastEditTime: 2022-05-04 17:53:11
|
||||||
|
* @Description: file content
|
||||||
|
-->
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<main class="main flex flex-column flex-middle">
|
||||||
|
<p class="main-title">售后订单</p>
|
||||||
|
<img class="main-img" src="@/assets/img/common/app-qrcode.png" alt="" />
|
||||||
|
<p class="main-txt">请前往APP查看售后订单</p>
|
||||||
|
</main>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.main {
|
||||||
|
width: 100%;
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
|
||||||
|
&-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 42px;
|
||||||
|
background: #f8f8f8;
|
||||||
|
border-bottom: 1px solid #dddddd;
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 42px;
|
||||||
|
padding-left: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-img {
|
||||||
|
width: 140px;
|
||||||
|
height: 140px;
|
||||||
|
margin: 110px 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-txt {
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,65 @@
|
|||||||
|
import Vue from "vue";
|
||||||
|
import { TOKEN_KEY } from "@/constants";
|
||||||
|
|
||||||
|
function guid() {
|
||||||
|
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
|
||||||
|
var r = (Math.random() * 16) | 0,
|
||||||
|
v = c == "x" ? r : (r & 0x3) | 0x8;
|
||||||
|
return v.toString(16);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Vue.prototype.$startWebSockets = function () {
|
||||||
|
console.log();
|
||||||
|
let token = this.$cookies.get(TOKEN_KEY);
|
||||||
|
if (token&&!Vue.prototype.Socket) {
|
||||||
|
let url = `wss://k8s-horse-gateway.mashibing.cn/ws?client=${token}&type=1`;
|
||||||
|
Vue.prototype.Socket = new WebSocket(url);
|
||||||
|
Vue.prototype.Socket.onopen = () => {
|
||||||
|
let traceId = guid();
|
||||||
|
Vue.prototype.Socket.send(
|
||||||
|
`{"traceId":"${traceId}",traceType:1,"content":{"size": 100}}`
|
||||||
|
);
|
||||||
|
};
|
||||||
|
Vue.prototype.Socket.onclose = () => {
|
||||||
|
Vue.prototype.Socket = null;
|
||||||
|
};
|
||||||
|
// Vue.prototype.Socket.onerror = () => {
|
||||||
|
// if (Vue.prototype.Socket.readyState !== 3) {
|
||||||
|
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
Vue.prototype.Socket.onmessage = (e) => {
|
||||||
|
if (e.data == `pong`) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let msg = JSON.parse(e.data);
|
||||||
|
console.log("websocket收到消息", msg);
|
||||||
|
|
||||||
|
// 获取会话
|
||||||
|
if (msg.traceType == 1) {
|
||||||
|
let traceId = guid();
|
||||||
|
let sys = msg.content.sessionVOS.find((item) => item.type != 3);
|
||||||
|
let str = `{"traceId":"${traceId}",traceType:2,"content":{"sessionId":${sys.id}}}`;
|
||||||
|
Vue.prototype.Socket.send(str);
|
||||||
|
this.$store.commit("setUnreadCount", msg.content.totalUnreadCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取消息列表
|
||||||
|
if (msg.traceType == 2) {
|
||||||
|
this.$store.commit("setSocketMsgData", msg.content);
|
||||||
|
setTimeout(()=>{
|
||||||
|
console.log(this.$store.state)
|
||||||
|
},500)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 接收消息
|
||||||
|
if (msg.traceType == 3) {
|
||||||
|
let traceId = guid();
|
||||||
|
Vue.prototype.Socket.send(
|
||||||
|
`{"traceId":"${traceId}",traceType:1,"content":{"size": 100}}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
@ -1,21 +1,10 @@
|
|||||||
export default ({ app }) => {
|
export default ({ app }) => {
|
||||||
app.router.beforeEach((to, from, next) => {
|
app.router.beforeEach((to, from, next) => {
|
||||||
// const { token, userInfo } = app.store.state;
|
// 获取用户信息
|
||||||
// if (token) {
|
const { token, userInfo } = app.store.state;
|
||||||
// if (Object.keys(userInfo).length === 0) {
|
if (token && Object.keys(userInfo).length === 0) {
|
||||||
// app.store.dispatch("getUserInfo");
|
app.store.dispatch("getUserInfo");
|
||||||
// }
|
}
|
||||||
// next();
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 未登录打开需要登录的页面,跳首页
|
|
||||||
// const needLoginPage = [/\/account/, /\/cart/];
|
|
||||||
// const result = needLoginPage.some((item) => item.test(to.path));
|
|
||||||
// if (result) {
|
|
||||||
// next("/");
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 763 B |