Compare commits
3 Commits
de272b1160
...
fix-109
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f79f5aecf | ||
|
|
c2c4f323dc | ||
|
|
de412aed9c |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"zhinian": {
|
||||
"clientId": "2",
|
||||
"clientId": "6",
|
||||
"appId": "wx5e79df5996572539",
|
||||
"name": "智念",
|
||||
"placeholder": "快告诉智念您在想什么~",
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
<script setup>
|
||||
import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
|
||||
import { getEvnUrl } from "@/request/api/config";
|
||||
import { refreshToken } from "@/hooks/useGoLogin";
|
||||
|
||||
onLaunch(() => {
|
||||
getEvnUrl({ versionValue: "1.0.1" });
|
||||
refreshToken();
|
||||
});
|
||||
|
||||
onShow(() => {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { wxLogin } from "../request/api/LoginApi";
|
||||
import { loginAuth, bindPhone, checkPhone } from "@/manager/LoginManager";
|
||||
import { clientId } from "@/constant/base";
|
||||
import { useAppStore } from "@/store";
|
||||
import { NOTICE_EVENT_LOGIN_SUCCESS } from "@/constant/constant";
|
||||
|
||||
// 跳转登录
|
||||
export const goLogin = () => uni.navigateTo({ url: "/pages/login/index" });
|
||||
@@ -46,14 +47,44 @@ export const onLogin = async (e) => {
|
||||
|
||||
// 检测token
|
||||
export const checkToken = () => {
|
||||
const token = uni.getStorageSync("token");
|
||||
|
||||
return new Promise((resolve) => {
|
||||
const appStore = useAppStore();
|
||||
console.log("appStore.hasToken: ", appStore.hasToken);
|
||||
if (!appStore.hasToken) {
|
||||
console.log("没有token,跳转到登录页");
|
||||
if (!token) {
|
||||
goLogin();
|
||||
return;
|
||||
}
|
||||
|
||||
resolve();
|
||||
});
|
||||
};
|
||||
|
||||
// 刷新token
|
||||
export const refreshToken = () => {
|
||||
const token = uni.getStorageSync("token");
|
||||
|
||||
if (!token) {
|
||||
return;
|
||||
}
|
||||
|
||||
uni.login({
|
||||
provider: "weixin", //使用微信登录
|
||||
success: async ({ code }) => {
|
||||
console.log("refreshToken", code);
|
||||
const params = {
|
||||
openIdCode: [code],
|
||||
grant_type: "wechat",
|
||||
scope: "server",
|
||||
clientId: clientId,
|
||||
};
|
||||
console.log("获取到的微信授权params:", JSON.stringify(params));
|
||||
const response = await wxLogin(params);
|
||||
|
||||
if (response.access_token) {
|
||||
uni.setStorageSync("token", response.access_token);
|
||||
// 登录成功后,触发登录成功事件
|
||||
uni.$emit(NOTICE_EVENT_LOGIN_SUCCESS);
|
||||
}
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
@@ -22,12 +22,8 @@ export const getWeChatAuthCode = (e) => {
|
||||
uni.login({
|
||||
provider,
|
||||
onlyAuthorize: true,
|
||||
success: (res) => {
|
||||
resolve(res.code);
|
||||
},
|
||||
fail: (err) => {
|
||||
reject(err);
|
||||
},
|
||||
success: (res) => resolve(res.code),
|
||||
fail: (err) => reject(err),
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -11,7 +11,6 @@ import { NOTICE_EVENT_LOGIN_SUCCESS } from "@/constant/constant";
|
||||
const loginAuth = (e) => {
|
||||
uni.setStorageSync("token", "");
|
||||
const appStore = useAppStore();
|
||||
appStore.setHasToken(false);
|
||||
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const openIdCode = await getWeChatAuthCode(e);
|
||||
@@ -28,8 +27,6 @@ const loginAuth = (e) => {
|
||||
|
||||
if (response.access_token) {
|
||||
uni.setStorageSync("token", response.access_token);
|
||||
const appStore = useAppStore();
|
||||
appStore.setHasToken(true);
|
||||
// 登录成功后,触发登录成功事件
|
||||
uni.$emit(NOTICE_EVENT_LOGIN_SUCCESS);
|
||||
resolve();
|
||||
|
||||
@@ -100,8 +100,6 @@ const handleLogout = () => {
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.clearStorageSync();
|
||||
appStore.setHasToken(false);
|
||||
appStore.setTokenExpired(true);
|
||||
emits("close");
|
||||
uni.$emit(NOTICE_EVENT_LOGOUT);
|
||||
}
|
||||
|
||||
@@ -346,7 +346,9 @@ onLoad(() => {
|
||||
// token存在,初始化数据
|
||||
const initHandler = () => {
|
||||
console.log("initHandler");
|
||||
if (!appStore.hasToken) return;
|
||||
const token = uni.getStorageSync("token");
|
||||
|
||||
if (!token) return;
|
||||
loadRecentConversation();
|
||||
///loadConversationMsgList();
|
||||
initWebSocket();
|
||||
|
||||
@@ -55,15 +55,6 @@
|
||||
>
|
||||
手机号快捷登录
|
||||
</button>
|
||||
|
||||
<button
|
||||
v-if="isAgree && appStore.tokenExpired"
|
||||
class="login-btn"
|
||||
type="primary"
|
||||
@click="handleLogin"
|
||||
>
|
||||
手机号快捷登录
|
||||
</button>
|
||||
</view>
|
||||
|
||||
<AgreePopup
|
||||
@@ -120,20 +111,6 @@ const getPhoneNumber = (e) => {
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
const handleLogin = () => {
|
||||
console.log("handleLogin");
|
||||
onLogin()
|
||||
.then(() => {
|
||||
uni.showToast({
|
||||
title: "登录成功",
|
||||
icon: "success",
|
||||
});
|
||||
appStore.setTokenExpired(false);
|
||||
goBack();
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
// 处理同意协议点击事件
|
||||
const handleAgreeClick = (type) => {
|
||||
visible.value = true;
|
||||
|
||||
@@ -25,6 +25,7 @@ function request(url, args = {}, method = "POST", customConfig = {}) {
|
||||
...defaultConfig.header,
|
||||
...customConfig.header,
|
||||
};
|
||||
|
||||
// 判断是否需要 token
|
||||
if (customConfig.noToken) {
|
||||
delete header.Authorization;
|
||||
@@ -58,8 +59,6 @@ function request(url, args = {}, method = "POST", customConfig = {}) {
|
||||
if (res.statusCode && res.statusCode === 424) {
|
||||
console.log("424错误,重新登录");
|
||||
uni.setStorageSync("token", "");
|
||||
appStore.setHasToken(false);
|
||||
appStore.setTokenExpired(true);
|
||||
uni.$emit(NOTICE_EVENT_LOGOUT);
|
||||
goLogin();
|
||||
}
|
||||
|
||||
@@ -5,8 +5,6 @@ export const useAppStore = defineStore("app", {
|
||||
return {
|
||||
title: "",
|
||||
sceneId: "", // 分身场景id
|
||||
hasToken: false, // 是否有token
|
||||
tokenExpired: false, // token是否过期
|
||||
previewImageData: [], // 预览图片数据
|
||||
serverConfig: {
|
||||
baseUrl: "https://onefeel.brother7.cn/ingress", // 服务器基础地址
|
||||
@@ -23,12 +21,6 @@ export const useAppStore = defineStore("app", {
|
||||
setSceneId(data) {
|
||||
this.sceneId = data;
|
||||
},
|
||||
setHasToken(status) {
|
||||
this.hasToken = status;
|
||||
},
|
||||
setTokenExpired(status) {
|
||||
this.tokenExpired = status;
|
||||
},
|
||||
setPreviewImageData(data) {
|
||||
this.previewImageData = data;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user