我的第一个微信小程序开发经验
文章目录
前段时间项目里要开发一个微信小程序,我也是临危受命吧,大概学习了几个小时,然后花了一天写好(功能比较简单所以…)。一般使用一个新东西的时候我都会先大致了解一下文档,然后才开始开发,主要是为了少踩点坑。记录一下自己开发这个小程序的一些经验,说不定以后能用到。
小程序账号
首先,我们需要申请一个小程序账号。有个人账号
也有企业账号
。我这里是公司申请的企业账号,我之前自己也试过申请个人账号,印象中个人账号还是挺容易申请的。
登录这个账号的管理后台,就可以管理自己的小程序,可以在菜单 “开发”-“开发设置” 看到小程序的 AppID 了 。
这个AppID 在开发阶段不是必须的。微信开发者工具
可以生成测试号,所以在没有账号的时候,我们还是可以开发的。
微信开发者工具
微信小程序有自己的那一套代码结构(JSON, WXML, WXSS, JS),所以也就有自己的一个开发工具了。下载一个开发工具,然后装上就可以开始开发了。
小程序结构
小程序是前后端分离的,所以小程序基本是一些前端代码组成,虽然小程序有自己的一套前端。但是,具备HTML,JS,CSS的基本使用就能直接入手了。当然,会Vue,Angular等数据驱动的框架就更好了。
在我看来小程序就是由不同的页面组成,然后使用一些路由方法(例如: wx.navigateTo)跳转。每个页面由
.json
后缀的JSON
配置文件.wxml
后缀的WXML
模板文件.wxss
后缀的WXSS
样式文件.js
后缀的JS
脚本逻辑文件
4个文件构成。这些文件,我们可以直接使用微信开发工具直接生成。
除了页面的文件,还有就是一些公共的配置(例如:app.js,app.json,app.wxss,project.config.json等)
对于我的这次开发也就改了project.config.json里的appid。在app.json里修改了小程序首页路径,标题,标题颜色等配置。在app.js里设置了一些全局变量。
小程序UI
小程序自己本身的一些组件的UI能基本满足我们的需求,但是有时候还是需要一些额外的UI组件。官方也提供了WeUI的小程序版(WeUI有企业微信版的,但是小程序的WeUI没有企业微信版。所以要做出企业微信风格的还是需要我们自己改样式)。我们可以使用WeUI来满足我们的其他需求。由于,官方的文档有些不太清楚的地方。所以,我说一下我是怎么使用的。
下载WeUI的代码包。
将代码包解压后,放到小程序的根目录下(与pages目录平级,解压的目录名为
weui-miniprogram
)。在 app.wxss 里面引入 weui.wxss。
1
@import './weui-miniprogram/weui-wxss/dist/style/weui.wxss';
在需要的页面引入组件。例如,我要在index页面使用
cell
和cells
组件。1 2 3 4 5 6 7 8 9 10
{ "usingComponents": { "mp-cells": "../../../weui-miniprogram/cells/cells", "mp-cell" : "../../../weui-miniprogram/cell/cell" } }
mp-cells和mp-cell的路径为WeUI里cells和cell相对于index页面的路径。
在index页面使用mp-cells和mp-cell标签。
WXS
一开始看文档的时候,我都忽略了这部分。直到我需要在WXML里面处理一些数据。
由于数据驱动的原因,我们使用数据来渲染页面的时候,可能需要做一些处理。例如,我有一些数据的格式不确定,可能是对象可能是数组。在WXML里对数组和对象的处理方式是不一样的,所以我们需要判断一下,但是怎么判断呢?
我们可以在WXML里写一段WXS。
|
|
然后使用
|
|
这样的方式来处理。还有一些像字符串分割等操作也可以用类似的方法。
调试
小程序的前端的效果都可以在模拟器中看到。但是,调后台接口的就稍微麻烦一点。因为小程序调的接口的域名得是小程序账号后台配置的域名。一开始,可能我们的接口还是调的本地的,所以要使用局域网通信
来调试。因为不能同本机通信,所以我们可以让手机跟电脑连同一wifi来使用手机调试。
预览
直接点击微信开发者工具
的预览,然后用手机扫描后即可在手机上预览效果了,然后可以在手机上打开调试模式。
真机调试
真机调试需要使用小程序的appId
,测试号的appId的话,微信开发者工具上就没有真机调试按钮。
Q&A
为什么调试模式程序正常,关掉调试模式就不行?
这基本就是,域名设置问题。注意wx.request和wx.uploadFile都要设置域名。
为什么this.setData不起作用?
注意this指的是什么,可以在外层使用var that = this,然后使用that.setData来设置数据。
如何设置域名?
登录小程序管理后台,开发设置里设置,注意一个月只能改5次。
怎么发布小程序?
微信开发者工具,点击上传,然后在管理后台发布。