ajax请求携带tooken_uniapp 简易通用的ajax 请求 封装 以及携带token去请求

1、例如:在api文件夹中新建一个api.js

// 公共的方法

const baseUrl = "http://192.xxx.xx.xx:8889"; // 请求地址

const $ajax = {

get: function({

url,

param,

header

}) {

return new Promise(function(resolve, reject) {

uni.request({

url: baseUrl + url,

data: param,

method: "GET",

success: function(res) {

if (res.statusCode !== 200) {

reject(res);

} else {

resolve(res);

}

},

fail: function(err) {

reject(err);

}

})

})

},

post: function({

url,

data,

header

}) {

return new Promise(function(resolve, reject) {

uni.request({

url: baseUrl + url,

data: data,

method: "POST",

header: {

'Content-Type': 'application/x-www-form-urlencoded'

},

success: function(res) {

if (res.statusCode !== 200) {

reject(res)

} else {

resolve(res);

}

},

fail: function(err) {

reject(err)

}

})

})

},

postJSON: function({

url,

data,

header

}) {

return new Promise(function(resolve, reject) {

uni.request({

url: baseUrl + url,

data: data,

method: "POST",

header: {

'Content-Type': 'application/json;charset=UTF-8'

},

success: function(res) {

if (res.statusCode !== 200) {

reject(res)

} else {

resolve(res);

}

},

fail: function(err) {

reject(err)

}

})

})

},

upImg: function({

url,

imgUrl

}) {

return new Promise(function(resolve, reject) {

uni.uploadFile({

url: "baseUrl" + url,

filePath: imgUrl,

name: 'file',

success: function(uploadFileRes) {

resolve(uploadFileRes);

},

fail: function(err) {

reject(err)

}

});

})

}

}

export default $ajax;

2、引入

例如:在main.js中全局引入

// 在main.js中引入

import ajax from './api/api.js'

3、使用

// get请求

this.$ajax.get({

url: `/wx/wxLogin`,

param: {

password: this.pwd,

username: this.name,

uuid: this.uuid

}

}).then((res) => {

console.log(res.data)

})

4、携带token

有的接口在发送http请求的时候需要验证token,登陆成功后我们需要把Authorization字段的值放到header里面,携带token去发送请求。

①在api文件夹中新建config.js文件,封装一下方法

const app = {

apiUrl: 'http://192.xxx.xx.xxx:8889', //请求的地址

baseRequest(obj) {

try {

const userToken = uni.getStorageSync('userToken');

if (userToken) {

if (obj.header) {

obj.header["Authorization"] = userToken;

} else {

obj.header = {

"Authorization": userToken

};

}

obj.url = this.apiUrl + obj.url;

uni.request(obj)

} else {

console.log("获取不到userToken")

}

} catch (e) {

console.log(e)

console.log("获取不到userToken")

}

},

}

export default app

②登陆成功后设置缓存

// 设置缓存

uni.setStorageSync('userToken', res.data.token),

③其他地方调用

// 顺便介绍一下获取缓存

getToken() {

uni.getStorage({

key: 'userToken',

success: (res) => {

// console.log('这是获取key中的内容',res)

this.tokenData = res.data;

console.log('这是获取token', this.tokenData)

if (this.tokenData) {

}

}

})

},

// 注意要引入config.js

import app from "@../../api/config.js"

// 在methods中调用封装好的方法

getMaintenance() {

app.baseRequest({

url: `/repairType/xxx/xxx`,

method: 'get',

success: (res) => {

}

})

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值