小程序鸿毛框架集成了 广播/通知、语言国际化、数据请求、持久化存储、路由等功能;不单单是为了拿出一点封装的东西,还要唠叨一些编程习惯,提高程序健壮性。
骚两句,疯哥以前做IOS,学过Php、BlockChain,也做过web、小程序,今天写的这个东西也是借助了之前开发IOS和web时所用的,工作五年多来摸索出来的一些东西分享给大家,不管你是从事哪个技术栈的前端开发,这些都是有参考价值,如果你经历过重构和客户端迁移并完美的完成过,那么也希望你看完之后能够提出宝贵的建议和意见。
git代码地址在最下方,建议同学们在看的时候下载源码查看
看代码:

在上图(图1)中,目录有两个主要文件夹:assets和pages,所有的封装函数都放在assets中,请看下图(图2)

图2中显示了assets中所有使用到的函数库,看到这么多有没有怕,别怕,很简单。俗话说工欲善其事必先利其器啊,如果你没有一个好的架构看完这个会让你的工作效率提高不少。
2-6的函数都能够单独使用,也就是说你可以直接把代码放到你的项目中引入即可。对于1的话如果单独使用就会让它的功能大大降低;因为baseClass就是对page的一个简单的封装,baseClass可以大大减少你在编程中的工作量。下面开始介绍2-6的功能
.持久化数据存储管理 assets/commonData/index.js

持久化数据存储管理就是把你常用的数据存储在本地,方便下次使用,使用get和set来存储获取数据减少代码量、提高可读性。
很多人喜欢“就地解决”这是非常不好的习惯,比如:
pageA:index.js
wx.setStorageSync("user_token", "12345qwert");
pageB: index.js
let token = wx.getStorageSync("user_token");
这个读写数据的key使用字符串标示,字符串如果不小心复制错了是很难查的,而且在存储不同的数据写了相同的key也难以察觉,毕竟这些字符串出现在好多文件中。所以疯哥建议在处理频繁使用字符串为key取数据的地方切勿为了节省那么一点时间粘贴复制,就是“就地解决”的意思,非常不好,要改! 使用方法里面有示例,我就不赘述了。
.国际化语言支持 assets/language/*




上面图3-1到图3-3都是语言文件,这个没啥好说的。
图解3-4中 language 是只读的,获取当前设置的语言数据,即图3-1到图3-3中其一的内容,通过languageCode可以设置获取的语言。
这个就没什么好说的,主要是搭配baseClass使用才突出其便捷性,如果不那么方便我都不好意思单独拿出来说。
这篇就到这,剩下的4-6放到下一章节;
网友评论