接入桌面壳图片导入能力
新增 file.importImage 与 file.imageDropped HostBridge 能力 Tauri 壳通过系统图片选择和主窗口拖拽读取真实图片文件 H5 统一使用导入图片与拖入图片事件 facade 限制图片 MIME 与大小并避免暴露本机绝对路径 更新壳能力校验、测试和架构文档
This commit is contained in:
@@ -54,6 +54,8 @@ describe('HostBridge shared contract helpers', () => {
|
||||
expect(isHostBridgeCapability('app.lifecycle')).toBe(true);
|
||||
expect(isHostBridgeCapability('network.status')).toBe(true);
|
||||
expect(isHostBridgeCapability('network.statusChanged')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.importImage')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.imageDropped')).toBe(true);
|
||||
expect(isHostBridgeCapability('app.setBadgeCount')).toBe(true);
|
||||
expect(isHostBridgeCapability('navigation.canGoBack')).toBe(true);
|
||||
expect(isHostBridgeCapability('unknown.capability')).toBe(false);
|
||||
|
||||
@@ -28,6 +28,7 @@ export const HOST_BRIDGE_METHODS = [
|
||||
'clipboard.writeText',
|
||||
'file.exportText',
|
||||
'file.exportImage',
|
||||
'file.importImage',
|
||||
'haptics.impact',
|
||||
] as const;
|
||||
|
||||
@@ -38,6 +39,7 @@ export const HOST_BRIDGE_CAPABILITIES = [
|
||||
'host.events',
|
||||
'app.lifecycle',
|
||||
'network.statusChanged',
|
||||
'file.imageDropped',
|
||||
'navigation.canGoBack',
|
||||
] as const;
|
||||
|
||||
@@ -281,6 +283,23 @@ export type FileExportImageResult = {
|
||||
bytes: number;
|
||||
};
|
||||
|
||||
export type HostBridgeImageMimeType =
|
||||
| 'image/png'
|
||||
| 'image/jpeg'
|
||||
| 'image/webp';
|
||||
|
||||
export type FileImportImageResult = {
|
||||
action: 'selected' | 'dropped';
|
||||
fileName: string;
|
||||
base64Data: string;
|
||||
mimeType: HostBridgeImageMimeType;
|
||||
bytes: number;
|
||||
position?: {
|
||||
x: number;
|
||||
y: number;
|
||||
};
|
||||
};
|
||||
|
||||
export type HapticsImpactPayload = {
|
||||
style?: 'light' | 'medium' | 'heavy';
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user