跳到主要内容

本周工作汇报

· 阅读需 6 分钟

时间范围

过去一周(基于 Git 提交记录)

主要工作内容

1. 品牌管理模块优化 ⭐

1.1 筛选功能实现

  • 文件: src/screens/crm/brand/filter.tsx
  • 功能: 实现了品牌列表的右侧抽屉筛选功能
    • 标签筛选(待完善)
    • 品牌编号筛选
    • 创建人筛选
    • 最后修改时间筛选(支持多个时间段选项)
    • 自定义时间段筛选
    • 筛选条件清除功能
  • 技术亮点:
    • 使用 Drawer Navigator 实现右侧抽屉
    • 集成 Jotai 进行状态管理
    • 使用 Tailwind CSS 进行样式设计

1.2 品牌列表组件化重构

  • PR: #14, #21
  • 改进内容:
    • 将大型组件拆分为多个子组件:
      • BrandCard.tsx - 品牌卡片组件
      • BrandFilterBar.tsx - 筛选栏组件
      • BrandFilterModal.tsx - 筛选模态框
      • BrandSearchAndActionBar.tsx - 搜索和操作栏
      • BrandSortModal.tsx - 排序模态框
      • BrandWatermark.tsx - 水印组件
    • 代码行数从 1315 行优化到更合理的结构
    • 提升了代码可维护性和可复用性

1.3 品牌详情页优化

  • PR: #20
  • 改进内容:
    • 修复类型定义问题
    • 优化 UI 展示逻辑
    • 改进数据加载和错误处理

2. 状态管理优化 🎯

2.1 Jotai Store 工具实现

  • 文件: src/utils/jotaiStore.ts (新增)
  • 功能: 实现了页面级别的 Jotai Store 管理工具
    • usePageStore - Hook 方式创建页面级 store
    • usePageBlur - 监听页面返回事件
    • createPageStore - 非 Hook 方式创建 store
  • 优势:
    • 自动在页面返回时重置状态
    • 避免状态污染
    • 提供更好的状态隔离

2.2 全局状态管理改进

  • PR: #15
  • 改进内容:
    • 添加全局 loading 引用
    • 改进导航类型定义
    • 优化状态管理结构

3. 存储系统迁移 💾

3.1 MMKV 迁移

  • PR: #17
  • 改进内容:
    • 移除 react-native-storageasync-storage
    • 全面迁移到 react-native-mmkv (v4)
    • 实现多实例架构优化
    • 提升存储性能(同步读写,高性能)

3.2 存储工具优化

  • 文件: src/utils/mmkv.ts
  • 改进内容:
    • 优化存储辅助函数
    • 改进错误处理
    • 添加类型安全

4. 导航系统优化 🧭

4.1 导航性能优化

  • PR: #16
  • 改进内容:
    • 实现懒加载(Lazy Loading)
    • 添加性能监控
    • 实现导航持久化
    • 优化导航结构
  • 新增文件:
    • src/navigation/performance-monitor.ts - 性能监控
    • src/navigation/persistence.ts - 持久化
    • src/navigation/helpers.ts - 辅助函数
    • src/navigation/exports.ts - 导出管理

4.2 导航安全性改进

  • PR: #22
  • 改进内容:
    • 改进错误处理机制
    • 添加导航安全检查
    • 优化加载状态管理

5. API 客户端优化 🔌

5.1 API 客户端重构

  • PR: #19
  • 改进内容:
    • 从 JavaScript 迁移到 TypeScript
    • 改进错误处理
    • 优化请求拦截器
    • 添加类型安全

5.2 请求头管理集中化

  • PR: #18
  • 改进内容:
    • 实现请求头集中管理
    • 自动设置 Organization-Idcorporation-id
    • 支持语言和时区请求头
    • 改进请求头缓存机制
  • 新增文件:
    • src/utils/requestHeaders.ts - 请求头管理
    • src/utils/language.ts - 语言工具

