xnzt/xnzt-h5/static/js/http.js
2024-11-11 10:27:27 +08:00

337 lines
8.1 KiB
JavaScript

import common_url from './common_url.js'
const http = {
get: function(url, params) {
return new Promise((resolve, reject) => {
try {
uni.request({
url: common_url + url,
data: params,
method: 'GET',
header:{
token:uni.getStorageSync('token')||''
},
success: (res) => {
//console.log('get-res', res);
if (res.statusCode == 200) {
resolve(res.data)
} else if (res.statusCode == 401) {
uni.showToast({
title: '登录过期,重新登录',
icon: "none",
duration: 1500
});
} else {
uni.showToast({
title: res.data.message,
icon: "none",
duration: 1500
});
}
}
})
} catch (err) {
reject(err)
}
})
},
post: function(url, params) {
return new Promise((resolve, reject) => {
try {
uni.request({
url: common_url + url,
data: params,
method: 'POST',
header:{
token:uni.getStorageSync('token')||''
},
success: (res) => {
//console.log('post-res', res);
if (res.statusCode == 200) {
resolve(res.data)
} else if (res.statusCode == 401) {
uni.showToast({
title: '登录过期,重新登录',
icon: "none",
duration: 1500
});
} else {
uni.showToast({
title: res.data.message,
icon: "none",
duration: 1500
});
}
},
fail: (error) => {
console.log(error)
}
})
} catch (err) {
reject(err)
}
})
},
//未使用
uploadvideo: function(count) {
return new Promise((resolve, reject) => {
try {
let token = uni.getStorageSync('Token') || '';
let header = {
'content-type': 'application/x-www-form-urlencoded'
}
uni.chooseVideo({
count: 1, //默认9
sourceType: ['camera', 'album'],
success: function(res) {
console.log('res', res)
let tempFilePath = res.tempFilePath;
let params = {};
uni.uploadFile({
url: common_url + '/api/common/upload', //仅为示例,非真实的接口地址
filePath: tempFilePath,
name: 'file',
formData: params,
header: header,
success: (res1) => {
if (res1.statusCode == 200) {
let res = JSON.parse(res1.data)
resolve(res)
} else {
uni.showToast({
title: res1.data.message,
icon: "none",
duration: 1500
});
console.log(res1.data.message)
}
}
});
}
});
} catch (e) {
reject(e)
}
})
},
//多图上传普通
uploads: function(params) {
return new Promise((resolve, reject) => {
try {
uni.chooseImage({
count: 4, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], //从相册选择
success: (res) => {
let tempFilePath = res.tempFilePaths;
let token = uni.getStorageSync('Token') || '';
let header = {
'token': token,
}
let imgs = []
for (let i = 0, len = tempFilePath.length; i < len; i++) {
uni.uploadFile({
url: common_url + '/common/uploadfile',
filePath: tempFilePath[i],
name: 'file',
formData: params,
header: header,
success: (res1) => {
let data = JSON.parse(res1.data)
console.log('res1', res1, data)
if (res1.statusCode == 200 && data.code ==
1) {
let res = data.data.url
imgs.push(res)
if (imgs.length == tempFilePath
.length) {
resolve(imgs)
}
} else {
uni.showToast({
title: res1.data.msg,
icon: "none",
duration: 1500
});
}
}
});
}
}
});
} catch (e) {
reject(e)
}
})
},
//单图上传普通
uploadone: function(params) {
return new Promise((resolve, reject) => {
try {
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], //从相册选择
success: (res) => {
let tempFilePath = res.tempFilePaths[0];
uni.uploadFile({
url: common_url + '/common/uploadfile',
filePath: tempFilePath,
name: 'file',
formData: params,
success: (res1) => {
console.log(res1)
let data = JSON.parse(res1.data)
if (res1.statusCode == 200 && data.code == 200) {
let res = data.url
resolve(res)
} else {
uni.showToast({
title: res1.errMsg,
icon: "none",
duration: 1500
});
}
}
});
}
});
} catch (e) {
reject(e)
}
})
},
//多图上传base64
upload: function(params) {
return new Promise((resolve, reject) => {
try {
uni.chooseImage({
count: 4, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], //从相册选择
success: function(res) {
if (res.tempFiles.length > 4) {
uni.showToast({
title: '一次最多上传4张图片',
icon: "none"
});
return
}
let tempFilePath = res.tempFiles;
let imgs = []
for (let i = 0, len = tempFilePath.length; i < len; i++) {
uni.getFileSystemManager().readFile({
filePath: tempFilePath[i].path,
encoding: 'base64',
success: r => {
if (r.errMsg.indexOf('readFile:ok') > -1) {
imgs.push({
type: "image",
file64Str: 'data:image/jpeg;base64,' +
r.data
})
if (imgs.length == tempFilePath
.length) {
resolve(imgs)
}
}
}
})
}
}
});
} catch (e) {
reject(e)
}
})
},
//上传图片和视频base64
uploadMedia: function(params) {
return new Promise((resolve, reject) => {
try {
uni.chooseMedia({
count: 6, //默认9
mediaType: ['image', 'video'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], //从相册选择
sizeType: ['compressed'],
maxDuration: 30, //视频时长
success: (res) => {
if (res.errMsg == "chooseMedia:ok") {
if (res.type == 'video') { //视频
let obj1 = {
type: 'vid',
file64Str: '',
imageRequest: {
type: 'cover',
file64Str: ""
}
}
let vData = res.tempFiles[0]
//视频封面
uni.getFileSystemManager().readFile({
filePath: vData.thumbTempFilePath,
encoding: 'base64',
success: r => {
if (r.errMsg.indexOf('readFile:ok') > -
1) {
obj1.imageRequest.file64Str =
'data:image/jpeg;base64,' + r
.data
}
}
})
//视频内容
uni.getFileSystemManager().readFile({
filePath: vData.tempFilePath,
encoding: 'base64',
success: r => {
if (r.errMsg.indexOf('readFile:ok') > -
1) {
obj1.file64Str =
'data:video/mp4;base64,' + r
.data
}
}
})
resolve(obj1)
} else { //图片
let imgArry = res.tempFiles
let imgs = []
for (let i = 0, len = imgArry.length; i < len; i++) {
uni.getFileSystemManager().readFile({
filePath: imgArry[i].tempFilePath,
encoding: 'base64',
success: r => {
if (r.errMsg.indexOf(
'readFile:ok') > -1) {
imgs.push({
type: "image",
file64Str: 'data:image/jpeg;base64,' +
r
.data
})
if (imgs.length == imgArry
.length) {
resolve(imgs)
}
}
}
})
}
}
}
}
});
} catch (e) {
reject(e)
}
})
}
}
export default http;