介绍
appc-connector-utils 是一个在前端应用中使用的 npm 包。它提供了一组在连接到 Appcelerator 服务时需要使用的辅助函数。使用该包可以省去开发者自己手写这些函数的时间。
安装
可以通过 npm 直接安装该包。
npm install appc-connector-utils
使用
使用该包需要先引入它并创建一个连接实例。
const { Connector } = require('appc-connector-utils'); const conn = new Connector({ auth: { username: 'YOUR_USERNAME', password: 'YOUR_PASSWORD' } });
其中 YOUR_USERNAME 和 YOUR_PASSWORD 需要替换为自己的 Appcelerator 账号的用户名和密码。
接着就可以使用该实例提供的函数了。
执行一个请求
执行请求时,需要提供请求的 url 和请求的 method。
conn.request('https://api.cloud.appcelerator.com/v1/users/login.json', 'POST') .then((response) => console.log(response));
执行一个附带请求 body 的请求
如果 POST 请求需要附带请求 body,可以在 request 函数的第三个参数中传入 JSON 格式的请求 body。
const body = { username: 'USER_EMAIL', password: 'USER_PASSWORD' }; conn.request('https://api.cloud.appcelerator.com/v1/users/login.json', 'POST', body) .then((response) => console.log(response));
执行一个带有查询字符串的请求
如果需要在 url 中带有查询字符串,可以通过 request 函数的第四个参数传入查询字符串。
conn.request('https://api.cloud.appcelerator.com/v1/objects/query.json', 'GET', null, { where: JSON.stringify({ name: 'John' }) }) .then((response) => console.log(response));
执行一个上传文件的请求
如果需要上传文件,可以通过 request 函数的第三个参数传入 FormData 对象。
const fs = require('fs'); const FormData = require('form-data'); const body = new FormData(); body.append('file', fs.createReadStream('/path/to/my/file.png')); conn.request('https://api.cloud.appcelerator.com/v1/files/upload.json?key=my_key', 'POST', body) .then((response) => console.log(response));
结论
appc-connector-utils 包提供了一些在连接到 Appcelerator 服务时需要使用的辅助函数,使用它可以省去开发者自己编写这些函数的时间。在使用它的时候,需要创建连接实例,并传入自己的 Appcelerator 账号的用户名和密码。在执行请求时,可以传入请求的 url 和请求的 method,同时还可以通过第三个参数传入请求的 body,第四个参数传入查询字符串,从而完成不同的需求。
示例代码如下:
-- -------------------- ---- ------- ----- - --------- - - -------------------------------- ----- ---- - --- ----------- ----- - --------- ---------------- --------- --------------- - --- ---------------------------------------------------------------------- ------- ---------------- -- -----------------------
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600559e581e8991b448d786a