/** * 震动工具函数 * 统一处理不同平台的震动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) } }) }