一套微信小程序的开发模板

ez-wxlite是一套小程序开发模板,旨在设计一套简洁、高效、可维护的开发框架。

本套模板总体上分为两部分:

  • client:小程序源码部分;
  • server:为本地服务,不是后端服务,主要作用是mock接口以及静态文件服务。

点击这里下载模板:https://github.com/wxlite-plus/ez-wxlite/releases

client部分是框架的核心,设计上分为:

  • req:网络请求;
  • router:路由;
  • config:配置信息;
  • utils:工具集,用于存放一些通用的公共方法。
  • wxs:工具集,wxml相关的一些公共变量及方法。

框架核心代码都包含在client/framework文件夹内,在app.js中一次性引入:

调用patch方法会直接完成App、Page、Component这三个全局方法的代理,并完成相应的注入,所以上面的App({})其实已经是被代理之后的App,在这一实例中我们可以获取到注入的options数据,通过this.$opts获取到:

原小程序的App方法只能在onLaunch中获取到options,代理过后的App,通过将options挂载在实例上,我们可以在所有生命周期里访问到,方便使用,Page同理。

req是wx.request的高级封装,用于发起ajax请求以及文件上传。

wx.request是一个底层api,使用的不便之处在于:

  1. 返回结果比较底层,需要处理statusCode,而开发者往往更关注业务相关的data部分;
  2. 登录机制繁琐,设计上甚至有些反人类;
  3. 不具备良好的接口管理功能,可维护性差;

……

综上所述,wx.request需要一层高级的封装来简化操作,因此有了req,req代理了wx.request,并在这基础上做了一些设计工作,以提供良好的维护性:

  • promisify:支持promise,替代callback的方式;
  • 简化respone:简化返回的数据信息,只保留业务数据;
  • method替代url:使用js api的书写方式来替代直接书写url的方式;
  • 接口缓存:支持便捷的接口前端缓存;
  • 自动登录:登录态过期自动重新登录,过程对开发者透明。

详细内容请浏览:https://github.com/wxlite-plus/mp-req

页面的跳转存在哪些问题呢?

  1. 与接口的调用一样面临url的管理问题;
  2. 参数类型单一,只支持string。

当我们传递的参数argument不是string,而是number或者boolean时,也只能在下个页面得到一个argument.toString()值:

上面这种情况想必很多人都遇到过,而且感到很抓狂,本来就想传递一个boolean,结果不管传什么都会变成string。

我们的解决方案是:利用JSON.stringify+encodeURIComponent和decodeURIComponent+JSON.parse的方式让参数保真。

顺手也替换掉那不好记的navigate api,于是就出现了如下方式:

详细内容请浏览:https://github.com/wxlite-plus/mp-router

server为本地服务,不是后端服务,主要作用是:

  • mock服务:当后端接口未就绪时,使用自定义的数据模拟接口调用;
  • 静态文件服务:开发阶段使用本地静态资源替代线上的cdn资源;
  1. 命令行进入server目录,执行npm包安装:npm install(或者使用yarn);
  2. 执行npm run dev。

done!

mock的配置文件为server/mock/init.js,假设我需要一个获取我的用户信息的接口:

接着我就可以通过访问http://localhost:8080/user/myInfo得到我预设的json。

如果我们想要随意地切换静态资源服务环境,那么我们在使用静态资源的时候就不能hard code,那我们怎么做呢?我们使用wxs来配置静态资源的前缀。

client/wxs这一目录存放的是wxs文件,其中我们预定义了cdnPathTable.wxs,它的含义类似于client/config.apiUrlTable.js,我们定义了local、dev、release三个环境,然后在wxml文件中使用:

这里的wxs和config其实没有什么区别,选择定义在wxs中是因为wxs在wxml中使用十分方便。

为了使开发工作更简单高效,我们没有采用在小程序开发工具以外再搭建一层脚手架的做法,而是尽可能使用现有的工具和环境,借助于强大的vscode,我们还提供了:

  • eslint支持;
  • 借助typescript进行语法提示;

启用eslint功能只需要在根目录下运行npm install即可,typescript主要是实现小程序api的语法提示功能,当然这功能直接使用现有的vscode插件就可以实现,不过我目前没有找到比较好用的~考虑到微信的api文档更新比较频繁,插件的维护速度可能跟不上,所以简单地实现了一个本地化,在开发过程中可以手动补充,将自己常用的api定义好就足以提高效率了。

史上最全的微信小程序源码模版开发大全

