# 开发
基于 HeyCloud 进行开发的主要任务就是调用各 API 接口。
HeyCloud API 基于 HTTP 协议,数据交换主要使用 JSON 格式,只要是熟悉 HTTP 调用的开发者都可以很容易地进行开发。
下面是使用 NodeJS 封装一个简单的通用 HeyCloud API 调用类的示例:
import axios from 'axios';
class ApiClient {
init(baseURL) {
this._baseURL = baseURL;
if (/^(http|https):\/\/[^\s]*$/.test(baseURL)) {
this._inited = true;
} else {
this._inited = false;
}
}
async request(url, config = {}) {
if (!this._inited) {
const e = new Error('HeyCloud API 未初始化');
e.code = 'HEYCLOUD_API_NOT_INITIALIZED';
throw e;
}
config.baseURL = this._baseURL;
config.url = url;
const resp = await axios(config);
return resp.data;
}
}
const api = new ApiClient();
export default api;
如果我们把这个封装类放到一个名叫 @geohey/heycloud-js-sdk 的库中去调用,那么调用方法类似于下面的代码:
import { api } from '@geohey/heycloud-js-sdk';
const items = await api.request('data/vdataset/list', {
params: {
'offset': pageIndex * pageCount,
'limit': pageCount + 1,
},
headers: {
'x-heycloud-admin-session': 'nvvaZIgRzAOTVW5oZvTIgo3JBuHoe0y+',
'x-heycloud-account-id': '*',
},
});