我這有小程序的教學視頻有需要的同學@我,
新建項目時,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)
}
})