用鸿蒙写个e交易

效果演示

鸿蒙版本e交易-效果演示视频

flutter版本e交易-效果演示视频

flutter版本可在应用市场直接搜索下载查看效果

技术点

  1. 基于 API9 使用 ArtTSArtUI 实现页面构建和状态管理
  2. 基于 PersistentStorageLocalStoragedataPreferences 实现用户本地信息存储和站点切换控制
  3. 基于 displaydeviceInfo 实现适配手机侧函数 vp2vp 做到视觉统一
  4. 基于 IDataSourceLazyForEach 实现列表懒加载优化列表性能
  5. 基于 Axios 封装请求工具类,实现接口响应数据泛型支持和参数处理与响应拦截
  6. 基于鸿蒙系统组件,抽象封装通用组件 Search、Skeleton、LoadingDialog、Toast
  7. 基于 router 都页面栈进行控制,完成页面栈维护和清理
  8. 基于动画模块,实现页面转场动画、骨架屏涉及
  9. 基于鸿蒙第三方库pulltorefresh实现 列表下拉刷新、上拉加载更多
  10. 使用鸿蒙第三方库 dayjs 实现时间相关处理业务逻辑
  11. 基于Canvas完成首页绿证、绿电模块饼状图的封装

总结

  1. 路由跳转像小程序.需要在main_page.json文件中配置才能跳转

  2. ts中不能引入ets

  3. 无法设置全局style,@style无法倒出

  4. 模拟器每次重新运行会清掉userDefeault中的数据,也可以配置不卸载重装(运行-keep appliacationData)

  5. Image组件不能加载带中文串的urlstring

  6. 鸿蒙调试不方便,没有热重载. priview逻辑多了根本加载不起来,难用

  7. Resource不能用字符串拼接,如r(`app.media.{this.iconName}`)这样调用不起来

  8. 没有expend组件,可以用blank组件及layoutweight处理字体过长越界问题

  9. 富文本用text的子组件span实现. 鸿蒙中的RechText加载的是h5

  10. Media中添加图片命名不能用-,只能用_和大小写字母数字

  11. 鸿蒙中子组件会遮挡父组件的圆角.所以在父组件设置圆角borderRadius(vp360vp(15))后要继续设置`.clip(true)

  12. Stack中两个组件,决定谁在上边下边,可以用zIndex属性

  13. 嵌套组件中不让写三目运算符,有点难受啊

  14. 支持hotReload 但是得自己配置https://juejin.cn/post/7301579823415984154?share_token=99a30cb0-bcca-4815-8876-8982ab5a0ebb

  15. 最恶心的问题 莫名其妙生成一堆无用的js/ js.map无法运行,文件安装插件处理解决https://plugins.jetbrains.com/plugin/23192-arkcompilersupport

  16. stack层叠视图,点击事件处理用.hitTestBehavior(HitTestMode.Block)处理

  17. stack中组件设置.zIndex(1) ,设置的值要大于等于2,否则出现无法点击问题(参考电力百科页面导航栏例子)

  18. 热更新不好用的情况,可能是某个语法报错(不提示),但是也能编译过去.比如ListItem中放两个Row,不是放在一个根容器中

  19. flex中设置了对齐方式,子组件可以设置alignSelf不按照flex对齐方式.

  20. 好多第三方库只支持api10以上的版本,但是个人开发者无法使用

  21. 真机调试要配置好hdc,运行在真机上(老设备)上会很卡,等官方修复. 可先按照这个方法解决下问题https://developer.huawei.com/consumer/cn/blog/topic/03136413115850070但是仍然会很卡

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容