|
|
@ -77,27 +77,40 @@ export const takePhotoWithWaterMark = async ({ |
|
|
await ensureW6sAuth() |
|
|
await ensureW6sAuth() |
|
|
console.log('[w6sMedia] 鉴权完成, 准备调起拍照') |
|
|
console.log('[w6sMedia] 鉴权完成, 准备调起拍照') |
|
|
return new Promise((resolve, reject) => { |
|
|
return new Promise((resolve, reject) => { |
|
|
w6s.image.takePhotoAndAddWaterMark({ |
|
|
w6s.image.takePicture({ |
|
|
content, |
|
|
editable: false, |
|
|
fontSize, |
|
|
success: function (res) { |
|
|
color, |
|
|
|
|
|
markDisable: false, |
|
|
|
|
|
timeEnable, |
|
|
|
|
|
locationEnable, |
|
|
|
|
|
success: (res) => { |
|
|
|
|
|
console.log('[w6sMedia] takePhotoAndAddWaterMark success 原始返回:', res) |
|
|
console.log('[w6sMedia] takePhotoAndAddWaterMark success 原始返回:', res) |
|
|
console.log('[w6sMedia] 返回字段 imageURL:', res?.imageURL, 'key:', res?.key, 'imageInfo:', res?.imageInfo) |
|
|
console.log('[w6sMedia] 返回字段 imageURL:', res?.imageURL, 'key:', res?.key, 'imageInfo:', res?.imageInfo) |
|
|
resolve(res) |
|
|
resolve(res) |
|
|
}, |
|
|
}, |
|
|
fail: (err) => { |
|
|
fail: function (err) { |
|
|
console.error('[w6sMedia] takePhotoAndAddWaterMark fail:', err) |
|
|
console.error('[w6sMedia] takePhotoAndAddWaterMark fail:', err) |
|
|
reject(err) |
|
|
reject(err) |
|
|
}, |
|
|
}, |
|
|
}) |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// w6s.image.takePhotoAndAddWaterMark({
|
|
|
|
|
|
// content,
|
|
|
|
|
|
// fontSize,
|
|
|
|
|
|
// color,
|
|
|
|
|
|
// markDisable: false,
|
|
|
|
|
|
// timeEnable,
|
|
|
|
|
|
// locationEnable,
|
|
|
|
|
|
// success: (res) => {
|
|
|
|
|
|
// console.log('[w6sMedia] takePhotoAndAddWaterMark success 原始返回:', res)
|
|
|
|
|
|
// console.log('[w6sMedia] 返回字段 imageURL:', res?.imageURL, 'key:', res?.key, 'imageInfo:', res?.imageInfo)
|
|
|
|
|
|
// resolve(res)
|
|
|
|
|
|
// },
|
|
|
|
|
|
// fail: (err) => {
|
|
|
|
|
|
// console.error('[w6sMedia] takePhotoAndAddWaterMark fail:', err)
|
|
|
|
|
|
// reject(err)
|
|
|
|
|
|
// },
|
|
|
|
|
|
// })
|
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 录制视频
|
|
|
// 录制视频(使用 Cordova 原生 Media Capture API)
|
|
|
export const startVideoRecorder = async ({ |
|
|
export const startVideoRecorder = async ({ |
|
|
duration = 60, |
|
|
duration = 60, |
|
|
quality = 1, // 0 高清 / 1 一般 / 2 流畅
|
|
|
quality = 1, // 0 高清 / 1 一般 / 2 流畅
|
|
|
@ -108,20 +121,33 @@ export const startVideoRecorder = async ({ |
|
|
await ensureW6sAuth() |
|
|
await ensureW6sAuth() |
|
|
console.log('[w6sMedia] 录制前鉴权完成, 准备调起录制') |
|
|
console.log('[w6sMedia] 录制前鉴权完成, 准备调起录制') |
|
|
return new Promise((resolve, reject) => { |
|
|
return new Promise((resolve, reject) => { |
|
|
w6s.video.startVideoRecoder({ |
|
|
if (!navigator?.device?.capture?.captureVideo) { |
|
|
duration, |
|
|
console.error('[w6sMedia] navigator.device.capture.captureVideo 不可用') |
|
|
quality, |
|
|
reject(new Error('当前环境不支持视频录制')) |
|
|
front, |
|
|
return |
|
|
sync_system_album: syncSystemAlbum, |
|
|
} |
|
|
success: (res) => { |
|
|
navigator.device.capture.captureVideo( |
|
|
console.log('[w6sMedia] startVideoRecoder success 原始返回:', res) |
|
|
(mediaFiles) => { |
|
|
resolve(res) |
|
|
console.log('[w6sMedia] captureVideo success, mediaFiles:', mediaFiles) |
|
|
|
|
|
if (mediaFiles && mediaFiles.length > 0) { |
|
|
|
|
|
const file = mediaFiles[0] |
|
|
|
|
|
console.log('[w6sMedia] 视频文件: fullPath=', file.fullPath, 'name=', file.name, 'size=', file.size, 'type=', file.type) |
|
|
|
|
|
resolve({ |
|
|
|
|
|
video_path: file.fullPath, |
|
|
|
|
|
name: file.name, |
|
|
|
|
|
size: file.size, |
|
|
|
|
|
type: file.type || 'video/mp4', |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
reject(new Error('录制未生成视频文件')) |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
fail: (err) => { |
|
|
(error) => { |
|
|
console.error('[w6sMedia] startVideoRecoder fail:', err) |
|
|
console.error('[w6sMedia] captureVideo fail:', error, 'code:', error?.code, 'message:', error?.message) |
|
|
reject(err) |
|
|
reject(error) |
|
|
}, |
|
|
}, |
|
|
}) |
|
|
{ limit: 1, duration } |
|
|
|
|
|
) |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|