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)
手机扫一扫
移动阅读更方便
你可能感兴趣的文章