阿里云侧
先白嫖个服务
根据其文档中的请求示例,我们先构建出 Node版本的方法
const http = require('axios').default function getNowWeather(cityId = 3) { const token = '' const appcode = '' const nowStatusURL = 'http://freecityid.market.alicloudapi.com/whapi/json/alicityweather/briefcondition' // 精简实况的请求URL const data = `cityId=${cityId}&token=${token}` // 请求参数 const headers = { // header 'Authorization': `APPCODE ${appcode}`, 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } // 发送请求 return http.post(nowStatusURL, data, { headers }).then(res => res.data) }
控制台->API网关->华北2(北京)
网络异常,图片无法展示
|
为了节约查找token与appcode的时间,下面列一下步骤(吐槽,阿里云的文档太拦了,不方便信息定位)
token与appcode
API网关页面地址
- token: 应用管理->选择一个应用->已授权API列表->选择自己要查看的API->点击调试API->调试面板的token参数即是所需参数
- appcode: 应用管理->选择一个应用->AppCode面板
网络异常,图片无法展示
|
网络异常,图片无法展示
|
最终代码
网络异常,图片无法展示
|
index.js
'use strict'; const http = require('axios').default function getNowWeather(cityId = 3) { const token = '' const appcode = '' const nowStatusURL = 'http://freecityid.market.alicloudapi.com/whapi/json/alicityweather/briefcondition' // 精简实况的请求URL const data = `cityId=${cityId}&token=${token}` // 请求参数 const headers = { // header 'Authorization': `APPCODE ${appcode}`, 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } // 发送请求 return http.post(nowStatusURL, data, { headers }).then(res => res.data) } exports.main_handler = async (event, context) => { const {queryString:{cityId}} = event return await getNowWeather(cityId) };
触发器链接
最后
到此一个云函数就开发完毕了
可以感觉到,如果熟悉创建流程了,只需要几分钟就能创建一个提供服务的API,极大的节约了成本
不懂服务端部署,服务器运维,Linux的开发者可以通过 云函数+云数据库(关系数据库,非关系数据库) 快速搭建一个后端服务
文件存储服务可以使用OSS
开发者只需要通过云函数调用各服务提供的API即可完成一个后端服务的构建
参考