知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
釘釘小程序 請求封裝
發(fā)表時(shí)間:2020-9-23
發(fā)布人:葵宇科技
瀏覽次數(shù):105
// network.js
function factory() {
let res = dd.getStorageSync({ key: 'token' });
let token = res.data.token;
let Options = {
host: '',
};
let Response = function (status, headers, data, content) {
this.status = status || 0;
this.headers = headers || {};
this.data = data || null;
this.content = content || null;
this.error = null;
};
Response.prototype.text = function () {
return this.content;
};
Response.prototype.message = function () {
return decodeURIComponent(window.atob(this.headers['x-api-message']));
};
Response.prototype.setError = function (code) {
this.error = code;
};
Response.prototype.getHeader = function (key, df) {
df = typeof df === 'undefined' ? '' : df;
return this.headers[key] || df;
};
let Request = function (options) {
};
Request.prototype.token = function () {
};
Request.prototype.generateUri = function (uri) {
return Options.host + (uri.startsWith('/') ? '' : '/') + uri;
};
Request.prototype.get = function (uri, params, options) {
options = options || {};
options.headers = {
'Content-type': 'application/x-www-form-urlencoded;charset=utf-8',
"Authorization": 'Bearer ' + token
};
return this.send(uri, params, 'get', options.headers || {}, options.callback);
};
Request.prototype.post = function (uri, params, options) {
options = options || {};
options.headers = {
'Content-type': 'application/x-www-form-urlencoded;charset=utf-8',
"Authorization": 'Bearer ' + token
};
console.log(options)
return this.send(uri, params, 'post', options.headers || {}, options.callback);
};
Request.prototype.put = function (uri, params, options) {
options = options || {};
options.headers = {
'Content-type': 'application/x-www-form-urlencoded;charset=utf-8',
"Authorization": 'Bearer ' + token
};
return this.send(uri, params, 'put', options.headers || {}, options.callback);
};
Request.prototype.delete = function (uri, params, options) {
options = options || {};
options.headers = {
'Content-type': 'application/x-www-form-urlencoded;charset=utf-8',
"Authorization": 'Bearer ' + token
};
return this.send(uri, params, 'delete', options.headers || {}, options.callback);
};
Request.prototype.send = function (uri, params, method, headers,>) {
method = method || 'GET';
>=>|| null;
headers = headers || {};
return new Promise((resolve, reject) => {
dd.httpRequest({
url: this.generateUri(uri),
method: method.toUpperCase(),
data: params,
headers: headers,
dataType: 'json',
success: (result) => {
let resp = new Response(result.status, result.headers, result.data, result.originalData);
if (resp.status >= 200 && resp.status < 300)
resolve(resp);
else
reject(resp);
},
fail: (errCode) => {
let resp = new Response();
resp.setError(errCode);
reject(resp);
},
complete: () => {
if (typeof>=== 'function')
onComplete();
}
});
});
};
let Pagination = function () {
this.total = 1;
this.page = 0;
this.size = 20;
};
Pagination.prototype.init = function () {
this.total = 1;
this.page = 0;
this.size = 20;
};
Pagination.prototype.hasNext = function () {
return Math.ceil(this.total / this.size) > this.page;
};
Pagination.prototype.parse = function (response) {
this.total = parseInt(response.getHeader('x-api-total', 0));
this.page = parseInt(response.getHeader('x-api-page', 0));
this.size = parseInt(response.getHeader('x-api-size', 20));
};
return {
init: function (options) {
options = options || {};
for (var index in options)
Options[index] = options[index];
},
create: function () {
return new Request(Options);
},
pagination: function () {
return new Pagination();
}
};
}
export default {
Request: factory()
}
// App.js
import { Request } from './utils/network.js';
// console.log(Request);
Request.init({
host: '地址'
});
App({
request: function () {
return Request.create();
},
pager: function () {
return Request.pagination();
},
});
相關(guān)案例查看更多
相關(guān)閱讀
- 前端開發(fā)
- 英文網(wǎng)站建設(shè)公司
- 報(bào)廢車拆解軟件
- 網(wǎng)站建設(shè)服務(wù)
- 紅河小程序開發(fā)
- 云南科技公司
- 軟件定制
- 昆明軟件公司
- 曲靖小程序開發(fā)
- 云南網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)
- 報(bào)廢車拆解系統(tǒng)
- 云南做軟件
- 保山小程序開發(fā)
- 網(wǎng)站建設(shè)公司地址
- 網(wǎng)站建設(shè)快速優(yōu)化
- 云南小程序開發(fā)費(fèi)用
- 退款
- 報(bào)廢車拆解管理系統(tǒng)
- 云南網(wǎng)站建設(shè)首選
- 百度人工排名
- 重慶網(wǎng)站建設(shè)公司
- .net網(wǎng)站
- 云南網(wǎng)站建設(shè)方案 doc
- 前端
- 云南做百度小程序的公司
- 昆明網(wǎng)站設(shè)計(jì)
- 云南網(wǎng)站建設(shè)公司
- 云南省建設(shè)廳網(wǎng)站
- 網(wǎng)站排名優(yōu)化
- 昆明小程序定制開發(fā)