uniapp 请求封装

210 阅读1分钟

1 在根目录下创建utils文件夹

在文件夹下创建request.js

import { useAccountStore } from '@/store/account.js'
const request=(config)=>{
	config.url='https://nisuosi.com/wx1'+config.url;
	if(!config.data){
		config.data={};
	}
	
	  // 从 Pinia store 获取 JWT  
	 const account = useAccountStore()
	  const jwt = account.jwt;
	  // console.log(jwt,'huhuhu')
	  // 如果存在 JWT,则添加到请求头中  
	  if (jwt) {  
	    config.header = {  
	      ...config.header, // 保留已有的请求头  
	      'jwt': `${jwt}`, // 添加 JWT  
		  'content-type':'application/json',
		  		'cache-control':'no-cache',
		  		'Access-Control-Allow-Headers': 'appId',
		  		'Access-Control-Allow-Methods': 'POST, GET, OPTIONS',
		  		'Access-Control-Max-Age': 86400,
	    };  
	  }  
	  
	let promise=new Promise(function(resolve,reject){
	uni.request(config).then(response=>{
		// console.log(response,'response')
		//异常捕捉
		if (response.statusCode !== 200) {  
		        reject({ message: '请求失败', status: response.statusCode });  
		      } else {  
		        resolve(response.data);  
		      }  
	})
	}).catch(error=>{
		reject(error)
	})
	return promise
}
export default request;

2在根目录下创建api文件夹

在文件夹下创建.js文件

// 引入 request 文件
import request from '../utils/request.js'
 
export function  getlogin(data){
	return request({
		url:'/app/login1',
		method:'post',
		data
	})
}
export function  getzc(data){
	return request({
		url:'/app/registerUser',
		method:'post',
		data
	})
}
export function  getwdxx(){
	return request({
		url:'/app/personnel',
		method:'get'
	
	})
}
export function  uniqueSearching(data){
	return request({
		url:'/fakeAttendance/uniqueSearching',
		method:'post',
		data
	
	})
}
export function  getFigureInfo(data){
	return request({
		url:`/register/face/getFigureInfo?workerId=${data}`,
		method:'get'
	
	})
}

3在vue页面中使用

image.png