首先创建一个云函数,创建一个api网关做为触发器。
云函数支持通过传递参数来访问,如get请求,传递一个need=all字段到云函数
云函数通过event的event.queryString.need获取传递过去的参数,以便得到不同的结果
下面是一个示例
'use strict';
exports.news = async (event, context, callback) => {
let newsList = await this.getNewsList();
let userList = await this.getUserList();
if(event.queryString&&event.queryString.need=="news"){
return newsList
}
if(event.queryString&&event.queryString.need=="user"){
return userList
}
if(event.queryString&&event.queryString.need=="all"){
return {newsList,userList}
}
};
//根据传递的参数,执行不同的方法,得到不同的结果。
exports.getNewsList = async (event, context, callback) => {
let newsList=[
{
id:1,
title:"美国发生大规模抗议示威!"
},
{
id:2,
title:"加拿大又想挨打了"
}
]
return newsList
};
exports.getUserList = async (event, context, callback) => {
let userList=[
{
id:1,
username:"zyw0605688"
},
{
id:2,
user:"admin"
}
]
return userList
};
//而前端就需要去传递参数,以便得到结果。
getNewslistOrUserlist() {
let baseUrl = "https://service-oc96x90j-1301432702.bj.apigw.tencentcs.com/release/get_news_list";
axios.get(baseUrl+"?need=all").then(res => {
console.log(res.data);
});
}
//同时也支持post传参
getNewslistOrUserlistParams() {
let baseUrl = "https://service-oc96x90j-1301432702.bj.apigw.tencentcs.com/release/get_news_list";
let params={need:"user"}
axios.post(baseUrl,params).then(res => {
console.log(res.data);
});
}
//后端代码,通过event.body获取参数
exports.news = async (event, context, callback) => {
let newsList = await this.getNewsList();
let userList = await this.getUserList();
let params=JSON.parse(event.body).need;
if(params=="news"){
return newsList
}
if(params=="user"){
return userList
}
if(params=="all"){
return {newsList,userList}
}
};
网友评论