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

141 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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