Files
app_02_bill/docs/数据结构.md
karlcarlo 194de6ec06 feat(api): 集成后端API,实现数据持久化和用户登录
- 新增token管理和用户信息状态,支持基于token的自动登录
- 实现登录或注册接口调用,自动根据URL参数完成身份验证
- 从后端加载交易记录、消息和待办提醒,替代本地缓存读写
- 对交易记录的增删改操作同步到数据库,确保数据一致性
- 对消息和提醒的增删改操作支持服务器同步,提升数据可靠性
- 优化消息发送逻辑,先保存用户消息,再处理AI回复并存库
- 添加待办提醒切换状态API调用,确保状态同步服务器
- 改进界面互动,支持文件与头像上传功能,更新管家形象
- 采用异步处理并增加错误捕获和用户提示,增强稳定性
2026-01-22 18:25:42 +08:00

6.4 KiB

App_02_记账

  • 应用信息

    • 应用名称
      • 记账
    • 英文标识
      • bill
    • 应用编号
      • app_02
    • 应用描述
      • 一个精明、毒舌但实际上很负责任的财务经理。说话喜欢带刺,吐槽用户乱花钱,但关键时刻会给出靠谱建议。
  • 数据结构

    • 枚举数据

      • TransactionType 交易类型
        • EXPENSE = "expense"
        • INCOME = "income"
      • ExpenseCategory 支出分类
        • FOOD = "餐饮"
        • SHOPPING = "购物"
        • TRANSPORT = "交通"
        • HOUSING = "住房"
        • ENTERTAINMENT = "娱乐"
        • MEDICAL = "医疗"
        • SOCIAL = "人情"
        • EDUCATION = "学习"
        • FINANCE = "金融"
        • CHILD = "孩子"
        • PET = "宠物"
        • CAR = "汽车"
        • BEAUTY = "美容"
        • BUSINESS = "经营"
        • MISC = "杂项"
      • IncomeCategory 收入分类
        • SALARY = "工资"
        • BONUS = "奖金"
        • INVESTMENT = "理财"
        • PARTTIME = "兼职"
        • GIFT = "红包"
        • OTHER = "其他收入"
      • MessageRole 消息角色
        • USER = "user"
        • ASSISTANT = "assistant"
      • ReminderFrequency 提醒频率
        • MONTHLY = "monthly"
        • ONCE = "once"
    • Common 通用属性

      • seq 排序
      • isEnabled 是否启用
      • creator 创建人
      • created_at 创建时间
      • updated_at 更新时间
    • Transaction 交易记录

      • item 交易项目名称
      • amount: float 交易金额
      • type: TransactionType 交易类型
      • category: ExpenseCategory | IncomeCategory 交易分类
      • date 交易日期 YYYY-MM-DD
      • timestamp: int 时间戳(毫秒)
    • Message 聊天消息

      • role: MessageRole 消息角色
      • content 消息内容
      • timestamp: int 时间戳(毫秒)
      • transaction_id 关联的交易ID
    • Budget 预算

      • member_id 会员ID
      • budgets: dict 预算字典 {名称: 金额}
      • month 预算月份 YYYY-MM
    • Reminder 账单提醒

      • member_id 会员ID
      • title 提醒标题
      • amount: float 金额(可选)
      • frequency: ReminderFrequency 频率
      • target_date 目标日期: DD(每月) 或 YYYY-MM-DD(单次)
      • is_completed: bool 完成状态
    • AISettings AI助手设置

      • member_id 会员ID
      • name AI助手名称
      • persona AI性格描述
      • avatar 头像Base64编码
    • UserPreference 用户偏好设置

      • member_id 会员ID
      • custom_preset_name 自定义预设名称
      • custom_preset_description 自定义预设描述
      • theme_index: int 主题索引
  • API接口

    • Auth 授权
      • POST /api/wx/get_token
        • 获取token
      • GET /api/wx/profile
        • 获取个人信息
    • transaction Bill: 交易记录
      • GET /api/bill/transactions
        • 获取分页交易记录
      • GET /api/bill/transactions/{id}
        • 获取交易记录详情
      • POST /api/bill/transactions
        • 创建交易记录
      • PUT /api/bill/transactions/{id}
        • 更新交易记录
      • DELETE /api/bill/transactions/{id}
        • 删除交易记录
    • Message Bill: 聊天消息
      • GET /api/bill/messages
        • 获取分页聊天消息
      • GET /api/bill/messages/{id}
        • 获取聊天消息详情
      • POST /api/bill/messages
        • 创建聊天消息
      • PUT /api/bill/messages/{id}
        • 更新聊天消息
      • DELETE /api/bill/messages/{id}
        • 删除聊天消息
    • Budget Bill: 预算
      • GET /api/bill/budgets
        • 获取分页预算
      • GET /api/bill/budgets/{id}
        • 获取预算详情
      • POST /api/bill/transactions
        • 创建交易记录
      • PUT /api/bill/transactions/{id}
        • 更新交易记录
      • DELETE /api/bill/transactions/{id}
        • 删除交易记录
    • BillReminder Bill: 账单提醒
      • GET /api/bill/bill_reminders
        • 获取分页账单提醒
      • GET /api/bill/bill_reminders/{id}
        • 获取账单提醒详情
      • POST /api/bill/transactions
        • 创建交易记录
      • PUT /api/bill/transactions/{id}
        • 更新交易记录
      • DELETE /api/bill/transactions/{id}
        • 删除交易记录
    • AISettings AI助手设置
      • GET /api/h5/ai_settings
        • 获取AI助手设置
      • PUT /api/h5/ai_settings
        • 更新AI助手设置
      • POST /api/h5/ai_settings/reset
        • 重置AI助手设置
    • UserPreference 用户偏好设置
      • GET /api/h5/user_preference
        • 获取用户偏好设置
      • PUT /api/h5/user_preference
        • 更新用户偏好设置
  • 问题/需求

    • 单用户转换为多用户模式
      • 增加登录验证
      • 增加creator字段
    • 登录问题
      • URL传递参数openid和mobile
      • H5端首页先检测token状态
        • 如果存在并且未过期, 则携带token获取用户信息
        • 如果不存在则通过openid和mobile获取token, 并获取用户信息
    • 语音接口识别
      • 接口鲁棒性调试
    • 识别消息对接创建交易记录接口
      • 约定和调试大模型返回数据
  • 开发任务

    • H5首页接收openid和mobile参数
      • 0.5小时/人
    • H5首页token检测并获取, 通过接口获取用户信息
      • 1.5小时/人
    • 开发H5端获取token接口
      • 2小时/人
    • 开发H5端获取用户信息接口
      • 1.5小时/人
    • 开发交易记录增删改查接口
      • 4小时/人
    • 开发聊天增删改查接口
      • 6小时/人
    • 开发预算增删改查接口
      • 4小时/人
    • 开发账单提醒增删改查完成接口
      • 6小时/人
    • 开发AI助手设置增删改查接口
      • 4小时/人
    • 开发用户偏好设置增删改查接口
      • 3小时/人
    • 调试H5页面交互, 调用交易记录、聊天、预算、账单提醒、助手设置、用户偏好接口
      • 8~12小时/人
    • 切换线上配置,打包、发布到线上服务器
      • 2小时/人