feat:登录注册完成

This commit is contained in:
李伊帆
2026-10-09 14:29:58 +08:00
parent da83a58948
commit ee3ecc00eb
106 changed files with 4937 additions and 59 deletions

View File

@@ -0,0 +1,52 @@
---
description: src 目录结构、就近聚合与全局/局部划分(uni-app / Vue3)
alwaysApply: true
---
# 目录与就近聚合
源码在 `src`。全局目录:`components`(kebab-case + `index.vue`)、`hooks`(`use-xxx.ts`)、`types`、`api`(含唯一 `request.ts`)、`static`、`store`、`utils`、`styles`。
## 页面文件夹(`pages/<name>/`)
可就近存放该页专属内容:
| 文件 | 说明 |
|------|------|
| `index.vue` | 页面入口 |
| `<name>.types.ts` | 仅本页使用的类型 |
| `use-<name>.ts` | 仅本页使用的 hooks |
| `<name>.api.ts` | 仅本页的接口函数(调用 `src/api/request.ts`,不重复写拦截) |
| `<name>.scss` | 本页独立样式(可选) |
| `components/` | 页面私有子组件;子组件目录内可有 `types.ts` |
命名示例(页面 `home`):`home.types.ts`、`use-home.ts`、`home.api.ts`。
## 局部 vs 全局
- 仅单页使用 → 放在 `pages/<page>/` 下就近管理
- 多页复用 → `src/types`、`src/hooks`、`src/api`(按业务模块拆分,非每页一份 request)
## 禁止
- 页面 `.vue` 在 `pages` 根目录;静态资源在 `src` 外
- 页面私有组件/类型/hooks/api 随意提到 `src` 顶层
- 每页重复实现请求封装(拦截器只在 `src/api/request.ts`)
- 在 `.vue` 里堆应抽离的共享类型(简单局部类型除外)
## 示例
```
src/pages/home/
index.vue
home.types.ts
use-home.ts
home.api.ts
components/feed-item/index.vue
src/api/request.ts
src/api/user.ts
src/hooks/use-auth.ts
```
新建与重构时:先判断是否多页复用,再选页面内就近或顶层全局。