效果演示
flutter版本可在应用市场直接搜索下载查看效果
技术点
- 基于
API9
使用ArtTS
与ArtUI
实现页面构建和状态管理 - 基于
PersistentStorage
、LocalStorage
、dataPreferences
实现用户本地信息存储和站点切换控制 - 基于
display
和deviceInfo
实现适配手机侧函数vp2vp
做到视觉统一 - 基于
IDataSource
和LazyForEach
实现列表懒加载优化列表性能 - 基于
Axios
封装请求工具类,实现接口响应数据泛型支持和参数处理与响应拦截 - 基于鸿蒙系统组件,抽象封装通用组件
Search、Skeleton、LoadingDialog、Toast
等 - 基于
router
都页面栈进行控制,完成页面栈维护和清理 - 基于动画模块,实现页面转场动画、骨架屏涉及
- 基于鸿蒙第三方库
pulltorefresh
实现 列表下拉刷新、上拉加载更多 - 使用鸿蒙第三方库
dayjs
实现时间相关处理业务逻辑 - 基于
Canvas
完成首页绿证、绿电模块饼状图的封装
总结
路由跳转像小程序.需要在main_page.json文件中配置才能跳转
ts中不能引入ets
无法设置全局style,@style无法倒出
模拟器每次重新运行会清掉userDefeault中的数据,也可以配置不卸载重装(运行-keep appliacationData)
Image组件不能加载带中文串的urlstring
鸿蒙调试不方便,没有热重载. priview逻辑多了根本加载不起来,难用
Resource不能用字符串拼接,如{this.iconName}`)这样调用不起来
没有expend组件,可以用blank组件及layoutweight处理字体过长越界问题
富文本用text的子组件
span
实现. 鸿蒙中的RechText
加载的是h5Media中添加图片命名不能用-,只能用_和大小写字母数字
鸿蒙中子组件会遮挡父组件的圆角.所以在父组件设置圆角
borderRadius(vp360vp(15))
后要继续设置`.clip(true)Stack
中两个组件,决定谁在上边下边,可以用zIndex
属性嵌套组件中不让写三目运算符,有点难受啊
支持hotReload 但是得自己配置
https://juejin.cn/post/7301579823415984154?share_token=99a30cb0-bcca-4815-8876-8982ab5a0ebb
最恶心的问题 莫名其妙生成一堆无用的
js/ js.map
无法运行,文件安装插件处理解决https://plugins.jetbrains.com/plugin/23192-arkcompilersupport
stack
层叠视图,点击事件处理用.hitTestBehavior(HitTestMode.Block)
处理stack
中组件设置.zIndex(1) ,设置的值要大于等于2,否则出现无法点击问题(参考电力百科页面导航栏例子)热更新不好用的情况,可能是某个语法报错(不提示),但是也能编译过去.比如
ListItem
中放两个Row,不是放在一个根容器中flex
中设置了对齐方式,子组件可以设置alignSelf
不按照flex
对齐方式.好多第三方库只支持api10以上的版本,但是个人开发者无法使用
真机调试要配置好hdc,运行在真机上(老设备)上会很卡,等官方修复. 可先按照这个方法解决下问题
https://developer.huawei.com/consumer/cn/blog/topic/03136413115850070
但是仍然会很卡