43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
/**
|
||
* 按俱乐部拉取公告/轮播(必须带 X-Club-Id,否则会落到默认 xq)
|
||
*/
|
||
import { buildClubHeaders, getClubId } from './club-context';
|
||
|
||
export function isGonggaoCacheValid(app) {
|
||
const g = app.globalData || {};
|
||
const cid = getClubId(app);
|
||
return g._gonggaoClubId === cid && (g.shangpingonggao || (g.shangpinlunbo && g.shangpinlunbo.length));
|
||
}
|
||
|
||
export function applyGonggaoToGlobal(app, data) {
|
||
if (!data) return;
|
||
const g = app.globalData;
|
||
g.shangpingonggao = data.shangpingonggao || '';
|
||
g.shangpinlunbo = data.shangpinlunbo || [];
|
||
g._gonggaoClubId = getClubId(app);
|
||
}
|
||
|
||
export function fetchGonggaoLunbo(app, pageKey = 'order_pool') {
|
||
const apiBase = app.globalData && app.globalData.apiBaseUrl;
|
||
if (!apiBase) {
|
||
return Promise.resolve(null);
|
||
}
|
||
return new Promise((resolve, reject) => {
|
||
wx.request({
|
||
url: `${apiBase}/peizhi/shangpingonggao/`,
|
||
method: 'POST',
|
||
header: buildClubHeaders({ 'content-type': 'application/json' }),
|
||
data: { page_key: pageKey },
|
||
success: (res) => {
|
||
if (res.statusCode === 200 && res.data) {
|
||
applyGonggaoToGlobal(app, res.data);
|
||
resolve(res.data);
|
||
} else {
|
||
reject(new Error('shangpingonggao 请求失败'));
|
||
}
|
||
},
|
||
fail: reject,
|
||
});
|
||
});
|
||
}
|