feat: alipay login

This commit is contained in:
zzc
2026-02-11 09:11:56 +08:00
parent 5257a766f6
commit 9a69fe704c
3 changed files with 76 additions and 21 deletions

View File

@@ -93,7 +93,7 @@ import { useUserStore } from "@/stores/user";
import { getPlatformProvider, isSinglePageMode } from "@/utils/system";
import { uploadImage } from "@/utils/common";
import { apiLogin } from "@/api/auth.js";
import { wxLogin } from "@/utils/login.js";
import { wxLogin, alipayLogin } from "@/utils/login.js";
import PrivacyPopup from "@/components/PrivacyPopup/PrivacyPopup.vue";
const popupRef = ref(null);
@@ -202,6 +202,7 @@ const confirmLogin = async () => {
try {
const platform = getPlatformProvider();
if (platform === "mp-weixin") {
const code = await wxLogin();
const imageUrl = avatarUrl.value
@@ -230,6 +231,37 @@ const confirmLogin = async () => {
emit("logind");
popupRef.value.close();
// 重置临时变量
avatarUrl.value = "";
nickname.value = "";
} else if (platform === "mp-alipay") {
const code = await alipayLogin();
const imageUrl = avatarUrl.value
? await uploadImage(avatarUrl.value)
: "";
const loginRes = await apiLogin({
code,
nickname: nickname.value || getFestivalName(),
avatarUrl: imageUrl,
platform: "alipay",
shareToken: props.shareToken,
});
// 保存用户信息到store
userStore.setUserInfo({
nickName: loginRes?.user?.nickname || nickname.value,
avatarUrl: loginRes?.user?.avatar || imageUrl,
id: loginRes?.user?.id,
isVip: loginRes?.isVip || false,
vipExpireAt: loginRes?.vipExpireAt || null,
});
userStore.setToken(loginRes.token);
uni.showToast({ title: "登录成功", icon: "success" });
emit("logind");
popupRef.value.close();
// 重置临时变量
avatarUrl.value = "";
nickname.value = "";