完整的uniapp网络请求接口封装代码
时间: 2023-08-06 11:03:57 浏览: 128
uniapp 请求代码封装
以下是一个完整的uniapp网络请求接口封装代码:
```js
// 封装请求函数
function request(url, data = {}, method = 'GET') {
return new Promise((resolve, reject) => {
uni.request({
url,
data,
method,
header: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + uni.getStorageSync('token')
},
success: res => {
// 请求成功
if (res.statusCode === 200) {
resolve(res.data)
} else {
reject(res)
}
},
fail: err => {
// 请求失败
reject(err)
}
})
})
}
// 定义接口基础地址
const baseUrl = 'https://api.example.com'
// 封装接口请求函数
export function login(data) {
return request(`${baseUrl}/login`, data, 'POST')
}
export function getUserInfo(userId) {
return request(`${baseUrl}/user/${userId}`)
}
// ... 还可以继续封装其他接口请求函数
```
在上面的代码中,我们定义了一个 `request` 函数,用于发送网络请求。该函数接受三个参数:请求地址、请求数据和请求方式(默认为 GET)。在函数内部,我们使用 `uni.request` 函数发起请求,并根据请求结果调用 `resolve` 或 `reject` 函数。此外,我们在请求头中添加了一个名为 `Authorization` 的请求头,用于传递身份验证信息。
接着,我们定义了一个 `baseUrl` 常量,用于存储接口的基础地址。这样,在实际使用时,我们只需要在接口请求函数中指定相对地址即可。
最后,我们封装了两个接口请求函数:`login` 和 `getUserInfo`,分别用于登录和获取用户信息。我们可以在需要发送网络请求的地方,直接引入并调用以上封装好的接口请求函数。例如:
```js
import { getUserInfo } from '@/api/user'
getUserInfo('123456').then(res => {
console.log(res)
})
```
以上代码会调用 `getUserInfo` 函数,向服务器请求 id 为 123456 的用户信息。请求成功后,会将返回的数据打印到控制台中。
注意:上述代码仅为示例,实际使用时还需要根据具体情况进行修改和完善。例如,需要对请求参数进行校验和转换、对请求结果进行统一处理等。
阅读全文