interface.uts 2.4 KB
Newer Older
DCloud-yyl's avatar
DCloud-yyl 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
export type GetProviderSuccess = {
    /**
     * 服务类型
     * - oauth: 授权登录
     * - share: 分享
     * - payment: 支付
     * - push: 推送
     * - location: 定位
     * @type 'oauth' | 'share' | 'payment' | 'push' | 'location'
     */
    service: 'oauth' | 'share' | 'payment' | 'push' | 'location',
    /**
     * 得到的服务供应商
     * @type PlusShareShareService['id'][] | PlusPushClientInfo['id'][] | PlusOauthAuthService['id'][] | PlusPaymentPaymentChannel['id'][]
     */
    provider: string[],
    /**
     * 得到的服务供应商服务对象
     */
    providers: UniProvider[],
    /**
     * 描述信息
     */
    errMsg: string
};
export type GetProviderSuccessCallback = (result: GetProviderSuccess) => void;
export type GetProviderFail = UniError;
export type GetProviderFailCallback = (result: GetProviderFail) => void;
export type GetProviderComplete = any;
export type GetProviderCompleteCallback = (result: GetProviderComplete) => void;
export type GetProviderOptions = {
    /**
     * 服务类型,可取值“oauth”、“share”、“payment”、“push”、“location”
     * - oauth: 授权登录
     * - share: 分享
     * - payment: 支付
     * - push: 推送
     * - location: 定位
     * @type 'oauth' | 'share' | 'payment' | 'push' | 'location'
     */
    service: 'oauth' | 'share' | 'payment' | 'push' | 'location',
    /**
     * 接口调用成功的回调
     */
    success?: GetProviderSuccessCallback | null,
    /**
     * 接口调用失败的回调函数
     */
    fail?: GetProviderFailCallback | null,
    /**
     * 接口调用结束的回调函数(调用成功、失败都会执行)
     */
    complete?: GetProviderCompleteCallback | null
};

export type GetProvider = (options: GetProviderOptions) => void;

export interface Uni {
  /**
   * 获取服务供应商
   * @param {GetProviderOptions} options
   * @return {void}
   * @tutorial https://doc.dcloud.net.cn/uni-app-x/api/get-provider.html
   * @uniPlatform {
   *  "app": {
   *    "android": {
   *      "osVer": "5.0",
   *      "uniVer": "√",
   *      "unixVer": "4.11"
   *    },
   *    "ios": {
   *      "osVer": "9.0",
   *      "uniVer": "√",
   *      "unixVer": "x"
   *    }
   *  },
   *  "web": {
   *    "uniVer": "√",
   *    "unixVer": "4.05"
   *  }
   * }
   * @example
    ```typescript
      uni.getProvider({service: ''})
    ```
   */
  getProvider(options: GetProviderOptions) : void;
}