时间:2019-05-07 来源:小程序工厂
我的解决办法是写一个 云函数 (router)
通过
tcb-router 一个云函数处理所有服务
所以上传也是一个云函数
改环境也是改一个哈哈哈 分分钟都能改好
不是云函数调用云函数
是云函数根据参数调用一个函数
详细看这里
https://github.com/TencentCloudBase/tcb-router
下面一个粟子
// 云函数入口文件 函数名router
const cloud = require('wx-server-sdk');
// npm install tcb-router
const TcbRouter = require('tcb-router');
const util = require('util.js');
cloud.init()
const db = cloud.database();
const _ = db.command;
// 云函数入口函数
exports.main = async (event, context) => {
const app = new TcbRouter({ event });
/**
* 登录
*/
app.router('login', async (ctx, next) => {
await next();
}, async (ctx, next) => {
await next();
}, async (ctx) => {
const login = require('login/index.js');
ctx.body = login.mian(event, context, db, _, util);
});
/**
* 用户列表
*/
app.router('userList', async (ctx, next) => {
await next();
}, async (ctx, next) => {
await next();
}, async (ctx) => {
const userList = require('userList/index.js');
ctx.body = userList.mian(event, context, db, _, util);
});
/**
* 测试
*/
app.router('test', async (ctx, next) => {
await next();
}, async (ctx, next) => {
await next();
}, async (ctx) => {
const test = require('test/index.js');
ctx.body = test.mian(event, context, db, _, util);
});
return app.serve();
}
业务处理js 这里写个测试的 其他的 自行参考
test/index.js
// router 目录下面建一个 test目录 这个是 test目录下的index.js
module.exports = {
mian: async (event, context, db, _, util) => {
/**
* 业务操作
*/
return { event, context};
}}
前端调用
wx.cloud.callFunction({
name: 'router',
data: {
$url:'test'
},
success: res => {
console.log('test调用成功', res);
},
fail: err => {
console.log('test调用失败', err);
}
})
云函数里可以调用云函数吗?请问是怎么做的呢?
详细看回答
这个思路挺好的,非常感谢