更新记录
1.0.2(2020-06-23) 下载此版本
1.0.2 更新目录
1.0.1(2020-06-23) 下载此版本
1.0.1(2020/6/23)
- 第一次上传
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
云函数的 index.js
const router = require('ning-router')
exports.main = async (event, context) => {
//event为客户端上传的参数 event.queryStringParameters为http请求参数
let data =event.queryStringParameters||event
const app = new router({ data })
app.use(async(ctx,next)=>{
ctx.data={}
ctx.route=[]// 记录路径
ctx.route.push("进入全局中间件")
await next()// 执行下一中间件
ctx.route.push("退出全局中间件")
})
// 路由为数组表示,该中间件适用于 user 和 timer 两个路由
app.router(["user","goods"],async(ctx,next)=>{
ctx.route.push("进入user和goods共用全局中间件")
await next()// 执行下一中间件
ctx.route.push("退出user和goods共用全局中间件")
})
// 路由为字符串,该中间件只适用于 user 路由
app.router('user', async (ctx, next) => {
ctx.data.name = '用户'
ctx.route.push("进入user中间件")
await next()// 执行下一中间件
ctx.route.push("退出user中间件")
}, async(ctx)=>{
ctx.data.id = '9527'
ctx.body={code:200,date:ctx.data,route:ctx.route}
})
// 路由为字符串,该中间件只适用于 goods 路由
app.router('goods', async (ctx, next) => {
ctx.data.name = '商品'
ctx.route.push("进入goods全局中间件")
await next()// 执行下一中间件
ctx.route.push("退出goods中间件")
}, async (ctx) => {
ctx.data.Price = 12.6
// ctx.body 返回的数据
ctx.body={code:200,date:ctx.data,route:ctx.route}
})
//返回数据
return app.serve();
};
调用云函数
user(){
wx.cloud.callFunction({
// 要调用的云函数名称
name: "router",
// 传递给云函数的参数
data: {
$url: "user", // 要调用的路由的路径,传入准确路径或者通配符*
}
}).then(res=>{
console.log(res)
})
},
说明
app.router([路由参数],[中间件],[中间件]...)\\ 注册路由中间,路由参数可以为字符串和数组
app.use([中间件],[中间件]...) \\ 注册全局中间
app.serve(); \\ 运行所有匹配中间件
本插件作者:小宁 有任何问题联系我qq:240053990 希望能高分