前端: - TypeScript 迁移 ✅ - P1-P3 功能增强 ✅ - P6 UI/UX 优化 ✅ - 交易时间优化 ✅ 后端: - 收益率并发问题 ✅ - SqlSugarClient 高性能模式 ✅ - 数据源优化 ✅
3.7 KiB
3.7 KiB
AssetManager UniApp UI 优化进度
已完成
2026-03-13
- 移除所有条件编译,专注于微信小程序端
- config.vue: 使用原生 picker 替代 u-picker
- detail.vue:
- 使用原生 input 替代 u-input(小程序兼容性)
- 使用原生 picker 替代 u-datetime-picker
- 修复日期选择器 NaN 显示问题
- 恢复股票搜索功能
- strategies/edit/edit.vue: 替换 u-input 为原生 input
- strategies/strategies.vue: 清理未使用的 CSS
- 添加 OPTIMIZATION.md 优化计划文档
2026-03-24
- TypeScript 迁移完成(Phase 0-4)
- P3 功能增强(下拉刷新/上拉加载/空状态)
- P6 UI/UX 优化(产品评审反馈)
- 交易时间格式优化
- 小程序编译兼容性修复
2026-03-25
- 收益率并发问题修复(后端)
- SqlSugarClient 高性能模式优化(后端)
- 数据源优先级调整(后端)
当前状态
组件使用策略
| 组件类型 | 推荐方案 | 原因 |
|---|---|---|
| button | 保留原生 | 样式简单,小程序兼容性好 |
| input | 原生 input | u-input 小程序兼容性问题 |
| picker | 原生 picker | u-picker 小程序显示异常 |
| icon | uni-icons | 已有使用,保持统一 |
| toast | u-toast | 小程序兼容性好 |
| skeleton | 自定义 | 小程序中更可控 |
页面代码量
| 页面 | 总行数 | CSS行数 | 状态 |
|---|---|---|---|
| index.vue | 654 | 428 | ✅ 已优化 |
| detail.vue | 1039 | 330 | ✅ 已优化 |
| config.vue | 733 | 325 | ✅ 已优化 |
| strategies/edit | 997 | ~250 | ✅ 已优化 |
| strategies | 230 | 117 | ✅ 已清理 |
| me.vue | 180 | 47 | ✅ 无需修改 |
✅ 全部任务完成!
前端完成清单
TypeScript 迁移 ✅
- Phase 0 - 基础设施(tsconfig、types 目录)
- Phase 1 - 类型定义(6 个类型文件)
- Phase 2 - 工具函数迁移(currency.ts、api.ts)
- Phase 3 - 页面组件迁移(6 个页面)
- Phase 4 - 清理验证(tsc --noEmit 通过)
P1 - CSS 清理 ✅
- index.vue: 移除未使用的 CSS 类
- detail.vue: 清理冗余样式
- config.vue: 优化表单样式
P2 - 小程序兼容性 ✅
- 替换 u-input 为原生 input
- 替换 u-picker 为原生 picker
- ES2015 语法兼容
P3 - 功能增强 ✅
- 下拉刷新(index / strategies / me / detail)
- 上拉加载(detail 交易记录分页)
- 空状态优化(index / strategies / detail)
P6 - UI/UX 优化 ✅
- 收益曲线空状态引导
- 首页当日涨跌幅显示
- Y 轴刻度
- 状态标签颜色优化
- 交易记录时间格式优化
- 组合名称长度限制
- 去掉无意义标签
- 运行天数替代会员等级
交易时间优化 ✅
- 添加时间选择器
- 后端时间解析修复
后端完成清单
收益率并发问题 ✅
- static 内存缓存(跨请求共享)
- Lazy<Task> 防止重复请求
- SqlSugarClient 高性能模式
- 后台写入创建新实例
- SemaphoreSlim 串行化 → 最终方案
数据源优化 ✅
- 实时价格:腾讯 → Yahoo → Tiingo
- 历史K线:Yahoo → Tiingo
其他优化 ✅
- 用户访问时自动触发净值计算
- 收益曲线数据不一致修复
兼容性
- ✅ 微信小程序(已验证)
- ⚠️ H5(需要条件编译恢复)
- ⚠️ App(需要条件编译恢复)
注意事项
- 微信开发者工具需关闭"过滤无依赖文件"
- uview-plus 组件在小程序中有兼容性问题,谨慎使用
- 原生组件在小程序中表现更稳定
- SqlSugarClient 每次创建新实例,IsAutoCloseConnection=true