refactor(store): 将用户认证相关状态移至store管理
移除组件中通过provide/inject传递的realname和userInfoWin状态,改为在store中统一管理 新增openAttest mutation处理认证流程 更新axios.js中的测试session token
This commit is contained in:
19
src/App.vue
19
src/App.vue
@@ -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) => {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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: [],
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user