头图

日常开发中我们经常使用低码平台自建数据源,我们可以定义自己需要的数据字段。但是随着应用开发的深入,有时候也避免不了要调用第三方提供的接口服务,我们今天就带着大家使用一下低码平台的外部数据源。

创建外部数据源

登录低码的控制台在数据源管理菜单中点击【新建数据源】,在下拉选项中我们选择外部数据源:

我们输入数据源名称和数据源标识,点击【确定】按钮

定义方法

在打开的页面中点击【编辑】按钮进入数据源的编辑页面

在编辑页面点击【新增自定义方法】增加一个方法

然后我们设置方法的名称、标识、意图,方法的类型选择http请求,入参设置为city,url设置为https://restapi.amap.com/v3/weather/weatherInfo?key=5d2d3e6c0d5188bec134fc4fc1b139e0&city=%E5%91%BC%E5%92%8C%E6%B5%A9%E7%89%B9&extensions=base

设置好后我们可以点击测试,点击运行测试,我们可以看到调用的结果

成功后我们点击【出参映射】

一切设置好后我们点击【确定】按钮让设置生效

使用云函数改造结果

通过http的形式会将接口的数据原样返回,但是返回的结果层次太深不利于我们的使用,我们利用第二种接口调用方式改造一下返回的接口。我们在数据源里点击【新增自定义方法】按钮

方法类型选择云函数

在编辑器中输入如下代码:

/**

* 使用 npm 包 request 发送http请求, 详细使用文档可以参考
* https://github.com/request/request#readme

*/

const request = require('request');

/** 依据 http状态码 判断请求是否成功 */

function isSuccessStatusCode(code) {

return code >= 200 && code < 300;

}

module.exports = function (params, context) {

// params 即为入参定义的结构, 可以在 request 的请求配置中使用 params

return new Promise(function (resolve, reject) {

request(

{

url: 'https://restapi.amap.com/v3/weather/weatherInfo?key=5d2d3e6c0d5188bec134fc4fc1b139e0&city=%E5%91%BC%E5%92%8C%E6%B5%A9%E7%89%B9&extensions=base',

method: 'GET',

// 将 json 为 true, 响应结果的 body 会被自动转换为对象,

//   在POST请求中, 也会自动设置将 Content-Type 设置为 application/json

json: true

},

function (err, response, body) {

if (err) return reject(err);

if (!isSuccessStatusCode(response.statusCode))

return reject(new Error('request failed: ' + response.statusCode));

return resolve(body.lives);

}

);

});

};

设置入参参数

入参定义好后点击方法测试按钮

点击运行测试查看输出的结果

可以看到我们过滤了一些不需要的结果,只保留我们需要的数据

产品介绍

腾讯云微搭低代码是高效、高性能的拖拽式低代码开发平台,向上连接前端的行业业务,向下连接云计算的海量能力,助力企业垂直上云。腾讯云微搭低代码将繁琐的底层架构和基础设施抽象化为图形界面,通过行业化模板、拖放式组件和可视化配置快速构建多端应用(小程序、H5应用、Web 应用等),免去了代码编写工作,让您能够完全专注于业务场景。腾讯云微搭低代码以云开发作为底层支撑,云原生能力将应用搭建的全链路打通,提供高度开放的开发环境,且时刻为您的应用保驾护航。

开通低代码:https://cloud.tencent.com/product/lowcode
产品文档:https://cloud.tencent.com/document/product/1301/48874
技术交流加Q群:1003059706
最新资讯关注微信公众号【腾讯云低代码】


CloudBase云开发
425 声望438 粉丝

云开发(Tencent CloudBase,TCB)是云端一体化的后端云服务 ,采用 serverless 架构,免去了移动应用构建中繁琐的服务器搭建和运维。同时云开发提供的静态托管、命令行工具(CLI)、Flutter SDK 等能力极大的降...