53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
/**
|
|
* 震动工具函数
|
|
* 统一处理不同平台的震动API兼容性
|
|
*/
|
|
|
|
/**
|
|
* 短震动
|
|
* 微信小程序不支持 type 参数,会忽略该参数
|
|
* @param {Object} options - 配置项
|
|
* @param {string} options.type - 震动类型 'light' | 'medium' | 'heavy'(仅在部分平台有效)
|
|
*/
|
|
export function vibrateShort(options = {}) {
|
|
// #ifdef MP-WEIXIN
|
|
// 微信小程序不支持 type 参数,直接调用
|
|
uni.vibrateShort({
|
|
fail: (err) => {
|
|
console.warn('[vibrateShort] 震动失败:', err)
|
|
}
|
|
})
|
|
// #endif
|
|
|
|
// #ifdef H5 || APP-PLUS
|
|
// H5和App可能支持 type 参数
|
|
uni.vibrateShort({
|
|
...options,
|
|
fail: (err) => {
|
|
console.warn('[vibrateShort] 震动失败:', err)
|
|
}
|
|
})
|
|
// #endif
|
|
|
|
// #ifdef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO
|
|
// 其他小程序平台,尝试传递参数
|
|
uni.vibrateShort({
|
|
...options,
|
|
fail: (err) => {
|
|
console.warn('[vibrateShort] 震动失败:', err)
|
|
}
|
|
})
|
|
// #endif
|
|
}
|
|
|
|
/**
|
|
* 长震动
|
|
*/
|
|
export function vibrateLong() {
|
|
uni.vibrateLong({
|
|
fail: (err) => {
|
|
console.warn('[vibrateLong] 震动失败:', err)
|
|
}
|
|
})
|
|
}
|