AssetManager.UniApp/todo.md
claw_bot b9f9c8c9f6 feat: P6 UI/UX 优化完成
P1:
- 收益曲线 Y 轴刻度(5档刻度线+标签)

P2:
- 交易记录时间格式合并为一行
- 组合名称长度限制(max-width + ellipsis)
- 去掉无意义标签("账本追踪中"、"NV")

P3:
- 我的页面会员等级改为运行天数

改进:
- 信息密度提升
- 图表可读性增强
- 去除冗余信息
2026-03-24 08:19:33 +00:00

4.6 KiB
Raw Blame History

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.tsuni、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需要条件编译恢复

注意事项

  1. 微信开发者工具需关闭"过滤无依赖文件"
  2. uview-plus 组件在小程序中有兼容性问题,谨慎使用
  3. 原生组件在小程序中表现更稳定