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,本文原创,著作权归作者所有,转载请注明原链接及出处。

更多精彩文章,请扫下方二维码关注我的公众号

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