uni-app公共请求方法封装

  • 创建一个ajax文件,在ajax文件里面再创建一个http.js文件,在创建一个api文件夹,结构如下:

  • 在http.js文件代码如下:
export default ({name,data={}})=>{
	//返回一个Promise对象
	return new Promise((resolve,reject)=>{
		//打开一个loading弹窗
		uni.showLoading({})
		uniCloud.callFunction({
			name,
			data,
			success({result}) {
				if(result.code === 0){
					//请求成功,且有数据
					resolve(result.data);
				}else{
					//后端没有查询到数据值
					uni.showToast({
						icon:"none",
						title:result.msg
					})
				}
			},
			fail(err) {
				//请求失败
				reject(err)
			},
			complete() {
				//完成状态,关闭弹窗
				uni.hideLoading()
			}
		})
	})
}
  • 在api文件夹里面创建index.js,获取所有方法。index.js文件代码如下:
//得到当前文件夹下以.js结尾的所有文件
const requireApi = require.context('.', true, /.js$/);

let module = {}
console.log(requireApi.keys())
requireApi.keys().forEach((key,index)=>{
	if(key == "./index.js") return
	Object.assign(module,requireApi(key))
})
console.log(module)
export default module;

 获取方法打印如下:

  • interface文件夹下各个业务的请求方法,例如home.js代码展示:
import ajax from "../../http.js";

export function get_label_list(data) {
	return ajax({
		name: "get_label_list",
		data
	})
}

export function get_article_list(data) {
	return ajax({
		name: "get_article_list",
		data
	})
}

//添加/取消文章收藏
export function update_save_like(data) {
	return ajax({
		name: 'update_save_like',
		data
	})
}

// 获取搜索文章内容
export function get_search_data(data) {
	return ajax({
		name: 'get_search_data',
		data
	})
}
// 修改用户保存的选项卡标签
export function update_label_ids(data){
	return ajax({
		name:"update_label_ids",
		data
	})
}
  • 最后在main.js中 将module挂载到Vue的原型对象上,那么全局可以使用了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值