接入移动壳原生触觉反馈

H5 HostBridge 增加 haptics.impact 受控调用入口

运行时点击反馈优先请求 Expo 触觉能力并保留浏览器震动回退

补充触觉反馈测试和宿主壳能力文档
This commit is contained in:
2026-06-17 23:57:46 +08:00
parent b03c910f49
commit 78afd81269
10 changed files with 240 additions and 21 deletions

View File

@@ -1,6 +1,7 @@
import type {
FileExportTextPayload,
FileExportTextResult,
HapticsImpactPayload,
HostBridgeMethod,
HostBridgeRuntimeResult,
} from '../../../packages/shared/src/contracts/hostBridge';
@@ -65,6 +66,8 @@ export type HostClipboardWriteTextRequest = {
text: string;
};
export type HostHapticsImpactRequest = HapticsImpactPayload;
function isUnsupportedHostBridgeError(error: unknown) {
return (
error instanceof Error &&
@@ -487,3 +490,17 @@ export async function exportHostTextFile(
throw error;
}
}
export async function requestHostHapticsImpact(
params: HostHapticsImpactRequest = {},
) {
if (getHostRuntime().kind !== 'native_app') {
return false;
}
try {
return await requestNativeHostBoolean('haptics.impact', params);
} catch {
return false;
}
}