更新记录
1.0.0(2026-11-11)
- 首次发布
- iOS:UIKit Impact / Selection / Notification 触感
- Android:空实现,返回不支持,避免联编报错
平台兼容性
uni-app(5.33)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
√ |
× |
× |
√ |
- |
× |
√ |
× |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
- |
- |
- |
uni-app x(5.33)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| × |
× |
× |
√ |
× |
× |
cportal-haptic
iOS UIKit 触感反馈 UTS 插件。调用系统 UIImpactFeedbackGenerator / UISelectionFeedbackGenerator / UINotificationFeedbackGenerator,无三方 SDK。
平台
| 平台 |
支持 |
| App-iOS |
√ |
| App-Android |
×(空实现,返回不支持) |
| H5 / 小程序 |
× |
安装
- 从 插件市场 导入到项目
uni_modules/cportal-haptic
- 重新制作 自定义基座 后再在真机调试(UTS 原生能力必须打进基座)
使用
只能从插件根目录导入,不要引用内部文件:
// #ifdef APP-PLUS
import { playIosHaptic } from '@/uni_modules/cportal-haptic'
// #endif
const result = playIosHaptic('success')
// result.ok / result.api / result.message
kind 取值
| kind |
API |
light / medium / heavy |
UIImpactFeedbackGenerator |
soft / rigid |
UIImpactFeedbackGenerator(需 iOS 13+) |
selection |
UISelectionFeedbackGenerator |
success / warning / error |
UINotificationFeedbackGenerator |
建议封装
业务层自行做平台判断与去重,例如:
// #ifdef APP-PLUS
import { playIosHaptic } from '@/uni_modules/cportal-haptic'
// #endif
export function triggerSuccessHaptic() {
// #ifdef APP-PLUS
if (uni.getSystemInfoSync().platform === 'ios') {
playIosHaptic('success')
}
// #endif
}
注意
- Feedback Generator 必须在主线程触发,插件内部已切到主线程
- 系统「触感反馈」关闭时,调用仍会成功返回,但设备可能无震感
- 修改插件后需重新打自定义基座
隐私
不采集数据,无广告,无额外权限声明。