Files
app_02_bill/docs/数据结构.md
karlcarlo c06e74bd01 feat(app): 实现完整的财务管家记账聊天与统计功能
- 新增App主组件,实现聊天、账本、统计三大功能模块切换
- 支持语音及文本输入,自动解析记账信息并生成交易记录
- 交易记录支持编辑、删除、提醒等操作,数据本地持久化
- 管家性格预设和自定义设定,包含头像上传和语气调整
- 会话展示支持关联交易显示,样式区分收入与支出
- 账本页添加日期分组交易列表及饼图统计展示
- 消息列表实现渐变背景和交互动画,提升用户体验
- 支持图片上传并同步发送给AI进行解析记账
- 底部导航实现三标签切换并同步显示对应内容
- 全局事务编辑弹窗支持直接调用和删除操作
- 增加环境变量示例和.gitignore规则,完善工程配置
2026-01-19 20:20:54 +08:00

4.0 KiB

App_02_记账

  • 应用信息
    • 应用名称
      • 记账
    • 英文标识
      • bill
    • 应用编号
      • app_02
    • 应用描述
      • 一个精明、毒舌但实际上很负责任的财务经理。说话喜欢带刺,吐槽用户乱花钱,但关键时刻会给出靠谱建议。
  • 数据结构
    • Project 项目分类
      • name 名称(name)
      • desc 背景(context)
      • target 目标(goal)
      • value 价值(value)
      • creator 创建人
        • Member
    • Task 任务项目
      • title 标题(title)
      • project 分类(projectId)
        • Project
      • desc 描述(notes)
      • startDate 开始日期(date)
      • startTime 开始时间(startTime)
      • isCompleted 是否完成(isCompleted)
      • created_at 创建时间(createdAt)
      • creator 创建人
        • Member
  • API接口
    • auth 授权
      • POST /mp/auth/get_token
        • 获取token
      • GET /mp/auth/profile
        • 获取个人信息
    • 项目
      • GET /mp/todo/projects
        • 项目列表
      • GET /mp/todo/projects/{project_id}
        • 获取项目详细
      • POST /mp/todo/projects
        • 创建项目
      • PUT /mp/todo/projects/{project_id}
        • 更新项目
      • DELETE /mp/todo/projects/{project_id}
        • 删除项目
    • 任务
      • GET /mp/todo/tasks
        • 任务列表
      • GET /mp/todo/tasks/{task_id}
        • 获取任务详细
      • POST /mp/todo/tasks
        • 创建任务
      • PUT /mp/todo/tasks/{task_id}
        • 更新任务
      • DELETE /mp/todo/tasks/{task_id}
        • 删除项目
      • PUT /mp/todo/tasks/{task_id}/completed
        • 设置为已完成
      • PUT /mp/todo/tasks/{task_id}/uncompleted
        • 设置为未完成
  • 问题/需求
    • 单用户转换为多用户模式
      • 增加登录验证
      • 增加creator字段
    • 登录问题
      • 小程序跳转到H5, 需要检测登录状态
        • 如果已经登录, 需要把登录信息传递到H5首页
        • 如果未登录跳转至小程序登录页
      • URL传递参数openid和mobile
      • H5端首页先检测token状态
        • 如果存在并且未过期, 则携带token获取用户信息
        • 如果不存在则通过openid和mobile获取token, 并获取用户信息
    • 新建项目问题
      • 目前是实时更新模式, 保存到本地缓存没问题, 但是要持久化到数据库就会报错
      • 增加保存按钮, 点击保存后提交接口, 并同步本地数据
      • 分别处理本地新建项目和提交接口新建项目的逻辑, 并处理错误提示, 例如项目名称重复
    • 任务过滤查询
      • 日期等于今天的任务
      • 日期小于今日的任务
      • 查询所有任务匹配到日历中
    • 今日任务和日历中任务的匹配调节
    • 测试任务2没有显示在今日任务中
      • 最可能原因是日期转换过程中的时区差异。当API返回的日期时间字符串 "2026-01-14T00:00:00" 在客户端进行时区转换时,可能会因为客户端的时区设置导致日期变成 2026-01-13 或其他日期,从而不满足 t.date === systemDate 的条件。
      • 多个在增删改查操作中存在的时区转换问题
  • 开发任务
    • 小程序跳转时增加登录判断和URL传参(openid和mobile)
      • 1小时/人
    • H5首页接收openid和mobile参数
      • 0.5小时/人
    • H5首页token检测并获取, 通过接口获取用户信息
      • 1.5小时/人
    • 开发H5端获取token接口
      • 2小时/人
    • 开发H5端获取用户信息接口
      • 1.5小时/人
    • 开发项目增删改查接口
      • 4小时/人
    • 开发任务增删改查接口和已完成/未完成接口
      • 5小时/人
    • 开发任务按时间过滤列表接口
      • 2小时/人
    • 调试H5页面交互, 调用项目和任务接口
      • 6~10小时/人