P1: - 收益曲线 Y 轴刻度(5档刻度线+标签) P2: - 交易记录时间格式合并为一行 - 组合名称长度限制(max-width + ellipsis) - 去掉无意义标签("账本追踪中"、"NV") P3: - 我的页面会员等级改为运行天数 改进: - 信息密度提升 - 图表可读性增强 - 去除冗余信息
141 lines
4.6 KiB
Markdown
141 lines
4.6 KiB
Markdown
# 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.ts(uni、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. 原生组件在小程序中表现更稳定
|