• 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
  • 相关阅读:
    nextjs-一个基于React的全栈框架
    Android进程与线程
    常用的Linux命令
    机器学习-集成学习(模型融合)方法概述
    关于技术分享及内卷
    (十二)群组业务
    【C++笔记】C++基础入门
    推荐一个基于.NET Core 3.1开发开源的分布式任务调度系统
    【Pygame实战】你说神奇不神奇?吃豆人+切水果结合出一款你没玩过的新游戏!(附源码)
    MiniCPM 多模态VLM图像视频理解代码案例
  • 原文地址:https://blog.csdn.net/weixin_48864616/article/details/126105025