zoukankan      html  css  js  c++  java
  • 微信小程序封装请求的js

    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 () {
          // 在组件实例被从页面节点树移除时执行
         
        },
  • 相关阅读:
    集群和高可用
    haproxy-负载均衡介绍
    HAproxy负载均衡-ACL篇
    Haproxy配置文件(2)
    Haproxy原理(1)
    Haproxy状态监控配置教程
    在Windows中单机环境下创建RabbitMQ集群
    Haproxy------在windows下配置负载均衡
    负载均衡的软件
    HAProxy的三种不同类型配置方案
  • 原文地址:https://www.cnblogs.com/Dark-fire-liehuo/p/11982083.html
Copyright © 2011-2022 走看看