fix: 修复登录拒绝也存token

This commit is contained in:
duanshuwen
2025-09-25 19:11:42 +08:00
parent 86c87b2cc4
commit f3d84c9349
4 changed files with 21 additions and 13 deletions

View File

@@ -10,10 +10,17 @@ export const goBack = () => uni.navigateBack({ delta: 1 });
// 登录逻辑 // 登录逻辑
export const onLogin = async (e) => { export const onLogin = async (e) => {
return new Promise(async (resolve) => { console.info("onLogin code: ", e.detail);
await loginAuth().then(async () => {
return new Promise(async (resolve, reject) => {
// 判断用户拒绝
if (e.detail.errno === 104) {
reject();
return;
}
await loginAuth(e).then(async () => {
const { code } = e.detail; const { code } = e.detail;
console.info("onLogin code: ", code);
// 绑定手机号 // 绑定手机号
const params = { wechatPhoneCode: code, clientId: clientId }; const params = { wechatPhoneCode: code, clientId: clientId };

View File

@@ -1,4 +1,4 @@
export const getWeChatAuthCode = () => { export const getWeChatAuthCode = (e) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
// 条件编译微信小程序、抖音小程序 // 条件编译微信小程序、抖音小程序
let provider = ""; let provider = "";
@@ -10,10 +10,16 @@ export const getWeChatAuthCode = () => {
provider = "toutiao"; provider = "toutiao";
// #endif // #endif
// 判断用户拒绝授权
if (e.detail.errMsg === "getPhoneNumber:fail user deny") {
reject();
return;
}
uni.login({ uni.login({
provider, provider,
onlyAuthorize: true,
success: (res) => { success: (res) => {
console.log("微信登录成功", res);
resolve(res.code); resolve(res.code);
}, },
fail: (err) => { fail: (err) => {

View File

@@ -8,13 +8,13 @@ import { useAppStore } from "@/store";
import { clientId } from "@/constant/base"; import { clientId } from "@/constant/base";
import { NOTICE_EVENT_LOGIN_SUCCESS } from "@/constant/constant"; import { NOTICE_EVENT_LOGIN_SUCCESS } from "@/constant/constant";
const loginAuth = () => { const loginAuth = (e) => {
uni.setStorageSync("token", ""); uni.setStorageSync("token", "");
const appStore = useAppStore(); const appStore = useAppStore();
appStore.setHasToken(false); appStore.setHasToken(false);
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
const openIdCode = await getWeChatAuthCode(); const openIdCode = await getWeChatAuthCode(e);
console.log("获取到的微信授权code:", openIdCode); console.log("获取到的微信授权code:", openIdCode);
const params = { const params = {
openIdCode: [openIdCode], openIdCode: [openIdCode],

View File

@@ -111,12 +111,7 @@ const getPhoneNumber = (e) => {
}); });
goBack(); goBack();
}) })
.catch(() => { .catch(() => {});
uni.showToast({
title: "登录失败",
icon: "none",
});
});
}; };
// 处理同意协议点击事件 // 处理同意协议点击事件