mirror of
https://github.com/kuaifan/dootask.git
synced 2026-06-25 00:32:13 +00:00
- 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>
10 KiB
10 KiB
前端事件总线注册表
本文件由脚本自动生成,请勿手改。
- 生成命令:
node scripts/gen-events-map.mjs- 扫描范围:
resources/assets/js下所有.js/.vue文件(共 268 个)- 事件总线:
resources/assets/js/store/events.js(mitt 实例)- 仅匹配裸
emitter.emit/on/off(调用;xxx.emitter.emit((如 Quill 内部 emitter)不属于本总线,已排除
共 29 个静态可解析事件,125 处 emitter.emit/on/off 调用。
事件清单
addMeeting
- emit(10)
resources/assets/js/App.vue:420resources/assets/js/pages/manage.vue:1236resources/assets/js/pages/manage.vue:1243resources/assets/js/pages/manage/application.vue:1188resources/assets/js/pages/manage/application.vue:1194resources/assets/js/pages/manage/components/ChatInput/index.vue:1882resources/assets/js/pages/manage/components/DialogView/index.vue:621resources/assets/js/pages/manage/components/DialogWrapper.vue:2017resources/assets/js/pages/manage/components/DialogWrapper.vue:2025resources/assets/js/pages/manage/messenger.vue:1219
- on(1)
resources/assets/js/pages/manage/components/MeetingManager/index.vue:187
- off(1)
resources/assets/js/pages/manage/components/MeetingManager/index.vue:191
addTask
- emit(3)
resources/assets/js/pages/manage/calendar.vue:255resources/assets/js/pages/manage/components/DialogWrapper.vue:3513resources/assets/js/pages/manage/components/ProjectPanel.vue:1357
- on(1)
resources/assets/js/pages/manage.vue:621
- off(1)
resources/assets/js/pages/manage.vue:641
aiAssistantClosed
- emit(1)
resources/assets/js/components/AIAssistant/index.vue:420
- on(1)
resources/assets/js/components/AIAssistant/float-button.vue:154
- off(1)
resources/assets/js/components/AIAssistant/float-button.vue:162
aiOperationRequest
- emit(1)
resources/assets/js/store/actions.js:4781
- on(1)
resources/assets/js/components/AIAssistant/float-button.vue:155
- off(1)
resources/assets/js/components/AIAssistant/float-button.vue:163
approveDetails
- emit(2)
resources/assets/js/pages/manage/approve/index.vue:497resources/assets/js/pages/manage/components/DialogWrapper.vue:3826
- on(1)
resources/assets/js/pages/manage.vue:624
- off(1)
resources/assets/js/pages/manage.vue:644
clickAgainDialog
- emit(1)
resources/assets/js/components/Mobile/Tabbar.vue:182
- on(1)
resources/assets/js/pages/manage/messenger.vue:344
- off(1)
resources/assets/js/pages/manage/messenger.vue:348
createGroup
- emit(3)
resources/assets/js/pages/manage/components/DialogWrapper.vue:2871resources/assets/js/pages/manage/components/UserDetail.vue:288resources/assets/js/pages/manage/messenger.vue:1224
- on(1)
resources/assets/js/pages/manage.vue:622
- off(1)
resources/assets/js/pages/manage.vue:642
dialogMsgPush
- emit(1)
resources/assets/js/store/actions.js:4852
- on(2)
resources/assets/js/components/Mobile/Tabbar.vue:49resources/assets/js/pages/manage.vue:623
- off(2)
resources/assets/js/components/Mobile/Tabbar.vue:53resources/assets/js/pages/manage.vue:643
handleMoveTop
- emit(2)
resources/assets/js/store/actions.js:2727resources/assets/js/store/actions.js:3720
- on(2)
resources/assets/js/pages/manage/components/DialogModal.vue:41resources/assets/js/pages/manage/components/TaskModal.vue:49
- off(2)
resources/assets/js/pages/manage/components/DialogModal.vue:45resources/assets/js/pages/manage/components/TaskModal.vue:53
observeMicroApp:open
- emit(1)
resources/assets/js/store/actions.js:5361
- on(1)
resources/assets/js/components/MicroApps/index.vue:144
- off(1)
resources/assets/js/components/MicroApps/index.vue:149
observeMicroApp:updatedOrUninstalled
- emit(1)
resources/assets/js/store/mutations.js:429
- on(1)
resources/assets/js/components/MicroApps/index.vue:145
- off(1)
resources/assets/js/components/MicroApps/index.vue:150
openAIAssistant
- emit(7)
resources/assets/js/components/AIAssistant/float-button.vue:476resources/assets/js/components/SearchBox.vue:582resources/assets/js/pages/manage.vue:1267resources/assets/js/pages/manage/components/ChatInput/index.vue:1925resources/assets/js/pages/manage/components/ReportDetail.vue:176resources/assets/js/pages/manage/components/ReportEdit.vue:267resources/assets/js/pages/manage/components/TaskAdd.vue:703
- on(1)
resources/assets/js/components/AIAssistant/index.vue:361
- off(1)
resources/assets/js/components/AIAssistant/index.vue:368
openAIAssistantGlobal
- emit(1)
resources/assets/js/pages/manage.vue:1255
- on(1)
resources/assets/js/components/AIAssistant/float-button.vue:153
- off(1)
resources/assets/js/components/AIAssistant/float-button.vue:161
openDownloadClient
- emit(1)
resources/assets/js/pages/manage.vue:1128
- on(1)
resources/assets/js/components/RightBottom.vue:73
- off(1)
resources/assets/js/components/RightBottom.vue:78
openFavorite
- emit(1)
resources/assets/js/pages/manage/application.vue:1061
- on(1)
resources/assets/js/pages/manage.vue:626
- off(1)
resources/assets/js/pages/manage.vue:646
openManageExport
- emit(1)
resources/assets/js/pages/manage/application.vue:1108
- on(1)
resources/assets/js/pages/manage.vue:628
- off(1)
resources/assets/js/pages/manage.vue:648
openMobileNotification
- emit(1)
resources/assets/js/pages/manage.vue:1641
- on(1)
resources/assets/js/components/Mobile/Notification.vue:38
- off(1)
resources/assets/js/components/Mobile/Notification.vue:42
openProjectInvite
- emit(1)
resources/assets/js/App.vue:432
- on(1)
resources/assets/js/pages/manage/components/ProjectInvite.vue:83
- off(1)
resources/assets/js/pages/manage/components/ProjectInvite.vue:87
openRecent
- emit(1)
resources/assets/js/pages/manage/application.vue:1064
- on(1)
resources/assets/js/pages/manage.vue:627
- off(1)
resources/assets/js/pages/manage.vue:647
openReport
- emit(1)
resources/assets/js/pages/manage/application.vue:1058
- on(1)
resources/assets/js/pages/manage.vue:625
- off(1)
resources/assets/js/pages/manage.vue:645
openSearch
- emit(1)
resources/assets/js/pages/manage/dashboard.vue:256
- on(1)
resources/assets/js/components/SearchBox.vue:128
- off(1)
resources/assets/js/components/SearchBox.vue:132
openUser
- emit(5)
resources/assets/js/components/UserAvatar/index.vue:184resources/assets/js/pages/manage/approve/details.vue:546resources/assets/js/pages/manage/components/DialogWrapper.vue:2940resources/assets/js/pages/manage/components/DialogWrapper.vue:4494resources/assets/js/pages/manage/messenger.vue:1229
- on(1)
resources/assets/js/pages/manage/components/UserDetail.vue:166
- off(1)
resources/assets/js/pages/manage/components/UserDetail.vue:170
receiveTask
- emit(2)
resources/assets/js/pages/manage/components/ProjectPanel.vue:1768resources/assets/js/pages/manage/components/TaskRow.vue:280
- on(1)
resources/assets/js/pages/manage/components/TaskDetail.vue:738
- off(1)
resources/assets/js/pages/manage/components/TaskDetail.vue:745
streamMsgData
- emit(1)
resources/assets/js/store/actions.js:4469
- on(1)
resources/assets/js/pages/manage/components/DialogWrapper.vue:946
- off(1)
resources/assets/js/pages/manage/components/DialogWrapper.vue:956
taskRelationUpdate
- emit(1)
resources/assets/js/store/actions.js:4992
- on(1)
resources/assets/js/pages/manage/components/TaskDetail.vue:739
- off(1)
resources/assets/js/pages/manage/components/TaskDetail.vue:746
updateNotification
- emit(2)
resources/assets/js/pages/manage.vue:1125resources/assets/js/pages/manage/setting/index.vue:191
- on(1)
resources/assets/js/components/RightBottom.vue:65
- off(1)
resources/assets/js/components/RightBottom.vue:77
useSSOLogin
- emit(1)
resources/assets/js/components/RightBottom.vue:231
- on(1)
resources/assets/js/pages/login.vue:217
- off(1)
resources/assets/js/pages/login.vue:222
userActive
- emit(3)
resources/assets/js/store/actions.js:870resources/assets/js/store/actions.js:952resources/assets/js/store/actions.js:4769
- on(1)
resources/assets/js/components/UserAvatar/index.vue:43
- off(1)
resources/assets/js/components/UserAvatar/index.vue:47
websocketMsg
- emit(1)
resources/assets/js/store/actions.js:4786
- on(3)
resources/assets/js/pages/manage/approve/index.vue:380resources/assets/js/pages/manage/components/DialogWrapper.vue:945resources/assets/js/pages/manage/components/FileContent.vue:202
- off(3)
resources/assets/js/pages/manage/approve/index.vue:383resources/assets/js/pages/manage/components/DialogWrapper.vue:957resources/assets/js/pages/manage/components/FileContent.vue:225
动态事件名(无法静态解析)
以下调用的第一参数不是字符串字面量,无法静态解析事件名:
resources/assets/js/components/MicroApps/index.vue:365—emitter.emit(actionName...)
统计
- 事件总数(静态可解析): 29
- 只 emit 无 on(疑似死事件): 0
- 只 on 无 emit(无人发射): 0
- 动态事件名调用: 1