/**
* 选择图片
* @param {ChooseImageOptions} options - 选择图片的参数
* @returns {Promise<ChooseImageSuccess>} 返回一个 Promise
*/
const chooseImage = (options:ChooseImageOptions={}):Promise<ChooseImageSuccess>=>{
return new Promise((resolve,reject)=>{
uni.chooseImage({
...options,
success:(res:ChooseImageSuccess)=>{
resolve(res)
},
fail:(error:ChooseImageFail)=>{
console.error('选择图片失败:', error); // 增加错误日志
reject(error);
}
})
})
}
/**
* 预览图片
* @param {PreviewImageOptions} options - 预览图片的参数
* @returns {Promise<PreviewImageSuccess>} 返回一个 Promise
*/
const previewImage = (options:PreviewImageOptions = {urls:[]}): Promise<PreviewImageSuccess>=>{
return new Promise((resolve,reject)=>{
// 增加前置校验,防止传入空的 urls 数组
if (!options.urls || options.urls.length === 0) {
const errorMsg = '预览图片失败:urls 数组不能为空';
console.error(errorMsg);
// reject 一个包含信息的 Error 对象,更规范
reject(new Error(errorMsg));
return;
}
uni.previewImage({
...options,
success:(res:PreviewImageSuccess )=>{
resolve(res)
},
fail:(error:PreviewImageFail)=>{
console.error('预览图片失败:', error);
reject(error);
}
})
})
}
export {
chooseImage,
previewImage
}