Module export and import

2018-11-07  本文已影响0人  夜夜夜空灵
微信截图_20181107171754.png

为了让代码整洁 我们需要对request这个函数进行二次封装,为了就是不需要每次输入url以及appkey
在目录下新建一个config.js的文件,用来装配置项,把我们所需要封装的内容

// 需要导出 所以需要用到export关键字
export const config = {
  api_base_url:'http://bl.7yue.pro/v1/'
  appkey:sdfsfsgf
}

接下来新建一个until的目录,里面新建一个http.js的文件夹进行request的封装


微信截图_20181107172239.png
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:(res) =>{
                      let code = res.statusCode.toString(),  //状态码的类型为number
                      if(code.startWidth('2')){
                            params.success && params.success(res.data)  //把成功调用的结果返回去给classic,如果params.success为空,则不执行回调
                      }
                      else{
                          wx.showToast({
                                  title:'失败',
                                   icon:'none',
                                   duration:'1500' //错误过多少秒之后消失
                              })
                              }// 服务器异常
            },
            fail:(err) =>{
                wx.showToast({
                                  title:'失败',
                                   icon:'none',
                                   duration:'1500' //错误过多少秒之后消失
                              })
                               } // API调用失败
        })
}
}
export {HTTP}

接着在pages页面下的classic.js文件中导入我们封装好的类

import {HTTP} from  '../../util/http.js'
//  因为是一个类方法,所以需要实例化一下对象
let http = new HTTP()
onLoad: function (options){
    http.requset({
          url:'classic/latest',
          success:(res)=>{
            console.log(res)
            }
            })

}
上一篇下一篇

猜你喜欢

热点阅读