update:上传素材
This commit is contained in:
parent
f49d8be67a
commit
b0c8f32d3a
@ -1,6 +1,7 @@
|
|||||||
const { API } = require('../../utils/constants');
|
const { API } = require('../../utils/constants');
|
||||||
const { request } = require('../../utils/http');
|
const { request } = require('../../utils/http');
|
||||||
const { formatDateTime, eventStatusText, eventStatusForPill, eventFormatText } = require('../../utils/format');
|
const { formatDateTime, eventStatusText, eventStatusForPill, eventFormatText } = require('../../utils/format');
|
||||||
|
const auth = require('../../utils/auth');
|
||||||
|
|
||||||
/** 统一后台轮播字段(camelCase / PascalCase、枚举数字)供 wxml 绑定 */
|
/** 统一后台轮播字段(camelCase / PascalCase、枚举数字)供 wxml 绑定 */
|
||||||
function normalizeBannerItem(raw) {
|
function normalizeBannerItem(raw) {
|
||||||
@ -234,36 +235,97 @@ Page({
|
|||||||
|
|
||||||
openUploadPicker({ kind, registrationId }) {
|
openUploadPicker({ kind, registrationId }) {
|
||||||
const title = kind === 'voucher' ? '上传付款凭证' : '上传素材';
|
const title = kind === 'voucher' ? '上传付款凭证' : '上传素材';
|
||||||
wx.showActionSheet({
|
|
||||||
itemList: ['从相册选择', '拍照'],
|
|
||||||
success: (r) => {
|
|
||||||
if (!r || typeof r.tapIndex !== 'number') return;
|
|
||||||
const sourceType = r.tapIndex === 1 ? ['camera'] : ['album'];
|
|
||||||
wx.chooseMedia({
|
|
||||||
count: 1,
|
|
||||||
mediaType: ['image'],
|
|
||||||
sourceType,
|
|
||||||
success: (res) => {
|
|
||||||
const tempFilePath =
|
|
||||||
res && res.tempFiles && res.tempFiles[0] ? res.tempFiles[0].tempFilePath : '';
|
|
||||||
if (!tempFilePath) return;
|
|
||||||
|
|
||||||
wx.showModal({
|
if (kind === 'material') {
|
||||||
title,
|
wx.showActionSheet({
|
||||||
content: '确认上传该图片?',
|
itemList: ['从相册选择图片/视频', '拍照/录视频', '选择音乐文件'],
|
||||||
cancelText: '取消',
|
success: (r) => {
|
||||||
confirmText: '确定',
|
if (!r || typeof r.tapIndex !== 'number') return;
|
||||||
success: (mr) => {
|
if (r.tapIndex === 2) {
|
||||||
if (!mr || !mr.confirm) return;
|
wx.chooseMessageFile({
|
||||||
// TODO: 接入后端上传接口(素材/付款凭证)
|
count: 1,
|
||||||
// kind: material | voucher
|
type: 'file',
|
||||||
// registrationId: 报名记录 id
|
extension: ['mp3', 'wav', 'aac', 'flac', 'm4a', 'ogg'],
|
||||||
// tempFilePath: 本地图片路径
|
success: (res) => {
|
||||||
wx.showToast({ title: '已选择', icon: 'success' });
|
const file = res && res.tempFiles && res.tempFiles[0];
|
||||||
|
const tempFilePath = file ? file.path : '';
|
||||||
|
if (!tempFilePath) return;
|
||||||
|
this._confirmAndUploadMaterial(title, tempFilePath, registrationId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
const sourceType = r.tapIndex === 1 ? ['camera'] : ['album'];
|
||||||
|
wx.chooseMedia({
|
||||||
|
count: 1,
|
||||||
|
mediaType: ['image', 'video'],
|
||||||
|
sourceType,
|
||||||
|
success: (res) => {
|
||||||
|
const tempFilePath =
|
||||||
|
res && res.tempFiles && res.tempFiles[0] ? res.tempFiles[0].tempFilePath : '';
|
||||||
|
if (!tempFilePath) return;
|
||||||
|
this._confirmAndUploadMaterial(title, tempFilePath, registrationId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.showActionSheet({
|
||||||
|
itemList: ['从相册选择', '拍照'],
|
||||||
|
success: (r) => {
|
||||||
|
if (!r || typeof r.tapIndex !== 'number') return;
|
||||||
|
const sourceType = r.tapIndex === 1 ? ['camera'] : ['album'];
|
||||||
|
wx.chooseMedia({
|
||||||
|
count: 1,
|
||||||
|
mediaType: ['image'],
|
||||||
|
sourceType,
|
||||||
|
success: (res) => {
|
||||||
|
const tempFilePath =
|
||||||
|
res && res.tempFiles && res.tempFiles[0] ? res.tempFiles[0].tempFilePath : '';
|
||||||
|
if (!tempFilePath) return;
|
||||||
|
wx.showModal({
|
||||||
|
title,
|
||||||
|
content: '确认上传该图片?',
|
||||||
|
cancelText: '取消',
|
||||||
|
confirmText: '确定',
|
||||||
|
success: (mr) => {
|
||||||
|
if (!mr || !mr.confirm) return;
|
||||||
|
// TODO: 接入付款凭证上传接口
|
||||||
|
wx.showToast({ title: '已选择', icon: 'success' });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_confirmAndUploadMaterial(title, tempFilePath, registrationId) {
|
||||||
|
wx.showModal({
|
||||||
|
title,
|
||||||
|
content: '确认上传该文件?',
|
||||||
|
cancelText: '取消',
|
||||||
|
confirmText: '确定',
|
||||||
|
success: (mr) => {
|
||||||
|
console.log('用户选择:', mr);
|
||||||
|
if (!mr || !mr.confirm) return;
|
||||||
|
wx.showLoading({ title: '上传中...', mask: true });
|
||||||
|
auth.uploadFile(tempFilePath)
|
||||||
|
.then((url) => {
|
||||||
|
return request({
|
||||||
|
path: API.uploadMaterial,
|
||||||
|
method: 'POST',
|
||||||
|
needAuth: true,
|
||||||
|
data: { registrationId, materialUrl: url }
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
wx.showToast({ title: '上传成功', icon: 'success' });
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
wx.showToast({ title: (err && err.message) || '上传失败', icon: 'none' });
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@ -32,6 +32,7 @@ const API = {
|
|||||||
myTeams: '/api/my/teams',
|
myTeams: '/api/my/teams',
|
||||||
myCertificates: '/api/my/certificates',
|
myCertificates: '/api/my/certificates',
|
||||||
fileUpload: '/api/file/upload',
|
fileUpload: '/api/file/upload',
|
||||||
|
uploadMaterial: '/api/eventclient/upload-material',
|
||||||
ocrIdCard: '/api/ocr/recognize/idcard',
|
ocrIdCard: '/api/ocr/recognize/idcard',
|
||||||
ocrPassport: '/api/ocr/recognize/passport'
|
ocrPassport: '/api/ocr/recognize/passport'
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user