docs: 更新Vue代码风格指南中的优化清单
移除已完成的优化项,更新剩余项的描述和优先级。 将“统一API返回结构”的重点从调整判断逻辑改为逐步替换fn为request。 删除已完成的“收敛用户态来源”和“清理重复实现”条目。 新增“固化格式化规则”作为第三项。
Showing
1 changed file
with
5 additions
and
18 deletions
| ... | @@ -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 | ... | ... |
-
Please register or login to post a comment