接入原生壳文本文件导入能力
新增 file.importText HostBridge 契约和 H5 facade 移动端通过 Expo DocumentPicker 读取受控文本文件 桌面端通过 Tauri 文件选择框读取受控文本文件 更新壳能力检查、测试、方案文档和共享决策记录
This commit is contained in:
@@ -57,6 +57,7 @@ describe('HostBridge shared contract helpers', () => {
|
||||
expect(isHostBridgeCapability('network.status')).toBe(true);
|
||||
expect(isHostBridgeCapability('network.statusChanged')).toBe(true);
|
||||
expect(isHostBridgeCapability('clipboard.readText')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.importText')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.importImage')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.imageDropped')).toBe(true);
|
||||
expect(isHostBridgeCapability('app.setBadgeCount')).toBe(true);
|
||||
|
||||
@@ -28,6 +28,7 @@ export const HOST_BRIDGE_METHODS = [
|
||||
'clipboard.writeText',
|
||||
'clipboard.readText',
|
||||
'file.exportText',
|
||||
'file.importText',
|
||||
'file.exportImage',
|
||||
'file.importImage',
|
||||
'haptics.impact',
|
||||
@@ -291,6 +292,20 @@ export type FileExportTextResult = {
|
||||
bytes: number;
|
||||
};
|
||||
|
||||
export type HostBridgeTextMimeType =
|
||||
| 'text/plain'
|
||||
| 'text/markdown'
|
||||
| 'text/csv'
|
||||
| 'application/json';
|
||||
|
||||
export type FileImportTextResult = {
|
||||
action: 'selected';
|
||||
fileName: string;
|
||||
content: string;
|
||||
mimeType: HostBridgeTextMimeType;
|
||||
bytes: number;
|
||||
};
|
||||
|
||||
export type FileExportImagePayload = {
|
||||
fileName: string;
|
||||
base64Data: string;
|
||||
|
||||
Reference in New Issue
Block a user