Dark-fire-liehuo

1.配置访问服务器的地址config.js:


const config = {//192.18.1.2:8083 https://www.so.com/ api_base_url: \'http://192.168.1.12:8083\', // api_base_url:"https://www.baidu.com", img_base_url: \'\' } export { config }

 

2.封装http请求http.js:

import { config } from \'./config.js\'

const tips = {
  1: \'抱歉,出现了一个错误\',
  205: \'暂无数据!\',
  300:\'页面重定向,注意信息安全!\',
  400:\'语法格式有误!,请检查错误输入\',
  401: \'登录失败!\',
  404:\'页面资源错误!\',
  500:\'服务器错误!\'
}

class HTTP {
  request({ url, data = {}, method = \'GET\' }) {
    return new Promise((resolve, reject) => {
      this._request(url, resolve, reject, data, method)
    })
  }
  _request(url, resolve, reject, data = {}, method = \'GET\') {
    wx.request({
      url: config.api_base_url + url,
      method: method,
      data: data,
      header: {
        // \'content-type\': \'application/json\'
        \'content-type\': method == \'GET\' ? \'application/json\' : \'application/x-www-form-urlencoded\',
        \'Accept\': \'application/json\'
      },
      success: (res) => {
        // console.log(\'你好请求成功\', res.statusCode, code.startsWith(\'2\'))
        const code = res.statusCode.toString()
        // console.log(\'http你好请求成功\', res,res.statusCode, code.startsWith(\'2\'))
        if (code.startsWith(\'2\')) { // 一般情况下正确的请求结果是以2开头的(200)
          // console.log("code.startsWith(\'2\')", code)
          resolve(res.data)
        }
        else {
          reject(res)
          const error_code = res.data.code
          this._show_error(error_code, res.data)
        }
      },
      fail: (err) => {
        reject(err)
        this._show_error(1)
      }
    })
  }

  _show_error(error_code,data) {
    // console.log("tips[error_code]", error_code)
    if (!error_code) {
      error_code = 1
    }
    const tip = tips[error_code] //= data.data
    wx.showToast({
      title: tip ? tip : tips[1],  // tips内没找到对应的错误代码时,使用1代替
      icon: \'none\',
      duration: 2000
    })
  }

}

export { HTTP }

 

3.分装每一个或者通用的请求itemapi.js:

import { HTTP } from \'./http.js\'


class DemoModel extends HTTP {
  // 1、学生端
  // 验证微信号是否注册
  verificationWecat(data) {
    return this.request({ url: \'/Wec/verificationWecat\', data: data, method: \'POST\' })
  }
  // 修改用户信息
  updateUserInfo(data) {
    return this.request({ url: \'/Wec/updateUser\', data: data, method: \'POST\' })
  }
  // 添加用户
  addUser(data) {
    return this.request({ url: \'/Wec/addUser\', data: data, method: \'POST\' })
  }

  // 小程序获取学校内店铺信息
  getStoreList(data) {
    return this.request({url: \'/Wec/queryDepStoreBySchId\',data: data,method: \'GET\'})
  };
  // 获取店铺下的所有产品,并按照分类进行查询
  getStoreProduct(data) {
    return this.request({ url: \'/Wec/queryProductByDsId\', data: data, method: \'GET\' })
  };
  // 根据用户id查询用户地址列表
  userCheckAdress(data) {
    return this.request({ url: \'/Wec/queryUserAddressByUsrId\', data: data, method: \'GET\' })
  };
  // 根据地址id查询用户地址
  adressCheckUser(data) {
    return this.request({ url: \'/Wec/queryUserAddressById\', data: data, method: \'GET\' })
  };

// 修改用户地址
  adressCheckUser(data) {
    return this.request({ url: \'/Wec/updateUserAddress\', data: data, method: \'POST\' })
  };
// 添加用户地址
  addAdress(data){
    return this.request({ url: \'/Wec/addUserAddress\', data: data, method: \'POST\' })
  }
// 根据用户id查询用户地址列表
  checkAdress(data) {
    return this.request({ url: \'/Wec/queryUserAddressByUsrId\', data: data, method: \'GET\' })
  }

  commonfunc(url, data, method) {
    return this.request({ url: url, data: data, method: method })
  }



// 2、管理端
}

export {
  DemoModel
}

 

4.使用方法:

import { DemoModel } from \'../../../wxapi/itemapi.js\'
const apiModel = new DemoModel()
lifetimes: {
    attached: function () {
      var that =this
      // 在组件实例进入页面节点树时执行
      apiModel.getStoreList({ schId: 1,}).then(res => {
        if (res.code ==\'200\'){
          this.setData({ list: res.data });

        }else{
          wx.showToast({
            title: res.data,
            icon:\'none\'
          })
        }
      }).catch(err => {
        console.log(\'请求失败err\',err)
      });
    },
    detached: function () {
      // 在组件实例被从页面节点树移除时执行
     
    },

 

分类:

技术点:

相关文章:

  • 2021-11-11
  • 2021-12-18
  • 2021-04-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
猜你喜欢
  • 2022-12-23
  • 2021-12-18
  • 2021-10-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案