tcb-router

养枫涟
2023-12-01

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)
    })
  }
 类似资料: