3.8.1
This commit is contained in:
91
sdk/React-Native/PhalApi.js
Normal file
91
sdk/React-Native/PhalApi.js
Normal file
@@ -0,0 +1,91 @@
|
||||
/**
|
||||
* PhalApi框架 React-Naitve请求SDK
|
||||
*
|
||||
* "ダSimVlove辉"提供,QQ:254059780 有好的意见或建议请联系我 2016-03-08
|
||||
*
|
||||
* 分为3种请求方式:get,post
|
||||
*
|
||||
* 所有请求均统一传递4个参数值(请求地址,接口名称.请求参数GET传递拼接好的参数
|
||||
* Post传递数组key-value值,回调函数)
|
||||
*
|
||||
* 统一使用方式如下
|
||||
import PhalApi from 'sdk所在目录'
|
||||
|
||||
const data = {user_id: "2"}
|
||||
|
||||
PhalApi.apiPost("http://192.168.1.107/PhalApi_1.3.2/Public", "User.getBaseInfo", data, (rs) => {
|
||||
if(rs.ret == 200){
|
||||
//成功处理
|
||||
}else{
|
||||
//失败处理
|
||||
}
|
||||
})
|
||||
|
||||
* 如果想返回json 使用response.json()
|
||||
* 如果只要返回普通的string response.text()
|
||||
*
|
||||
*/
|
||||
|
||||
// 配置调试
|
||||
const debug = false;
|
||||
|
||||
export default PhalApi = new class {
|
||||
|
||||
/*
|
||||
* 普通Post方式请求
|
||||
*/
|
||||
apiPost(api_url, api_name, data, callback) {
|
||||
const textBody = this.urlForQuery(data)
|
||||
const full_api = api_url + "/"
|
||||
const fetchOptions = {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded"
|
||||
},
|
||||
body: 'service=' + api_name + '&' + textBody
|
||||
};
|
||||
|
||||
fetch(full_api, fetchOptions)
|
||||
.then(response => response.json())
|
||||
.then((responseText) => {
|
||||
callback(textBody)
|
||||
|
||||
if (debug)
|
||||
console.log(responseText);
|
||||
})
|
||||
.catch((error) => {
|
||||
if (debug)
|
||||
console.warn(error);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* 普通Get方式请求
|
||||
*/
|
||||
apiGet(api_url, api_name, data, callback) {
|
||||
const textBody = this.urlForQuery(data)
|
||||
const full_api = api_url + "?service=" + api_name + "&" + textBody
|
||||
fetch(full_api)
|
||||
.then((response) => response.json())
|
||||
.then((responseText) => {
|
||||
callback(responseText)
|
||||
|
||||
if (debug)
|
||||
console.log(responseText);
|
||||
})
|
||||
.catch((error) => {
|
||||
if (debug)
|
||||
console.warn(error);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// 相关参数的拼接
|
||||
urlForQuery(data) {
|
||||
const querystring = Object.keys(data)
|
||||
.map(key => key + '=' + encodeURIComponent(data[key]))
|
||||
.join('&');
|
||||
|
||||
return querystring;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user