UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

39 lines (37 loc) 2.25 kB
/** * 蓝牙"碰一碰"默认常量 */ /** 自定义服务 UUID(两端必须一致,作为"同一个小游戏"的识别标记) */ var DEFAULT_SERVICE_UUID = '0000FEED-0000-1000-8000-00805F9B34FB'; /** 自定义特征 UUID(创建外围设备时需要) */ var DEFAULT_CHARACTERISTIC_UUID = '0000BEEF-0000-1000-8000-00805F9B34FB'; /** 触发"碰一碰"的 RSSI 阈值(dBm),越接近 0 表示距离越近 */ var DEFAULT_RSSI_THRESHOLD = -75; /** 同一台设备多次触发的去重时间(毫秒) */ var DEFAULT_COOLDOWN_MS = 5000; /** 触发成功后保持广播的时长(毫秒),让对方也能扫到自己 */ var DEFAULT_LINGER_BEFORE_STOP_MS = 50000; /** iOS 兜底轮询间隔(毫秒) */ var DEFAULT_POLL_INTERVAL_MS = 1500; /** 默认隐私协议弹窗内容 */ var DEFAULT_PRIVACY_CONTENT = '本游戏需要使用【蓝牙】能力。点击【同意】即表示您已阅读并同意《用户隐私保护指引》。'; /** mutual 模式:候选 peer 的 TTL(毫秒),超过未再见即从候选池移除 */ var DEFAULT_PEER_TTL_MS = 3000; /** mutual 模式:更新自己广播里 seenPeerId 的最小间隔(毫秒) */ var DEFAULT_ADVERTISE_UPDATE_THROTTLE_MS = 300; /** mutual 模式:广播 payload 占位符(未看到对方时) */ var EMPTY_PEER_ID = '------'; /** mutual 模式:广播 payload 分隔符 */ var PAYLOAD_SEPARATOR = '|'; /** 临时 ID 长度(genTempId 生成 6 位) */ var TEMP_ID_LENGTH = 6; /** * 广播设备名前缀(iOS Peripheral 唯一能下发的自定义字段就是 localName) * 完整格式: `BUMP_<myTempId>` 或 `BUMP_<myTempId>_<seenPeerId>` * * 原理:iOS CoreBluetooth 不允许 Peripheral 在广播包里塞 ServiceData, * 只允许 localName + serviceUUIDs。所以 iOS↔iOS 必须靠 localName 传 myTempId。 * Android 同样支持 localName,所以这套方案跨平台一致。 */ var BUMP_NAME_PREFIX = 'BUMP_'; export { BUMP_NAME_PREFIX, DEFAULT_ADVERTISE_UPDATE_THROTTLE_MS, DEFAULT_CHARACTERISTIC_UUID, DEFAULT_COOLDOWN_MS, DEFAULT_LINGER_BEFORE_STOP_MS, DEFAULT_PEER_TTL_MS, DEFAULT_POLL_INTERVAL_MS, DEFAULT_PRIVACY_CONTENT, DEFAULT_RSSI_THRESHOLD, DEFAULT_SERVICE_UUID, EMPTY_PEER_ID, PAYLOAD_SEPARATOR, TEMP_ID_LENGTH };