wangxiaogang
|
83571de723
|
feat: 迭代三大模块 + 全系统 Bug 修复
新功能:
- 账单筛选统计:多维度筛选面板 + 保存方案 + 结果统计
- 通知公告:系统公告/群组通知/个人提醒 + 通知中心页面
- 管理员后台:数据看板 + 用户管理 + 发布公告
Bug 修复:
- 统计页 fetchPrevMonthData/fetchMaxSingle 添加 group_id
- 群组视图添加 t.group_id 过滤,防止私人数据泄露
- 通知列表添加群组通知条件
- 通知标记已读添加错误处理
- 管理员 API 添加 affectedRows 检查
- 筛选面板金额为 0 时正确回填
- profile onShow 补充 userStore.fetchUserInfo
- 全系统样式修复(overflow/box-sizing)
|
2026-06-06 17:55:29 +08:00 |
|
wangxiaogang
|
9764b5626b
|
feat: 群组管理页面优化 + 分类管理图标修复
- 创建/加入群组合并为 Tab 切换卡片
- 群主可刷新邀请码(后端+前端完整链路)
- 群主可管理成员:查看列表、移除成员
- 新增后端 API:refresh-code / members / remove-member
- 修复分类管理页 FAB 按钮缺少 plus 图标
- 新增 plus/refresh 图标资源
|
2026-06-04 21:28:22 +08:00 |
|
|
|
5417821906
|
fix: TransactionItem小头像+预算页双显+账单静默刷新
TransactionItem:
- meta 区域改为 view+flex 布局,小头像作为独立元素渲染
- creator-tag 容器包裹头像+昵称,小程序端 image 不嵌套在 text 内
预算页:
- 群组模式顶部显示概览行(群组预算 | 我的预算)
- 下方显示「设置我的预算」卡片,编辑作用于个人预算
- 个人模式保持原样
账单页:
- loadTx 添加 silent 参数,静默刷新时不清空列表
- onShow 调用 loadTx(true, true) 避免骨架屏闪烁
|
2026-06-04 18:10:25 +08:00 |
|
|
|
8bd4af9b9a
|
feat: onShow静默刷新 + 群组预算双显 + TransactionItem优化
onShow 静默刷新(首次有loading,后续静默):
- budget: 添加 initialLoaded 守卫,避免首次双重请求
- profile: 添加 onShow 刷新概览/预算/账单/群组
- group-manage: 添加 onShow 刷新群组列表
- category-manage: 添加 onShow 刷新分类列表
- add: 添加 onShow 刷新分类(可能新增了分类)
群组模式预算双显:
- 服务端 GET /budget 群组模式额外返回 myAmount(本人预算)
- 客户端 Budget 类型添加 myAmount 字段
- 预算页群组模式:群组总预算卡片(只读)+ 我的预算卡片(可编辑)
- 个人模式保持原样
TransactionItem 群组模式优化:
- 主图标始终显示分类图标(不再显示创建者头像)
- 他人记录在昵称旁显示小头像(28rpx圆形)
|
2026-06-04 17:45:37 +08:00 |
|
|
|
e110cd5c5d
|
fix: 全面修复 22 项问题
严重 Bug:
- NaN 金额校验绕过(add 页面 parseFloat 空字符串)
- 4 个页面补充 waitForReady(add/budget/category-manage/group-manage)
- 导出 Loading 遮罩不消失(profile exportData 缺 hideLoading)
- Store 吞掉请求错误不 re-throw(transaction/stats/budget/user)
- 分类排序 SQL 拼接改参数化查询(category PUT /sort)
- 备份接口添加管理员权限检查(backup requireAdmin)
中等问题:
- 群组加入竞态条件改为 INSERT IGNORE
- 统计页切月/切Tab添加 loadSeq 防竞态
- stats store 补全 loading 状态 + Overview 初始值补全 7 字段
- 保存成功后返回不再弹「放弃修改」确认框
- 群组管理创建/加入添加 saving 双重提交保护
- 预算页添加 onShow 刷新
- 服务端输入校验(name/color/invite_code/微信code)
UI/样式:
- 触摸目标: bell/nav-back/nav-save→88rpx, avatar-badge→64rpx, action-btn→80rpx
- :active 反馈: bell/profile-card/identity-card/id-manage/arrow/action-btn/group-btn/cat-info
- 内联样式改动态绑定(4处 spacer 使用 capsuleRight)
- FAB 文字+改用 Icon 组件
- prefers-reduced-motion 动画降级(Skeleton/profile/budget/add)
- 胶囊适配(add/category-manage/group-manage)
- CategoryIcon !important 改为 iconStyle 计算属性
文档:
- CLAUDE.md 补充 SaveSuccess/ChartWrapper 组件 + category/budget/index API
|
2026-06-04 17:06:02 +08:00 |
|
|
|
21f4d81959
|
feat: 用户信息完善 + 一起记功能
- users 表添加 nickname、avatar_url 字段
- 用户信息 API(GET/PUT /me)+ 头像上传(multer)
- 头像通过 API 路由获取(公开,不经过 auth)
- 登录接口返回用户昵称和头像
- 用户信息 Store + 个人资料编辑页面
- 我的页面和首页显示真实用户信息
- 群组表(groups、group_members)+ transactions 添加 group_id
- 群组 API(创建/加入/退出/解散)
- 交易和统计 API 支持 group_id 视图切换
- 群组客户端 Store + 身份切换
- 群组管理页面
- App 初始化群组 Store
- UPLOAD_DIR 配置化
- Node.js 备份替代 mysqldump
- 统一前端 BASE_URL(config.ts)
- uploads 加入 .gitignore
- 修复 trust proxy 警告
|
2026-06-03 17:50:32 +08:00 |
|
|
|
9162b2c87c
|
fix: 修复统计图表不显示与对比上月Infinity问题
- ChartWrapper: 添加 type 属性修复 uCharts 不渲染
- ChartWrapper: 使用 pixelRatio=1 避免双重缩放导致字体线条过大
- ChartWrapper: 统一 fontSize/fontColor/padding 配置
- ChartWrapper: 挂载时保存实例引用避免异步回调中 getCurrentInstance 返回 undefined
- stats: Number() 强制类型转换避免字符串导致 Infinity
- stats: !prev 宽松判断覆盖 null/undefined/0 除零情况
- stores: fetchOverview/fetchCategoryStats/fetchTrend 确保数据字段为数字
|
2026-06-03 11:30:41 +08:00 |
|
|
|
db81ad8eb2
|
refactor: API 请求整合与 Bug 修复
前端重构:
- 新增 api/ 目录统一管理所有 API 请求
- 所有 stores 和 pages 改为使用 api 模块
- 修复日期格式化函数,支持 Date 对象和 ISO 字符串
- 修复 TransactionItem 使用 CategoryIcon 组件
- 优化 ChartWrapper 区分 H5 和小程序环境
后端修复:
- 修复 auth 中间件 PUBLIC_PATHS 缺少 demo-login
- 修复备份工具命令注入漏洞,改用 execFile
- 修复 stats 路由 type 参数验证
- 优化分类排序为批量 SQL 更新
- 合并迁移和删除为数据库事务原子操作
- 修复交易和统计日期返回格式
- 新增自动备份功能(启动时备份)
|
2026-06-02 17:41:35 +08:00 |
|
|
|
d5e5655b88
|
feat: 交互优化与代码质量改进
- SvgIcon 改为 PNG 图标方案,组件重命名为 Icon
- 修复 TransactionItem tap 事件名冲突,改为 item-tap
- 修复 Stats 页面切换 tab 时 overview 不更新
- 修复 CategoryIcon bgColor 必填问题
- 修复 ChartWrapper import 顺序
- 修复 budget onDelete 空字符串问题
- 清理 profile 页面未使用 CSS
- 统一所有页面 header 为 sticky 定位
- 修复导航栏返回按钮不统一
- 添加导出功能 loading 状态
- 优化 scroll-into-view 延迟
|
2026-06-02 16:04:17 +08:00 |
|
|
|
35bfe8293a
|
feat: v1.3 交互增强
新增功能:
- 账单左滑删除(替代长按,更符合移动端习惯)
- 输入震动反馈(Numpad 按键时调用 uni.vibrateShort)
- 保存成功动画(Checkmark 弹出动画)
- 分类图标滚动到选中项(编辑记录时自动定位)
组件更新:
- TransactionItem 支持左滑露出删除按钮
- Numpad 添加震动反馈
- SaveSuccess 新增保存成功动画组件
|
2026-05-29 16:35:31 +08:00 |
|
|
|
7f8b301f95
|
feat: v1.2 数据可视化与统计增强
新增功能:
- uCharts 集成,支持环形图和折线图
- 统计页分类占比环形图
- 统计页每日趋势折线图
- 统计页增加最大单笔和对比上月指标
- 首页今日支出卡片
组件:
- ChartWrapper 通用图表组件(支持 pie/line/column)
- 支持 H5 和微信小程序双端
依赖:
- 新增 @qiun/ucharts 图表库
|
2026-05-29 16:28:50 +08:00 |
|
|
|
c7f29aa7a7
|
feat: 小菜记账 v1.0 - 完整功能实现
核心功能:
- 记账CRUD(支出/收入/分类/备注/日期)
- 统计分析(概览/分类占比/每日趋势)
- 预算管理(按月设置/进度条/超支提醒)
- 数据导出CSV
安全与认证:
- HMAC-SHA256签名token认证
- 用户数据隔离
- 输入验证与错误处理
- CORS配置
前端优化:
- 骨架屏加载
- 账单按日期分组
- 预算页面重构(快捷预设+Numpad)
- SvgIcon组件(H5+微信双端适配)
- 下拉刷新
后端优化:
- 共享日期工具函数
- 数据库连接池优化
- 健康检查端点
- 优雅关闭处理
技术栈:
- 前端:Uni-app (Vue 3 + Pinia)
- 后端:Node.js + Express + MySQL
|
2026-05-29 16:14:15 +08:00 |
|