我这有小程序的教学视频有需要的同学@我,
新建项目时,AppID输入你的小程序appid,可以登陆微信公众平台,有小程序在设置中查看appid,没有就需要注册了。后端服务需要勾选小程序.云开发。具体demo看下篇文章demo使用云开发,添加输入数据,在云服务中插入云控制台中的数据库,查询返回给小程序列表显示
点击云开发,没有开通开开通一下。
在项目下有app.js文件初始化云服务。env:对应的时云环境ID(打开云开发在控制台顶部就有显示)
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
wx.cloud.init({
// env 参数说明:
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
// env: 'my-env-id',
traceUser: true,
})
}
app.json中注册新建的page就行Android中的manifest注册activity
{
"pages": [
"pages/index/index",
"pages/openapi/openapi"
],
"window": {
"backgroundColor": "#F6F6F6",
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#F6F6F6",
"navigationBarTitleText": "赏悦之家",
"navigationBarTextStyle": "black"
},
"sitemapLocation": "sitemap.json"
}
在cloudfunctions中右键新建云函数openapi
在其index.js中
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
// API 调用都保持和云函数当前所在环境一致
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {//event是
return toDo(event)
}
async function toDo(event){
const sendResult = await cloud.openapi.templateMessage.addTemplate({
})
return sendResult
}
小程序中调用
// 在小程序代码中:
wx.cloud.callFunction({
name: 'openapi',//云函数名
data: {//传参
a: 1,
b: 2,
},
complete: res => {
console.log('callFunction openapi complete result: ', res)
},
success:res => {
wx.showModal({
title: '请求成功',
content: '请返回微信主界面查看',
showCancel: false,
})
console.log('callFunction openapi success result: ', res)
}
fail:err => {
wx.showToast({
icon: 'none',
title: '调用失败',err
})
console.warn('callFunction openapi fail result: ', err)
}
})
查询
插入数据
db.collection('todos').add({
data:{
a:value1,
b:new Date("");
},
success:function(res){
console.log(res)
}
})
db.collection('todos').where({
_openid: 'user-open-id',
done: false
})
.get({
success: function(res) {
// res.data 是包含以上定义的两条记录的数组
console.log(res.data)
}
})
db.collection('todos').where({
_openid: 'user-open-id',
'style.color': 'yellow'
})
.get({
success: function(res) {
console.log(res.data)
}
})
//获取集合
db.collection('todos').get({
success: function(res) {
// res.data 是一个包含集合中有权限访问的所有记录的数据,不超过 20 条
console.log(res.data)
}
})