This commit is contained in:
lcw
2025-09-15 11:49:47 +08:00
parent 30d5a663ef
commit 97a8dd26e2
35 changed files with 148 additions and 95 deletions

View File

@ -2,13 +2,17 @@
<template> <template>
<router-view v-slot="{ Component }" v-if="isRouterAlive"> <router-view v-slot="{ Component }" v-if="isRouterAlive">
<keep-alive :include="store.getters.keepLiiveRoute"> <keep-alive :include="store.getters.keepLiiveRoute">
<Watermark :text="content" :color="'rgba(0, 0, 0, .15)'">
<Component :is="Component"></Component> <Component :is="Component"></Component>
</Watermark>
</keep-alive> </keep-alive>
</router-view> </router-view>
</template> </template>
<script setup> <script setup>
import { ref, nextTick, provide, onMounted } from "vue"; import { ref, nextTick, provide, onMounted } from "vue";
import { useStore } from "vuex"; import { useStore } from "vuex";
import Watermark from "@/components/Watermark.vue";
import { timeValidate } from "@/utils/tools.js";
import { getItem } from "@/utils/storage"; import { getItem } from "@/utils/storage";
import { qcckPost, qcckGet, qcckPut, qcckDelete } from "@/api/qcckApi.js"; import { qcckPost, qcckGet, qcckPut, qcckDelete } from "@/api/qcckApi.js";
import { generateNewStyle, writeNewStyle } from "@/utils/theme"; import { generateNewStyle, writeNewStyle } from "@/utils/theme";
@ -26,9 +30,16 @@ const reload = () => {
provide("reload", reload); provide("reload", reload);
onMounted(() => { onMounted(() => {
let dept = getItem("deptId"); let dept = getItem("deptId");
frashJs()
document.title = "林芝"; document.title = "林芝";
}); });
const content=ref([])
const frashJs = () => {
const sfzh= getItem("idEntityCard")
const userName= getItem("USERNAME")
const time = timeValidate()
content.value=[userName,sfzh,time,"林芝市环林卡口综合管理","禁止泄露公民个人信息和警务工作秘密"]
}
</script> </script>
<style lang="scss"> <style lang="scss">
@import "./styles/index.scss"; @import "./styles/index.scss";

View File

@ -599,7 +599,7 @@ export const selectUserDeptPage = (data = {}) => {
///unifiedLogin ///unifiedLogin
export const unifiedLogin = (data) => { export const unifiedLogin = (data) => {
return request({ return request({
url: api + `/unifiedLogin`, url: api + `/ssoLogin`,
method: "POST", method: "POST",
data data
}); });

View File

@ -6,7 +6,7 @@ import {
removeAllItem removeAllItem
} from "@/utils/storage"; } from "@/utils/storage";
// 白名单 // 白名单
const whiteList = ['/login','/','/StationLevel', '/oatuh_login','/editPassword', '/404', '/401'] const whiteList = ['/login', '/', '/StationLevel', '/oatuh_login', '/editPassword', '/404', '/401']
/** /**
* 路由前置守卫 * 路由前置守卫
* to 去哪里 * to 去哪里
@ -14,42 +14,43 @@ const whiteList = ['/login','/','/StationLevel', '/oatuh_login','/editPassword',
* next 往下走 * next 往下走
*/ */
let onRun = true; let onRun = true;
// router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
// // 存在 token ,进入主页 // 存在 token ,进入主页
// // if (store.state.user.token) { // if (store.state.user.token) {
// // 快捷访问 // 快捷访问
// if (store.getters.token) { if (store.getters.token) {
// // 判断用户资料是否获取 // 判断用户资料是否获取
// // 若不存在用户信息,则需要获取用户信息 // 若不存在用户信息,则需要获取用户信息
// // 触发获取用户信息的 action并获取用户当前权限 // 触发获取用户信息的 action并获取用户当前权限
// await store.commit('permission/setRouteReady', true) await store.commit('permission/setRouteReady', true)
// // 添加完动态路由之后,需要在进行一次主动跳转 // 添加完动态路由之后,需要在进行一次主动跳转
// const afterMenuList = await getItem('menusPermission'); const afterMenuList = await getItem('menusPermission');
// // 处理用户权限,筛选出需要添加的权限 // 处理用户权限,筛选出需要添加的权限
// if (store.state.permission.routes == 0) { if (store.state.permission.routes == 0) {
// const filterRoutes = await store.dispatch('permission/filterRoutes', afterMenuList) const filterRoutes = await store.dispatch('permission/filterRoutes', afterMenuList)
// filterRoutes.forEach(item => { filterRoutes.forEach(item => {
// router.addRoute(item) router.addRoute(item)
// }) })
// next({ next({
// ...to, ...to,
// replace: true replace: true
// }) })
// } else { } else {
// next() next()
// } }
// // 利用 addRoute 循环添加 // 利用 addRoute 循环添加
// } else { } else {
// const isOatuh = getItem('isOatuh') const isOatuh = getItem('isOatuh')
// // 没有token的情况下可以进入白名单 // 没有token的情况下可以进入白名单
// if (whiteList.indexOf(to.path) > -1) { if (whiteList.indexOf(to.path) > -1) {
// next() next()
// } else { } else {
// if (isOatuh) { if (isOatuh) {
// next('/oatuh_login') const idEntityCard = getItem('idEntityCard')
// } else { next(`/oatuh_login?token=${Base64.encode(idEntityCard)}`)
// next('/login') } else {
// } next('/login')
// } }
// } }
// }) }
})

View File

@ -21,6 +21,11 @@ export const privateRoutes = [];
* 公开路由表 * 公开路由表
*/ */
export const publicRoutes = [ export const publicRoutes = [
{
path: "/oatuh_login",
name: "oatuh_login",
component: () => import("@/views/login/oatuh_login")
},
{ {
path: "/login", path: "/login",
name: "login", name: "login",

View File

@ -132,23 +132,16 @@ export default {
*单点登录 *单点登录
*/ */
oatuhLogin(ctx, userInfo) { oatuhLogin(ctx, userInfo) {
const { const { token, systemId, } = userInfo;
token,
systemId,
} = userInfo;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
unifiedLogin({ unifiedLogin({ token, systemId }).then((data) => {
token,
systemId,
})
.then((data) => {
if (data.deptList.length === 1) { if (data.deptList.length === 1) {
this.commit("user/setToken", data.jwtToken); this.commit("user/setToken", data.jwtToken);
this.commit("user/setDeptId", data.deptList); this.commit("user/setDeptId", data.deptList);
this.commit("user/setUserName", data.userName); this.commit("user/setUserName", data.userName);
setItem("USERNAME", data.userName); setItem("USERNAME", data.userName);
setItem('fzUserId', data.fzUserId)
setItem("SFRH", data.sfrh); setItem("SFRH", data.sfrh);
setItem("USERID", data.userId); setItem("USERID", data.userId);
setItem("PermissionsInfo", data.permissionsInfo); setItem("PermissionsInfo", data.permissionsInfo);

View File

@ -0,0 +1,42 @@
<template></template>
<script setup>
import { ref, onMounted } from "vue";
import { useStore } from "vuex";
import { useRouter } from "vue-router";
import {
setItem
} from "@/utils/storage";
const loginDialog = ref(false);
const deptList = ref([]);
const store = useStore();
function redirectAuth() {
let token = location.hash.slice(20) || null;
if (token != null) {
token = token.replace(/\ +/g, "");
setItem("SSOTOKEN", token)
handleLogin({ token: token});
} else {
window.location.href = `http://155.240.22.102:40992`;
}
}
const handleLogin = (e) => {
store.dispatch("user/oatuhLogin", e).then((res) => {
// 登录后操作
if (res.deptList.length === 1) {
window.location.hash = "/";
} else {
deptList.value = [...res.deptList];
loginDialog.value = true;
authorization.value = res.jwtToken;
}
});
};
onMounted(() => {
redirectAuth();
});
</script>
<style></style>

View File

@ -4,8 +4,8 @@ function resolve(dir) {
return path.join(__dirname, dir); return path.join(__dirname, dir);
} }
// const serverHost = "http://192.192.8.9:8006"; const serverHost = "http://192.168.8.15:8006"
const serverHost = "http://192.168.1.32:8066" // const serverHost = "http://192.168.1.32:8066"
// const serverHost = "http://127.0.0.1:8006" // const serverHost = "http://127.0.0.1:8006"
module.exports = { module.exports = {
publicPath: "./", publicPath: "./",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22bd3e"],{f141:function(t,e,n){"use strict";n.r(e);var o=n("7a23"),c=n("5502"),a=n("5d2d"),u={__name:"oatuh_login",setup(t){const e=Object(o["ref"])(!1),n=Object(o["ref"])([]),u=Object(c["b"])();function i(){let t=location.hash.slice(20)||null;null!=t?(t=t.replace(/\ +/g,""),Object(a["c"])("SSOTOKEN",t),l({token:t})):window.location.href="http://155.240.22.102:40992"}const l=t=>{u.dispatch("user/oatuhLogin",t).then(t=>{1===t.deptList.length?window.location.hash="/":(n.value=[...t.deptList],e.value=!0,authorization.value=t.jwtToken)})};return Object(o["onMounted"])(()=>{i()}),(t,e)=>null}};const i=u;e["default"]=i}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.