"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); 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 (successCallback, failCallback) => { try { const loginRes = await common_vendor.index.login(); console.log("[微信登录] 获取code成功:", loginRes.code); const result = await utils_api.wxLogin({ code: loginRes.code }); console.log("[微信登录] 登录成功:", result); setToken(result.data.token); setUserInfo(result.data.userInfo); common_vendor.index.showToast({ title: "登录成功", icon: "success", duration: 1500 }); if (successCallback) { setTimeout(() => { successCallback(); }, 1500); } return true; } catch (error) { console.error("[微信登录] 登录失败:", error); common_vendor.index.showToast({ title: error.message || "登录失败", icon: "none", duration: 2e3 }); if (failCallback) { failCallback(error); } return false; } }; const checkLogin = (callback) => { if (isLoggedIn()) { return true; } common_vendor.index.showModal({ title: "登录提示", content: "此功能需要登录后使用,是否立即登录?", confirmText: "立即登录", cancelText: "暂不登录", success: (res) => { if (res.confirm) { wxAuthLogin(callback); } } }); return false; }; exports.checkLogin = checkLogin; exports.getToken = getToken; exports.getUserInfo = getUserInfo; exports.isLoggedIn = isLoggedIn; exports.logout = logout; exports.removeToken = removeToken; exports.removeUserInfo = removeUserInfo; exports.setToken = setToken; exports.setUserInfo = setUserInfo; exports.wxAuthLogin = wxAuthLogin;