【01-北川志愿点单便民服务系统】
项目时间:2022.06.20 - 2022.08.15
项目标签:React、TypeScript、Flutter、Dart、Umi
项目描述:这个项⽬是替北川政府重构的⼀个项⽬,主要包括APP和后台管理系统。该项⽬主要功能包括新闻、志愿活动、群
众服务的发布与展示及服务订单管理等。APP实现⼀端多⻆⾊,兼容团体账户和群众账户的展示。考虑到项⽬本身
不复杂以及快速构建发布,APP⽤的是 Flutter,快速构建iOS和安卓。在这个项⽬中,除了开发之外,同时
也在梳理需求,把控项⽬进度以及阿⾥云账号管理和应⽤市场的上架。该项⽬从6⽉20⽇开始重构,开发到上线差
不多1个⽉左右的时间。
项目技术:
后台管理系统:基于 Umi + React + Typescript ,UI 框架使⽤ Ant Design Pro + ⾃⼰封装的⼀
些通⽤组件 ,通过 wangEditor (开源 Web 富⽂本编辑器)实现新闻和活动的发布,图⽚上传
( OSS ),表格批量处理等。
APP(iOS/Android):考虑到开发效率及这个项⽬主要偏向展类,所以在技术⽅案选型时⽤的
Flutter 开发,⼀套代码打包 iOS 和 Android 。主要技术点:
基于Flutter 官⽅提供的 Provider 实现 MVVM 设计模式来架构整个项⽬;
基于 dio 与后端交互,对其进⾏⼆次封装;
基于发布订阅者模式实现 dart 版本的 eventBus 。
基于 flutter_quill 实现 APP 端的富⽂本编辑,以及 delta_markdown 和 markdown 将
delta 转为 htmlString 。
基于 shared_preferences 实现数据持久化,对其进⾏⼆次封装。
基于 json_serializable 快速实现实体( entity )的 JSON 序列化。
基于 flutter_picker 、 image_cropper 、 flutter_image_compress 实现图⽚的拾取、裁
剪、压缩上传。
基于 crypto 实现APP端签名直传 OSS 。
基于 date_format 处理⽇期格式。
实现放微信朋友圈九宫格展示图⽂,根据图⽚张数不同定义不同的展示⽅式。
视图插件: flutter_easyloading 、 card_swiper 、 photo_view 、 flutter_spinkit 等
等。