• uniapp请求方法的封装


    之前在接触uniapp做小程序项目时候,因为不太熟悉,遇到了不少尴尬的时刻,请求方法的封装算是灵魂啊有木有,今天看到有人问题,就把我自己写的发出来让大家参考一下吧。

    请求方法的封装我一般用的是promise+axios,因为uniapp有自己规定的请求方式,只好结合着来了。话不多说,直奔主题。

    export const baseUrl = '您的域名'
    function getHeaders () { let token = getToken() let header = { "token":token,// 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }return header } export default{ get(url,param){ return new Promise((resolve,reject) =>{ uni.request({ method:'GET', url: baseUrl+url, data: param, header:getHeaders() }).then(res=>{ switch (res[1].data.code) { case 200: resolve(res[1]) break case 400: resolve(res[1]) break case 401: resolve(res[1]) break default: reject(res) } }).catch( (response) => { reject(response) } ) }) }, post(url,param){ return new Promise((resolve,reject) =>{ uni.request({ method:'POST', url: baseUrl+url, data: param, header:getHeaders() }).then(res=>{ switch (res[1].data.code) { case 200: resolve(res[1]) break case 400: resolve(res[1]) break case 401: resolve(res[1]) break default: reject(res) } }).catch( (response) => { reject(response) } ) }) }, }

    补一个getToken(手动无奈:))

    export function getToken () {
        try {
            const token = uni.getStorageSync('Token');
            if (token) {
                return token
            }else{
                return ''
            }
        } catch (e) {
            console.log(e)
        }
    }

    方法定义好了,下面是实战引入了,

    import request from '../../units/request.js'  在你需要的页面引入

    request.post("/example/list", {
                       currPage:this.page,
                       pageSize:this.limit,
                    })
                    .then(response => {
                       
                        }
                    })
                    .catch(ex => {
                       
                    }); 
    
    
    
    大概就是这样,内容有删减,目的是让大家看着干练,如有疑惑评论就好
  • 相关阅读:
    Access中出现改变字段“自己主动编号”类型,不能再改回来!(已解决)
    移动闭塞
    信号系统基本设备介绍——应答器
    行车闭塞
    计轴
    联锁
    SqlServer 查看缓存 并合理设置最大内存
    SQL Server中bcp命令的用法以及数据批量导入导出
    5 个免费的受欢迎的 SQLite 管理工具
    Qt之操作数据库(SQLite)
  • 原文地址:https://www.cnblogs.com/yangc6925/p/13570576.html
Copyright © 2020-2023  润新知