后端:资料距离、语音图片会员限制、免短信注册、AI 托管回复修复
- 单用户资料接口补上距离:此前只有推荐/附近列表会算距离,资料页和 聊天头部因此无内容可显示。沿用同一套 haversine 与隐私开关。 - 语音/图片消息可限定会员发送,两个开关在管理端「运营配置」中修改 (迁移 032)。校验放在 persistMessageContext,HTTP 与 WebSocket 两条发送路径都覆盖;文本消息永不受限。 - 短信服务关闭时注册不再要求验证码:关掉之后没人能拿到验证码,继续 要求就等于关闭注册通道。重置密码不做同样放宽,那里缺验证码等于 凭手机号夺号。app/config 增加 smsVerification 供客户端决定表单形态。 - 修复 AI 托管账号之间不回复:原规则按「发送方是否托管账号」拦截, 把真人操作测试号的正常对话也挡了。改为标记 worker 自己写入的回复, 只对 AI 生成的消息跳过入队。 - ai.default_model_id 同时接受模型 ID 与名称,填名称时不再被 MySQL 静默转成 0 而使配置失效。 - 聊天媒体留存管理与清理任务(迁移 033,两台线上均已应用)。 新增集成测试均针对真实 MySQL:会员限制、免短信注册、AI 入队规则、 默认模型解析、资料距离。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
842990b0e7
commit
acd8933dbb
@@ -402,3 +402,27 @@ H5 的 OAuth 请求已兼容线上严格 JSON 解码:不发送空 `appProof`
|
||||
- 生产数据库中 100 条测试用户头像链接前后指纹一致,更新行数为 0;未修改 COS 配置、用户资料或其他媒体。
|
||||
- 备份与验证记录位于 `/www/backup/xingyu-cos-avatars-thumbnails-20260901-110619`,目录仅 root 可读。迁移二进制 SHA-256 为 `9516326bb0cd9b3e5090ee0a567de164bbfa8644545b5c7021918ea56ff92695`。
|
||||
- 此操作只新增静态对象,无需重启后端。客户端重新进入“附近”页后即可直接请求缩略图。
|
||||
|
||||
## 2026-09-03 语音上传兼容修复(10:20)
|
||||
|
||||
已将手机录音上传兼容修复发布到 `im.bchongw.com`。服务端新增对无 ID3 标签、直接以 MPEG 音频帧开头的 MP3 录音识别,并兼容客户端显式传入 `purpose=voice`;原有图片、头像和普通媒体上传契约保持不变。
|
||||
|
||||
- 发布目录:`/www/server/xingyu-im/releases/voice-upload-20260903-102001`。
|
||||
- 回滚备份:`/www/backup/xingyu-voice-upload-20260903-102001/xingyu-api-original`。
|
||||
- 新后端 SHA-256:`ac1b0c9f5a48b2386fbecb604003fc97299951e580c97e02f8765e1e0228deee`。
|
||||
- 上一后端 SHA-256:`b250dd522a74a8812d392e5ed3ae17b2981c799978abf402770dfff1c7442086`。
|
||||
- 源码归档 SHA-256:`0dbc6fd23c2bd8e69cc0a15e21d3b1f5b60e7586c91dd20ef486a46071ad047b`。
|
||||
- 本次没有数据库迁移、业务数据写入、Nginx 改动或前端目录切换。
|
||||
|
||||
发布前完整执行 `go test ./...`,包含裸 MPEG Layer III 录音上传回归用例。发布后宝塔 Go 项目 PID 为 `58246`,磁盘文件与 `/proc` 运行映像摘要均为新版本;本机和公网健康检查返回 200,未认证媒体上传请求返回 401。
|
||||
|
||||
## 2026-09-03 聊天媒体查询修复(11:50)
|
||||
|
||||
管理端“聊天媒体”页面已发布,但数据库漏执行 `033_chat_media_management.sql`,导致列表接口查询不存在的 `im_message_media` 表并返回“查询聊天媒体失败”。本次先完成整库 gzip 备份,再补执行该迁移。
|
||||
|
||||
- 数据库备份:`/www/backup/xingyu-chat-media-migration-20260903-115013/im.sql.gz`,备份目录权限 0700、文件权限 0600,gzip 完整性检查通过。
|
||||
- 迁移:`033_chat_media_management.sql`,SHA-256 `677c8dfe790e5996326f29967e41dba1f6a2a8018112be7eb42dc9fab1c600df`;迁移记录与工作区文件校验值一致。
|
||||
- 历史媒体消息 0 条,管理表 0 条;列表联表查询与统计查询均执行成功。
|
||||
- 自动清理保持关闭,默认保留天数为 90 天;本次未删除、覆盖或上传任何聊天文件。
|
||||
- 管理端发布目录仍为 `/www/wwwroot/xingyu-admin/releases/20260903-112753`。宝塔实际运行二进制 `/www/server/xingyu-im/bt/xingyu-api` SHA-256 为 `5a97957780900428cc106f2140d640d2d04963729eeeefb396fc8fffc32763a4`,已包含聊天媒体接口,与副站一致,无需重启。
|
||||
- 复核 `https://im.bchongw.com/healthz`、管理端入口均返回 200;未登录访问聊天媒体接口返回 401,确认路由与鉴权正常。
|
||||
|
||||
@@ -96,3 +96,27 @@ tail -n 200 /www/wwwlogs/go/xim_im.log
|
||||
```
|
||||
|
||||
首次登录后应在管理端修改管理员密码。短信、对象存储、第三方登录和正式支付渠道仍需在管理端填入实际厂商参数并分别完成联调;本次没有写入任何真实第三方密钥。
|
||||
|
||||
## 2026-09-03 语音上传兼容修复(10:21)
|
||||
|
||||
已同步发布与 `im.bchongw.com` 完全相同的后端二进制。服务端新增对无 ID3 标签、直接以 MPEG 音频帧开头的 MP3 录音识别,并兼容客户端显式传入 `purpose=voice`;原有媒体上传接口与鉴权规则不变。
|
||||
|
||||
- 当前版本:`/www/server/xim-im/releases/voice-upload-20260903-102059`,`/www/server/xim-im/current` 已原子切换至该目录。
|
||||
- 回滚备份:`/www/backup/xim-voice-upload-20260903-102059`;上一版本目录 `/www/server/xim-im/releases/20260903-090411` 继续保留。
|
||||
- 新后端 SHA-256:`ac1b0c9f5a48b2386fbecb604003fc97299951e580c97e02f8765e1e0228deee`。
|
||||
- 上一后端 SHA-256:`b250dd522a74a8812d392e5ed3ae17b2981c799978abf402770dfff1c7442086`。
|
||||
- 源码归档 SHA-256:`0dbc6fd23c2bd8e69cc0a15e21d3b1f5b60e7586c91dd20ef486a46071ad047b`。
|
||||
- 本次没有数据库迁移、业务数据写入、Nginx 改动或管理端目录切换。
|
||||
|
||||
发布前完整执行 `go test ./...`。发布后宝塔 Go 项目 PID 为 `1523690`,磁盘文件与 `/proc` 运行映像摘要均为新版本;本机和公网健康检查返回 200,未认证媒体上传请求返回 401。两台接口服务器的运行二进制摘要一致。
|
||||
|
||||
## 2026-09-03 聊天媒体查询修复(11:50)
|
||||
|
||||
管理端“聊天媒体”页面已发布,但数据库漏执行 `033_chat_media_management.sql`,导致列表接口查询不存在的 `im_message_media` 表并返回“查询聊天媒体失败”。本次先完成整库 gzip 备份,再补执行该迁移。
|
||||
|
||||
- 数据库备份:`/www/backup/xim-chat-media-migration-20260903-115006/xim.sql.gz`,备份目录权限 0700、文件权限 0600,gzip 完整性检查通过。
|
||||
- 迁移:`033_chat_media_management.sql`,SHA-256 `677c8dfe790e5996326f29967e41dba1f6a2a8018112be7eb42dc9fab1c600df`;迁移记录与工作区文件校验值一致。
|
||||
- 6 条历史图片/语音消息已全部回填至管理表,缺失 0 条;列表联表查询返回 6 条,统计查询为正常保存 6 条、已清理 0 条、清理失败 0 条,总文件大小 480098 字节。
|
||||
- 自动清理保持关闭,默认保留天数为 90 天;本次未删除、覆盖或上传任何聊天文件。
|
||||
- 管理端发布目录仍为 `/www/wwwroot/xim-admin/releases/20260903-112804`;后端 SHA-256 为 `5a97957780900428cc106f2140d640d2d04963729eeeefb396fc8fffc32763a4`,与主站实际运行版本一致,无需重启。
|
||||
- 复核 `https://xim.bchongw.com/healthz`、管理端入口均返回 200;未登录访问聊天媒体接口返回 401,确认路由与鉴权正常。
|
||||
|
||||
Reference in New Issue
Block a user