前段时间和同学一起做了一个小程序,用来参加学校的比赛,完成后把项目内容分割一下,贴到博客上面,算是学习记录和总结吧。
因为是学生党,而且并没有很大的需要,所以选择了微信小程序为开发者提供的“云开发”选项。
开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
按照微信的说法:
云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
目前提供三大基础能力支持:
首先,开通云开发功能是第一步(默认你已经注册好了微信小程序账号而且申请好了一个AppId),经测试,云开发并不能使用测试号,只能使用真实的AppId。
注:AppID 首次开通云环境后,需等待大约 10 分钟方可正常使用云 API,在此期间官方后台服务正在做准备服务,如尝试在小程序中调用云 API 则会报 cloud init error:{ errMsg: “invalid scope” } 的错误
之后新建就行了。
新建的项目已经包含了一个快速开发的Demo,而且含有云函数示例,初始化函数等等,最好可以先看看,熟悉一下。
首先看一下app.js这个文件:
//app.jsApp({ onLaunch: function () {if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力')} else { wx.cloud.init({traceUser: true, })}})
wx.cloud.init()为云端环境初始化函数,如果有多个云开发环境则需要指定env参数,如下:
wx.cloud.init({ env: 'test-x1dzi'})
具体可以查看官方文档:
developers.weixin.qq.com
接下来声明一些全局数据
//全局数据globalData: { //用户ID userId: '', //用户信息 userInfo: null, //授权状态 auth: { 'scope.userInfo': false }, //登录状态 logged: false}
最后的样子是这样:
//app.jsApp({ //全局数据 globalData: { //用户ID userId: '', //用户信息 userInfo: null, //授权状态 auth: { 'scope.userInfo': false }, //登录状态 logged: false }, onLaunch: function() { if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力') } else { wx.cloud.init({ traceUser: true, env: 'winbin-2hand' }) } }})
新闻热点
疑难解答