美文网首页
tcb-router

tcb-router

作者: nCov | 来源:发表于2019-05-17 09:27 被阅读0次

    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)
        })
      }
    

    相关文章

      网友评论

          本文标题:tcb-router

          本文链接:https://www.haomeiwen.com/subject/aptnaqtx.html