tcb-router

基于koa风格的小程序·云开发云函数轻量级类路由库,主要用于优化服务端函数处理逻辑

安装

在云函数当前目录下安装:npm install --save tcb-router

 使用

const tcbRouter = require('tcb-router');
exports.main = async (event, context) => {
  const app = new tcbRouter({ event });  //event对象中包含了请求的所有参数(包括$url)   +     userInfo(  appId(小程序)+openId(用户的)   )
 
  //路由1--detail ($url=='detail'
    //获取博客详情
    app.router('detail', async (ctx, next)=>{
      //可获取请求中的参数
      let blogId = event.blogId;
      //通过赋值给ctx.body来返回响应结果

       ctx.body = XXXX;
    })
 
  //路由2
  。。。
 
  //路由3
  。。。
  return app.serve(); // 必须以此句结束
})

event对象

event 指的是触发云函数的事件,当小程序端调用云函数时,event 就是小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid 和小程序的 appid。

总结:event对象中包含了请求的所有参数   +   userInfo(  appId(小程序)+ openId(用户的)   )

测试:

客户端代码:

//获取博客列表

_loadBlogList(start = 0){
  // 显示加载提示
  wx.showLoading({
    title: '加载中',
  })
  wx.cloud.callFunction({
    name:'blog',//云函数目录名称
  data:{
    keyword,
    $url:'list',
    start: start,
    count:10
  }
  }).then((res)=>{
    console.log("_loadBlogList suc", res)
    this.setData({
    blogList:this.data.blogList.concat(res.result)
  })
  // 隐藏加载提示
  wx.hideLoading()
  }).catch((err)=>{
    // 隐藏加载提示
    console.error(err)
  })
}
 
云函数:

event, { '$url': 'list',

count: 10,

keyword: '',

start: 0,

userInfo:

{ appId: '。。。',

openId: '。。。' } }

//对比发现,event对象中包含了请求的所有参数   +   userInfo(  appId(小程序)+openId(用户的)   )

context对象

context 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况。

context, { callbackWaitsForEmptyEventLoop: [Getter/Setter],

done: [Function: done],

succeed: [Function: succeed],

fail: [Function: fail],

getRemainingTimeInMillis: [Function: getRemainingTimeInMillis],

memory_limit_in_mb: 256,//字节限制

time_limit_in_ms: 3000,//时间限制

request_id: 'eaf169f6-16ef-11ea-9cfd-5254002fa145',//请求id

environ: xxx(内容有点长),//环境

function_version: '$LATEST',//云函数版本

function_name: 'blog',//云函数名称

namespace: 'env1-bxl-1' }//域名空间(环境id)

tcbRouter的更多相关文章

  1. 分享使用tcb-router路由开发的云函数短信平台SDK

    上篇文章我们分享了如何使用纯的云函数开发的榛子短信短信(http://smsow.zhenzikj.com)SDK,由于微信对于未付费云函数个数的限制,这种方法存在缺陷,经过改进,使用tcb-rout ...

  2. 微信小程序云开发-从0打造云音乐全栈小程序

    第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...

  3. 0.1+0.2不等于0.3,微信小程序云开发如何解决JavaScript小数计算精度失准的问题

    先看图 这个是JavaScript语言自身存在的一个问题.说道这里不得不提一下网上流传的JavaScript搞笑图 我们在使用云开发来开发微信小程序的时候,会经常遇到JavaScript小数计算精度失 ...

随机推荐

  1. Python3——根据m3u8下载视频(下)之requests

    下半场ING,好吧,本来准备明天写的(拖延真快乐.gif),请然而,,,早上八点多跑公司加班(看书+学习)去,发现大门上挂着一把大锁,我只想说门禁是拿来看的嘛,加啥破锁o(╥﹏╥)o,严重打击了好员工 ...

  2. django rest framework 过滤 lim分页

    一.过滤 1.首先引用diango 自带的过滤配置 2.导入模块 from django_filters.rest_framework import DjangoFilterBackend from ...

  3. 201871010123-吴丽丽《面向对象程序设计(Java)》第十一周学习总结

    201871010123-吴丽丽<面向对象程序设计(Java)>第十一周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  4. GAN与VAE

    经典算法·GAN与VAE Generative Adversarial Networks 及其变体 生成对抗网络是近几年最为经典的生成模型的代表工作,Goodfellow的经典工作.通过两个神经网络结 ...

  5. zz姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖

    姚班天才少年鬲融凭非凸优化研究成果获得斯隆研究奖 近日,美国艾尔弗·斯隆基金会(The Alfred P. Sloan Foundation)公布了2019年斯隆研究奖(Sloan Research ...

  6. C++中int与string的相互转换

    一.int转string 1.c++11标准增加了全局函数std::to_string: string to_string (int val); string to_string (long val) ...

  7. docker odoo启动比较完整的命令

    docker run --name odoo12 -p : -p : -v /root/workspace/odoo-addons/:/mnt/extra-addons -v /root/worksp ...

  8. Thread笔记

    Thread笔记 Thread——fork:https://www.cnblogs.com/noonjuan/diary/2019/08/03/11296217.html Thread——multip ...

  9. Codeforces Round #545 (Div. 2) E 强连通块 + dag上求最大路径 + 将状态看成点建图

    https://codeforces.com/contest/1138/problem/E 题意 有n个城市(1e5),有m条单向边(1e5),每一周有d天(50),对于每个城市假如在某一天为1表示这 ...

  10. 前端Vue项目——初始化及导航栏

    一.项目初始化 创建webpack模板项目如下所示: MacBook-Pro:PycharmProjects hqs$ vue init webpack luffy_project ? Project ...