收口H5桥接载荷边界
让H5 HostBridge facade 复用共享MIME清单 增加原生壳门禁拦截H5本地复制MIME边界 补充共享决策记录中的载荷边界约定
This commit is contained in:
@@ -13,13 +13,9 @@ import type {
|
||||
FileImportImageResult,
|
||||
FileImportTextResult,
|
||||
HapticsImpactPayload,
|
||||
HostBridgeAudioMimeType,
|
||||
HostBridgeCapability,
|
||||
HostBridgeDocumentMimeType,
|
||||
HostBridgeImageMimeType,
|
||||
HostBridgeMethod,
|
||||
HostBridgeRuntimeResult,
|
||||
HostBridgeTextMimeType,
|
||||
LocalNotificationPayload,
|
||||
NavigationCanGoBackEventPayload,
|
||||
NetworkStatusResult,
|
||||
@@ -29,9 +25,12 @@ import type {
|
||||
ShareOpenPayload,
|
||||
} from '../../../packages/shared/src/contracts/hostBridge';
|
||||
import {
|
||||
HOST_BRIDGE_AUDIO_MIME_TYPES,
|
||||
HOST_BRIDGE_DOCUMENT_MIME_TYPES,
|
||||
HOST_BRIDGE_IMAGE_MIME_TYPES,
|
||||
HOST_BRIDGE_NATIVE_APP_QUERY,
|
||||
HOST_BRIDGE_RUNTIME_CONTEXT_QUERY_KEY,
|
||||
HOST_BRIDGE_TEXT_MIME_TYPES,
|
||||
HOST_BRIDGE_WECHAT_MINI_PROGRAM_SOURCE_QUERY,
|
||||
isHostBridgeCapability,
|
||||
normalizeHostBridgeBadgeCount,
|
||||
@@ -835,11 +834,7 @@ export async function exportHostAudioFile(
|
||||
}
|
||||
}
|
||||
|
||||
const HOST_BRIDGE_IMAGE_MIME_TYPES = new Set<HostBridgeImageMimeType>([
|
||||
'image/png',
|
||||
'image/jpeg',
|
||||
'image/webp',
|
||||
]);
|
||||
const HOST_BRIDGE_IMAGE_MIME_TYPE_SET = new Set(HOST_BRIDGE_IMAGE_MIME_TYPES);
|
||||
|
||||
function normalizeHostImageImportResult(
|
||||
payload: FileImportImageResult | null | undefined,
|
||||
@@ -850,7 +845,7 @@ function normalizeHostImageImportResult(
|
||||
payload.action !== 'selected' &&
|
||||
payload.action !== 'dropped' &&
|
||||
payload.action !== 'captured' ||
|
||||
!HOST_BRIDGE_IMAGE_MIME_TYPES.has(payload.mimeType) ||
|
||||
!HOST_BRIDGE_IMAGE_MIME_TYPE_SET.has(payload.mimeType) ||
|
||||
typeof payload.fileName !== 'string' ||
|
||||
!payload.fileName.trim() ||
|
||||
typeof payload.base64Data !== 'string' ||
|
||||
@@ -950,15 +945,8 @@ export async function scanHostQrCode() {
|
||||
}
|
||||
}
|
||||
|
||||
const HOST_BRIDGE_TEXT_MIME_TYPES = new Set<HostBridgeTextMimeType>([
|
||||
'text/plain',
|
||||
'text/markdown',
|
||||
'text/csv',
|
||||
'application/json',
|
||||
]);
|
||||
const HOST_BRIDGE_DOCUMENT_MIME_TYPE_SET = new Set<HostBridgeDocumentMimeType>(
|
||||
HOST_BRIDGE_DOCUMENT_MIME_TYPES,
|
||||
);
|
||||
const HOST_BRIDGE_TEXT_MIME_TYPE_SET = new Set(HOST_BRIDGE_TEXT_MIME_TYPES);
|
||||
const HOST_BRIDGE_DOCUMENT_MIME_TYPE_SET = new Set(HOST_BRIDGE_DOCUMENT_MIME_TYPES);
|
||||
|
||||
function normalizeHostTextImportResult(
|
||||
payload: FileImportTextResult | null | undefined,
|
||||
@@ -967,7 +955,7 @@ function normalizeHostTextImportResult(
|
||||
!payload ||
|
||||
typeof payload !== 'object' ||
|
||||
payload.action !== 'selected' ||
|
||||
!HOST_BRIDGE_TEXT_MIME_TYPES.has(payload.mimeType) ||
|
||||
!HOST_BRIDGE_TEXT_MIME_TYPE_SET.has(payload.mimeType) ||
|
||||
typeof payload.fileName !== 'string' ||
|
||||
!payload.fileName.trim() ||
|
||||
typeof payload.content !== 'string' ||
|
||||
@@ -1057,13 +1045,7 @@ export async function importHostDocumentFile() {
|
||||
}
|
||||
}
|
||||
|
||||
const HOST_BRIDGE_AUDIO_MIME_TYPES = new Set<HostBridgeAudioMimeType>([
|
||||
'audio/mpeg',
|
||||
'audio/mp4',
|
||||
'audio/wav',
|
||||
'audio/ogg',
|
||||
'audio/webm',
|
||||
]);
|
||||
const HOST_BRIDGE_AUDIO_MIME_TYPE_SET = new Set(HOST_BRIDGE_AUDIO_MIME_TYPES);
|
||||
|
||||
function normalizeHostAudioImportResult(
|
||||
payload: FileImportAudioResult | null | undefined,
|
||||
@@ -1072,7 +1054,7 @@ function normalizeHostAudioImportResult(
|
||||
!payload ||
|
||||
typeof payload !== 'object' ||
|
||||
payload.action !== 'selected' ||
|
||||
!HOST_BRIDGE_AUDIO_MIME_TYPES.has(payload.mimeType) ||
|
||||
!HOST_BRIDGE_AUDIO_MIME_TYPE_SET.has(payload.mimeType) ||
|
||||
typeof payload.fileName !== 'string' ||
|
||||
!payload.fileName.trim() ||
|
||||
typeof payload.base64Data !== 'string' ||
|
||||
|
||||
Reference in New Issue
Block a user