打包微信小程序

微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。

1. 在WIDE中生成我们小程序源码

打开WIDE软件的站点编辑页面,依次点击:应用 >> 微信小程序

2. 填写小程序信息

填写小程序域名,首页地址,小程序标题和是否启用微信运动数据,小程序源码将下载到“tpl/workspace/wxapp/src”目录下

3. 利用微信开发者工具上传小程序源码

先将你的微信号添加为对应小程序的开发者,并扫码登录开发者工具。 如何绑定开发者?

在开发者工具新建一个小程序。

选择“导入项目”,填写项目名称,小程序源码目录和小程序AppID。 如何获取AppID?

在测试小程序没有问题之后,依次点击“工具”>>“上传”,将小程序源码上传到小程序平台。

登录微信公众平台小程序,进入开发管理,开发版本中展示已上传的代码,管理员可提交审核或是删除代码。

代码审核通过,需要开发者手动点击发布,小程序才会发布到线上提供服务。

4. 更多配置事项

1)提前在小程序平台配置服务器域名和业务域名,依次点击“开发”>>“开发设置”,下面即可看到服务器域名和业务域名的配置项

2)修改我们服务器上的Nginx配置文件,将/usr/local/nginx/conf/cors.conf文件中的23行注释掉:

# return 204;

3)如果需要小程序登录,则需要在项目的第三方登录配置页面:https://test.wware.org/auth/admin/weixin.html,将微信小程序的AppID和APPSecret配置上

4)修改项目首页,构建登录状态。获取由小程序中代码提供的token参数,使用get方式提交token至服务器

5)接口判断登录状态,以参数形式返回登录状态

6)修改首页其他接口的触发方式,如果必须登录则由前一步的接口返回的参数触发,如果有登录跳转则移除。

7)或者添加一个空白页面作为首页,初始化触发提交token的接口,接口中登录后跳转至原首页,使用此方式可以不修改原首页中接口即不执行5、6步骤。

5. 功能支持

1.获取数据微信运动
1.1 打包时选择微信运动
1.2 微信运动数据存储在user表的user7miniprogramrd_noana字段,格式为{stepInfoList:[{timestamp:1553443200,step:1}],watermark:{timestamp:1,appid:''}},请使用JSON.parse()转换后再使用获取数据。

2. 获取微信用户信息
2.1 打包时选择获取用户信息
2.2 查看项目是否有auth/rest/user/wcminipuserinfo.json接口,没有则更新auth模块,发布该接口
2.3 如果有需要自定义接口,接口中仅在用户授权后才会更新用户信息,通过输入参数notfirst字段是否为true判断.该接口仅更改了用户昵称和头像,其他信息请自行更改

6. 注意事项

当前支持的登录功能默认系统仅存在小程序一种第三方登录,如果需要实现与其他用户数据连通,需要更改auth/rest/user/wcminiplogin.json的实现方式,请自行实现后更改小程序包中的index.js中的接口。

7.  常见问题

Q: 系统异常请重试
A: 服务器未允许跨域,无法解析来自微信的请求,联系网管修改服务器nginx配置,测试服务器请在测试前主动找网管修改.
Q: 无法构建登录状态
A: 请依次检查:后台配置是否添加微信小程序登录配置,服务器policy未初始化无法保存策略数据,auth是否更新有必要接口,自行构建的token接口是否提交了token字段,token接口是否使用get方式提交,主页有其他跳转判断
Q: 无法获取用户头像
A: 在用户授权时自动从微信下载用户头像,保存到user表的头像字段,请使用代码段获取,由于采用了异步的方式获取,可能有一定的延时,重复刷新后仍没有请联系支撑团队
Q: 微信信息覆盖了用户设置
A:auth/rest/user/wcminipuserinfo.json 无条件更改用户的昵称和头像,如果想要做相应的判断,请自行修改这个接口,添加一定的判断条件.同时再更新auth模块时不要覆盖这个接口.

8. 微信小程序调试

小程序调试需要结合syslog和微信开发者工具。
1)查看syslog中相关错误信息
如果小程序登录失败,在syslog中能够看到类型为wechatminiprogram的错误信息。这里报出的信息基本为配置错误,请根据错误信息调整配置
2)小程序调试
小程序中有可能是自动生成的小程序代码的错误也有可能时服务器端代码的错误,需要在微信开发者工具中结合错误信息调试。
需要读取用户信息的首先查看接口是否正常,如下图:


查看是否正确调用了返回值,这里的错误信息在syslog中也能够看到,无法看到错误信息则需要更新auth中对应的接口。
>>如果没有看到调用则是生成的包的问题需要重新打包
>>/auth/rest/user/wcminipuserinfo.json 返回false不代表错误,这个接口返回的true和false仅代表处理结果
>>发生其他错误不需要更改接口,将错误信息反馈给support团队即可
3)调试服务器端页面
接口正常则会跳转到服务器端页面此时也可以使用微信开发者工具
在模拟器的显示页面右键选择调试可以调试页面。

4)扩展:ubuntu安装微信开发者工具( https://github.com/cytle/wechat_web_devtools),打开终端执行安装命令

git clone https://github.com/cytle/wechat_web_devtools.git
cd wechat_web_devtools
./bin/wxdt install

    启动命令:

./bin/wxdt

 

9. 微信小程序官方文档

微信小程序如何注册,以及如何配置小程序和开发者工具的详细使用方法请查看官方文档

微信小程序官方文档地址: https://developers.weixin.qq.com/miniprogram/introduction/