|
@@ -14,6 +14,7 @@ const Current = userCurrent()
|
|
|
const name = ref('')
|
|
|
const isShow = ref(true)
|
|
|
const setTimeState = ref(null)
|
|
|
+const topUserInfo = ref({})
|
|
|
|
|
|
onMounted(() => {
|
|
|
// 通过 code 获取登录信息
|
|
@@ -153,31 +154,59 @@ const userInfo2 = (data) => {
|
|
|
}
|
|
|
|
|
|
const setStateUserinfo = (userid) => {
|
|
|
+ selectUser(userid)
|
|
|
// setTimeState
|
|
|
- setTimeState.value = setInterval(() => {
|
|
|
- if (JSON.stringify(top.US.userInfo) != '{}') {
|
|
|
- // store.user = top.US.userInfo
|
|
|
- settimeoutUserinfo()
|
|
|
- clearInterval(setTimeState.value)
|
|
|
- }
|
|
|
- }, 1000)
|
|
|
+ // setTimeState.value = setInterval(() => {
|
|
|
+ // if (JSON.stringify(top.US.userInfo) != '{}') {
|
|
|
+ // // store.user = top.US.userInfo
|
|
|
+ // settimeoutUserinfo()
|
|
|
+ // clearInterval(setTimeState.value)
|
|
|
+ // }
|
|
|
+ // }, 1000)
|
|
|
}
|
|
|
|
|
|
const settimeoutUserinfo = () => {
|
|
|
setTimeout(() => {
|
|
|
isShow.value = false
|
|
|
console.log("top.US.userInfo", top.US.userInfo)
|
|
|
- // store.setUserInfo(top.US.userInfo)
|
|
|
- U.A.Request(top.US.Config.pbl + "selectUser?userid=" + d.data[0][0].userid, [], function (res) { //US.userInfo.userid
|
|
|
- if (res.value == null || res.value[0].length == 0) {
|
|
|
- top.US.userInfo = res.value[0][0]
|
|
|
- top.U.UF.Cookie.set("cocoroboLoginType=2");
|
|
|
- store.setUserInfo(res.value[0][0])
|
|
|
- }
|
|
|
- })
|
|
|
+ store.setUserInfo(top.US.userInfo)
|
|
|
}, 1000)
|
|
|
}
|
|
|
|
|
|
+// 优化selectUser,结合settimeoutUserinfo的逻辑,统一用户信息拉取和存储
|
|
|
+const selectUser = (uid) => {
|
|
|
+ // 优先使用已存在的用户信息
|
|
|
+ var userInfo = topUserInfo.value;
|
|
|
+ var panId = userInfo && userInfo.accountNumber;
|
|
|
+ if (panId) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 拉取用户信息并处理
|
|
|
+ const requestUser = () => {
|
|
|
+ U.A.Request(`${top.US.Config.pbl}selectUser?userid=${uid}`, [], function (res) {
|
|
|
+ if (res && res.value && res.value.length && res.value[0].length && res.value[0][0].userid) {
|
|
|
+ // 拉取成功,存储用户信息
|
|
|
+ isShow.value = false;
|
|
|
+ top.US.userInfo = res.value[0][0];
|
|
|
+ topUserInfo.value = res.value[0][0];
|
|
|
+ top.U.UF.Cookie.set("cocoroboLoginType=2");
|
|
|
+ store.setUserInfo(res.value[0][0]);
|
|
|
+ } else {
|
|
|
+ top.U.alert("获取用户信息失败,正在重试!");
|
|
|
+ requestUser();
|
|
|
+ }
|
|
|
+ }, [], { "type": "GET", "withCredentials": true });
|
|
|
+ };
|
|
|
+
|
|
|
+ try {
|
|
|
+ requestUser();
|
|
|
+ } catch (error) {
|
|
|
+ top.U.alert("登录失败,正在重试!");
|
|
|
+ requestUser();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
const getUrlParam = (urlStr, urlKey) => {
|
|
|
const url = new URL(urlStr) // 字符串转换成url格式
|
|
|
const paramsStr = url.search.slice(1) // 获取'?'后面的参数字符串
|