3 Commits

Author SHA1 Message Date
kuaifan
9151939ba5 feat(push): 移动端推送从友盟替换为 DooPush 通道
新移动端 (Expo App) 使用 doopush-react-native-sdk 完成设备注册;服务端
按 userid 标签 OR 并集定向推送,替代原友盟 alias 链路。

- 新增 app/Services/DooPushClient.php:DooPush 服务端 HTTP 客户端
  POST /apps/{appId}/push(按 tags 定向)
  POST /apps/{appId}/device-tags/{deviceToken}(绑定 userid 标签)
  DELETE 同上(解绑)
  X-API-Key 鉴权
- 新增 app/Module/Push/PushService.php:推送业务编排
  按 badge(未读数)分组合并下发,减少 HTTP 次数
- 新增 app/Http/Controllers/Api/PushController.php:设备注册/解绑接口
  api/push/register、api/push/unregister
- 修改 app/Models/UmengAlias.php:pushMsgToUserid 入口在
  DooPushClient::enabled() 时委托新通道,否则保留旧友盟链路
- 修改 config/dootask.php:新增 doopush 段(appId/apiKey/baseURL/tag_name)
- 修改 routes/web.php:注册 api/push/{method} 路由
- 同步 routes/api-map.md(doc:api-map 自动生成)

旧 EEUI App 推送链路完全不动;新 App 通过 .env 的 DOOPUSH_ENABLED=yes 启用。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-17 06:55:07 +00:00
kuaifan
468abe9902 chore(upgrade): 重新生成 api-map 同步路由收敛 + 删除过时升级报告
- doc:api-map 重新生成:8d9082f7a 将 ApproveController 6 个内部方法收敛为
  protected 后漏同步对照表,移除 6 条失效路由(现访问 404),接口数 325→319
- 删除 UPGRADE-L13-REPORT.md:内容已过时(称 light-spring 未 push、一次性栈
  仍在运行、仅 3 个 commits),升级已合入 dev

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 04:35:38 +00:00
kuaifan
383664aef7 chore(quality): 引入 phpstan/ESLint/CI 门禁、Claude hooks 与代码检索地图
- phpstan(larastan ^3.10, level 1 + baseline 封存 86 个存量错误),composer stan / stan-baseline
- ESLint 9 flat config(vue2-essential,存量违规降 warn,error 基线为 0),npm run lint
- CI:.github/workflows/tests.yml(static-checks + phpunit,phpunit 用 kuaifan/php 镜像跑,FFI doo.so 不在仓库)
- Claude Code hooks:编辑 app/ 下 PHP 后自动单文件 phpstan,失败回灌
- 检索地图:routes/api-map.md(doc:api-map 生成,325 接口)、docs/events-map.md(events:map)、types/dootask-globals.d.ts($A 207 方法)、npm run check:lang(存量缺失 93 条,CI 暂非阻塞)
- CLAUDE.md:版本号更正 Laravel 13/PHP 8.4,新增质量门禁、检索地图、架构增量规则章节

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 01:21:22 +00:00