Files
lilishop-uniapp/pages/live/utils/liveSetting.js
2026-07-01 18:07:51 +08:00

35 lines
913 B
JavaScript

import { getLiveSetting } from "@/api/live.js";
let cachedSetting = null;
let fetchingPromise = null;
export async function fetchLiveSetting(force = false) {
if (!force && cachedSetting) return cachedSetting;
if (!force && fetchingPromise) return fetchingPromise;
fetchingPromise = (async () => {
try {
const res = await getLiveSetting();
if (res.data?.success && res.data?.result) {
cachedSetting = res.data.result;
return cachedSetting;
}
console.warn("获取直播配置失败", res.data);
return null;
} catch (error) {
console.error("获取直播配置异常:", error);
return null;
} finally {
fetchingPromise = null;
}
})();
return fetchingPromise;
}
export function resolveSdkAppId(setting) {
if (!setting?.imSdkAppid) return 0;
const id = Number(setting.imSdkAppid);
return Number.isNaN(id) ? 0 : id;
}