/**
 * 原生能力封装（支持条件编译）
 */

/**
 * 扫码
 */
export function scanCode(): Promise<any> {
  return new Promise((resolve, reject) => {
    // #ifdef APP-PLUS || MP-WEIXIN
    uni.scanCode({
      success: (res) => resolve(res),
      fail: (err) => reject(err)
    });
    // #endif
    
    // #ifdef H5
    // H5端通常需要通过微信JS-SDK或特定的扫码库
    uni.showToast({ title: 'H5端扫码需接入微信JS-SDK', icon: 'none' });
    reject(new Error('H5 scan not implemented'));
    // #endif
  });
}

/**
 * 拍照或选择图片
 */
export function chooseImage(count: number = 1): Promise<any> {
  return new Promise((resolve, reject) => {
    uni.chooseImage({
      count,
      sizeType: ['compressed'],
      sourceType: ['camera', 'album'],
      success: (res) => resolve(res),
      fail: (err) => reject(err)
    });
  });
}

/**
 * 蓝牙初始化（示例）
 */
export function initBluetooth(): Promise<any> {
  return new Promise((resolve, reject) => {
    // #ifdef APP-PLUS || MP-WEIXIN
    uni.openBluetoothAdapter({
      success: (res) => resolve(res),
      fail: (err) => reject(err)
    });
    // #endif
    
    // #ifdef H5
    reject(new Error('H5 does not support bluetooth'));
    // #endif
  });
}
