uniapp+vue3+ts封装公共的请求

uniapp封装公共请求ts版

第一步:新建文件夹utils
第二步:新建文件request.ts

//服务器接口地址
const baseURL : string = 'http://xxxxxx'
//本地调试接口地址
// const baseURL:string='http://xxxxxx'
// 封装公共请求方法
function request(url : string, method : "GET" | "POST" | undefined, data : object | any) {
	return new Promise(function (resolve, reject) {
		let header : any
		if (uni.getStorageSync('token') !== undefined && uni.getStorageSync('token') !== "") {
			header = {
				'content-type': 'application/json',
				'Token': uni.getStorageSync('token')
			};
		} else {
			header = {
				'content-type': 'application/json',
			};
		}
		uni.request({
			url: baseURL + url,
			method: method,
			data: data,
			header: header,
			success(res : any) {
				console.log(res)
				uni.hideLoading()
				if (res.data.code === "200") {
					resolve(res.data);
				} else {
					//其他异常
					uni.showToast({
						title: res.data.msg,
						icon: 'none'
					})
					reject(res.data);
				}
			},
			fail(err) {
				uni.hideLoading()
				//请求失败
				uni.showToast({
					title: '无法连接到服务器',
					icon: 'none'
				})
				reject(err)
			}
		})
	})
}
export { request, baseURL }

第三步:新建文件夹api
第四步:新建文件api.ts

import {request} from './request'
//登录接口
const login = (data: object | any)=>request('/corp_auth/admin_login', 'POST', data)
 // 首页获取商品列表
const getList =(data: object | any)=>request('/goods/get_all_goods_by_collieryid', 'GET', data)

export{
    login,
    getList
}

接着在(列如)首页index.vue引入需要的接口

<script setup lang="ts">
    import { getList } from '../../../services/api';
  getList({ pageNow: this.pageNow}).then(res => {
          that.list = that.list.concat(res.data.payload)
	})           
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值