@hairy/wechat-jssdk 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @hairy/wechat-jssdk
2
2
 
3
+ ## 1.2.2
4
+
5
+ ### Patch Changes
6
+
7
+ - fix wechat-jssdk type
8
+
9
+ ## 1.2.1
10
+
11
+ ### Patch Changes
12
+
13
+ - chore: fix wechat-jssdk type error
14
+
3
15
  ## 1.2.0
4
16
 
5
17
  ### Minor Changes
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2019-PRESENT Anthony Fu<https://github.com/TuiMao233>
3
+ Copyright (c) 2019-PRESENT Mr Mao<https://github.com/TuiMao233>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/index.cjs.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../index.ts", "../internal/load_script.ts", "../helper.ts"],
4
- "sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n type v4jsApiList = v4ApiMethod[]\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: WxType.jsApiList & v4jsApiList[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig>\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: () => Promise<WechatJssdkConfig>\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/index.d.ts CHANGED
@@ -2,14 +2,13 @@ import * as WxType from 'jweixin';
2
2
 
3
3
  declare module 'jweixin' {
4
4
  type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData';
5
- type v4jsApiList = v4ApiMethod[];
6
5
  function config(config_: {
7
6
  debug?: boolean | undefined;
8
7
  appId: string;
9
8
  timestamp: number;
10
9
  nonceStr: string;
11
10
  signature: string;
12
- jsApiList: WxType.jsApiList & v4jsApiList[];
11
+ jsApiList: (WxType.ApiMethod | v4ApiMethod)[];
13
12
  }): void;
14
13
  }
15
14
  declare const wx: typeof WxType;
