| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- "use strict";
- const common_vendor = require("../common/vendor.js");
- const utils_api = require("./api.js");
- const TOKEN_KEY = "user_token";
- const USER_INFO_KEY = "user_info";
- const setToken = (token) => {
- common_vendor.index.setStorageSync(TOKEN_KEY, token);
- };
- const getToken = () => {
- return common_vendor.index.getStorageSync(TOKEN_KEY) || null;
- };
- const removeToken = () => {
- common_vendor.index.removeStorageSync(TOKEN_KEY);
- };
- const setUserInfo = (userInfo) => {
- common_vendor.index.setStorageSync(USER_INFO_KEY, JSON.stringify(userInfo));
- };
- const getUserInfo = () => {
- const userInfo = common_vendor.index.getStorageSync(USER_INFO_KEY);
- return userInfo ? JSON.parse(userInfo) : null;
- };
- const removeUserInfo = () => {
- common_vendor.index.removeStorageSync(USER_INFO_KEY);
- };
- const isLoggedIn = () => {
- return !!getToken();
- };
- const logout = () => {
- removeToken();
- removeUserInfo();
- };
- const wxAuthLogin = async (code, phoneCode) => {
- try {
- console.log("[微信登录] ========== 开始登录 ==========");
- console.log("[微信登录] 接收到的参数:");
- console.log(" - code:", code);
- console.log(" - phoneCode:", phoneCode);
- if (!code) {
- console.error("[微信登录] 错误:code为空!");
- throw new Error("微信登录code为空,请重试");
- }
- if (!phoneCode) {
- console.error("[微信登录] 错误:phoneCode为空!");
- throw new Error("手机号授权code为空,请重试");
- }
- const loginParams = {
- code,
- // 微信登录code,后端用于获取 openid 和 unionid
- phoneCode
- // 手机号授权code,后端用于获取手机号、昵称、头像等
- };
- console.log("[微信登录] 准备发送到后端的参数:", JSON.stringify(loginParams));
- const result = await utils_api.wxLogin(loginParams);
- console.log("[微信登录] 后端响应:", result);
- if (result.code === 200 && result.data && result.data.token) {
- setToken(result.data.token);
- if (result.data.userInfo) {
- setUserInfo(result.data.userInfo);
- }
- console.log("[微信登录] 登录成功,token已保存");
- common_vendor.index.showToast({
- title: "登录成功",
- icon: "success",
- duration: 1500
- });
- return true;
- } else {
- console.error("[微信登录] 后端返回格式错误:", result);
- throw new Error(result.message || "登录返回数据格式错误");
- }
- } catch (error) {
- console.error("[微信登录] ========== 登录失败 ==========");
- console.error("[微信登录] 错误详情:", error);
- common_vendor.index.showToast({
- title: error.message || "登录失败,请稍后重试",
- icon: "none",
- duration: 2e3
- });
- return false;
- }
- };
- const checkLogin = (callback) => {
- if (isLoggedIn()) {
- return true;
- }
- common_vendor.index.showModal({
- title: "登录提示",
- content: '此功能需要登录后使用,请点击"立即登录"按钮进行授权',
- showCancel: false,
- confirmText: "我知道了"
- });
- return false;
- };
- exports.checkLogin = checkLogin;
- exports.getUserInfo = getUserInfo;
- exports.isLoggedIn = isLoggedIn;
- exports.logout = logout;
- exports.setUserInfo = setUserInfo;
- exports.wxAuthLogin = wxAuthLogin;
|