接入移动壳原生触觉反馈
H5 HostBridge 增加 haptics.impact 受控调用入口 运行时点击反馈优先请求 Expo 触觉能力并保留浏览器震动回退 补充触觉反馈测试和宿主壳能力文档
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user