tcb-router

2019-05-17  本文已影响0人  nCov

tcb-router基于 koa 风格的小程序·云开发云函数轻量级类路由库,主要用于优化服务端函数处理逻辑
基于tcb-router 一个云函数可以分很多路由来处理业务环境,避免云函数不够用的情况

安装准备

1、开通云开发
2、node.js

一、安装node.js

必须安装node.js,否则安装tcb-router会出现 npm 不是内部或外部命令,也不是可运行的程序或批处理文件。
安装完毕后测试下 输入node -v npm -v 显示版本即为成功安装。

新建云函数4.jpg
一、新建云函数.js
鼠标右键新建node.js云函数.jpg 输入你要建立的云函数名称.jpg
在外部终端窗口打开.jpg

输入npm install --save tcb-router 执行安装,等待安装完成

tcb-router安装完成.jpg

此时,云函数下会多出一个json文件 ,package-lock.json

新建云函数6.jpg

// 云函数入口文件
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={}
    ctx.data.openId=event.userInfo.openId
   await next()

})

app.router(['user,school'],async(ctx,next)=>{
  ctx.data.from='小程序云函数实战'
  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();
}

下面调用云函数

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)
    })
  }
上一篇 下一篇

猜你喜欢

热点阅读