@@ -18,7 +17,7 @@ interface WechatJssdkOptions {
18
17
  /**
19
18
  * 初始化请求配置
20
19
  */
21
- requestConfig: () => Promise<WechatJssdkConfig>;
20
+ requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig;
22
21
  /**
23
22
  * 是否立即加载 config
24
23
  *
package/index.esm.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../internal/load_script.ts", "../helper.ts", "../index.ts"],
4
- "sourcesContent": ["import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n type v4jsApiList = v4ApiMethod[]\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: WxType.jsApiList & v4jsApiList[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig>\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: () => Promise<WechatJssdkConfig>\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/index.iife.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../index.ts", "../internal/load_script.ts", "../helper.ts"],
4
- "sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n type v4jsApiList = v4ApiMethod[]\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: WxType.jsApiList & v4jsApiList[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig>\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: () => Promise<WechatJssdkConfig>\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/index.iife.min.js CHANGED
@@ -1,2 +1,2 @@
1
- var HairyWechatJssdk=(()=>{var T=Object.create;var s=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var v=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,n)=>(typeof require!="undefined"?require:e)[n]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var V=(t,e)=>{for(var n in e)s(t,n,{get:e[n],enumerable:!0})},f=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!P.call(t,o)&&o!==n&&s(t,o,{get:()=>e[o],enumerable:!(r=w(e,o))||r.enumerable});return t};var C=(t,e,n)=>(n=t!=null?T(M(t)):{},f(e||!t||!t.__esModule?s(n,"default",{value:t,enumerable:!0}):n,t)),A=t=>f(s({},"__esModule",{value:!0}),t);var L={};V(L,{WechatJssdk:()=>c});var I=C(v("lodash/noop")),x=(t,e=I.default,n={})=>{let{type:r="text/javascript",async:o=!0,crossOrigin:d,referrerPolicy:h,noModule:u,defer:l,waitForScriptLoad:W=!0}=n;return new Promise((p,y)=>{let g=!1,i=document.querySelector(`script[src="${t}"]`);i?Object.hasOwn(i.dataset,"loaded")&&p(i):(i=document.createElement("script"),i.type=r,i.async=o,i.src=t,l&&(i.defer=l),d&&(i.crossOrigin=d),u&&(i.noModule=u),h&&(i.referrerPolicy=h),g=!0),i.addEventListener("error",m=>y(m)),i.addEventListener("abort",m=>y(m)),i.addEventListener("load",()=>{i.dataset.loaded="true",e(i),p(i)}),g&&(i=document.head.appendChild(i)),W||p(i)})};var a=class{constructor(e){this.isReady=!1;let{immediate:n=!0,version:r,requestConfig:o}=e;this.version=r||"1.3.0",this.requestConfig=o,this.loadJssdk(),n&&this.config()}loadJssdk(){let e=`https://res.wx.qq.com/open/js/jweixin-${this.version}.js`;this.loadPromise=x(e).then(()=>{this.loadPromise=void 0})}async config(){return this.configPromise?this.configPromise:(this.loadPromise&&await this.loadPromise,this.configPromise=(async()=>{wx.config(await this.requestConfig())})(),this.configPromise)}async ready(){if(this.readyPromise)return this.readyPromise;if(this.loadPromise&&await this.loadPromise,!this.isReady)return this.readyPromise=new Promise((e,n)=>{wx.ready(()=>{this.isReady=!0,this.readyPromise=void 0,e()}),wx.error(r=>{this.isReady=!1,this.readyPromise=void 0,n(r)})}),this.readyPromise}async error(){return this.ready().catch(e=>e)}async implement(e,n){this.configPromise&&await this.configPromise,await this.ready(),wx[e](n)}};var c=class extends a{constructor(e){super(e)}updateAppMessageShareData(e){return this.implement("updateAppMessageShareData",e)}updateTimelineShareData(e){return this.implement("updateTimelineShareData",e)}addCard(){return this.implement("addCard")}checkJsApi(e){return this.implement("checkJsApi",e)}chooseCard(e){return this.implement("chooseCard",e)}chooseImage(e){return this.implement("chooseImage",e)}chooseWXPay(e){return this.implement("chooseWXPay",e)}closeWindow(){return this.implement("closeWindow")}consumeAndShareCard(e){return this.implement("consumeAndShareCard",e)}downloadImage(e){return this.implement("downloadImage",e)}downloadVoice(e){return this.implement("downloadVoice",e)}getLocalImgData(e){return this.implement("getLocalImgData",e)}getLocation(e){return this.implement("getLocation",e)}getNetworkType(e){return this.implement("getNetworkType",e)}hideAllNonBaseMenuItem(){return this.implement("hideAllNonBaseMenuItem")}hideMenuItems(e){return this.implement("hideMenuItems",e)}hideOptionMenu(){return this.implement("hideOptionMenu")}onMenuShareAppMessage(e){return this.implement("onMenuShareAppMessage",e)}onMenuShareQQ(e){return this.implement("onMenuShareQQ",e)}onMenuShareQZone(e){return this.implement("onMenuShareQZone",e)}onMenuShareTimeline(e){return this.implement("onMenuShareTimeline",e)}onMenuShareWeibo(e){return this.implement("onMenuShareWeibo",e)}onSearchBeacons(e){return this.implement("onSearchBeacons",e)}onVoicePlayEnd(e){return this.implement("onVoicePlayEnd",e)}onVoiceRecordEnd(e){return this.implement("onVoiceRecordEnd",e)}openCard(e){return this.implement("openCard",e)}openLocation(e){return this.implement("openLocation",e)}openProductSpecificView(e){return this.implement("openProductSpecificView",e)}pauseVoice(e){return this.implement("pauseVoice",e)}playVoice(e){return this.implement("playVoice",e)}previewImage(e){return this.implement("previewImage",e)}scanQRCode(e){return this.implement("scanQRCode",e)}showAllNonBaseMenuItem(){return this.implement("showAllNonBaseMenuItem")}showMenuItems(e){return this.implement("showMenuItems",e)}showOptionMenu(){return this.implement("showOptionMenu")}startRecord(){return this.implement("startRecord")}startSearchBeacons(e){return this.implement("startSearchBeacons",e)}stopRecord(e){return this.implement("stopRecord",e)}stopSearchBeacons(e){return this.implement("stopSearchBeacons",e)}stopVoice(e){return this.implement("stopVoice",e)}translateVoice(e){return this.implement("translateVoice",e)}uploadImage(e){return this.implement("uploadImage",e)}uploadVoice(e){return this.implement("uploadVoice",e)}};return A(L);})();
1
+ var HairyWechatJssdk=(()=>{var T=Object.create;var s=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var C=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,n)=>(typeof require!="undefined"?require:e)[n]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var V=(t,e)=>{for(var n in e)s(t,n,{get:e[n],enumerable:!0})},f=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!P.call(t,o)&&o!==n&&s(t,o,{get:()=>e[o],enumerable:!(r=w(e,o))||r.enumerable});return t};var v=(t,e,n)=>(n=t!=null?T(M(t)):{},f(e||!t||!t.__esModule?s(n,"default",{value:t,enumerable:!0}):n,t)),A=t=>f(s({},"__esModule",{value:!0}),t);var L={};V(L,{WechatJssdk:()=>c});var I=v(C("lodash/noop")),x=(t,e=I.default,n={})=>{let{type:r="text/javascript",async:o=!0,crossOrigin:d,referrerPolicy:h,noModule:u,defer:l,waitForScriptLoad:W=!0}=n;return new Promise((p,y)=>{let g=!1,i=document.querySelector(`script[src="${t}"]`);i?Object.hasOwn(i.dataset,"loaded")&&p(i):(i=document.createElement("script"),i.type=r,i.async=o,i.src=t,l&&(i.defer=l),d&&(i.crossOrigin=d),u&&(i.noModule=u),h&&(i.referrerPolicy=h),g=!0),i.addEventListener("error",m=>y(m)),i.addEventListener("abort",m=>y(m)),i.addEventListener("load",()=>{i.dataset.loaded="true",e(i),p(i)}),g&&(i=document.head.appendChild(i)),W||p(i)})};var a=class{constructor(e){this.isReady=!1;let{immediate:n=!0,version:r,requestConfig:o}=e;this.version=r||"1.3.0",this.requestConfig=o,this.loadJssdk(),n&&this.config()}loadJssdk(){let e=`https://res.wx.qq.com/open/js/jweixin-${this.version}.js`;this.loadPromise=x(e).then(()=>{this.loadPromise=void 0})}async config(){return this.configPromise?this.configPromise:(this.loadPromise&&await this.loadPromise,this.configPromise=(async()=>{wx.config(await this.requestConfig())})(),this.configPromise)}async ready(){if(this.readyPromise)return this.readyPromise;if(this.loadPromise&&await this.loadPromise,!this.isReady)return this.readyPromise=new Promise((e,n)=>{wx.ready(()=>{this.isReady=!0,this.readyPromise=void 0,e()}),wx.error(r=>{this.isReady=!1,this.readyPromise=void 0,n(r)})}),this.readyPromise}async error(){return this.ready().catch(e=>e)}async implement(e,n){this.configPromise&&await this.configPromise,await this.ready(),wx[e](n)}};var c=class extends a{constructor(e){super(e)}updateAppMessageShareData(e){return this.implement("updateAppMessageShareData",e)}updateTimelineShareData(e){return this.implement("updateTimelineShareData",e)}addCard(){return this.implement("addCard")}checkJsApi(e){return this.implement("checkJsApi",e)}chooseCard(e){return this.implement("chooseCard",e)}chooseImage(e){return this.implement("chooseImage",e)}chooseWXPay(e){return this.implement("chooseWXPay",e)}closeWindow(){return this.implement("closeWindow")}consumeAndShareCard(e){return this.implement("consumeAndShareCard",e)}downloadImage(e){return this.implement("downloadImage",e)}downloadVoice(e){return this.implement("downloadVoice",e)}getLocalImgData(e){return this.implement("getLocalImgData",e)}getLocation(e){return this.implement("getLocation",e)}getNetworkType(e){return this.implement("getNetworkType",e)}hideAllNonBaseMenuItem(){return this.implement("hideAllNonBaseMenuItem")}hideMenuItems(e){return this.implement("hideMenuItems",e)}hideOptionMenu(){return this.implement("hideOptionMenu")}onMenuShareAppMessage(e){return this.implement("onMenuShareAppMessage",e)}onMenuShareQQ(e){return this.implement("onMenuShareQQ",e)}onMenuShareQZone(e){return this.implement("onMenuShareQZone",e)}onMenuShareTimeline(e){return this.implement("onMenuShareTimeline",e)}onMenuShareWeibo(e){return this.implement("onMenuShareWeibo",e)}onSearchBeacons(e){return this.implement("onSearchBeacons",e)}onVoicePlayEnd(e){return this.implement("onVoicePlayEnd",e)}onVoiceRecordEnd(e){return this.implement("onVoiceRecordEnd",e)}openCard(e){return this.implement("openCard",e)}openLocation(e){return this.implement("openLocation",e)}openProductSpecificView(e){return this.implement("openProductSpecificView",e)}pauseVoice(e){return this.implement("pauseVoice",e)}playVoice(e){return this.implement("playVoice",e)}previewImage(e){return this.implement("previewImage",e)}scanQRCode(e){return this.implement("scanQRCode",e)}showAllNonBaseMenuItem(){return this.implement("showAllNonBaseMenuItem")}showMenuItems(e){return this.implement("showMenuItems",e)}showOptionMenu(){return this.implement("showOptionMenu")}startRecord(){return this.implement("startRecord")}startSearchBeacons(e){return this.implement("startSearchBeacons",e)}stopRecord(e){return this.implement("stopRecord",e)}stopSearchBeacons(e){return this.implement("stopSearchBeacons",e)}stopVoice(e){return this.implement("stopVoice",e)}translateVoice(e){return this.implement("translateVoice",e)}uploadImage(e){return this.implement("uploadImage",e)}uploadVoice(e){return this.implement("uploadVoice",e)}};return A(L);})();
2
2
  //# sourceMappingURL=index.iife.min.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../index.ts", "../internal/load_script.ts", "../helper.ts"],
4
- "sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n type v4jsApiList = v4ApiMethod[]\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: WxType.jsApiList & v4jsApiList[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig>\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: () => Promise<WechatJssdkConfig>\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hairy/wechat-jssdk",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "main": "index.cjs.js",
5
5
  "publishConfig": {
6
6
  "jsdelivr": "./index.iife.min.js"