// 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' });