t-comm
Version:
专业、稳定、纯粹的工具库
55 lines (51 loc) • 2.74 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
/**
* 蓝牙"碰一碰"默认常量
*/
/** 自定义服务 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_';
exports.BUMP_NAME_PREFIX = BUMP_NAME_PREFIX;
exports.DEFAULT_ADVERTISE_UPDATE_THROTTLE_MS = DEFAULT_ADVERTISE_UPDATE_THROTTLE_MS;
exports.DEFAULT_CHARACTERISTIC_UUID = DEFAULT_CHARACTERISTIC_UUID;
exports.DEFAULT_COOLDOWN_MS = DEFAULT_COOLDOWN_MS;
exports.DEFAULT_LINGER_BEFORE_STOP_MS = DEFAULT_LINGER_BEFORE_STOP_MS;
exports.DEFAULT_PEER_TTL_MS = DEFAULT_PEER_TTL_MS;
exports.DEFAULT_POLL_INTERVAL_MS = DEFAULT_POLL_INTERVAL_MS;
exports.DEFAULT_PRIVACY_CONTENT = DEFAULT_PRIVACY_CONTENT;
exports.DEFAULT_RSSI_THRESHOLD = DEFAULT_RSSI_THRESHOLD;
exports.DEFAULT_SERVICE_UUID = DEFAULT_SERVICE_UUID;
exports.EMPTY_PEER_ID = EMPTY_PEER_ID;
exports.PAYLOAD_SEPARATOR = PAYLOAD_SEPARATOR;
exports.TEMP_ID_LENGTH = TEMP_ID_LENGTH;