6. 代码结构优化 🏗️

6.1 组件化和模块化

  • PR: #21, #13
  • 改进内容:
    • 移除未使用的 API 定义和表单组件
    • 改进组件结构
    • 优化导入导出
    • 清理冗余代码

6.2 错误处理改进

  • PR: #22, #12
  • 改进内容:
    • 统一错误处理机制
    • 改进错误边界
    • 优化错误提示

7. UI/UX 优化 🎨

7.1 Tailwind CSS 迁移

  • PR: #8
  • 改进内容:
    • 将 UI 组件迁移到 Tailwind CSS
    • 使用 Tailwind 3.4.17 版本
    • 优化样式代码

7.2 @rneui/themed 集成

  • PR: #9
  • 改进内容:
    • 集成 @rneui/themed 组件库
    • 实现自定义主题
    • 优化 UI 组件使用

7.3 加载和认证上下文优化

  • PR: #11, #12
  • 改进内容:
    • 改进加载状态管理
    • 优化认证上下文
    • 改进应用加载流程

8. 工具和配置优化 ⚙️

8.1 环境配置优化

  • 改进内容:
    • 优化环境变量管理
    • 改进配置结构
    • 使用 react-native-config 管理配置

8.2 TypeScript 迁移

  • 改进内容:
    • 将多个 JavaScript 文件迁移到 TypeScript
    • 改进类型定义
    • 提升类型安全

9. 文档整理 📚

9.1 文档结构优化

  • 改进内容:
    • 整理文档到 doc 目录
    • 创建统一的 README
    • 整理技术文档

9.2 导航文档

  • 新增文档:
    • doc/src/navigation/README.md - 导航系统文档
    • doc/src/navigation/QUICK_START.md - 快速开始
    • doc/src/navigation/MIGRATION.md - 迁移指南
    • doc/src/navigation/INDEX.md - 索引文档

代码统计

提交统计

  • 总提交数: 80+ 次提交
  • PR 数量: 23 个 Pull Request
  • 文件变更: 110+ 个文件
  • 代码行数:
    • 新增: 10,349+ 行
    • 删除: 3,511+ 行
    • 净增: 6,838+ 行

主要文件变更

  • src/screens/crm/brand/ - 品牌管理模块重构
  • src/navigation/ - 导航系统优化
  • src/utils/ - 工具函数优化
  • src/api/ - API 客户端重构
  • src/services/ - 服务层优化

技术亮点 ✨

  1. 性能优化:

    • 实现懒加载和代码分割
    • 使用 MMKV 提升存储性能
    • 优化导航性能
  2. 类型安全:

    • 全面迁移到 TypeScript
    • 改进类型定义
    • 提升代码质量
  3. 状态管理:

    • 实现页面级状态管理
    • 避免状态污染
    • 提升状态管理效率
  4. 代码质量:

    • 组件化和模块化
    • 改进错误处理
    • 优化代码结构

待完成工作 🔄

  1. 品牌筛选功能:

    • 实现标签选择功能
    • 实现创建人选择功能
    • 实现自定义筛选项配置
    • 连接筛选逻辑到品牌列表
  2. 测试:

    • 添加单元测试
    • 添加集成测试
    • 性能测试
  3. 文档:

    • 完善 API 文档
    • 完善组件文档
    • 完善使用指南

下周计划 📅

  1. 完成品牌筛选功能的剩余部分
  2. 实现客户管理模块
  3. 优化性能和用户体验
  4. 添加测试覆盖
  5. 完善文档

总结

本周主要完成了品牌管理模块的重构和优化,实现了筛选功能的基础框架,优化了状态管理、存储系统、导航系统等多个核心模块。代码质量得到显著提升,类型安全性增强,性能得到优化。为后续功能开发奠定了良好的基础。

包大小

纷享销客的apk包大小为:885mb;

现在出的apk包大小为:39.6mb;iOS 的 ipa 大小为:9.7MB;