签名问题

This commit is contained in:
bb_pan 2025-06-19 11:57:49 +08:00
parent dc072e0d79
commit 4100c79114
1 changed files with 54 additions and 85 deletions

View File

@ -34,7 +34,7 @@ let signType = ref(0)
const opts = reactive({})
onLoad((opt) => {
// console.log('🚀 ~ onLoad ~ opt:', opt)
// console.log('🚀 ~ onLoad ~ opt:', opt)
const params = opt.params ? JSON.parse(opt.params) : {}
Object.assign(opts, params)
if (opts.isLease) {
@ -91,30 +91,24 @@ const getSignData = () => {
})
}
function base64ToBlob(base64Data) {
// Base64MIME
const parts = base64Data.split(';base64,');
const contentType = parts[0].split(':')[1];
const raw = window.atob(parts[1]);
const rawLength = raw.length;
const uInt8Array = new Uint8Array(rawLength);
for (let i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], { type: contentType });
}
function blobToFile(blob, fileName) {
return new File([blob], fileName, { type: blob.type });
}
//
const complete = (e) => {
signType.value = 0
console.log(e) // base
// console.log(e) // base
const img = new Image()
img.src = e
img.onload = () => {
const canvas = document.createElement('canvas')
canvas.width = img.width
canvas.height = img.height
const ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0)
// WebP 0.8
const webpBase64 = canvas.toDataURL('image/webp', 0.8)
console.log('🚀 ~ WebP base64:', webpBase64)
}
uploadImg2(e)
}
@ -148,70 +142,45 @@ const handlePhoto = () => {
})
}
//
const uploadImg2 = (base64Data) => {
// 1. Base64Blob
const blob = base64ToBlob(base64Data);
// 2. BlobFileuni-appuploadFile使Blob
const file = blobToFile(blob, 'image.png');
console.log('🚀 ~ uploadImg ~ file:', file)
// 3. FormDataH5
const formData = new FormData();
formData.append('file', file);
uni.uploadFile({
url: '/file/upload',
// filePath: file,
name: 'file',
formData: formData,
header: {
// Authorization: this.token,
},
success: async (res) => {
console.log('🚀 ~ uploadImg ~ res:', res)
try {
const signUrl = JSON.parse(res.data).data.url
if (opts.isLease) {
const params = {
id: opts.id,
leaseSignUrl: signUrl,
leaseSignType: signType.value,
}
console.log('🚀 ~ success: ~ params:', params)
const res = await updateLeaseApplyInfoSign(params)
console.log('🚀 ~ uploadImg-领料 ~ res:', res)
uni.navigateBack()
} else if (opts.isBack) {
const params = {
id: opts.id,
backSignUrl: signUrl,
backSignType: signType.value,
}
console.log('🚀 ~ success: ~ params:', params)
const res = await updateSignById(params)
console.log('🚀 ~ uploadImg-退料 ~ res:', res)
uni.navigateBack()
} else {
const params = {
signUrl: signUrl,
signType: signType.value,
}
const res = await updateSign(params)
console.log('🚀 ~ uploadImg-个人中心 ~ res:', res)
getSignData()
}
} catch (error) {
console.log('🚀 ~ uploadImg ~ error:', error)
uni.showToast({
title: '上传失败',
icon: 'none',
})
const uploadImg2 = async (base64Data) => {
try {
const signUrl = base64Data
if (opts.isLease) {
const params = {
id: opts.id,
leaseSignUrl: signUrl,
leaseSignType: signType.value,
}
},
fail: (err) => {
console.log('🚀 ~ uploadImg ~ err:', err)
},
})
console.log('🚀 ~ success: ~ params:', params)
const res = await updateLeaseApplyInfoSign(params)
console.log('🚀 ~ uploadImg-领料 ~ res:', res)
uni.navigateBack()
} else if (opts.isBack) {
const params = {
id: opts.id,
backSignUrl: signUrl,
backSignType: signType.value,
}
console.log('🚀 ~ success: ~ params:', params)
const res = await updateSignById(params)
console.log('🚀 ~ uploadImg-退料 ~ res:', res)
uni.navigateBack()
} else {
const params = {
signUrl: signUrl,
signType: signType.value,
}
const res = await updateSign(params)
console.log('🚀 ~ uploadImg-个人中心 ~ res:', res)
getSignData()
}
} catch (error) {
console.log('🚀 ~ uploadImg ~ error:', error)
uni.showToast({
title: '上传失败',
icon: 'none',
})
}
}
const uploadImg = (path) => {
uni.uploadFile({