tcb-router基于 koa 風格的小程序·云開發(fā)云函數(shù)輕量級類路由庫旺上,主要用于優(yōu)化服務端函數(shù)處理邏輯
基于tcb-router 一個云函數(shù)可以分很多路由來處理業(yè)務環(huán)境损同,避免云函數(shù)不夠用的情況
安裝準備
1忽你、開通云開發(fā)
2阶女、node.js
一痘煤、安裝node.js
必須安裝node.js,否則安裝tcb-router會出現(xiàn) npm 不是內(nèi)部或外部命令输瓜,也不是可運行的程序或批處理文件瓦胎。
安裝完畢后測試下 輸入node -v
npm -v
顯示版本即為成功安裝。
一尤揣、新建云函數(shù).js
輸入
npm install --save tcb-router
執(zhí)行安裝搔啊,等待安裝完成
此時,云函數(shù)下會多出一個json
文件 北戏,package-lock.json
// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
const TcbRouter = require('tcb-router'); //引用TcbRouter
cloud.init()
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
const app = new TcbRouter({ event})
// app.use 表示該中間件會適用于所有的路由
app.use(async(ctx,next)=>{
ctx.data={}
ctx.data.openId=event.userInfo.openId
await next()
})
app.router(['user,school'],async(ctx,next)=>{
ctx.data.from='小程序云函數(shù)實戰(zhàn)'
await next()
})
app.router('user', async (ctx, next) => {
ctx.data.name = '白小白'
ctx.data.role ='小碼'
await next()
}, async(ctx)=>{
ctx.data.nickName = '簡單'
ctx.body={code:0,date:ctx.data}
})
app.router('school', async (ctx, next) => {
ctx.data.name = '騰訊云學院'
ctx.data.url = 'tencent.com'
await next()
}, async (ctx) => {
ctx.data.nickName = '騰訊君'
ctx.body = { code: 0, date: ctx.data }
})
return app.serve();
}
下面調(diào)用云函數(shù)
user(){
wx.cloud.callFunction({
// 要調(diào)用的云函數(shù)名稱
name: "tcbRouter",
// 傳遞給云函數(shù)的參數(shù)
data: {
$url: "user", // 要調(diào)用的路由的路徑负芋,傳入準確路徑或者通配符*
}
}).then(res=>{
console.log(res)
})
},
school(){
wx.cloud.callFunction({
// 要調(diào)用的云函數(shù)名稱
name: "tcbRouter",
// 傳遞給云函數(shù)的參數(shù)
data: {
$url: "school", // 要調(diào)用的路由的路徑逼争,傳入準確路徑或者通配符*
}
}).then(res => {
console.log(res)
})
}