refactor(store): 将用户认证相关状态移至store管理

移除组件中通过provide/inject传递的realname和userInfoWin状态,改为在store中统一管理
新增openAttest mutation处理认证流程
更新axios.js中的测试session token
This commit is contained in:
DESKTOP-RQ919RC\Pc
2025-06-30 15:00:10 +08:00
parent 8b8b6a1da3
commit b5f4966ebd
17 changed files with 441 additions and 448 deletions

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

2
dist/index.html vendored
View File

@@ -1,4 +1,4 @@
<!doctype html><html lang=""><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="icon" href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/favicon.ico"/><title>港校租房</title><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/chunk-vendors.5bed831c.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/app.6ba75450.js"></script><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/chunk-vendors.7885d77e.css" rel="stylesheet"><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/app.b06f183c.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but zufang doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><script src="https://app.gter.net/bottom?tpl=header&menukey=fang"></script><div id="app"></div><div style="display: none;"><script>var _hmt = _hmt || []
<!doctype html><html lang=""><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="icon" href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/favicon.ico"/><title>港校租房</title><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/chunk-vendors.5bed831c.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/app.3bcf6414.js"></script><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/chunk-vendors.7885d77e.css" rel="stylesheet"><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/app.631fbbe4.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but zufang doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><script src="https://app.gter.net/bottom?tpl=header&menukey=fang"></script><div id="app"></div><div style="display: none;"><script>var _hmt = _hmt || []
;(function () {
var hm = document.createElement("script")
hm.src = "//hm.baidu.com/hm.js?4bd66cbe45a640b607fe46c48f658746"

File diff suppressed because one or more lines are too long

1
dist/js/app.3bcf6414.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
"use strict";(self["webpackChunkzufang"]=self["webpackChunkzufang"]||[]).push([[479],{261:function(n,e,u){u.r(e),u.d(e,{default:function(){return c}});var t=u(6252),a=u(4006),r={__name:"choosing-identity",setup(n){return(n,e)=>((0,t.wg)(),(0,t.j4)(a.Z,{key:0}))}};const s=r;var c=s}}]);
"use strict";(self["webpackChunkzufang"]=self["webpackChunkzufang"]||[]).push([[479],{261:function(n,e,u){u.r(e),u.d(e,{default:function(){return c}});var t=u(6252),a=u(4858),r={__name:"choosing-identity",setup(n){return(n,e)=>((0,t.wg)(),(0,t.j4)(a.Z,{key:0}))}};const s=r;var c=s}}]);

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

@@ -22,34 +22,19 @@ onMounted(() => {
});
let realname = ref(1); // 是否已经实名
let userInfoWin = ref({});
const getUserInfoWin = () => {
const checkUser = () => {
const user = window.userInfoWin;
if (!user) return;
store.state.userInfoWin = user
document.removeEventListener("getUser", checkUser);
userInfoWin.value = user;
realname.value = user.realname;
store.state.realname = user.realname;
};
document.addEventListener("getUser", checkUser);
};
const openAttest = () => {
const handleAttestClose = () => {
document.removeEventListener("closeAttest", handleAttestClose);
realname.value = window.userInfoWin?.realname;
};
// 启动认证流程时添加监听
document.addEventListener("closeAttest", handleAttestClose);
loadAttest(2);
};
provide("realname", realname);
provide("userInfoWin", userInfoWin);
provide("openAttest", openAttest);
const route = useRoute();
watch(route, (newValue, oldValue) => {

View File

@@ -50,6 +50,7 @@ import { ElLoading } from "element-plus";
import { ref, reactive, onMounted, getCurrentInstance, defineEmits, inject } from "vue";
import { useRouter, useRoute } from "vue-router";
import store from "../../store/index"
const { proxy } = getCurrentInstance();
const router = useRouter();
@@ -74,16 +75,10 @@ let housingnum = ref(0);
let isintermediary = ref(0);
let loading = ref(null); // 加载
let openAttest = inject("openAttest");
const realname = inject("realname");
const userInfoWin = inject("userInfoWin");
// 点击按钮
const ClickBtn = () => {
console.log(realname.value == 0, userInfoWin.value.uin > 0);
if (realname.value == 0 && userInfoWin.value.uin > 0) {
openAttest();
if (store.state.realname == 0 && store.state.userInfoWin?.uin > 0) {
store.commit('openAttest')
return;
}
if (identityList.value.length == 0) init();

View File

@@ -30,10 +30,23 @@ export default createStore({
intermediaryPitchValue: {}, // 中介筛选的值 全局化
locationObj: {}, // 地区数据
bannerData: {}, // 所有轮播数据
userInfoWin: {},
realname: 1, // 是否已经实名
},
getters: {},
mutations: {},
mutations: {
openAttest() {
const handleAttestClose = () => {
document.removeEventListener("closeAttest", handleAttestClose);
store.state.realname = window.userInfoWin?.realname;
};
// 启动认证流程时添加监听
document.addEventListener("closeAttest", handleAttestClose);
loadAttest(2);
},
},
actions: {},
modules: {},
plugins: [],
});
});

View File

@@ -20,7 +20,7 @@ axios.interceptors.request.use(
if (config.url != "/tenement/pc/api/user/operation" && !noMask) showFullScreenLoading()
// 开发时登录用的,可以直接替换小程序的 authorization
if (process.env.NODE_ENV !== "production") {
const miucms_session = "d5645b2afb14eb6e62763901ff977059";
const miucms_session = "nlwy6wa5rqr6csaic4u6aqb08bjmqqbg";
document.cookie = "miucms_session=" + miucms_session;
config["headers"]["authorization"] = miucms_session;
}

File diff suppressed because it is too large Load Diff

View File

@@ -46,10 +46,6 @@ import Masonry from "masonry-layout"
import store from "../../store/index"
import { set } from "nprogress"
let openAttest = inject("openAttest");
const realname = inject("realname");
const userInfoWin = inject("userInfoWin");
//路由
const router = useRouter()