hz-属性和功能模块封装

2018-12-27  本文已影响0人  zhanghongzhen

在根目录  设置config.js 设置公共属性


const config = {

api_base_url:'http://bl.7yue.pro/v1/',

appkey:"请访问www.7yue.pro获取开发者key",

}

export {config }


封装公共请求功能架构封装

分三步实现  

1.所需内容的导入和定义对象和导出对象 

2. 设置所需属性参数    

3. 封装功能 成功和失败回调

4.细节处理

在根目录util 文件中 创建http.js 请求模块。

import {config} from "../config.js"

class HTTP {

    request(params){ 

    //    对请求的封装  参数和成功和失败回调的封装

if(!params.method){  params.method="GET" }

    wx.request({

//属性封装

    url:config.api_base_url+params.url,

    method:params.method,

    data:params.data,

    header:{

    "content-type":"application/json",

    appkey:config.appkey

    },

success:function(res){

//分 200系列的处理成功的处理, 其余的 请求成功的 返回状态提示

let code=res.statusCode.toString();

if(code.startWith("2"){

params.success&&params.success(res.data);//如果有成功的回调  执行res.data

}else{

let error_code=res.data.error_code;

this._show_error(error_code);

}

},

//失败的回调 

fail:(err)=>{

this._show_error(1)

}


    })

    }

//定义内置方法  不对外

    _show_error(error_code){

    //如果存在error_code 就执行对应数据 不存在  执行固定

if(!error_code){

error_code=1

}

const tip =tips[error_code]

wx.showToast({

title:tip?tip:tips[1],

icon:"none",

duration:2000

})

    }

}

export {HTTP}

上一篇 下一篇

猜你喜欢

热点阅读