UniApp 是一个基于 Vue.js 开发的跨平台框架,可以同时开发出支持微信小程序、H5、Android、iOS 等多个平台的应用。以下是一个封装可上传图片的请求的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 封装一个上传图片的请求
function uploadImageRequest(url, filePath, name, formData, successCallback, failCallback) {
uni.uploadFile({
url: url,
filePath: filePath,
name: name,
formData: formData,
success: function (res) {
if (res.statusCode === 200) {
successCallback(res.data)
} else {
failCallback(res.data)
}
},
fail: function (res) {
failCallback(res.errMsg)
}
})
}

// 使用示例
const url = 'http://example.com/upload'
const filePath = '本地文件路径'
const name = 'file'
const formData = { // 上传其他参数
'user_id': '12345'
}
uploadImageRequest(url, filePath, name, formData, function (data) {
console.log('上传成功', data)
}, function (errMsg) {
console.log('上传失败', errMsg)
})

在这个示例中,uploadImageRequest 函数封装了一个上传图片的请求,包括文件上传的 URL、本地文件路径、上传文件名称、上传其他参数等。函数使用 uni.uploadFile 方法发起网络请求,并根据请求的返回状态码和数据分别调用成功或失败回调函数。使用示例中可以看到,我们可以传入回调函数来处理上传成功或失败后的逻辑。