/** * JWT 认证相关 API * 处理小程序授权登录和 token 管理 */ // #ifdef MP-ALIPAY const baseUrl = process.env.API_BASE_URL; // #endif // #ifdef H5 const baseUrl = "http://localhost:8080"; // #endif /** * 小程序授权登录 * @param {Object} params - 登录参数 { authCode, platform, corpId } * @returns {Promise} */ export async function miniAppLogin({ authCode, platform = 'alipay', corpId }) { try { const res = await uni.request({ url: `${baseUrl}/auth/miniapp/login`, method: "POST", header: { "Content-Type": "application/json", }, data: { authCode, platform, corpId, }, }); if (res && res.data) { return res.data; } return { success: false, message: "登录失败,请稍后再试", }; } catch (error) { console.error("小程序登录异常:", error); return { success: false, message: error.message || "登录失败,请稍后再试", }; } } /** * 刷新 Token * @param {String} refreshToken - 刷新令牌 * @returns {Promise} */ export async function refreshToken(refreshToken) { try { const res = await uni.request({ url: `${baseUrl}/auth/refresh`, method: "POST", header: { "Content-Type": "application/json", }, data: { refreshToken, }, }); if (res && res.data) { return res.data; } return { success: false, message: "Token 刷新失败", }; } catch (error) { console.error("Token 刷新异常:", error); return { success: false, message: error.message || "Token 刷新失败", }; } } /** * 获取当前用户信息 * @param {String} accessToken - 访问令牌 * @returns {Promise} */ export async function getCurrentUser(accessToken) { try { const res = await uni.request({ url: `${baseUrl}/auth/current`, method: "GET", header: { "Content-Type": "application/json", Authorization: `Bearer ${accessToken}`, }, }); if (res && res.data) { return res.data; } return { success: false, message: "获取用户信息失败", }; } catch (error) { console.error("获取用户信息异常:", error); return { success: false, message: error.message || "获取用户信息失败", }; } } /** * 退出登录 * @param {String} accessToken - 访问令牌 * @returns {Promise} */ export async function logout(accessToken) { try { const res = await uni.request({ url: `${baseUrl}/auth/logout`, method: "POST", header: { "Content-Type": "application/json", Authorization: `Bearer ${accessToken}`, }, }); if (res && res.data) { return res.data; } return { success: false, message: "退出登录失败", }; } catch (error) { console.error("退出登录异常:", error); return { success: false, message: error.message || "退出登录失败", }; } }