• uniapp 请求接口封装


    新建utils文件
    新建request.js

    let server_url = 'http://47.92.85.239:6001';  //请求根路径(服务器地址)
    let token = '';//token令牌
    'http://***/api'; //环境配置
    //向外暴露一个方法,传入一个空对象
    export function service(options = {}) {
    	uni.getStorageSync('token') &&(token = uni.getStorageSync('token'));//从本地缓存中获取token
    	options.url = `${server_url}${options.url}`;//前面为你的服务器地址,后面为具体接口地址
    	//配置请求头
    	options.header = {
    		// 'content-type': 'application/json',//默认请求头,可不写
    		'Authorization': `${token}` //Bearer ,你请求数据需要的自定义请求头(令牌)
    	};
    // 创建promise
    	return new Promise((resolved, rejected) => {
    		//成功
    		options.success = (res) => {
    			// console.log(res)
    			// resolved(res.data)
    			if (Number(res.statusCode) == 200) { //请求成功
    				resolved(res);//请求成功时返回接口数据
    			} else {
    					uni.showToast({
    						icon: 'none',
    						duration: 3000,
    						title: `${res.data.msg}`
    					});
    					rejected(res.data.msg); //请求失败时返回错误信息
    			}
    		}
    		//错误
    		options.fail = (err) => {
    			rejected(err); //请求失败时返回错误信息
    		}
    		uni.request(options);//传入配置好的对象
     
    	});
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    API.JS

    import { service } from "@/utils/request.js"  //request向外暴露的方法
    
    //登录
    export function login1(data) {
    //传入对应的配置对象
      return service({
        url: '/scm-account/account/client-query',//接口地址
        // url: '/api/demo/login',//接口地址
        method: 'get',//请求方法
        data//请求接口需要的参数
      })
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在页面中使用

    	import { login1  } from '@/utils/api.js'
    	//在对应的请求函数中使用
    	  //登录请求
    					     login1(param).then(res => {
    								if(res.data.code == 0){      //具体可根据后端定义书写
    								
    								}else{
    								           
                      }
    			})
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    IDEA升级后老文件夹占用大量存储空间
    你对量化程序化交易接口有哪些误区?
    【BOOST C++ 13 并行编程】(2) 同步线程
    如何解决 HTTP强制缓存的本地缓存,让网站实时获取最新的资源
    Linux 进程间通信
    golang与php的openssl_encrypt加解密
    MVCC是什么
    有问必答|工厂已上信息化系统就等于能够精益生产么?
    Go 语言数组
    【django2.0之Rest_Framework框架一】rest_framework序列器介绍
  • 原文地址:https://blog.csdn.net/weixin_48864616/article/details/126105025