Files
thebet365/apps/player/src/config/customerService.ts
Mars cb9a1e8708 feat: 短信调试日志、Tawk 客服、手机号校验放宽与 Docker 文档
API
- 短信发码/验码/创蓝全链路结构化日志(手机号脱敏)
- 新增 SMS_DEBUG_LOG_CODE,联调时可输出验证码与 sessionId(对应创蓝批次号)
- 注册成功、短信找回密码成功写入审计相关日志
- 放宽手机号归一化:移除区号白名单与 10~15 位长度限制

Player
- 公告走马灯滚动周期调整为 35 秒
- 在线客服接入 Tawk.to(tawk.html),登录用户透传昵称/头像/ID
- 三语补充 support.connecting 文案

部署与文档
- docker-compose 与 .env.docker.example 增加 SMS_DEBUG_LOG_CODE
- 新增 docs/短信调试与日志说明.md、docs/docker 镜像构建导出脚本与说明
- Docker 部署指南补充镜像构建文档链接
- .gitignore 忽略 thebet365-images.tar 与 docker-build.log

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 14:08:00 +08:00

26 lines
805 B
TypeScript

/** 客服 iframe 基址,可通过 VITE_CUSTOMER_SERVICE_URL 覆盖(如外部客服页) */
export const CUSTOMER_SERVICE_BASE =
(import.meta.env.VITE_CUSTOMER_SERVICE_URL as string | undefined)?.trim() || '/tawk.html';
export type TawkVisitor = {
name?: string;
avatar?: string;
id?: string;
};
export function buildCustomerServiceUrl(
loadingText: string,
visitor?: TawkVisitor | null,
): string {
const params = new URLSearchParams({ loadingText });
if (visitor) {
if (visitor.name) params.set('name', visitor.name);
if (visitor.avatar) params.set('avatar', visitor.avatar);
if (visitor.id) params.set('id', visitor.id);
}
const separator = CUSTOMER_SERVICE_BASE.includes('?') ? '&' : '?';
return `${CUSTOMER_SERVICE_BASE}${separator}${params.toString()}`;
}