近年来,小程序火的一塌糊涂,微信、百度、支付宝和头条都开始了小程序之旅,以后估计也是趋势,这里搜集了一些关于小程序源码的资源共享给大家,声明本文非原创,只是觉得有用,所以发出来给有需要的学习小程序开发的朋友看。

  • 微信小程序官方Demo(Hao-Wu/WeApp-Demo)
  • 微信小应用示例代码(phodal/weapp-quick)
  • 微信小应用地图定位demo(giscafer/wechat-weapp-mapdemo)
  • 微信小应用- 掘金主页信息流(hilongjw/weapp-gold)
  • 微信小程序(应用号)示例:微信小程序豆瓣电影(zce/weapp-demo)
  • 微信小程序-豆瓣电影(hingsir/weapp-douban-film)
  • 小程序 hello world 尝鲜(kunkun12/weapp)
  • 微信小程序版2048小游戏(natee/wxapp-2048)
  • 微信小程序-微票(wangmingjob/weapp-weipiao)
  • 微信小程序购物车DEMO(SeptemberMaples/wechat-weapp-demo)
  • 微信小程序V2EX(jectychen/wechat-v2ex)
  • 微信小程序-知乎日报(myronliu347/wechat-app-zhihudaily)
  • 微信小程序-公众号热门文章信息流(hijiangtao/weapp-newsapp)
  • 微信小程序版Gank客户端(lypeer/wechat-weapp-gank)
  • 微信小程序集成Redux实现的Todo list(charleyw/wechat-weapp-redux-todos)
  • 微信小程序集成 LeanCloud 实现的 Todo list(leancloud/leantodo-weapp)
  • 微信小程序-番茄时钟(kraaas/timer)
  • 微信小程序项目汇总
  • 微信小程序版聊天室(ericzyh/wechat-chat)
  • 微信小程序-HiApp(BelinChung/wxapp-hiapp)
  • 小程序Redux绑定库(charleyw/wechat-weapp-redux)
  • 微信小程序版微信(18380435477/WeApp)
  • 小程序开发从布局开始(hardog/wechat-app-flexlayout)
  • 微信小程序-音乐播放器(eyasliu/wechat-app-music)
  • 微信小程序-简易计算器-适合入门(dunizb/wxapp-sCalc)
  • 微信小程序-github(zhengxiaowai/weapp-github)
  • 微信小程序-小熊の日记(harveyqing/BearDiary)
  • 微信小程序(Seahub/PigRaising)
  • 微信小程序(WeChatMeiZhi妹子图)
  • 微信小程序快速开发骨架
  • 微信小程序 – Artand 最专业的艺术设计平台
  • 微信小程序 – 开心一刻(zhijieeeeee/wechat-app-joke)
  • 微信小程序 – GitHubFeed(uniquexiaobai/wechat-app-githubfeed)
  • 微信小程序 – 国外摄影社区500px(fluency03/weapp-500px)
  • 微信小程序 – 巴爷供销社-电商平台(bayetech)
  • 基于微信小程序的UI库(Wa-UI)
  • 微信小程序-豆瓣美女/妹子图(weapp-girls)
  • 微信小程序-美女模特(BeautifulGirl)
  • 微信小程序 – 知乎仿写(RebeccaHanjw/weapp-wechat-zhihu)
  • 微信小程序 – 面包旅行(romoo/weapp-demo-breadtrip)
  • 微信小程序-淘票票(weapp-film)
  • 微信小程序-仿ONE(ahonn/weapp-one)
  • 微信小程序-新闻阅读器(vace/wechatapp-news-reader)
  • 微信小程序 – 百思不得姐(Symous/WechatApp-BaisiSister)
  • 微信小程序 – We重邮(lanshan-studio/wecqupt)
  • 微信小程序 – IOS计算器
  • 微信小程序 – github简历(monkindey/wx-github)
  • 微信小程序-程序员老黄历(xujinyang/CoderCalendar-WeApp)
  • 微信小程序 – TODOS(任务清单)(zce/weapp-todos)
  • 微信小程序 – 企业宣传小程序(yaoshanliang/weapp-ssha)

推荐6个用过一次就会爱上的微信小程序

上次给大家分享的实用手机App,很多朋友觉得安装麻烦,所以今天就给大家推荐6个好用不要钱的微信小程序,轻量化、免安装,用过一次就会彻底爱上。

亮点:

平时在火车站会看到,别人手机屏幕上显示滚动弹幕在找人,其实用这个小程序就能制作,可以设置字体、颜色、背景、速度,非常炫酷!

除此之外,还有很多好玩的小功能,比如手灯模式,播放音乐配合着灯光摇摆,就像在夜店一样;还有全屏显示时钟,横屏放置看时间不错。

亮点:

不管是工作中还是学习上,都经常需要制作PPT,往往最快捷的方式就是套用模板,我发现这个小程序每天都能获取两份PPT模板,非常奈斯!

我按照上面的步骤,还真的领到了,需要在网页上打开办公资源网,然后挑选自己想要的模板,复制那个模板ID到小程序上,结果自动下好了。

亮点:

经常碰到商家搞活动,集满多少个赞可以领奖品,一个一个找好友要赞太麻烦了,这款工具可以让你瞬间集满赞,生成截图,非常适合白嫖党。

使用方法也非常简单,选择在一种动态方式,然后自定义朋友圈内容,拖动下方的进度条,设置点赞个数,最大支持300个赞,最后生成图片。

亮点:

日常生活中刷短视频,遇到自己喜欢的视频了,可是保存到相册却有水印,你可以复制视频的链接,然后粘贴到文本框中,再进行自动提取。

大概等待3秒左右,视频水印去除成功,可以先播放预览,觉得没问题就保存到相册。有些视频即使不让下载,也可以通过这个方法获取哦。

亮点:

我们都缺乏自律,做很多事总是3分钟热度,你可以借助这个小程序来监督打卡,每天早起签到领取金币,越自律就能越让人物打扮得更好看。

同时它还是一款专注工具,安排一个小任务,比如看书、学习,然后设置时间开始专注,提供了两种白噪音,非常的解压,听起来十分舒适。

亮点:

这是我最近发现的,就像它的名字一样,是一个非常好用的工具箱,内含7大板块,共32个小工具,你还可以添加常用工具和设置喜爱工具。

我常用的几个有趣的功能,比如:切分图片、简易画板、字符画、表情包制作、每日笑话等。一个小小的工具箱居然装下这么多功能,太棒了!

最美尾巴:

以上就是我今天的分享内容,如果大家觉得有用,记得点赞告诉我,我会继续分享更多优质的内容。

上面这6个好用不要钱的微信小程序,用过一次就会彻底爱上哦。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。