weex stream请求封装(源码分享)
·
stream 模块提供了基本的网络请求能力,例如 GET 请求、POST 请求等,用于在组件的生命周期内与服务端进行交互。
api.js 源码:
/* 引入 请求数据模块 */
const stream = weex.requireModule('stream');
/* 配置API接口地址 */
const baseUrl = 'http:192.168.0.117:8080';
/* 序列化请求方法 */
let toParams=(obj)=>{
let param = ""
if(!obj){
return param;
}
for(let name in obj) {
if(typeof obj[name] != 'function') {
param += "&" + name + "=" + encodeURI(obj[name])
}
}
return param.substring(1);
}
/* 请求处理函数 */
let ajax=(params={},callFn)=>{
let ajaxData={
method:params.method || 'GET',
type:params.type || 'json',
}
if(/http:|https:/.test(params.url)){
ajaxData.url=params.url;
}else{
ajaxData.url=baseUrl+params.url;
}
if(ajaxData.method=='GET'){
ajaxData.url+=('?'+toParams(params.data));
}else if(ajaxData.method=='POST'){
ajaxData.body=toParams(params.data)
}
stream.fetch(ajaxData, (res)=> {
callFn && callFn(res);
})
}
/* 暴露对象 */
export default {
baseUrl,
ajax
}
引用文件:
import $api from '@/api' //根据文件路径,自行修改
使用方法:
$api.ajax({
url:'请求地址',
method:'POST', //默认 GET,默认可以省略
type:'json', //默认 json,默认可以省略
data:{"name":"helang"} //可以不填写,默认为 ""
},(res)=>{
console.log("请求结果:"+res);
})
weex官网文档说明:https://weex.apache.org/zh/docs/modules/stream.html
回调函数结果,根据业务需求自行完善!
作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com
公众号:
web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。更多精彩文章,请扫下方二维码关注我的公众号
更多推荐




所有评论(0)