uniapp 触感反馈
触感反馈的实现方式
在UniApp中实现触感反馈(Haptic Feedback)可以通过调用设备的振动API或使用第三方插件。以下是几种常见的方法:
使用uni.vibrateShort和uni.vibrateLong
UniApp提供了内置的振动API,适用于短振动和长振动:
uni.vibrateShort():触发短振动(约15ms)。uni.vibrateLong():触发长振动(约400ms)。
示例代码:
// 短振动
uni.vibrateShort({
success: function() {
console.log('振动成功');
}
});
// 长振动
uni.vibrateLong();
自定义振动模式(仅Android)

通过uni.vibrate可以自定义振动模式,但仅Android支持:
uni.vibrate({
pattern: [100, 50, 100, 50], // 振动-间隔-振动-间隔(单位:ms)
success: function() {
console.log('自定义振动成功');
}
});
使用条件编译适配平台
由于不同平台支持的API不同,可以通过条件编译实现兼容:

// #ifdef APP-PLUS
uni.vibrateLong();
// #endif
// #ifdef H5
// H5无振动API,可模拟提示
console.log('H5不支持振动');
// #endif
注意事项
-
权限配置:在Android中需在
manifest.json中添加振动权限:{ "app-plus": { "distribute": { "android": { "permissions": [ "android.permission.VIBRATE" ] } } } } -
iOS限制:iOS的振动效果由系统决定,无法自定义时长或模式。
-
用户体验:频繁振动可能影响用户体验,建议在关键操作(如支付成功、错误提示)时触发。
扩展方案
如需更复杂的触感反馈(如力度调节),可考虑以下方案:
- Native.js:通过调用原生API实现(需熟悉平台原生开发)。
- 第三方插件:如
uniapp-haptic-feedback等社区插件。
通过合理使用触感反馈,可以增强应用的交互体验,但需注意平台差异和用户场景适配。




