20260623212917
This commit is contained in:
1 parent
e9e3371be7
commit
056cd4970f
30 files changed
+2093
-636
No files matched your search
@@ -44,10 +44,13 @@ app-rn/ # React Native 前端
|
||||
├── src/
|
||||
│ ├── app/ # Expo Router 页面
|
||||
│ │ ├── _layout.tsx # 根布局
|
||||
│ │ ├── (tabs)/ # 主 Tab(home / space / tools / chat / mine)
|
||||
│ │ ├── auth/ # 登录页
|
||||
│ │ ├── tools/ # 工具广场
|
||||
│ │ └── finance/ # 记账子模块
|
||||
│ │ ├── (main)/ # 主应用(route group,不影响 URL)
|
||||
│ │ │ ├── (tabs)/ # 主 Tab(home / chat / my)
|
||||
│ │ │ ├── auth/ # 登录页
|
||||
│ │ │ ├── family/ # 家庭管理
|
||||
│ │ │ ├── tools/ # 工具广场
|
||||
│ │ │ └── activities/ # 动态列表
|
||||
│ │ └── finance/ # 记账子模块(独立于 main)
|
||||
│ ├── components/ # 通用组件(layout/view / AZIndex 等)
|
||||
│ ├── configs/ # pages.ts(子应用列表配置)
|
||||
│ ├── layouts/ # 布局(ModuleLayout 等)
|
||||
@@ -188,11 +191,47 @@ b_finance - 记账记录
|
||||
b_finance_category - 记账分类
|
||||
b_finance_category_default - 默认分类模板
|
||||
b_app_favorite - 子应用收藏
|
||||
b_family_feed - 家庭动态
|
||||
```
|
||||
|
||||
视图:`v_family_member`(join b_family_member + b_user)
|
||||
|
||||
## 常见操作示例
|
||||
## 家庭动态(b_family_feed)记录规范
|
||||
|
||||
以下场景**必须**调用 `recordFeed()` 写入动态。
|
||||
|
||||
**type 简码对照**:`join`(加入/创建)、`rename`(改名)、`bill`(记账)、`fav`(收藏)
|
||||
|
||||
| 触发场景 | type | content 模板 | 触发位置 |
|
||||
|---------|------|-------------|---------|
|
||||
| 创建家庭 | `join` | `{nickname} 创建了家庭「{名称}」` | `family/entry.tsx` handleCreate |
|
||||
| 加入家庭 | `join` | `{nickname} 加入了家庭` | `family/entry.tsx` handleJoin |
|
||||
| 修改昵称 | `rename` | `{nickname} 修改了昵称为「{新昵称}」` | `family/user.tsx` handleRename |
|
||||
| 记账 | `bill` | `{nickname} 记了一笔「{备注}」¥{金额}` | `finance/add/` 保存成功 |
|
||||
| 收藏应用 | `fav` | `{nickname} 收藏了「{应用名}」` | `tools/index.tsx` 收藏操作 |
|
||||
|
||||
**⚠️ content 自包含原则**:所有展示信息直接写在 content 字符串中,不依赖 meta 字段。`recordFeed()` 不接收 meta 参数,`loadFeeds()` 只做 `{nickname}` 替换。meta 列保留但始终为 NULL。
|
||||
|
||||
**content 占位符规则**:content 存储模板字符串,用户昵称用 `{nickname}` 占位,**不在写入时拼接**。`loadFeeds()` 会自动将 `{nickname}` 替换为 `b_family_member.nickname` 的最新值,确保改名后历史动态也显示最新昵称。
|
||||
|
||||
```ts
|
||||
import { recordFeed } from "@/helpers/feed";
|
||||
|
||||
// 正确写法 — 用 {nickname} 占位符,不拼接昵称
|
||||
recordFeed(familyId, userId, "join", "{nickname} 加入了家庭");
|
||||
|
||||
// 错误写法 — 禁止拼接昵称写死
|
||||
recordFeed(familyId, userId, "join", `${nick} 加入了家庭`); // ❌
|
||||
```
|
||||
|
||||
**修改昵称时同步更新**:`family/user.tsx` 的 `handleRename` 除了更新 `b_user.name`,还必须同步更新 `b_family_member.nickname`:
|
||||
|
||||
```ts
|
||||
saveDataApi([
|
||||
{ table_name: "b_user", updates: [{ id: uid, name: newName }] },
|
||||
{ table_name: "b_family_member", updates: [{ id: memberId, nickname: newName }] },
|
||||
]);
|
||||
```
|
||||
|
||||
### 前端:拉取数据
|
||||
```ts
|
||||
|
||||
Reference in new issue
Block a user