kuaifan aa2e0acaba feat(dialog): 系统设置支持禁止其他人员设置/取消聊天待办
新增系统级开关 todo_set_permission(open=允许默认 / close=禁止)。
开关为禁止时,仅本人、群主/群管理员、项目负责人/项目管理员、任务负责人
可设置或取消聊天消息待办,其他人由后端拦截;默认允许,保持现有行为。

- SystemController::setting 接入开关读写(白名单 + 默认 open)
- WebSocketDialog::checkTodoOwnerPermission 角色判断(复用 isOwner 等)
- WebSocketDialogMsg::toggleTodoMsg 内权限闸门:close 且影响到他人且
  非放行角色时 retError;仅影响自己始终放行;open 时行为零变化
- SystemSetting.vue「消息相关」新增「待办设置权限」开关 UI
- 国际化文案(original-api.txt / original-web.txt)
- TodoSetPermissionTest 覆盖角色判断、闸门决策及真实拦截路径(8 用例)

任务 #124。系统后台 admin 不特殊放行;「完成待办」不在本次范围。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 15:12:46 +00:00
..
2024-10-31 16:39:08 +08:00
2024-10-17 14:03:51 +08:00
2024-10-17 14:03:51 +08:00

语言翻译工具说明

language/translate.php 脚本用于根据 original-web.txtoriginal-api.txt 中的内容,自动生成/更新 translate.json 以及前端使用的多语言文件。

使用步骤

  1. 在项目根目录 .env 文件中配置:

    OPENAI_API_KEY=你的OpenAI密钥
    OPENAI_BASE_URL=可选的自定义API地址
    OPENAI_PROXY_URL=可选的代理地址
    
  2. language 目录下执行:

    php translate.php
    
  3. 查看生成的翻译结果:

    • 翻译详情:language/translate.json
    • API 文件:public/language/api/*.json
    • Web 文件:public/language/web/*.js

注意事项

  • .env 未设置 OPENAI_API_KEY,脚本会直接退出。
  • OPENAI_PROXY_URL 可选,留空时不会设置代理。