tcb-router基于 koa 风格的小程序·云开发云函数轻量级类路由库,主要用于优化服务端函数处理逻辑
基于tcb-router 一个云函数可以分很多路由来处理业务环境。
云函数
// 云函数入口文件
const cloud = require('wx-server-sdk')
const TcbRouter = require('tcb-router'); //引用TcbRouter
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const app = new TcbRouter({ event})
//定义公共路由
// app.use 表示该中间件会适用于所有的路由
app.use(async(ctx,next)=>{
ctx.data={con:'我是公共数据'}
ctx.data.openId=wxContent.openId
await next()
})
app.router(['user,school'],async(ctx,next)=>{
ctx.data.from='合并路由'
await next()
})
app.router('user', async (ctx, next) => {
ctx.data.name = 'music'
ctx.data.role ='歌曲'
await next()
}, async(ctx)=>{
ctx.data.age= '音乐'
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();
}
小程序调用云函数
user(){
wx.cloud.callFunction({
// 要调用的云函数名称
name: "tcbRouter",
// 传递给云函数的参数
data: {
$url: "user", // 要调用的路由的路径,传入准确路径或者通配符*
}
}).then(res=>{
console.log(res)
})
},
school(){
wx.cloud.callFunction({
// 要调用的云函数名称
name: "tcbRouter",
// 传递给云函数的参数
data: {
$url: "school", // 要调用的路由的路径,传入准确路径或者通配符*
}
}).then(res => {
console.log(res)
})
}