invoker.d.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. export interface InvokePCAPIOptions {
  2. /**
  3. * PC 端调用时需要传递对应 PC 端上定义的开放平台三方 API 名称
  4. * 比如:'biz.contact.choose'
  5. * 这个选项配置由于钉钉 PC、移动端有所不同,所以需要支持 PC 时
  6. * 需要在这一层进行定义
  7. */
  8. pcClientAPIName?: string;
  9. msgId?: number;
  10. }
  11. export interface InvokeAPIOptions {
  12. /**
  13. * PC 端调用时需要传递对应 PC 端上定义的开放平台三方 API 名称
  14. * 比如:'biz.contact.choose'
  15. * 这个选项配置由于钉钉 PC、移动端有所不同,所以需要支持 PC 时
  16. * 需要在这一层进行定义
  17. */
  18. dingTalkAPIName?: string;
  19. }
  20. export interface InvokeContext<T> {
  21. call(methodName: string, args: object, callback: (result: T) => void): any;
  22. }
  23. export interface InvokeOptions<T> extends InvokeAPIOptions, InvokePCAPIOptions {
  24. context?: InvokeContext<T> | any;
  25. methodName?: string;
  26. resolve?: (result?: any) => void;
  27. reject?: (result?: any) => void;
  28. containerType?: Container_Type_Enum;
  29. appType?: API_INVOKER_TYPE;
  30. platformType?: PLATFORM_TYPE_ENUM;
  31. }
  32. export interface OnFailCallback {
  33. (error: {
  34. errorCode: BRIDGE_ERROR_CODE;
  35. message?: string;
  36. }): void;
  37. }
  38. export interface SuccessResult {
  39. success: boolean;
  40. }
  41. export declare enum BRIDGE_ERROR_CODE {
  42. CANCEL = "-1",
  43. SUCCESS = "0",
  44. API_UNDEFINED = "1",
  45. INVALID_PARAMS = "2",
  46. UNKNOWN_ERROR = "3",
  47. UNAUTHORIZED_CALL = "4",
  48. WRONG_CORP_ID = "5",
  49. CREATE_CHAT_FAILED = "6",
  50. UNAUTHORIZED_API = "7",
  51. /**
  52. * @deprecated
  53. * 安卓历史问题,跟错误码5重复,此code废弃,统一使用 5
  54. */
  55. INVALID_CORP_ID = "8",
  56. SERVER_RESPONSE_ERROR = "9",
  57. WRONG_DEVICE_INFO = "10",
  58. UPLOAD_FAIL = "11",
  59. /**
  60. * @deprecated
  61. * 因安卓和ios,code表达信息有差异, 此code废弃, 新的 jsapi 不允许使用此 code
  62. */
  63. PROCESS_FAIL = "12",
  64. DUPLICATED_CALL = "13",
  65. TOO_LARGE_PIC = "14",
  66. /**
  67. * @deprecated
  68. * 请求被拒绝 or 不安全的链接
  69. * 因安卓和ios,code表达信息有差异,此code废弃, 新的 jsapi 不允许使用此code
  70. */
  71. REQUEST_REJECT_OR_INSECURE_REQUEST = "15",
  72. PC_NOT_ALLOWED_TO_OPEN_SIDE_PANE_OR_MODAL = "21",
  73. PC_CLOSE_SIDE_PANE_OR_MODAL = "22",
  74. UNAUTHORIZED_PARAMS = "23",
  75. GESTURE_PASSWORD_DOES_NOT_EXIST = "24",
  76. NETWORK_ERROR = "25"
  77. }
  78. export interface BridgeCallbackResult<T> {
  79. errorCode?: BRIDGE_ERROR_CODE;
  80. errorMessage?: string;
  81. result?: T;
  82. success?: 'true' | 'false';
  83. }
  84. export declare enum API_INVOKER_TYPE {
  85. MOBILE = "mobile",
  86. PC = "pc",
  87. MINI_APP = "mini",
  88. UNKNOWN = "unknown"
  89. }
  90. export declare enum PLATFORM_TYPE_ENUM {
  91. ANDROID = "android",
  92. IOS = "ios",
  93. UNKNOW = "unknow"
  94. }
  95. export declare enum CONTINUOUS_EVENT_LIST {
  96. UPDATE_NETWORK_STATUS = "DINGGOV_ON_NETWORK_TYPE_CHANGED",
  97. UPDATE_LOCATION = "DINGGOV_GEO_LOCATION_UPDATE",
  98. UPDATE_TRACE = "DINGGOV_TRACE_UPDATE",
  99. ON_SHAKE = "onShake"
  100. }
  101. export declare enum Container_Type_Enum {
  102. isDingTalk = "DingTalk",
  103. isMpaas = "mPaaS",
  104. isUnknow = "unknow"
  105. }
  106. export interface InvokeFn<T> {
  107. (params: object, options: InvokeOptions<T>): Promise<T> | void;
  108. }
  109. export interface InvokeFnMap<T, U, K> {
  110. [API_INVOKER_TYPE.MOBILE]?: InvokeFn<T> | boolean;
  111. [API_INVOKER_TYPE.PC]?: InvokeFn<U> | boolean;
  112. [API_INVOKER_TYPE.MINI_APP]?: InvokeFn<K> | boolean;
  113. }
  114. declare const _default: any;
  115. export default _default;