P1: - 收益曲线 Y 轴刻度(5档刻度线+标签) P2: - 交易记录时间格式合并为一行 - 组合名称长度限制(max-width + ellipsis) - 去掉无意义标签("账本追踪中"、"NV") P3: - 我的页面会员等级改为运行天数 改进: - 信息密度提升 - 图表可读性增强 - 去除冗余信息
4.6 KiB
4.6 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 优化计划文档
当前状态
组件使用策略
| 组件类型 | 推荐方案 | 原因 |
|---|---|---|
| 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 | 无需修改 |
待处理
P1 - CSS 清理 ✅ 完成
- index.vue: 检查并移除未使用的 CSS 类
- detail.vue: 进一步清理冗余样式
- config.vue: 优化表单样式
P2 - 小程序兼容性 ✅ 完成
- config.vue: 替换 4 处 u-input 为原生 input
- detail.vue: 替换 1 处 u-input 为原生 input
P3 - 功能增强 ✅ 完成
- 下拉刷新(index / strategies / me / detail)
- 上拉加载(detail 交易记录分页)
- 空状态优化(index / strategies / detail)
P4 - TypeScript 迁移 🚀 进行中
详细计划见 TYPESCRIPT_MIGRATION.md
Phase 0 - 基础设施 ✅ 完成
- 安装 TypeScript 相关依赖 (typescript@6.0.2)
- 创建 tsconfig.json
- 创建 src/types/ 目录结构 (6个类型文件)
- 修改 vite.config.js → vite.config.ts
- 修改 main.js → main.ts
tsc --noEmit无错误通过
Phase 1 - 类型定义 ✅ 完成
- types/api.ts - API 响应类型(与后端对齐)
- types/portfolio.ts - 组合/持仓/交易类型(与后端 DTO 对齐)
- types/strategy.ts - 策略类型(与后端 DTO 对齐)
- types/user.ts - 用户类型(与后端 DTO 对齐)
- types/global.d.ts - 全局类型声明
- types/shims.d.ts - Vue/模块声明
tsc --noEmit无错误通过
Phase 2 - 工具函数迁移 ✅ 完成
- currency.js → currency.ts(带类型注解)
- api.js → api.ts(泛型化请求方法,完整类型定义)
- 更新 shims.d.ts(uni、importMeta 类型声明)
- 删除原 .js 文件
tsc --noEmit无错误通过
Phase 3 - 页面组件迁移 ✅ 完成
- me.vue (最简单)
- strategies/strategies.vue
- strategies/edit/edit.vue
- config/config.vue
- detail/detail.vue
- index/index.vue
tsc --noEmit无错误通过
Phase 4 - 清理验证 ✅ 完成
- 删除原 .js 文件(仅保留 uni.promisify.adaptor.js)
tsc --noEmit无错误通过- 微信小程序验证(待真机测试)
✅ TypeScript 迁移完成!
迁移统计:
- 配置文件:2 个
- 类型文件:7 个
- 工具函数:2 个
- 页面组件:6 个
- 总代码行数:~5,000+ 行
收益:
- ✅ 完整的类型提示
- ✅ 编译时错误检查
- ✅ IDE 自动补全
- ✅ 重构安全性提升
P6 - UI/UX 优化(产品评审反馈)⏳ 进行中
P0 - 紧急
- 收益曲线空状态添加引导按钮("生成收益曲线")✅ 已实现
P1 - 高优先级
- 首页组合卡片添加当日涨跌幅显示 ✅ 已实现
- 详情页收益曲线 Y 轴添加刻度 ✅
P2 - 中优先级
- 状态标签颜色优化(运行中=绿色,已暂停=黄色)✅ 已实现
- 交易记录时间格式合并为一行 ✅
- 组合名称长度限制(超出截断)✅
- 详情页去掉无意义标签("账本追踪中"、"NV")✅
P3 - 低优先级
- 持仓明细优化(显示成本价)✅ 已实现
- 我的页面会员等级改为运行天数 ✅
兼容性
- ✅ 微信小程序(已验证)
- ⚠️ H5(需要条件编译恢复)
- ⚠️ App(需要条件编译恢复)
注意事项
- 微信开发者工具需关闭"过滤无依赖文件"
- uview-plus 组件在小程序中有兼容性问题,谨慎使用
- 原生组件在小程序中表现更稳定