topfans/frontend/utils/constants.js
2026-07-15 12:40:39 +08:00

34 lines
1.3 KiB
JavaScript

// frontend/utils/constants.js
// 跨模块共享常量(URL / 枚举 / 阈值等)
/**
* H5 落地页根域名
*
* ⚠️ 必须与后端 `LANDING_BASE_URL` 环境变量保持一致(spec § 3):
* - 后端 QR 码服务用此值组装 /asset/{id}?from=...&s=...
* - 前端"复制链接"用此值生成可分享的落地页 URL
*
* 取值优先级:VITE_API_BASE_URL(env)→ 默认 `https://api.topfans.online`(兜底值)。
* 一旦两侧不一致,扫描二维码 / 复制链接就会跳错地址 —— 改 env 务必同步后端 env。
*/
export const LANDING_BASE = String(
import.meta.env.VITE_API_BASE_URL || 'http://topfans.online'
).replace(/\/+$/, '');
/**
* 分享目标枚举(与后端 assetService/validShareTargets 保持一致)
*
* 同步点:后端 backend/services/assetService/service/share_service.go
* validShareTargets 枚举里已包含 copy_link;
* 前端 copyLink 复制成功后会上报 share_target=copy_link 走 TrackShare 通道,
* 让"复制链接"进入与图形分享并列的统计归因。
*/
export const SHARE_TARGETS = Object.freeze({
WEIXIN_FRIEND: 'weixin_friend',
WEIXIN_MOMENT: 'weixin_moment',
QQ: 'qq',
QQ_ZONE: 'qq_zone',
SINAWEIBO: 'sinaweibo',
SAVE_IMAGE: 'save_image',
COPY_LINK: 'copy_link'
});