uniapp封装request请求(复制即用)

uniapp封装request请求

创建
http/api.js
http/request.js

request.js 文件

const baseUrl = 'http://wap.bdpai.cn/box_bbc'; // 域名

// 带 Token 请求
const request = (opts, data) => {
	uni.onNetworkStatusChange(function(res) {
		if (!res.isConnected) {
			uni.showToast({
				title: '网络连接不可用!',
				icon: 'none'
			});
		}
		return false
	});
	let token = uni.getStorageSync('token');
	// if (token == '' || token == undefined || token == null) {
	// 	uni.showToast({
	// 		title: '账号已过期,请重新登录',
	// 		icon: 'none',
	// 		complete: function() {
	// 			uni.reLaunch({
	// 				url: '/pages/login/index'
	// 			});
	// 		}
	// 	});
	// } else {
		let httpDefaultOpts = {
			url: baseUrl + opts.url,
			data: data,
			method: opts.method || 'GET',
			header: opts.method == 'get' ? {
				'token': token,
				'X-Requested-With': 'XMLHttpRequest',
				"Accept": "application/json",
				"Content-Type": "application/x-www-form-urlencoded"
			} : {
				'token': token,
				'X-Requested-With': 'XMLHttpRequest',
				'Content-Type': 'application/json; charset=UTF-8'
			},
			dataType: 'json',
		}
		let promise = new Promise(function(resolve, reject) {
			uni.request(httpDefaultOpts).then(
				(res) => {
					// console.log(res)
					if (res[1].data.code == 200) {
						resolve(res[1])
					} else {
						if (res[1].data.code == 401) {
							// uni.showModal({
							// 	title: '提示',
							// 	content: res[1].data.message,
							// 	success: function (res) {
							// 		if (res.confirm) {
							// 			uni.reLaunch({
							// 				url: '/pages/login/login'
							// 			});
							// 			uni.clearStorageSync();
							// 		} 
							// 	}
							// });
							uni.reLaunch({
								url: '/pages/login/login'
							});
							uni.clearStorageSync();
						} else {
							resolve(res[1])
							// uni.showToast({
							// 	title: '' + res[1].data.message,
							// 	icon: 'none'
							// })
						}
					}
				}
			).catch(
				(response) => {
					reject(response)
				}
			)
		})
		return promise
	// }
};

// 导出去
export default request;

在 api.js 文件

//引入request.js文件
import request from "./request";

// 封装的用户信息方法
export function getUserInfo() {
    return request({
        url: "/app-user/getUser/99064838", // 这个地址是去掉公共地址剩下的地址
        method: "GET", // 请求方式 支持多种方式  get post put delete 等等
        // data //发送请求要配置的参数 无参数的情况下也可以不写
    });
}

页面中使用

第一种方式使用

<template>
	<view>
		
	</view>
</template>

<script>
	import {
		getUserInfo
	} from "@/http/api.js"; // 1.引入需要的接口
	export default {
		data() {
			return {
				
			}
		},
		 onLoad() {
			getUserInfo().then(res => {
				console.log(res)
			}).catch(err => {
				console.log(err)
			})
		}
	}
</script>

第二种方式使用

<template>
	<view>
		
	</view>
</template>

<script>
	import {
		getUserInfo
	} from "@/http/api.js"; // 1.引入需要的接口
	export default {
		data() {
			return {
				
			}
		},
		async onLoad() {
			let res = await getUserInfo()
		},
	}
</script>
  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值