- 新增App主组件,实现聊天、账本、统计三大功能模块切换 - 支持语音及文本输入,自动解析记账信息并生成交易记录 - 交易记录支持编辑、删除、提醒等操作,数据本地持久化 - 管家性格预设和自定义设定,包含头像上传和语气调整 - 会话展示支持关联交易显示,样式区分收入与支出 - 账本页添加日期分组交易列表及饼图统计展示 - 消息列表实现渐变背景和交互动画,提升用户体验 - 支持图片上传并同步发送给AI进行解析记账 - 底部导航实现三标签切换并同步显示对应内容 - 全局事务编辑弹窗支持直接调用和删除操作 - 增加环境变量示例和.gitignore规则,完善工程配置
74 lines
1.5 KiB
TypeScript
74 lines
1.5 KiB
TypeScript
|
|
export enum TransactionType {
|
|
EXPENSE = 'expense',
|
|
INCOME = 'income',
|
|
}
|
|
|
|
export enum ExpenseCategory {
|
|
FOOD = '餐饮',
|
|
SHOPPING = '购物',
|
|
TRANSPORT = '交通',
|
|
HOUSING = '住房',
|
|
ENTERTAINMENT = '娱乐',
|
|
MEDICAL = '医疗',
|
|
SOCIAL = '人情',
|
|
EDUCATION = '学习',
|
|
FINANCE = '金融',
|
|
CHILD = '孩子',
|
|
PET = '宠物',
|
|
CAR = '汽车',
|
|
BEAUTY = '美容',
|
|
BUSINESS = '经营',
|
|
MISC = '杂项',
|
|
}
|
|
|
|
export enum IncomeCategory {
|
|
SALARY = '工资',
|
|
BONUS = '奖金',
|
|
INVESTMENT = '理财',
|
|
PARTTIME = '兼职',
|
|
GIFT = '红包',
|
|
OTHER = '其他收入',
|
|
}
|
|
|
|
export interface Transaction {
|
|
id: string;
|
|
item: string;
|
|
amount: number;
|
|
type: TransactionType;
|
|
category: string; // Takes values from ExpenseCategory or IncomeCategory
|
|
date: string; // ISO string YYYY-MM-DD
|
|
timestamp: number;
|
|
}
|
|
|
|
export interface Message {
|
|
id: string;
|
|
role: 'user' | 'assistant';
|
|
content: string;
|
|
timestamp: number;
|
|
relatedTransactionId?: string; // If this message created a transaction
|
|
}
|
|
|
|
export interface BillReminder {
|
|
id: string;
|
|
title: string;
|
|
amount?: number; // Made optional
|
|
frequency: 'monthly' | 'once';
|
|
targetDate: string; // 'DD' (e.g. "15") for monthly, or 'YYYY-MM-DD' for once
|
|
isCompleted: boolean;
|
|
}
|
|
|
|
// Global augmentation for Web Speech API
|
|
declare global {
|
|
interface Window {
|
|
SpeechRecognition: any;
|
|
webkitSpeechRecognition: any;
|
|
}
|
|
}
|
|
|
|
export interface DailyStat {
|
|
date: string;
|
|
total: number;
|
|
breakdown: { name: string; value: number; fill: string }[];
|
|
}
|