174 lines
4.1 KiB
JavaScript
174 lines
4.1 KiB
JavaScript
import request from '~/api/request'
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
form: {},
|
|
imageVisible: false,
|
|
imageList: [],
|
|
imageIndex: 1,
|
|
},
|
|
formKey: '',
|
|
|
|
|
|
|
|
|
|
//上传文件方法
|
|
async uploadFileToOSS(file, callback) {
|
|
|
|
|
|
const policyData = await request('admin/policy_token', 'post')
|
|
const res = JSON.parse(policyData.token)
|
|
|
|
|
|
const formData = {
|
|
key: file.name, //上传文件名称
|
|
policy: res.policy, //表单域
|
|
'x-oss-signature-version': res.x_oss_signature_version, //指定签名的版本和算法
|
|
'x-oss-credential': res.x_oss_credential, //指明派生密钥的参数集
|
|
'x-oss-date': res.x_oss_date, //请求的时间
|
|
'x-oss-signature': res.signature, //签名认证描述信息
|
|
'x-oss-security-token': res.security_token, //安全令牌
|
|
success_action_status: "200" //上传成功后响应状态码
|
|
};
|
|
// console.log(filePath)
|
|
// return
|
|
// 发送请求上传文件
|
|
wx.uploadFile({
|
|
url: 'https://image-fudan.oss-cn-beijing.aliyuncs.com/',
|
|
method: 'put',
|
|
filePath: file.path,
|
|
name: 'file', //固定值为file
|
|
formData: formData,
|
|
success(res) {
|
|
console.log('上传响应:', res);
|
|
if (res.statusCode === 200) {
|
|
callback(null, 'https://image-fudan.oss-cn-beijing.aliyuncs.com/'+ file.name); // 上传成功
|
|
} else {
|
|
console.error('上传失败,状态码:', res.statusCode);
|
|
console.error('失败响应:', res);
|
|
callback(res); // 上传失败,返回响应
|
|
}
|
|
},
|
|
fail(err) {
|
|
console.error('上传失败:', err); // 输出错误信息
|
|
wx.showToast({ title: '上传失败,请重试!', icon: 'none' });
|
|
callback(err); // 调用回调处理错误
|
|
}
|
|
});
|
|
|
|
},
|
|
handleUpload(e) {
|
|
const { mode } = e.currentTarget.dataset;
|
|
|
|
|
|
wx.chooseMessageFile({
|
|
count: 1, // 选择一个文件
|
|
type: 'all', // 支持所有类型的文件
|
|
success: (res) => {
|
|
wx.showToast({ title: '文件上传中,请稍等!', icon: 'none' });
|
|
console.log('选择的文件:', res.tempFiles); // 输出选择的文件信息
|
|
if (res.tempFiles.length > 0) {
|
|
const tempFilePath = res.tempFiles[0];
|
|
console.log('选择的文件路径:', tempFilePath); // 输出文件路径
|
|
this.uploadFileToOSS(tempFilePath, (error, data) => {
|
|
if (error) {
|
|
wx.showToast({ title: '上传失败!', icon: 'none' });
|
|
console.error('上传失败:', error); // 输出具体的错误信息
|
|
} else {
|
|
wx.showToast({ title: '上传成功!', icon: 'success' });
|
|
|
|
this.setData({
|
|
[`form.${mode}`]: data
|
|
})
|
|
|
|
console.log('上传成功:', data); // 输出上传成功后的数据
|
|
}
|
|
});
|
|
} else {
|
|
wx.showToast({ title: '未选择文件!', icon: 'none' });
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
wx.showToast({ title: '选择文件失败!', icon: 'none' });
|
|
console.error('选择文件失败:', err); // 输出选择文件的错误信息
|
|
}
|
|
});
|
|
},
|
|
|
|
handleDelete(e){
|
|
const { mode } = e.currentTarget.dataset;
|
|
this.setData({
|
|
[`form.${mode}`]: ''
|
|
})
|
|
},
|
|
handleImagePreview(e){
|
|
const { mode } = e.currentTarget.dataset;
|
|
this.setData({
|
|
imageList: [this.data.form[mode]],
|
|
imageIndex: 1,
|
|
imageVisible: true
|
|
})
|
|
},
|
|
|
|
async toQuestionnaire(){
|
|
const res = await request('/patient/diagnostic', 'post', this.data.form)
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
}
|
|
}) |