Files
xingque/utils/club-context.js
2026-07-09 00:17:03 +08:00

65 lines
1.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 多俱乐部上下文(读取 config/club-config.js 中的固定 club_id
*/
import { CLUB_ID as CONFIG_CLUB_ID, WX_APP_ID } from '../config/club-config';
const CLUB_ID_KEY = 'club_id';
const CLUB_SCOPE_KEY = 'club_scope';
const DEFAULT_CLUB_ID = CONFIG_CLUB_ID || 'xq';
export const CLUB_API = {
wechatLogin: '/jituan/auth/wechat-login',
dashouRegister: '/jituan/auth/dashou-register',
clubList: '/jituan/club/list',
};
export function getConfiguredClubId() {
return DEFAULT_CLUB_ID;
}
export function getWxAppId() {
return WX_APP_ID || '';
}
export function getClubId(app) {
const configured = getConfiguredClubId();
const stored = wx.getStorageSync(CLUB_ID_KEY);
if (stored && stored === configured) {
return stored;
}
if (stored && stored !== configured) {
wx.removeStorageSync(CLUB_ID_KEY);
}
app = app || getApp();
if (app && app.globalData && app.globalData.clubId === configured) {
return app.globalData.clubId;
}
return configured;
}
export function setClubId(clubId, app) {
const configured = getConfiguredClubId();
const id = (clubId || configured).trim() || configured;
if (id !== configured) {
console.warn('[club] 登录返回 club_id 与工程配置不一致,以工程配置为准', id, configured);
}
const finalId = configured;
app = app || getApp();
wx.setStorageSync(CLUB_ID_KEY, finalId);
if (app && app.globalData) {
app.globalData.clubId = finalId;
}
return finalId;
}
export function getClubScope() {
return wx.getStorageSync(CLUB_SCOPE_KEY) || 'single';
}
export function buildClubHeaders(extra = {}) {
return {
...extra,
'X-Club-Id': getClubId(),
};
}