hookehuyr

docs: 更新Vue代码风格指南中的优化清单

移除已完成的优化项,更新剩余项的描述和优先级。
将“统一API返回结构”的重点从调整判断逻辑改为逐步替换fn为request。
删除已完成的“收敛用户态来源”和“清理重复实现”条目。
新增“固化格式化规则”作为第三项。
...@@ -184,32 +184,19 @@ Vue 官方建议在 SFC + Composition API 场景使用 `<script setup>`,因为 ...@@ -184,32 +184,19 @@ Vue 官方建议在 SFC + Composition API 场景使用 `<script setup>`,因为
184 184
185 ## 6. 结合本项目:可直接落地的优化清单(按收益排序) 185 ## 6. 结合本项目:可直接落地的优化清单(按收益排序)
186 186
187 -1) 统一 API 返回结构:去掉 `false` 返回,调用侧统一 `res.code === 1` (已做调整,在recall_users.js里面使用了request函数做了封装) 187 +1) 统一 API 返回结构:逐步替换 `fn``request`
188 188
189 - 目标:减少大量 `if (res && res.code)` 的防御判断,把错误信息(msg)保留下来 189 - 目标:减少大量 `if (res && res.code)` 的防御判断,把错误信息(msg)保留下来
190 - 涉及文件:[fn.js](file:///Users/huyirui/program/itomix/git/mlaj/src/api/fn.js) 190 - 涉及文件:[fn.js](file:///Users/huyirui/program/itomix/git/mlaj/src/api/fn.js)
191 --有风险:部分页面写法是 `if (res.code) { ... }`,当 `code=401` 等非 0 值时会被当成“成功”分支;建议统一改成 `if (res.code === 1)` 191 +-状:新代码已开始使用 `request` 函数(返回统一结构),但旧的 `fn` 函数(失败返回 `false`)仍被大量使用。建议后续开发中优先使用 `request`,并逐步重构旧代码
192 -- 现有风险`qs` 的包名是小写 `qs`,但当前存在 `import qs from 'Qs'` 写法,在大小写敏感环境下可能无法解析(建议统一为 `qs`)。 192 +- 风险提示`qs` 的包名是小写 `qs`,但当前存在 `import qs from 'Qs'` 写法,在大小写敏感环境下可能无法解析(建议统一为 `qs`)。
193 193
194 -2) 收敛“用户态”的单一事实来源:context/store 负责运行时,localStorage 负责持久化镜像 (已做调整,在auth_user_info.js里面使用了getUserInfoFromStorage和removeUserInfoFromStorage函数做了封装) 194 +2) 从 1 个大页面开始拆 composable:只拆“最独立的一块功能”
195 -
196 -- 目标:避免 `currentUser``user_info`、请求头三套来源互相覆盖导致的“偶发态”
197 -- 涉及文件:[auth.js](file:///Users/huyirui/program/itomix/git/mlaj/src/contexts/auth.js)[axios.js](file:///Users/huyirui/program/itomix/git/mlaj/src/utils/axios.js)
198 -
199 -3) 从 1 个大页面开始拆 composable:只拆“最独立的一块功能”
200 195
201 - 目标:不追求一次性完美分层,但要让页面先变薄,后续才好迭代与测试 196 - 目标:不追求一次性完美分层,但要让页面先变薄,后续才好迭代与测试
202 - 典型样例:[HomePage.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/views/HomePage.vue)[StudyDetailPage.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/views/study/StudyDetailPage.vue) 197 - 典型样例:[HomePage.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/views/HomePage.vue)[StudyDetailPage.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/views/study/StudyDetailPage.vue)
203 198
204 -4) 清理“重复/并存”的实现:避免同名组件在不同目录各自演进 199 +3) 固化格式化规则(ESLint/Prettier 选一个),把“风格争议”交给工具。
205 -
206 -- 目标:减少认知负担与误用风险(例如存在两个 `AppLayout`
207 -- 涉及文件:[AppLayout.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/components/layout/AppLayout.vue)(已完成归一,移除 /src/layouts)
208 -
209 -5) 降低“语法形态”混用成本:能不用 JSX 就别用
210 -
211 -- 目标:减少团队理解成本(JSX + 模板混用会让页面维护难度上升),也减少对 `defineComponent/h` 等写法的依赖
212 -- 涉及文件(存在 `<script setup lang="jsx">`):[HomePage.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/views/HomePage.vue)[CoursesPage.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/views/courses/CoursesPage.vue)[CourseDetailPage.vue](file:///Users/huyirui/program/itomix/git/mlaj/src/views/courses/CourseDetailPage.vue)
213 200
214 ## 7. 推荐写法示例(以“无 TS、可读性优先”为前提) 201 ## 7. 推荐写法示例(以“无 TS、可读性优先”为前提)
215 202
......