fix: 登录对接
This commit is contained in:
parent
6470ca86db
commit
3d0aebb025
@ -5,6 +5,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build && sh ./build/deploy.sh",
|
"build": "vue-cli-service build && sh ./build/deploy.sh",
|
||||||
|
"build:pro": "vue-cli-service build && sh ./build/deploy_prod.sh",
|
||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
window.config = {
|
window.config = {
|
||||||
wxAuthUrl: "",
|
loginUrl: "https://web.ceniu.sztg.com/#/login",
|
||||||
webAuthUrl: "",
|
|
||||||
VConsole: true,
|
VConsole: true,
|
||||||
userIdList: [],
|
userIdList: [],
|
||||||
shareEnv: "production",
|
shareEnv: "production",
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { createRouter, createWebHistory } from "vue-router";
|
import { createRouter, createWebHistory } from "vue-router";
|
||||||
import store from "@/store";
|
import store from "@/store";
|
||||||
|
import { userLogin } from "@/utils/login";
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
@ -126,16 +127,16 @@ const routes = [
|
|||||||
component: () =>
|
component: () =>
|
||||||
import(/* webpackChunkName: "about" */ "../views/CourseDetail/page.vue"),
|
import(/* webpackChunkName: "about" */ "../views/CourseDetail/page.vue"),
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
path: "/login",
|
// path: "/login",
|
||||||
name: "login",
|
// name: "login",
|
||||||
component: () =>
|
// component: () =>
|
||||||
import(/* webpackChunkName: "about" */ "../views/Login/index.vue"),
|
// import(/* webpackChunkName: "about" */ "../views/Login/index.vue"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "登录",
|
// title: "登录",
|
||||||
noLogin: true, // 不需要登录
|
// noLogin: true, // 不需要登录
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
path: "/shotVideoPlay",
|
path: "/shotVideoPlay",
|
||||||
name: "shotVideoPlay",
|
name: "shotVideoPlay",
|
||||||
@ -184,33 +185,33 @@ const router = createRouter({
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.beforeEach(async (to, from, next) => {
|
router.beforeEach(async (to, from, next) => {
|
||||||
if (
|
if (to.meta.noLogin || (to.path === "/page" && to.query.preview)) {
|
||||||
(to.path !== "/login" && to.meta.noLogin) ||
|
|
||||||
(to.path === "/page" && to.query.preview)
|
|
||||||
) {
|
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
if (!store.state.token && !to.meta.noLogin) {
|
if (to.query.refreshToken) {
|
||||||
if (to.query.refreshToken) {
|
location.replace(
|
||||||
location.replace(
|
`${to.query.redirect}${
|
||||||
`${to.query.redirect}${
|
to.query.redirect.includes("?") ? "&" : "?"
|
||||||
to.query.redirect.includes("?") ? "&" : "?"
|
}redirectToken=${to.query.token}&redirectRefreshToken=${
|
||||||
}token=${to.query.token}&refreshToken=${to.query.refreshToken}`
|
to.query.refreshToken
|
||||||
);
|
}`
|
||||||
|
);
|
||||||
|
} else if (to.query.redirectRefreshToken) {
|
||||||
|
let ret = await store.dispatch("Login", {
|
||||||
|
token: to.query.redirectToken,
|
||||||
|
refreshToken: to.query.redirectRefreshToken,
|
||||||
|
});
|
||||||
|
if (ret && ret.code === 0) {
|
||||||
|
delete to.query.redirectToken;
|
||||||
|
delete to.query.redirectRefreshToken;
|
||||||
|
return next({ path: to.path, query: to.query, replace: true });
|
||||||
} else {
|
} else {
|
||||||
next({
|
userLogin();
|
||||||
path: "/login",
|
|
||||||
query: {
|
|
||||||
redirect: to.fullPath,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
} else if (!store.state.token && !to.meta.noLogin) {
|
||||||
|
userLogin();
|
||||||
} else {
|
} else {
|
||||||
if (to.path === "/login" && store.state.token) {
|
next();
|
||||||
next("/");
|
|
||||||
} else {
|
|
||||||
next();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { createStore } from "vuex";
|
|||||||
import router from "@/router/index";
|
import router from "@/router/index";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { terminalType } from "@/utils/index";
|
import { terminalType } from "@/utils/index";
|
||||||
|
import { getUserInfo } from "@/api/index";
|
||||||
|
|
||||||
console.log("process.env.NODE_ENV", process.env.NODE_ENV);
|
console.log("process.env.NODE_ENV", process.env.NODE_ENV);
|
||||||
export default createStore({
|
export default createStore({
|
||||||
@ -366,6 +367,33 @@ export default createStore({
|
|||||||
state.forbidLogin = true;
|
state.forbidLogin = true;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
actions: {},
|
actions: {
|
||||||
|
// 登录
|
||||||
|
Login({ commit }, { token, refreshToken }) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
getUserInfo({
|
||||||
|
token,
|
||||||
|
refreshToken,
|
||||||
|
loginType: 2, // 1:账号密码登录 2:token登录
|
||||||
|
clientType: 1,
|
||||||
|
})
|
||||||
|
.then((ret) => {
|
||||||
|
if (ret.code === 0) {
|
||||||
|
commit("setToken", ret.data.upToken);
|
||||||
|
commit(
|
||||||
|
"setUserInfo",
|
||||||
|
Object.assign({ account: ret.data.userId }, ret.data)
|
||||||
|
);
|
||||||
|
resolve(ret);
|
||||||
|
} else {
|
||||||
|
reject();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
reject();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
modules: {},
|
modules: {},
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import store from "../store";
|
import store from "../store";
|
||||||
// import { getUserInfo } from "@/api/index";
|
// import { getUserInfo } from "@/api/index";
|
||||||
import { terminalType } from "@/utils/index";
|
import { terminalType } from "@/utils/index";
|
||||||
import router from "@/router/index";
|
// import router from "@/router/index";
|
||||||
|
|
||||||
export async function userLogin() {
|
export async function userLogin() {
|
||||||
localStorage.removeItem("token");
|
localStorage.removeItem("token");
|
||||||
@ -12,21 +12,8 @@ export async function userLogin() {
|
|||||||
const ua = navigator.userAgent.toLowerCase();
|
const ua = navigator.userAgent.toLowerCase();
|
||||||
const isWeixin = ua.indexOf("micromessenger") !== -1;
|
const isWeixin = ua.indexOf("micromessenger") !== -1;
|
||||||
console.log(isWeixin, terminalType);
|
console.log(isWeixin, terminalType);
|
||||||
debugger;
|
// console.log("router", router);
|
||||||
console.log("router", router);
|
location.href = `${window.config.loginUrl}?needWx=${
|
||||||
if (isWeixin) {
|
isWeixin ? true : false
|
||||||
router.push({
|
}&redirect=${encodeURIComponent(location.href)}`;
|
||||||
path: "/login",
|
|
||||||
query: {
|
|
||||||
redirect: router.currentRoute.value.fullPath,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
router.push({
|
|
||||||
path: "/login",
|
|
||||||
query: {
|
|
||||||
redirect: router.currentRoute.value.fullPath,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user