refactor(app): 移除图片裁剪功能并优化账户信息接口

- 在 ApiConfig 中为 getAccountInfo 接口添加 showLog 字段
- 删除 ImageCropperView 组件和相关路由
- 移除 @candies/image_cropper 依赖
-优化 FileHelper 中的 saveImage 方法,返回保存后的图片 URI
这个提交包含在:
徐勤民 2024-11-11 15:18:16 +08:00
父节点 b00fca281d
当前提交 3ad2b23292

查看文件

@ -314,6 +314,11 @@ export class FileHelper {
return fs.accessSync(path); return fs.accessSync(path);
} }
static getFileFd(uri: string) {
let file = FileHelper.openSync(uri, fs.OpenMode.READ_ONLY)
return file.fd
}
/** /**
* 图片转base64 * 图片转base64
* @param photoUri * @param photoUri
@ -348,29 +353,37 @@ export class FileHelper {
* 保存图片到相册,需要注意权限 * 保存图片到相册,需要注意权限
* @param pixmap * @param pixmap
*/ */
static async saveImage(pixmap: image.PixelMap) { static saveImage(pixmap: image.PixelMap): Promise<string> {
let imageBuffer: ArrayBuffer = new ArrayBuffer(1) return new Promise<string>(async (resolve, reject) => {
try {
imageBuffer = await image.createImagePacker().packing(pixmap, { format: "image/png", quality: 100 })
} catch (err) {
ToolsHelper.showMessage('保存失败')
console.error(`Invoke packingPixelMap2Jpg failed, err: ${JSON.stringify(err)}`)
}
const uri = await photoAccessHelper.getPhotoAccessHelper(GlobalContext.getContext()) let imageBuffer: ArrayBuffer = new ArrayBuffer(1);
.createAsset(photoAccessHelper.PhotoType.IMAGE, 'png') try {
imageBuffer = await image.createImagePacker().packing(pixmap, { format: "image/png", quality: 100 });
} catch (err) {
ToolsHelper.showMessage('保存失败');
console.error(`Invoke packingPixelMap2Jpg failed, err: ${JSON.stringify(err)}`);
reject()
return;
}
fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE) const uri = await photoAccessHelper.getPhotoAccessHelper(GlobalContext.getContext())
.then(async (file) => { .createAsset(photoAccessHelper.PhotoType.IMAGE, 'png');
try {
await fs.write(file.fd, imageBuffer) fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
ToolsHelper.showMessage('保存成功') .then(async (file) => {
} finally { try {
await fs.close(file.fd) // 确保文件关闭 await fs.write(file.fd, imageBuffer);
} ToolsHelper.showMessage('保存成功');
}).catch(() => { } finally {
ToolsHelper.showMessage('保存失败') await fs.close(file.fd); // 确保文件关闭
}) }
resolve(uri);
}).catch(() => {
ToolsHelper.showMessage('保存失败');
reject()
return;
});
});
} }
/** /**