feat: 做了适配手机端的条件编译的

This commit is contained in:
2026-05-10 11:24:48 +08:00
parent 58a88b7953
commit bef68d4f3c
7 changed files with 117 additions and 62 deletions

View File

@@ -1,29 +0,0 @@
export const getWeChatAuthCode = (e) => {
return new Promise((resolve, reject) => {
// 条件编译微信小程序、抖音小程序
let provider = "";
// #ifdef MP-WEIXIN
provider = "weixin";
// #endif
// #ifdef MP-TOUTIAO
provider = "toutiao";
// #endif
// 判断用户拒绝授权
if (
e !== undefined &&
e.detail.errMsg === "getPhoneNumber:fail user deny"
) {
reject();
return;
}
uni.login({
provider,
onlyAuthorize: true,
success: (res) => resolve(res.code),
fail: (err) => reject(err),
});
});
};

View File

@@ -1,5 +1,4 @@
import { oauthToken, bindUserPhone } from "../request/api/LoginApi";
import { getWeChatAuthCode } from "./AuthManager";
import { clientId } from "@/constant/base";
import { NOTICE_EVENT_LOGIN_SUCCESS } from "@/constant/constant";
import { removeAccessToken, setAccessToken } from "../constant/token";
@@ -7,25 +6,66 @@ import { removeAccessToken, setAccessToken } from "../constant/token";
const loginAuth = (e) => {
removeAccessToken();
return new Promise(async (resolve, reject) => {
const openIdCode = await getWeChatAuthCode(e);
console.log("获取到的微信授权code:", openIdCode);
const params = {
openIdCode: [openIdCode],
grant_type: "wechat",
scope: "server",
clientId: clientId,
};
console.log("获取到的微信授权params:", JSON.stringify(params));
const response = await oauthToken(params);
console.log("获取到的微信授权response:", response);
// 条件编译微信小程序、抖音小程序、APP-PLUS包含iOS和Android
let provider = "weixin";
let grant_type = "wechat";
if (response.access_token) {
setAccessToken(response.access_token);
resolve();
} else {
reject(response.message || "登录失败");
}
// #ifdef MP-WEIXIN
provider = "weixin";
grant_type = "wechat";
// #endif
// #ifdef MP-TOUTIAO
provider = "toutiao";
grant_type = "toutiao";
// #endif
// #ifdef APP-PLUS
const systemInfo = uni.getSystemInfoSync();
if (systemInfo.platform === "ios") {
provider = "apple";
grant_type = "apple";
}
// #endif
return new Promise(async (resolve, reject) => {
uni.login({
provider,
onlyAuthorize: true,
success: async (loginRes) => {
console.log("Authorize success: ", JSON.stringify(loginRes));
const openIdCode =
provider === "apple"
? loginRes.appleInfo && loginRes.appleInfo.identityToken
: loginRes.code;
console.log("获取到的授权code:", openIdCode);
if (!openIdCode) {
console.warn("refreshToken 未获取到登录 code");
reject("refreshToken 未获取到登录 code");
return;
}
const params = {
openIdCode: [openIdCode],
grant_type: grant_type,
clientId: clientId,
scope: "server",
};
console.log("获取到的授权params:", JSON.stringify(params));
const response = await oauthToken(params);
if (response.access_token) {
setAccessToken(response.access_token);
resolve();
} else {
reject(response.message || "登录失败");
}
},
fail: (err) => {
reject("登录失败");
},
});
});
};
@@ -34,7 +74,7 @@ const bindPhone = async (params) => {
const response = await bindUserPhone(params);
return response;
} catch (error) {
throw err;
throw error;
}
};