@tarojs/taro-h5 3.6.6 → 3.6.7-alpha.0
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/dist/api/base/index.d.ts +1 -2
- package/dist/api/base/index.js +3 -3
- package/dist/api/base/index.js.map +1 -1
- package/dist/api/base/weapp/app-event.js +3 -4
- package/dist/api/base/weapp/app-event.js.map +1 -1
- package/dist/api/canvas/CanvasContext.d.ts +2 -1
- package/dist/api/canvas/CanvasContext.js.map +1 -1
- package/dist/api/device/accelerometer.js +1 -2
- package/dist/api/device/accelerometer.js.map +1 -1
- package/dist/api/device/compass.js +1 -2
- package/dist/api/device/compass.js.map +1 -1
- package/dist/api/device/index.js +1 -1
- package/dist/api/device/motion.js +1 -2
- package/dist/api/device/motion.js.map +1 -1
- package/dist/api/device/network.js +1 -1
- package/dist/api/device/network.js.map +1 -1
- package/dist/api/device/wifi.d.ts +2 -1
- package/dist/api/device/wifi.js +2 -1
- package/dist/api/device/wifi.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.js +6 -5
- package/dist/api/index.js.map +1 -1
- package/dist/api/location/chooseLocation.js +9 -5
- package/dist/api/location/chooseLocation.js.map +1 -1
- package/dist/api/media/audio/InnerAudioContext.d.ts +2 -0
- package/dist/api/media/audio/InnerAudioContext.js +4 -1
- package/dist/api/media/audio/InnerAudioContext.js.map +1 -1
- package/dist/api/media/image/index.d.ts +3 -1
- package/dist/api/media/image/index.js +3 -1
- package/dist/api/media/image/index.js.map +1 -1
- package/dist/api/media/index.js +1 -1
- package/dist/api/network/request/index.d.ts +1 -1
- package/dist/api/network/request/index.js +23 -18
- package/dist/api/network/request/index.js.map +1 -1
- package/dist/api/open-api/index.js +1 -1
- package/dist/api/open-api/subscribe-message.d.ts +2 -1
- package/dist/api/open-api/subscribe-message.js +3 -1
- package/dist/api/open-api/subscribe-message.js.map +1 -1
- package/dist/api/qq/index.d.ts +2 -0
- package/dist/api/qq/index.js +7 -0
- package/dist/api/qq/index.js.map +1 -0
- package/dist/api/ui/index.js +1 -1
- package/dist/api/ui/interaction/modal.js +6 -0
- package/dist/api/ui/interaction/modal.js.map +1 -1
- package/dist/api/ui/window.d.ts +2 -1
- package/dist/api/ui/window.js +2 -1
- package/dist/api/ui/window.js.map +1 -1
- package/dist/index.cjs.d.ts +12 -3
- package/dist/index.cjs.js +281 -17556
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.d.ts +12 -3
- package/dist/index.esm.js +246 -17503
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/dist/utils/index.d.ts +4 -3
- package/dist/utils/index.js +3 -9
- package/dist/utils/index.js.map +1 -1
- package/package.json +15 -10
- package/dist/_virtual/_commonjsHelpers.js +0 -35
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/lodash.js +0 -4
- package/dist/_virtual/lodash.js.map +0 -1
- package/dist/node_modules/.pnpm/registry.npmjs.org_lodash@4.17.21/node_modules/lodash/lodash.js +0 -17220
- package/dist/node_modules/.pnpm/registry.npmjs.org_lodash@4.17.21/node_modules/lodash/lodash.js.map +0 -1
- package/dist/utils/lodash.d.ts +0 -3
- package/dist/utils/lodash.js +0 -32
- package/dist/utils/lodash.js.map +0 -1
package/dist/api/base/index.d.ts
CHANGED
|
@@ -4,10 +4,9 @@ declare const env: {
|
|
|
4
4
|
TARO_PLATFORM: string | undefined;
|
|
5
5
|
TARO_VERSION: string | undefined;
|
|
6
6
|
};
|
|
7
|
-
declare const canIUse: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
8
7
|
declare function arrayBufferToBase64(arrayBuffer: ArrayBuffer): string;
|
|
9
8
|
declare function base64ToArrayBuffer(base64: string): Uint8Array;
|
|
10
|
-
export { env,
|
|
9
|
+
export { env, arrayBufferToBase64, base64ToArrayBuffer };
|
|
11
10
|
export * from "./crypto.js";
|
|
12
11
|
export * from "./debug.js";
|
|
13
12
|
export * from "./performance.js";
|
package/dist/api/base/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { fromByteArray, toByteArray } from 'base64-js';
|
|
2
|
-
import { temporarilyNotSupport } from '../../utils/index.js';
|
|
3
2
|
export { getUserCryptoManager } from './crypto.js';
|
|
4
3
|
export { getLogManager, getRealtimeLogManager, setEnableDebug } from './debug.js';
|
|
5
4
|
export { getPerformance, reportPerformance } from './performance.js';
|
|
@@ -14,7 +13,8 @@ const env = {
|
|
|
14
13
|
TARO_PLATFORM: process.env.TARO_PLATFORM,
|
|
15
14
|
TARO_VERSION: process.env.TARO_VERSION,
|
|
16
15
|
};
|
|
17
|
-
|
|
16
|
+
// Note: 该方法由 taro-plugin-platform-h5 实现
|
|
17
|
+
// export const canIUse = temporarilyNotSupport('canIUse')
|
|
18
18
|
function arrayBufferToBase64(arrayBuffer) {
|
|
19
19
|
return fromByteArray(arrayBuffer);
|
|
20
20
|
}
|
|
@@ -22,5 +22,5 @@ function base64ToArrayBuffer(base64) {
|
|
|
22
22
|
return toByteArray(base64);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export { arrayBufferToBase64, base64ToArrayBuffer,
|
|
25
|
+
export { arrayBufferToBase64, base64ToArrayBuffer, env };
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/api/base/index.ts"],"sourcesContent":["import { fromByteArray, toByteArray } from 'base64-js'\n\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/api/base/index.ts"],"sourcesContent":["import { fromByteArray, toByteArray } from 'base64-js'\n\nexport const env = {\n FRAMEWORK: process.env.FRAMEWORK,\n TARO_ENV: process.env.TARO_ENV,\n TARO_PLATFORM: process.env.TARO_PLATFORM,\n TARO_VERSION: process.env.TARO_VERSION,\n}\n\n// Note: 该方法由 taro-plugin-platform-h5 实现\n// export const canIUse = temporarilyNotSupport('canIUse')\n\nexport function arrayBufferToBase64 (arrayBuffer: ArrayBuffer) {\n return fromByteArray(arrayBuffer as Uint8Array)\n}\n\nexport function base64ToArrayBuffer (base64: string) {\n return toByteArray(base64)\n}\n\nexport * from './crypto'\nexport * from './debug'\nexport * from './performance'\nexport * from './system'\nexport * from './update'\nexport * from './weapp/app-event'\nexport * from './weapp/life-cycle'\n"],"names":[],"mappings":";;;;;;;;;AAEa,MAAA,GAAG,GAAG;AACjB,IAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;AAChC,IAAA,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;AAC9B,IAAA,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;AACxC,IAAA,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;EACvC;AAED;AACA;AAEM,SAAU,mBAAmB,CAAE,WAAwB,EAAA;AAC3D,IAAA,OAAO,aAAa,CAAC,WAAyB,CAAC,CAAA;AACjD,CAAC;AAEK,SAAU,mBAAmB,CAAE,MAAc,EAAA;AACjD,IAAA,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAC5B;;;;"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import Taro from '@tarojs/api';
|
|
2
|
-
import '
|
|
2
|
+
import { isNil } from 'lodash-es';
|
|
3
3
|
import { parse } from 'query-string';
|
|
4
4
|
import { temporarilyNotSupport } from '../../../utils/index.js';
|
|
5
5
|
import { CallbackManager } from '../../../utils/handler.js';
|
|
6
|
-
import { l as lodash } from '../../../_virtual/lodash.js';
|
|
7
6
|
|
|
8
7
|
const unhandledRejectionCallbackManager = new CallbackManager();
|
|
9
8
|
const themeChangeCallbackManager = new CallbackManager();
|
|
@@ -63,7 +62,7 @@ const onUnhandledRejection = callback => {
|
|
|
63
62
|
const onThemeChange = callback => {
|
|
64
63
|
themeChangeCallbackManager.add(callback);
|
|
65
64
|
if (themeChangeCallbackManager.count() === 1) {
|
|
66
|
-
if (
|
|
65
|
+
if (isNil(themeMatchMedia)) {
|
|
67
66
|
themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)');
|
|
68
67
|
}
|
|
69
68
|
themeMatchMedia.addEventListener('change', themeChangeListener);
|
|
@@ -104,7 +103,7 @@ const offUnhandledRejection = callback => {
|
|
|
104
103
|
const offThemeChange = callback => {
|
|
105
104
|
themeChangeCallbackManager.remove(callback);
|
|
106
105
|
if (themeChangeCallbackManager.count() === 0) {
|
|
107
|
-
if (
|
|
106
|
+
if (isNil(themeMatchMedia)) {
|
|
108
107
|
themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)');
|
|
109
108
|
}
|
|
110
109
|
themeMatchMedia.removeEventListener('change', themeChangeListener);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-event.js","sources":["../../../../src/api/base/weapp/app-event.ts"],"sourcesContent":["import Taro from '@tarojs/api'\nimport { isNil } from 'lodash'\nimport { parse } from 'query-string'\n\nimport { temporarilyNotSupport } from '../../../utils'\nimport { CallbackManager } from '../../../utils/handler'\n\nconst unhandledRejectionCallbackManager = new CallbackManager<[Taro.onUnhandledRejection.Result]>()\nconst themeChangeCallbackManager = new CallbackManager<[Taro.onThemeChange.Result]>()\nconst pageNotFoundCallbackManager = new CallbackManager<[Taro.onPageNotFound.Result]>()\nconst errorCallbackManager = new CallbackManager<Parameters<Taro.onError.Callback>>()\nconst appShowCallbackManager = new CallbackManager<[Taro.onAppShow.CallbackResult]>()\nconst appHideCallbackManager = new CallbackManager<[Taro.onAppShow.CallbackResult]>()\n\nconst unhandledRejectionListener = (res: PromiseRejectionEvent) => {\n unhandledRejectionCallbackManager.trigger(res)\n}\n\nlet themeMatchMedia: MediaQueryList | null = null\nconst themeChangeListener = (res: MediaQueryListEvent) => {\n themeChangeCallbackManager.trigger({\n theme: res.matches ? 'dark' : 'light'\n })\n}\n\nconst pageNotFoundListener = (res: Taro.onPageNotFound.Result) => {\n pageNotFoundCallbackManager.trigger(res)\n}\n\nconst errorListener = (res: ErrorEvent) => {\n // @ts-ignore\n errorCallbackManager.trigger(res.stack || res.message || res)\n}\n\nconst getApp = () => {\n const path = Taro.Current.page?.path\n return {\n /** 小程序切前台的路径 */\n path: path?.substring(0, path.indexOf('?')) || '',\n /** 小程序切前台的 query 参数 */\n query: parse(location.search),\n /** 来源信息。 */\n referrerInfo: {},\n /** 小程序切前台的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */\n scene: 0,\n /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */\n shareTicket: ''\n }\n}\n\nconst appShowListener = () => {\n if (document.visibilityState !== 'hidden') {\n appShowCallbackManager.trigger(getApp())\n }\n}\n\nconst appHideListener = () => {\n if (document.visibilityState === 'hidden') {\n appHideCallbackManager.trigger(getApp())\n }\n}\n\n// 应用级事件\nexport const onUnhandledRejection: typeof Taro.onUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.add(callback)\n if (unhandledRejectionCallbackManager.count() === 1) {\n window.addEventListener('unhandledrejection', unhandledRejectionListener)\n }\n}\n\nexport const onThemeChange: typeof Taro.onThemeChange = callback => {\n themeChangeCallbackManager.add(callback)\n if (themeChangeCallbackManager.count() === 1) {\n if (isNil(themeMatchMedia)) {\n themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)')\n }\n themeMatchMedia.addEventListener('change', themeChangeListener)\n }\n}\n\nexport const onPageNotFound: typeof Taro.onPageNotFound = callback => {\n pageNotFoundCallbackManager.add(callback)\n if (pageNotFoundCallbackManager.count() === 1) {\n Taro.eventCenter.on('__taroRouterNotFound', pageNotFoundListener)\n }\n}\n\nexport const onError: typeof Taro.onError = callback => {\n errorCallbackManager.add(callback)\n if (errorCallbackManager.count() === 1) {\n window.addEventListener('error', errorListener)\n }\n}\n\nexport const onAudioInterruptionEnd = temporarilyNotSupport('onAudioInterruptionEnd')\nexport const onAudioInterruptionBegin = temporarilyNotSupport('onAudioInterruptionBegin')\n\nexport const onAppShow: typeof Taro.onAppShow = callback => {\n appShowCallbackManager.add(callback)\n if (appShowCallbackManager.count() === 1) {\n window.addEventListener('visibilitychange', appShowListener)\n }\n}\n\nexport const onAppHide: typeof Taro.onAppHide = callback => {\n appHideCallbackManager.add(callback)\n if (appHideCallbackManager.count() === 1) {\n window.addEventListener('visibilitychange', appHideListener)\n }\n}\n\nexport const offUnhandledRejection: typeof Taro.offUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.remove(callback)\n if (unhandledRejectionCallbackManager.count() === 0) {\n window.removeEventListener('unhandledrejection', unhandledRejectionListener)\n }\n}\n\nexport const offThemeChange: typeof Taro.offThemeChange = callback => {\n themeChangeCallbackManager.remove(callback)\n if (themeChangeCallbackManager.count() === 0) {\n if (isNil(themeMatchMedia)) {\n themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)')\n }\n themeMatchMedia.removeEventListener('change', themeChangeListener)\n themeMatchMedia = null\n }\n}\n\nexport const offPageNotFound: typeof Taro.offPageNotFound = callback => {\n pageNotFoundCallbackManager.remove(callback)\n if (pageNotFoundCallbackManager.count() === 0) {\n Taro.eventCenter.off('__taroRouterNotFound', pageNotFoundListener)\n }\n}\n\nexport const offError: typeof Taro.offError = callback => {\n errorCallbackManager.remove(callback)\n if (errorCallbackManager.count() === 0) {\n window.removeEventListener('error', errorListener)\n }\n}\n\nexport const offAudioInterruptionEnd = temporarilyNotSupport('offAudioInterruptionEnd')\nexport const offAudioInterruptionBegin = temporarilyNotSupport('offAudioInterruptionBegin')\n\nexport const offAppShow: typeof Taro.offAppShow = callback => {\n appShowCallbackManager.remove(callback)\n if (appShowCallbackManager.count() === 0) {\n window.removeEventListener('visibilitychange', appShowListener)\n }\n}\n\nexport const offAppHide: typeof Taro.offAppHide = callback => {\n appHideCallbackManager.remove(callback)\n if (appHideCallbackManager.count() === 0) {\n window.removeEventListener('visibilitychange', appHideListener)\n }\n}\n"],"names":["isNil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-event.js","sources":["../../../../src/api/base/weapp/app-event.ts"],"sourcesContent":["import Taro from '@tarojs/api'\nimport { isNil } from 'lodash-es'\nimport { parse } from 'query-string'\n\nimport { temporarilyNotSupport } from '../../../utils'\nimport { CallbackManager } from '../../../utils/handler'\n\nconst unhandledRejectionCallbackManager = new CallbackManager<[Taro.onUnhandledRejection.Result]>()\nconst themeChangeCallbackManager = new CallbackManager<[Taro.onThemeChange.Result]>()\nconst pageNotFoundCallbackManager = new CallbackManager<[Taro.onPageNotFound.Result]>()\nconst errorCallbackManager = new CallbackManager<Parameters<Taro.onError.Callback>>()\nconst appShowCallbackManager = new CallbackManager<[Taro.onAppShow.CallbackResult]>()\nconst appHideCallbackManager = new CallbackManager<[Taro.onAppShow.CallbackResult]>()\n\nconst unhandledRejectionListener = (res: PromiseRejectionEvent) => {\n unhandledRejectionCallbackManager.trigger(res)\n}\n\nlet themeMatchMedia: MediaQueryList | null = null\nconst themeChangeListener = (res: MediaQueryListEvent) => {\n themeChangeCallbackManager.trigger({\n theme: res.matches ? 'dark' : 'light'\n })\n}\n\nconst pageNotFoundListener = (res: Taro.onPageNotFound.Result) => {\n pageNotFoundCallbackManager.trigger(res)\n}\n\nconst errorListener = (res: ErrorEvent) => {\n // @ts-ignore\n errorCallbackManager.trigger(res.stack || res.message || res)\n}\n\nconst getApp = () => {\n const path = Taro.Current.page?.path\n return {\n /** 小程序切前台的路径 */\n path: path?.substring(0, path.indexOf('?')) || '',\n /** 小程序切前台的 query 参数 */\n query: parse(location.search),\n /** 来源信息。 */\n referrerInfo: {},\n /** 小程序切前台的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */\n scene: 0,\n /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */\n shareTicket: ''\n }\n}\n\nconst appShowListener = () => {\n if (document.visibilityState !== 'hidden') {\n appShowCallbackManager.trigger(getApp())\n }\n}\n\nconst appHideListener = () => {\n if (document.visibilityState === 'hidden') {\n appHideCallbackManager.trigger(getApp())\n }\n}\n\n// 应用级事件\nexport const onUnhandledRejection: typeof Taro.onUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.add(callback)\n if (unhandledRejectionCallbackManager.count() === 1) {\n window.addEventListener('unhandledrejection', unhandledRejectionListener)\n }\n}\n\nexport const onThemeChange: typeof Taro.onThemeChange = callback => {\n themeChangeCallbackManager.add(callback)\n if (themeChangeCallbackManager.count() === 1) {\n if (isNil(themeMatchMedia)) {\n themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)')\n }\n themeMatchMedia.addEventListener('change', themeChangeListener)\n }\n}\n\nexport const onPageNotFound: typeof Taro.onPageNotFound = callback => {\n pageNotFoundCallbackManager.add(callback)\n if (pageNotFoundCallbackManager.count() === 1) {\n Taro.eventCenter.on('__taroRouterNotFound', pageNotFoundListener)\n }\n}\n\nexport const onError: typeof Taro.onError = callback => {\n errorCallbackManager.add(callback)\n if (errorCallbackManager.count() === 1) {\n window.addEventListener('error', errorListener)\n }\n}\n\nexport const onAudioInterruptionEnd = temporarilyNotSupport('onAudioInterruptionEnd')\nexport const onAudioInterruptionBegin = temporarilyNotSupport('onAudioInterruptionBegin')\n\nexport const onAppShow: typeof Taro.onAppShow = callback => {\n appShowCallbackManager.add(callback)\n if (appShowCallbackManager.count() === 1) {\n window.addEventListener('visibilitychange', appShowListener)\n }\n}\n\nexport const onAppHide: typeof Taro.onAppHide = callback => {\n appHideCallbackManager.add(callback)\n if (appHideCallbackManager.count() === 1) {\n window.addEventListener('visibilitychange', appHideListener)\n }\n}\n\nexport const offUnhandledRejection: typeof Taro.offUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.remove(callback)\n if (unhandledRejectionCallbackManager.count() === 0) {\n window.removeEventListener('unhandledrejection', unhandledRejectionListener)\n }\n}\n\nexport const offThemeChange: typeof Taro.offThemeChange = callback => {\n themeChangeCallbackManager.remove(callback)\n if (themeChangeCallbackManager.count() === 0) {\n if (isNil(themeMatchMedia)) {\n themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)')\n }\n themeMatchMedia.removeEventListener('change', themeChangeListener)\n themeMatchMedia = null\n }\n}\n\nexport const offPageNotFound: typeof Taro.offPageNotFound = callback => {\n pageNotFoundCallbackManager.remove(callback)\n if (pageNotFoundCallbackManager.count() === 0) {\n Taro.eventCenter.off('__taroRouterNotFound', pageNotFoundListener)\n }\n}\n\nexport const offError: typeof Taro.offError = callback => {\n errorCallbackManager.remove(callback)\n if (errorCallbackManager.count() === 0) {\n window.removeEventListener('error', errorListener)\n }\n}\n\nexport const offAudioInterruptionEnd = temporarilyNotSupport('offAudioInterruptionEnd')\nexport const offAudioInterruptionBegin = temporarilyNotSupport('offAudioInterruptionBegin')\n\nexport const offAppShow: typeof Taro.offAppShow = callback => {\n appShowCallbackManager.remove(callback)\n if (appShowCallbackManager.count() === 0) {\n window.removeEventListener('visibilitychange', appShowListener)\n }\n}\n\nexport const offAppHide: typeof Taro.offAppHide = callback => {\n appHideCallbackManager.remove(callback)\n if (appHideCallbackManager.count() === 0) {\n window.removeEventListener('visibilitychange', appHideListener)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasContext.js","sources":["../../../src/api/canvas/CanvasContext.ts"],"sourcesContent":["import { CanvasGradient } from '@tarojs/api'\n\ninterface IAction {\n func: (...arr: any[]) => void\n args: any[]\n}\n\nconst TextBaseLineMap: Record<keyof Taro.CanvasContext.TextBaseline, CanvasTextBaseline> = {\n top: 'top',\n bottom: 'bottom',\n middle: 'middle',\n normal: 'alphabetic'\n}\n\nexport class CanvasContext implements Taro.CanvasContext {\n __raw__: CanvasRenderingContext2D\n actions: IAction[] = []\n\n constructor (canvas, ctx) {\n this.canvas = canvas\n this.ctx = ctx\n }\n\n set ctx (e: CanvasRenderingContext2D) {\n this.__raw__ = e\n }\n\n get ctx () {\n return this.__raw__ || {}\n }\n\n canvas: HTMLCanvasElement\n\n protected emptyActions () {\n this.actions.length = 0\n }\n\n protected enqueueActions (func: IAction['func'], ...args) {\n this.actions.push({\n func,\n args\n })\n }\n\n set fillStyle (e) { this.enqueueActions(() => { this.ctx.fillStyle = e }) }\n get fillStyle () { return this.ctx.fillStyle as string }\n set font (e) { this.ctx.font = e }\n get font () { return this.ctx.font }\n set globalAlpha (e) { this.enqueueActions(() => { this.ctx.globalAlpha = e }) }\n get globalAlpha () { return this.ctx.globalAlpha }\n set globalCompositeOperation (e) { this.enqueueActions(() => { this.ctx.globalCompositeOperation = e }) }\n get globalCompositeOperation () { return this.ctx.globalCompositeOperation }\n set lineCap (e) { this.enqueueActions(() => { this.ctx.lineCap = e }) }\n get lineCap () { return this.ctx.lineCap }\n set lineDashOffset (e) { this.enqueueActions(() => { this.ctx.lineDashOffset = e }) }\n get lineDashOffset () { return this.ctx.lineDashOffset }\n set lineJoin (e) { this.enqueueActions(() => { this.ctx.lineJoin = e }) }\n get lineJoin () { return this.ctx.lineJoin }\n set lineWidth (e) { this.enqueueActions(() => { this.ctx.lineWidth = e }) }\n get lineWidth () { return this.ctx.lineWidth }\n set miterLimit (e) { this.enqueueActions(() => { this.ctx.miterLimit = e }) }\n get miterLimit () { return this.ctx.miterLimit }\n set shadowBlur (e) { this.enqueueActions(() => { this.ctx.shadowBlur = e }) }\n get shadowBlur () { return this.ctx.shadowBlur }\n set shadowColor (e) { this.enqueueActions(() => { this.ctx.shadowColor = e }) }\n get shadowColor () { return this.ctx.shadowColor }\n set shadowOffsetX (e) { this.enqueueActions(() => { this.ctx.shadowOffsetX = e }) }\n get shadowOffsetX () { return this.ctx.shadowOffsetX }\n set shadowOffsetY (e) { this.enqueueActions(() => { this.ctx.shadowOffsetY = e }) }\n get shadowOffsetY () { return this.ctx.shadowOffsetY }\n set strokeStyle (e) { this.enqueueActions(() => { this.ctx.strokeStyle = e }) }\n get strokeStyle () { return this.ctx.strokeStyle as string }\n /** 小程序文档中不包括 ↓↓↓ */\n set textAlign (e) { this.ctx.textAlign = e }\n get textAlign () { return this.ctx.textAlign }\n set textBaseline (e) { this.ctx.textBaseline = e }\n get textBaseline () { return this.ctx.textBaseline }\n set direction (e) { this.ctx.direction = e }\n get direction () { return this.ctx.direction }\n set imageSmoothingEnabled (e) { this.enqueueActions(() => { this.ctx.imageSmoothingEnabled = e }) }\n get imageSmoothingEnabled () { return this.ctx.imageSmoothingEnabled }\n set imageSmoothingQuality (e) { this.enqueueActions(() => { this.ctx.imageSmoothingQuality = e }) }\n get imageSmoothingQuality () { return this.ctx.imageSmoothingQuality }\n set filter (e) { this.enqueueActions(() => { this.ctx.filter = e }) }\n get filter () { return this.ctx.filter }\n /** 小程序文档中不包括 ↑↑↑ */\n\n arc (...args) { return this.enqueueActions(this.ctx.arc, ...args) }\n arcTo (...args) { return this.enqueueActions(this.ctx.arcTo, ...args) }\n beginPath (...args) { return this.enqueueActions(this.ctx.beginPath, ...args) }\n bezierCurveTo (...args) { return this.enqueueActions(this.ctx.bezierCurveTo, ...args) }\n clearRect (...args) { return this.enqueueActions(this.ctx.clearRect, ...args) }\n clip (...args) { return this.enqueueActions(this.ctx.clip, ...args) }\n closePath (...args) { return this.enqueueActions(this.ctx.closePath, ...args) }\n\n createPattern (image: string, repetition: keyof Taro.CanvasContext.Repetition): void {\n return this.createPattern(image, repetition)\n }\n\n /**\n * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。\n * @todo 每次 draw 都会读取 width 和 height\n */\n async draw (reserve?: boolean, callback?: (...args: any[]) => any): Promise<void> {\n try {\n if (!reserve) {\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height)\n }\n\n // 部分 action 是异步的\n for (const { func, args } of this.actions) {\n await func.apply(this.ctx, args)\n }\n\n this.emptyActions()\n callback && callback()\n } catch (e) {\n /* eslint-disable no-throw-literal */\n throw {\n errMsg: e.message\n }\n }\n }\n\n drawImage (imageResource: string, ...extra: any[]): void {\n type TExtra = [number, number]\n this.enqueueActions(() => {\n // 需要转换为 Image\n if (typeof imageResource === 'string') {\n const img = new Image()\n img.src = imageResource\n return new Promise<void>((resolve, reject) => {\n img.onload = () => {\n this.ctx.drawImage(img, ...extra as TExtra)\n resolve()\n }\n img.onerror = reject\n })\n }\n\n this.ctx.drawImage(imageResource, ...extra as TExtra)\n })\n }\n\n fill (...args) { return this.enqueueActions(this.ctx.fill, ...args) }\n fillRect (...args) { return this.enqueueActions(this.ctx.fillRect, ...args) }\n fillText (...args) { return this.enqueueActions(this.ctx.fillText, ...args) }\n lineTo (...args) { return this.enqueueActions(this.ctx.lineTo, ...args) }\n moveTo (...args) { return this.enqueueActions(this.ctx.moveTo, ...args) }\n quadraticCurveTo (...args) { return this.enqueueActions(this.ctx.quadraticCurveTo, ...args) }\n rect (...args) { return this.enqueueActions(this.ctx.rect, ...args) }\n restore (...args) { return this.enqueueActions(this.ctx.restore, ...args) }\n rotate (...args) { return this.enqueueActions(this.ctx.rotate, ...args) }\n save (...args) { return this.enqueueActions(this.ctx.save, ...args) }\n scale (...args) { return this.enqueueActions(this.ctx.scale, ...args) }\n\n setFillStyle (color: string | CanvasGradient): void {\n this.enqueueActions(() => { this.ctx.fillStyle = color })\n }\n\n setFontSize (fontSize: number): void {\n this.font = `${fontSize}px`\n }\n\n setGlobalAlpha (alpha: number): void {\n this.globalAlpha = alpha\n }\n\n setLineCap (lineCap: keyof Taro.CanvasContext.LineCap): void {\n this.lineCap = lineCap\n }\n\n setLineDash (pattern: number[], offset: number): void {\n this.enqueueActions(() => {\n this.ctx.setLineDash(pattern)\n this.ctx.lineDashOffset = offset\n })\n }\n\n setLineJoin (lineJoin: keyof Taro.CanvasContext.LineJoin): void {\n this.lineJoin = lineJoin\n }\n\n setLineWidth (lineWidth: number): void {\n this.lineWidth = lineWidth\n }\n\n setMiterLimit (miterLimit: number): void {\n this.miterLimit = miterLimit\n }\n\n setShadow (offsetX: number, offsetY: number, blur: number, color: string): void {\n this.enqueueActions(() => {\n this.ctx.shadowOffsetX = offsetX\n this.ctx.shadowOffsetY = offsetY\n this.ctx.shadowColor = color\n this.ctx.shadowBlur = blur\n })\n }\n\n setStrokeStyle (color: string | CanvasGradient): void {\n this.enqueueActions(() => { this.ctx.strokeStyle = color })\n }\n\n setTextAlign (align: keyof Taro.CanvasContext.Align): void {\n this.textAlign = align\n }\n\n setTextBaseline (textBaseline: keyof Taro.CanvasContext.TextBaseline): void {\n this.textBaseline = TextBaseLineMap[textBaseline] || 'alphabetic'\n }\n\n setTransform (...args) { return this.enqueueActions(this.ctx.setTransform, ...args) }\n stroke (...args) { return this.enqueueActions(this.ctx.stroke, ...args) }\n strokeRect (...args) { return this.enqueueActions(this.ctx.strokeRect, ...args) }\n strokeText (...args) { return this.enqueueActions(this.ctx.strokeText, ...args) }\n transform (...args) { return this.enqueueActions(this.ctx.transform, ...args) }\n translate (...args) { return this.enqueueActions(this.ctx.translate, ...args) }\n\n measureText (text: string): TextMetrics {\n return this.ctx.measureText(text)\n }\n\n createCircularGradient (x: number, y: number, r: number): CanvasGradient {\n const radialGradient = this.ctx.createRadialGradient(x, y, 0, x, y, r)\n\n return radialGradient\n }\n\n createLinearGradient (x0: number, y0: number, x1: number, y1: number): CanvasGradient {\n return this.ctx.createLinearGradient(x0, y0, x1, y1)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CanvasContext.js","sources":["../../../src/api/canvas/CanvasContext.ts"],"sourcesContent":["import Taro, { CanvasGradient } from '@tarojs/api'\n\ninterface IAction {\n func: (...arr: any[]) => void\n args: any[]\n}\n\nconst TextBaseLineMap: Record<keyof Taro.CanvasContext.TextBaseline, CanvasTextBaseline> = {\n top: 'top',\n bottom: 'bottom',\n middle: 'middle',\n normal: 'alphabetic'\n}\n\nexport class CanvasContext implements Taro.CanvasContext {\n __raw__: CanvasRenderingContext2D\n actions: IAction[] = []\n\n constructor (canvas, ctx) {\n this.canvas = canvas\n this.ctx = ctx\n }\n\n set ctx (e: CanvasRenderingContext2D) {\n this.__raw__ = e\n }\n\n get ctx () {\n return this.__raw__ || {}\n }\n\n canvas: HTMLCanvasElement\n\n protected emptyActions () {\n this.actions.length = 0\n }\n\n protected enqueueActions (func: IAction['func'], ...args) {\n this.actions.push({\n func,\n args\n })\n }\n\n set fillStyle (e) { this.enqueueActions(() => { this.ctx.fillStyle = e }) }\n get fillStyle () { return this.ctx.fillStyle as string }\n set font (e) { this.ctx.font = e }\n get font () { return this.ctx.font }\n set globalAlpha (e) { this.enqueueActions(() => { this.ctx.globalAlpha = e }) }\n get globalAlpha () { return this.ctx.globalAlpha }\n set globalCompositeOperation (e) { this.enqueueActions(() => { this.ctx.globalCompositeOperation = e }) }\n get globalCompositeOperation () { return this.ctx.globalCompositeOperation }\n set lineCap (e) { this.enqueueActions(() => { this.ctx.lineCap = e }) }\n get lineCap () { return this.ctx.lineCap }\n set lineDashOffset (e) { this.enqueueActions(() => { this.ctx.lineDashOffset = e }) }\n get lineDashOffset () { return this.ctx.lineDashOffset }\n set lineJoin (e) { this.enqueueActions(() => { this.ctx.lineJoin = e }) }\n get lineJoin () { return this.ctx.lineJoin }\n set lineWidth (e) { this.enqueueActions(() => { this.ctx.lineWidth = e }) }\n get lineWidth () { return this.ctx.lineWidth }\n set miterLimit (e) { this.enqueueActions(() => { this.ctx.miterLimit = e }) }\n get miterLimit () { return this.ctx.miterLimit }\n set shadowBlur (e) { this.enqueueActions(() => { this.ctx.shadowBlur = e }) }\n get shadowBlur () { return this.ctx.shadowBlur }\n set shadowColor (e) { this.enqueueActions(() => { this.ctx.shadowColor = e }) }\n get shadowColor () { return this.ctx.shadowColor }\n set shadowOffsetX (e) { this.enqueueActions(() => { this.ctx.shadowOffsetX = e }) }\n get shadowOffsetX () { return this.ctx.shadowOffsetX }\n set shadowOffsetY (e) { this.enqueueActions(() => { this.ctx.shadowOffsetY = e }) }\n get shadowOffsetY () { return this.ctx.shadowOffsetY }\n set strokeStyle (e) { this.enqueueActions(() => { this.ctx.strokeStyle = e }) }\n get strokeStyle () { return this.ctx.strokeStyle as string }\n /** 小程序文档中不包括 ↓↓↓ */\n set textAlign (e) { this.ctx.textAlign = e }\n get textAlign () { return this.ctx.textAlign }\n set textBaseline (e) { this.ctx.textBaseline = e }\n get textBaseline () { return this.ctx.textBaseline }\n set direction (e) { this.ctx.direction = e }\n get direction () { return this.ctx.direction }\n set imageSmoothingEnabled (e) { this.enqueueActions(() => { this.ctx.imageSmoothingEnabled = e }) }\n get imageSmoothingEnabled () { return this.ctx.imageSmoothingEnabled }\n set imageSmoothingQuality (e) { this.enqueueActions(() => { this.ctx.imageSmoothingQuality = e }) }\n get imageSmoothingQuality () { return this.ctx.imageSmoothingQuality }\n set filter (e) { this.enqueueActions(() => { this.ctx.filter = e }) }\n get filter () { return this.ctx.filter }\n /** 小程序文档中不包括 ↑↑↑ */\n\n arc (...args) { return this.enqueueActions(this.ctx.arc, ...args) }\n arcTo (...args) { return this.enqueueActions(this.ctx.arcTo, ...args) }\n beginPath (...args) { return this.enqueueActions(this.ctx.beginPath, ...args) }\n bezierCurveTo (...args) { return this.enqueueActions(this.ctx.bezierCurveTo, ...args) }\n clearRect (...args) { return this.enqueueActions(this.ctx.clearRect, ...args) }\n clip (...args) { return this.enqueueActions(this.ctx.clip, ...args) }\n closePath (...args) { return this.enqueueActions(this.ctx.closePath, ...args) }\n\n createPattern (image: string, repetition: keyof Taro.CanvasContext.Repetition): void {\n return this.createPattern(image, repetition)\n }\n\n /**\n * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。\n * @todo 每次 draw 都会读取 width 和 height\n */\n async draw (reserve?: boolean, callback?: (...args: any[]) => any): Promise<void> {\n try {\n if (!reserve) {\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height)\n }\n\n // 部分 action 是异步的\n for (const { func, args } of this.actions) {\n await func.apply(this.ctx, args)\n }\n\n this.emptyActions()\n callback && callback()\n } catch (e) {\n /* eslint-disable no-throw-literal */\n throw {\n errMsg: e.message\n }\n }\n }\n\n drawImage (imageResource: string, ...extra: any[]): void {\n type TExtra = [number, number]\n this.enqueueActions(() => {\n // 需要转换为 Image\n if (typeof imageResource === 'string') {\n const img = new Image()\n img.src = imageResource\n return new Promise<void>((resolve, reject) => {\n img.onload = () => {\n this.ctx.drawImage(img, ...extra as TExtra)\n resolve()\n }\n img.onerror = reject\n })\n }\n\n this.ctx.drawImage(imageResource, ...extra as TExtra)\n })\n }\n\n fill (...args) { return this.enqueueActions(this.ctx.fill, ...args) }\n fillRect (...args) { return this.enqueueActions(this.ctx.fillRect, ...args) }\n fillText (...args) { return this.enqueueActions(this.ctx.fillText, ...args) }\n lineTo (...args) { return this.enqueueActions(this.ctx.lineTo, ...args) }\n moveTo (...args) { return this.enqueueActions(this.ctx.moveTo, ...args) }\n quadraticCurveTo (...args) { return this.enqueueActions(this.ctx.quadraticCurveTo, ...args) }\n rect (...args) { return this.enqueueActions(this.ctx.rect, ...args) }\n restore (...args) { return this.enqueueActions(this.ctx.restore, ...args) }\n rotate (...args) { return this.enqueueActions(this.ctx.rotate, ...args) }\n save (...args) { return this.enqueueActions(this.ctx.save, ...args) }\n scale (...args) { return this.enqueueActions(this.ctx.scale, ...args) }\n\n setFillStyle (color: string | CanvasGradient): void {\n this.enqueueActions(() => { this.ctx.fillStyle = color })\n }\n\n setFontSize (fontSize: number): void {\n this.font = `${fontSize}px`\n }\n\n setGlobalAlpha (alpha: number): void {\n this.globalAlpha = alpha\n }\n\n setLineCap (lineCap: keyof Taro.CanvasContext.LineCap): void {\n this.lineCap = lineCap\n }\n\n setLineDash (pattern: number[], offset: number): void {\n this.enqueueActions(() => {\n this.ctx.setLineDash(pattern)\n this.ctx.lineDashOffset = offset\n })\n }\n\n setLineJoin (lineJoin: keyof Taro.CanvasContext.LineJoin): void {\n this.lineJoin = lineJoin\n }\n\n setLineWidth (lineWidth: number): void {\n this.lineWidth = lineWidth\n }\n\n setMiterLimit (miterLimit: number): void {\n this.miterLimit = miterLimit\n }\n\n setShadow (offsetX: number, offsetY: number, blur: number, color: string): void {\n this.enqueueActions(() => {\n this.ctx.shadowOffsetX = offsetX\n this.ctx.shadowOffsetY = offsetY\n this.ctx.shadowColor = color\n this.ctx.shadowBlur = blur\n })\n }\n\n setStrokeStyle (color: string | CanvasGradient): void {\n this.enqueueActions(() => { this.ctx.strokeStyle = color })\n }\n\n setTextAlign (align: keyof Taro.CanvasContext.Align): void {\n this.textAlign = align\n }\n\n setTextBaseline (textBaseline: keyof Taro.CanvasContext.TextBaseline): void {\n this.textBaseline = TextBaseLineMap[textBaseline] || 'alphabetic'\n }\n\n setTransform (...args) { return this.enqueueActions(this.ctx.setTransform, ...args) }\n stroke (...args) { return this.enqueueActions(this.ctx.stroke, ...args) }\n strokeRect (...args) { return this.enqueueActions(this.ctx.strokeRect, ...args) }\n strokeText (...args) { return this.enqueueActions(this.ctx.strokeText, ...args) }\n transform (...args) { return this.enqueueActions(this.ctx.transform, ...args) }\n translate (...args) { return this.enqueueActions(this.ctx.translate, ...args) }\n\n measureText (text: string): TextMetrics {\n return this.ctx.measureText(text)\n }\n\n createCircularGradient (x: number, y: number, r: number): CanvasGradient {\n const radialGradient = this.ctx.createRadialGradient(x, y, 0, x, y, r)\n\n return radialGradient\n }\n\n createLinearGradient (x0: number, y0: number, x1: number, y1: number): CanvasGradient {\n return this.ctx.createLinearGradient(x0, y0, x1, y1)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import '
|
|
1
|
+
import { throttle } from 'lodash-es';
|
|
2
2
|
import { CallbackManager, MethodHandler } from '../../utils/handler.js';
|
|
3
|
-
import { throttle } from '../../utils/lodash.js';
|
|
4
3
|
|
|
5
4
|
const callbackManager = new CallbackManager();
|
|
6
5
|
let devicemotionListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accelerometer.js","sources":["../../../src/api/device/accelerometer.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\
|
|
1
|
+
{"version":3,"file":"accelerometer.js","sources":["../../../src/api/device/accelerometer.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\nimport { throttle } from 'lodash-es'\r\n\r\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\r\n\r\nconst callbackManager = new CallbackManager()\r\nlet devicemotionListener\r\n\r\n/**\r\n * 停止监听加速度数据。\r\n */\r\nexport const stopAccelerometer: typeof Taro.stopAccelerometer = ({ success, fail, complete } = {}) => {\r\n const res: Partial<TaroGeneral.CallbackResult> = {}\r\n const handle = new MethodHandler({ name: 'stopAccelerometer', success, fail, complete })\r\n try {\r\n window.removeEventListener('devicemotion', devicemotionListener, true)\r\n return handle.success(res)\r\n } catch (e) {\r\n res.errMsg = e.message\r\n return handle.fail(res)\r\n }\r\n}\r\n\r\nconst INTERVAL_MAP = {\r\n game: {\r\n interval: 20,\r\n frequency: 50\r\n },\r\n ui: {\r\n interval: 60,\r\n frequency: 16.67\r\n },\r\n normal: {\r\n interval: 200,\r\n frequency: 5\r\n }\r\n}\r\n\r\n/**\r\n * 开始监听加速度数据。\r\n */\r\nexport const startAccelerometer: typeof Taro.startAccelerometer = ({ interval = 'normal', success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'startAccelerometer', success, fail, complete })\r\n try {\r\n if (window.DeviceMotionEvent) {\r\n const intervalObj = INTERVAL_MAP[interval]\r\n if (devicemotionListener) {\r\n stopAccelerometer()\r\n }\r\n devicemotionListener = throttle((evt: DeviceMotionEvent) => {\r\n callbackManager.trigger({\r\n x: evt.acceleration?.x || 0,\r\n y: evt.acceleration?.y || 0,\r\n z: evt.acceleration?.z || 0\r\n })\r\n }, intervalObj.interval)\r\n window.addEventListener('devicemotion', devicemotionListener, true)\r\n } else {\r\n throw new Error('accelerometer is not supported')\r\n }\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 监听加速度数据事件。频率根据 Taro.startAccelerometer() 的 interval 参数。可使用 Taro.stopAccelerometer() 停止监听。\r\n */\r\nexport const onAccelerometerChange: typeof Taro.onAccelerometerChange = callback => {\r\n callbackManager.add(callback)\r\n}\r\n\r\n/**\r\n * 取消监听加速度数据事件,参数为空,则取消所有的事件监听\r\n */\r\nexport const offAccelerometerChange: typeof Taro.offAccelerometerChange = callback => {\r\n callbackManager.remove(callback)\r\n}\r\n"],"names":[],"mappings":";;;AAKA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;AAC7C,IAAI,oBAAoB,CAAA;AAExB;;AAEG;AACI,MAAM,iBAAiB,GAAkC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAI;IACnG,MAAM,GAAG,GAAwC,EAAE,CAAA;AACnD,IAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACxF,IAAI;QACF,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;AACtE,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AAC3B,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAA;AACtB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,KAAA;AACH,EAAC;AAED,MAAM,YAAY,GAAG;AACnB,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,SAAS,EAAE,EAAE;AACd,KAAA;AACD,IAAA,EAAE,EAAE;AACF,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,SAAS,EAAE,CAAC;AACb,KAAA;CACF,CAAA;AAED;;AAEG;AACU,MAAA,kBAAkB,GAAmC,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAI;AAC1H,IAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACzF,IAAI;QACF,IAAI,MAAM,CAAC,iBAAiB,EAAE;AAC5B,YAAA,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC1C,YAAA,IAAI,oBAAoB,EAAE;AACxB,gBAAA,iBAAiB,EAAE,CAAA;AACpB,aAAA;AACD,YAAA,oBAAoB,GAAG,QAAQ,CAAC,CAAC,GAAsB,KAAI;;gBACzD,eAAe,CAAC,OAAO,CAAC;oBACtB,CAAC,EAAE,CAAA,CAAA,EAAA,GAAA,GAAG,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,CAAC,KAAI,CAAC;oBAC3B,CAAC,EAAE,CAAA,CAAA,EAAA,GAAA,GAAG,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,CAAC,KAAI,CAAC;oBAC3B,CAAC,EAAE,CAAA,CAAA,EAAA,GAAA,GAAG,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,CAAC,KAAI,CAAC;AAC5B,iBAAA,CAAC,CAAA;AACJ,aAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;YACxB,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;AACpE,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;AAClD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;AACxB,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAC1C,KAAA;AACH,EAAC;AAED;;AAEG;AACU,MAAA,qBAAqB,GAAsC,QAAQ,IAAG;AACjF,IAAA,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,EAAC;AAED;;AAEG;AACU,MAAA,sBAAsB,GAAuC,QAAQ,IAAG;AACnF,IAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAClC;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import '
|
|
1
|
+
import { throttle } from 'lodash-es';
|
|
2
2
|
import { CallbackManager, MethodHandler } from '../../utils/handler.js';
|
|
3
3
|
import { getDeviceInfo } from '../base/system.js';
|
|
4
|
-
import { throttle } from '../../utils/lodash.js';
|
|
5
4
|
|
|
6
5
|
const callbackManager = new CallbackManager();
|
|
7
6
|
let compassListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compass.js","sources":["../../../src/api/device/compass.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\
|
|
1
|
+
{"version":3,"file":"compass.js","sources":["../../../src/api/device/compass.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\nimport { throttle } from 'lodash-es'\r\n\r\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\r\nimport { getDeviceInfo } from '../base/system'\r\n\r\nconst callbackManager = new CallbackManager()\r\nlet compassListener\r\n\r\n/**\r\n * Note: 按系统类型获取对应绝对 orientation 事件名,因为安卓系统中直接监听 deviceorientation 事件得到的不是绝对 orientation\r\n */\r\nconst deviceorientationEventName = ['absolutedeviceorientation', 'deviceorientationabsolute', 'deviceorientation'].find(item => {\r\n if ('on' + item in window) {\r\n return item\r\n }\r\n}) || ''\r\n\r\n/**\r\n * 停止监听罗盘数据\r\n */\r\nexport const stopCompass: typeof Taro.stopCompass = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'stopCompass', success, fail, complete })\r\n try {\r\n window.removeEventListener(deviceorientationEventName, compassListener, true)\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\nlet CompassChangeTrigger = false\r\n/**\r\n * 开始监听罗盘数据\r\n */\r\nexport const startCompass: typeof Taro.startCompass = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'startCompass', success, fail, complete })\r\n try {\r\n if (deviceorientationEventName !== '') {\r\n if (compassListener) {\r\n stopCompass()\r\n }\r\n compassListener = throttle((evt: DeviceOrientationEvent) => {\r\n const isAndroid = getDeviceInfo().system === 'AndroidOS'\r\n if (isAndroid && !evt.absolute && !CompassChangeTrigger) {\r\n CompassChangeTrigger = true\r\n console.warn('Warning: In \\'onCompassChange\\', your browser is not supported to get the orientation relative to the earth, the orientation data will be related to the initial orientation of the device .')\r\n }\r\n const alpha = evt.alpha || 0\r\n /**\r\n * 由于平台差异,accuracy 在 iOS/Android 的值不同。\r\n * - iOS:accuracy 是一个 number 类型的值,表示相对于磁北极的偏差。0 表示设备指向磁北,90 表示指向东,180 表示指向南,依此类推。\r\n * - Android:accuracy 是一个 string 类型的枚举值。\r\n */\r\n const accuracy = isAndroid ? evt.absolute ? 'high' : 'medium' : alpha\r\n callbackManager.trigger({\r\n direction: 360 - alpha,\r\n accuracy: accuracy\r\n } as unknown as Parameters<typeof Taro.onCompassChange>[number])\r\n }, 5000)\r\n window.addEventListener(deviceorientationEventName, compassListener, true)\r\n } else {\r\n throw new Error('compass is not supported')\r\n }\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。\r\n */\r\nexport const onCompassChange: typeof Taro.onCompassChange = callback => {\r\n callbackManager.add(callback)\r\n}\r\n\r\n/**\r\n * 取消监听罗盘数据变化事件,参数为空,则取消所有的事件监听。\r\n */\r\nexport const offCompassChange: typeof Taro.offCompassChange = callback => {\r\n callbackManager.remove(callback)\r\n}\r\n"],"names":[],"mappings":"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"}
|
package/dist/api/device/index.js
CHANGED
|
@@ -20,5 +20,5 @@ export { makePhoneCall } from './phone.js';
|
|
|
20
20
|
export { scanCode } from './scan.js';
|
|
21
21
|
export { getScreenBrightness, offUserCaptureScreen, onUserCaptureScreen, setKeepScreenOn, setScreenBrightness, setVisualEffectOnCapture } from './screen.js';
|
|
22
22
|
export { vibrateLong, vibrateShort } from './vibrate.js';
|
|
23
|
-
export { connectWifi, getConnectedWifi, getWifiList, offGetWifiList, offWifiConnected, onGetWifiList, onWifiConnected, onWifiConnectedWithPartialInfo, setWifiList, startWifi, stopWifi } from './wifi.js';
|
|
23
|
+
export { connectWifi, getConnectedWifi, getWifiList, offGetWifiList, offWifiConnected, offWifiConnectedWithPartialInfo, onGetWifiList, onWifiConnected, onWifiConnectedWithPartialInfo, setWifiList, startWifi, stopWifi } from './wifi.js';
|
|
24
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import '
|
|
1
|
+
import { throttle } from 'lodash-es';
|
|
2
2
|
import { CallbackManager, MethodHandler } from '../../utils/handler.js';
|
|
3
|
-
import { throttle } from '../../utils/lodash.js';
|
|
4
3
|
|
|
5
4
|
const callbackManager = new CallbackManager();
|
|
6
5
|
let deviceMotionListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion.js","sources":["../../../src/api/device/motion.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\
|
|
1
|
+
{"version":3,"file":"motion.js","sources":["../../../src/api/device/motion.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\nimport { throttle } from 'lodash-es'\r\n\r\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\r\n\r\nconst callbackManager = new CallbackManager()\r\nlet deviceMotionListener\r\n\r\nconst INTERVAL_MAP = {\r\n game: {\r\n interval: 20,\r\n frequency: 50\r\n },\r\n ui: {\r\n interval: 60,\r\n frequency: 16.67\r\n },\r\n normal: {\r\n interval: 200,\r\n frequency: 5\r\n }\r\n}\r\n\r\n/**\r\n * 停止监听设备方向的变化。\r\n */\r\nexport const stopDeviceMotionListening: typeof Taro.stopDeviceMotionListening = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'stopDeviceMotionListening', success, fail, complete })\r\n try {\r\n window.removeEventListener('deviceorientation', deviceMotionListener, true)\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 开始监听设备方向的变化。\r\n */\r\nexport const startDeviceMotionListening: typeof Taro.startDeviceMotionListening = ({ interval = 'normal', success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'startDeviceMotionListening', success, fail, complete })\r\n try {\r\n const intervalObj = INTERVAL_MAP[interval]\r\n if (window.DeviceOrientationEvent) {\r\n if (deviceMotionListener) {\r\n stopDeviceMotionListening()\r\n }\r\n deviceMotionListener = throttle((evt: DeviceOrientationEvent) => {\r\n callbackManager.trigger({\r\n alpha: evt.alpha,\r\n beta: evt.beta,\r\n gamma: evt.gamma\r\n })\r\n }, intervalObj.interval)\r\n window.addEventListener('deviceorientation', deviceMotionListener, true)\r\n } else {\r\n throw new Error('deviceMotion is not supported')\r\n }\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 监听设备方向变化事件。\r\n */\r\nexport const onDeviceMotionChange: typeof Taro.onDeviceMotionChange = callback => {\r\n callbackManager.add(callback)\r\n}\r\n\r\n/**\r\n * 取消监听设备方向变化事件,参数为空,则取消所有的事件监听。\r\n */\r\nexport const offDeviceMotionChange: typeof Taro.offDeviceMotionChange = callback => {\r\n callbackManager.remove(callback)\r\n}\r\n"],"names":[],"mappings":";;;AAKA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;AAC7C,IAAI,oBAAoB,CAAA;AAExB,MAAM,YAAY,GAAG;AACnB,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,SAAS,EAAE,EAAE;AACd,KAAA;AACD,IAAA,EAAE,EAAE;AACF,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,SAAS,EAAE,CAAC;AACb,KAAA;CACF,CAAA;AAED;;AAEG;AACI,MAAM,yBAAyB,GAA0C,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAI;AACnH,IAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAChG,IAAI;QACF,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;AAC3E,QAAA,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;AACxB,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAC1C,KAAA;AACH,EAAC;AAED;;AAEG;AACU,MAAA,0BAA0B,GAA2C,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAI;AAC1I,IAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACjG,IAAI;AACF,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,MAAM,CAAC,sBAAsB,EAAE;AACjC,YAAA,IAAI,oBAAoB,EAAE;AACxB,gBAAA,yBAAyB,EAAE,CAAA;AAC5B,aAAA;AACD,YAAA,oBAAoB,GAAG,QAAQ,CAAC,CAAC,GAA2B,KAAI;gBAC9D,eAAe,CAAC,OAAO,CAAC;oBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,GAAG,CAAC,KAAK;AACjB,iBAAA,CAAC,CAAA;AACJ,aAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;YACxB,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;AACzE,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;AACjD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;AACxB,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAC1C,KAAA;AACH,EAAC;AAED;;AAEG;AACU,MAAA,oBAAoB,GAAqC,QAAQ,IAAG;AAC/E,IAAA,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,EAAC;AAED;;AAEG;AACU,MAAA,qBAAqB,GAAsC,QAAQ,IAAG;AACjF,IAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAClC;;;;"}
|
|
@@ -69,7 +69,7 @@ const onNetworkStatusChange = callback => {
|
|
|
69
69
|
connection.addEventListener('change', networkStatusListener);
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
|
-
const offNetworkWeakChange = temporarilyNotSupport('
|
|
72
|
+
const offNetworkWeakChange = temporarilyNotSupport('offNetworkWeakChange');
|
|
73
73
|
const offNetworkStatusChange = callback => {
|
|
74
74
|
networkStatusManager.remove(callback);
|
|
75
75
|
const connection = getConnection();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sources":["../../../src/api/device/network.ts"],"sourcesContent":["import Taro from '@tarojs/api'\n\nimport { temporarilyNotSupport } from '../../utils'\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\n\nfunction getConnection () {\n // @ts-ignore\n return navigator.connection || navigator.mozConnection || navigator.webkitConnection || navigator.msConnection\n}\n\nexport const getNetworkType: typeof Taro.getNetworkType = (options = {}) => {\n const connection = getConnection()\n const { success, fail, complete } = options\n const handle = new MethodHandler<Taro.getNetworkType.SuccessCallbackResult>({ name: 'getNetworkType', success, fail, complete })\n\n let networkType: keyof Taro.getNetworkType.NetworkType = 'unknown'\n // 浏览器不支持获取网络状态\n if (!connection) {\n return handle.success({ networkType })\n }\n\n // Supports only the navigator.connection.type value which doesn't match the latest spec.\n // https://www.davidbcalhoun.com/2010/using-navigator-connection-android/\n if (!isNaN(Number(connection.type))) {\n switch (connection.type) {\n // @ts-ignore\n case connection.WIFI:\n networkType = 'wifi'\n break\n // @ts-ignore\n case connection.CELL_3G:\n networkType = '3g'\n break\n // @ts-ignore\n case connection.CELL_2G:\n networkType = '2g'\n break\n default:\n // ETHERNET, UNKNOWN\n networkType = 'unknown'\n }\n } else if (connection.type) {\n // @ts-ignore\n networkType = connection.type // Only supports the type value.\n // @ts-ignore\n } else if (connection.effectiveType) {\n // @ts-ignore\n networkType = connection.effectiveType\n }\n\n return handle.success({ networkType })\n}\n\nconst networkStatusManager = new CallbackManager()\n\nconst networkStatusListener = async () => {\n const { networkType } = await getNetworkType()\n const isConnected = networkType !== 'none'\n const obj = { isConnected, networkType }\n networkStatusManager.trigger(obj)\n}\n\n/**\n * 在最近的八次网络请求中, 出现下列三个现象之一则判定弱网。\n * - 出现三次以上连接超时\n * - 出现三次 rtt 超过 400\n * - 出现三次以上的丢包\n * > 弱网事件通知规则是: 弱网状态变化时立即通知, 状态不变时 30s 内最多通知一次。\n */\nexport const onNetworkWeakChange = temporarilyNotSupport('onNetworkWeakChange')\n\nexport const onNetworkStatusChange: typeof Taro.onNetworkStatusChange = callback => {\n networkStatusManager.add(callback)\n const connection = getConnection()\n if (connection && networkStatusManager.count() === 1) {\n connection.addEventListener('change', networkStatusListener)\n }\n}\n\nexport const offNetworkWeakChange = temporarilyNotSupport('
|
|
1
|
+
{"version":3,"file":"network.js","sources":["../../../src/api/device/network.ts"],"sourcesContent":["import Taro from '@tarojs/api'\n\nimport { temporarilyNotSupport } from '../../utils'\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\n\nfunction getConnection () {\n // @ts-ignore\n return navigator.connection || navigator.mozConnection || navigator.webkitConnection || navigator.msConnection\n}\n\nexport const getNetworkType: typeof Taro.getNetworkType = (options = {}) => {\n const connection = getConnection()\n const { success, fail, complete } = options\n const handle = new MethodHandler<Taro.getNetworkType.SuccessCallbackResult>({ name: 'getNetworkType', success, fail, complete })\n\n let networkType: keyof Taro.getNetworkType.NetworkType = 'unknown'\n // 浏览器不支持获取网络状态\n if (!connection) {\n return handle.success({ networkType })\n }\n\n // Supports only the navigator.connection.type value which doesn't match the latest spec.\n // https://www.davidbcalhoun.com/2010/using-navigator-connection-android/\n if (!isNaN(Number(connection.type))) {\n switch (connection.type) {\n // @ts-ignore\n case connection.WIFI:\n networkType = 'wifi'\n break\n // @ts-ignore\n case connection.CELL_3G:\n networkType = '3g'\n break\n // @ts-ignore\n case connection.CELL_2G:\n networkType = '2g'\n break\n default:\n // ETHERNET, UNKNOWN\n networkType = 'unknown'\n }\n } else if (connection.type) {\n // @ts-ignore\n networkType = connection.type // Only supports the type value.\n // @ts-ignore\n } else if (connection.effectiveType) {\n // @ts-ignore\n networkType = connection.effectiveType\n }\n\n return handle.success({ networkType })\n}\n\nconst networkStatusManager = new CallbackManager()\n\nconst networkStatusListener = async () => {\n const { networkType } = await getNetworkType()\n const isConnected = networkType !== 'none'\n const obj = { isConnected, networkType }\n networkStatusManager.trigger(obj)\n}\n\n/**\n * 在最近的八次网络请求中, 出现下列三个现象之一则判定弱网。\n * - 出现三次以上连接超时\n * - 出现三次 rtt 超过 400\n * - 出现三次以上的丢包\n * > 弱网事件通知规则是: 弱网状态变化时立即通知, 状态不变时 30s 内最多通知一次。\n */\nexport const onNetworkWeakChange = temporarilyNotSupport('onNetworkWeakChange')\n\nexport const onNetworkStatusChange: typeof Taro.onNetworkStatusChange = callback => {\n networkStatusManager.add(callback)\n const connection = getConnection()\n if (connection && networkStatusManager.count() === 1) {\n connection.addEventListener('change', networkStatusListener)\n }\n}\n\nexport const offNetworkWeakChange = temporarilyNotSupport('offNetworkWeakChange')\n\nexport const offNetworkStatusChange: typeof Taro.offNetworkStatusChange = callback => {\n networkStatusManager.remove(callback)\n const connection = getConnection()\n if (connection && networkStatusManager.count() === 0) {\n connection.removeEventListener('change', networkStatusListener)\n }\n}\n\nexport const getLocalIPAddress = temporarilyNotSupport('getLocalIPAddress')\n"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,10 @@ declare const setWifiList: (option?: {}, ...args: any[]) => Promise<Partial<Taro
|
|
|
4
4
|
declare const onWifiConnectedWithPartialInfo: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
5
5
|
declare const onWifiConnected: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
6
6
|
declare const onGetWifiList: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
7
|
+
declare const offWifiConnectedWithPartialInfo: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
7
8
|
declare const offWifiConnected: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
8
9
|
declare const offGetWifiList: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
9
10
|
declare const getWifiList: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
10
11
|
declare const getConnectedWifi: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
11
12
|
declare const connectWifi: (option?: {}, ...args: any[]) => Promise<Partial<TaroGeneral.CallbackResult> & Record<string, unknown> & TaroGeneral.CallbackResult>;
|
|
12
|
-
export { stopWifi, startWifi, setWifiList, onWifiConnectedWithPartialInfo, onWifiConnected, onGetWifiList, offWifiConnected, offGetWifiList, getWifiList, getConnectedWifi, connectWifi };
|
|
13
|
+
export { stopWifi, startWifi, setWifiList, onWifiConnectedWithPartialInfo, onWifiConnected, onGetWifiList, offWifiConnectedWithPartialInfo, offWifiConnected, offGetWifiList, getWifiList, getConnectedWifi, connectWifi };
|
package/dist/api/device/wifi.js
CHANGED
|
@@ -7,11 +7,12 @@ const setWifiList = temporarilyNotSupport('setWifiList');
|
|
|
7
7
|
const onWifiConnectedWithPartialInfo = temporarilyNotSupport('onWifiConnectedWithPartialInfo');
|
|
8
8
|
const onWifiConnected = temporarilyNotSupport('onWifiConnected');
|
|
9
9
|
const onGetWifiList = temporarilyNotSupport('onGetWifiList');
|
|
10
|
+
const offWifiConnectedWithPartialInfo = temporarilyNotSupport('offWifiConnectedWithPartialInfo');
|
|
10
11
|
const offWifiConnected = temporarilyNotSupport('offWifiConnected');
|
|
11
12
|
const offGetWifiList = temporarilyNotSupport('offGetWifiList');
|
|
12
13
|
const getWifiList = temporarilyNotSupport('getWifiList');
|
|
13
14
|
const getConnectedWifi = temporarilyNotSupport('getConnectedWifi');
|
|
14
15
|
const connectWifi = temporarilyNotSupport('connectWifi');
|
|
15
16
|
|
|
16
|
-
export { connectWifi, getConnectedWifi, getWifiList, offGetWifiList, offWifiConnected, onGetWifiList, onWifiConnected, onWifiConnectedWithPartialInfo, setWifiList, startWifi, stopWifi };
|
|
17
|
+
export { connectWifi, getConnectedWifi, getWifiList, offGetWifiList, offWifiConnected, offWifiConnectedWithPartialInfo, onGetWifiList, onWifiConnected, onWifiConnectedWithPartialInfo, setWifiList, startWifi, stopWifi };
|
|
17
18
|
//# sourceMappingURL=wifi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wifi.js","sources":["../../../src/api/device/wifi.ts"],"sourcesContent":["import { temporarilyNotSupport } from '../../utils'\n\n// Wi-Fi\nexport const stopWifi = temporarilyNotSupport('stopWifi')\nexport const startWifi = temporarilyNotSupport('startWifi')\nexport const setWifiList = temporarilyNotSupport('setWifiList')\nexport const onWifiConnectedWithPartialInfo = temporarilyNotSupport('onWifiConnectedWithPartialInfo')\nexport const onWifiConnected = temporarilyNotSupport('onWifiConnected')\nexport const onGetWifiList = temporarilyNotSupport('onGetWifiList')\nexport const offWifiConnected = temporarilyNotSupport('offWifiConnected')\nexport const offGetWifiList = temporarilyNotSupport('offGetWifiList')\nexport const getWifiList = temporarilyNotSupport('getWifiList')\nexport const getConnectedWifi = temporarilyNotSupport('getConnectedWifi')\nexport const connectWifi = temporarilyNotSupport('connectWifi')\n"],"names":[],"mappings":";;AAEA;MACa,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAC;MAC5C,SAAS,GAAG,qBAAqB,CAAC,WAAW,EAAC;MAC9C,WAAW,GAAG,qBAAqB,CAAC,aAAa,EAAC;MAClD,8BAA8B,GAAG,qBAAqB,CAAC,gCAAgC,EAAC;MACxF,eAAe,GAAG,qBAAqB,CAAC,iBAAiB,EAAC;MAC1D,aAAa,GAAG,qBAAqB,CAAC,eAAe,EAAC;MACtD,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,EAAC;MAC5D,cAAc,GAAG,qBAAqB,CAAC,gBAAgB,EAAC;MACxD,WAAW,GAAG,qBAAqB,CAAC,aAAa,EAAC;MAClD,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,EAAC;MAC5D,WAAW,GAAG,qBAAqB,CAAC,aAAa;;;;"}
|
|
1
|
+
{"version":3,"file":"wifi.js","sources":["../../../src/api/device/wifi.ts"],"sourcesContent":["import { temporarilyNotSupport } from '../../utils'\n\n// Wi-Fi\nexport const stopWifi = temporarilyNotSupport('stopWifi')\nexport const startWifi = temporarilyNotSupport('startWifi')\nexport const setWifiList = temporarilyNotSupport('setWifiList')\nexport const onWifiConnectedWithPartialInfo = temporarilyNotSupport('onWifiConnectedWithPartialInfo')\nexport const onWifiConnected = temporarilyNotSupport('onWifiConnected')\nexport const onGetWifiList = temporarilyNotSupport('onGetWifiList')\nexport const offWifiConnectedWithPartialInfo = temporarilyNotSupport('offWifiConnectedWithPartialInfo')\nexport const offWifiConnected = temporarilyNotSupport('offWifiConnected')\nexport const offGetWifiList = temporarilyNotSupport('offGetWifiList')\nexport const getWifiList = temporarilyNotSupport('getWifiList')\nexport const getConnectedWifi = temporarilyNotSupport('getConnectedWifi')\nexport const connectWifi = temporarilyNotSupport('connectWifi')\n"],"names":[],"mappings":";;AAEA;MACa,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAC;MAC5C,SAAS,GAAG,qBAAqB,CAAC,WAAW,EAAC;MAC9C,WAAW,GAAG,qBAAqB,CAAC,aAAa,EAAC;MAClD,8BAA8B,GAAG,qBAAqB,CAAC,gCAAgC,EAAC;MACxF,eAAe,GAAG,qBAAqB,CAAC,iBAAiB,EAAC;MAC1D,aAAa,GAAG,qBAAqB,CAAC,eAAe,EAAC;MACtD,+BAA+B,GAAG,qBAAqB,CAAC,iCAAiC,EAAC;MAC1F,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,EAAC;MAC5D,cAAc,GAAG,qBAAqB,CAAC,gBAAgB,EAAC;MACxD,WAAW,GAAG,qBAAqB,CAAC,aAAa,EAAC;MAClD,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,EAAC;MAC5D,WAAW,GAAG,qBAAqB,CAAC,aAAa;;;;"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./navigate/index.js";
|
|
|
15
15
|
export * from "./network/index.js";
|
|
16
16
|
export * from "./open-api/index.js";
|
|
17
17
|
export * from "./payment/index.js";
|
|
18
|
+
export * from "./qq/index.js";
|
|
18
19
|
export * from "./route/index.js";
|
|
19
20
|
export * from "./share/index.js";
|
|
20
21
|
export * from "./storage/index.js";
|
package/dist/api/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { createInterstitialAd, createRewardedVideoAd } from './ad/index.js';
|
|
2
2
|
import './ai/index.js';
|
|
3
3
|
export { getOpenUserInfo } from './alipay/index.js';
|
|
4
|
-
export { arrayBufferToBase64, base64ToArrayBuffer,
|
|
4
|
+
export { arrayBufferToBase64, base64ToArrayBuffer, env } from './base/index.js';
|
|
5
5
|
export { createOffscreenCanvas } from './canvas/index.js';
|
|
6
6
|
export { cloud } from './cloud/index.js';
|
|
7
7
|
export { getExptInfoSync, reportAnalytics, reportEvent, reportMonitor } from './data-analysis/index.js';
|
|
@@ -15,6 +15,7 @@ export { exitMiniProgram, navigateBackMiniProgram, navigateToMiniProgram, openBu
|
|
|
15
15
|
import './network/index.js';
|
|
16
16
|
import './open-api/index.js';
|
|
17
17
|
export { requestOrderPayment, requestPayment } from './payment/index.js';
|
|
18
|
+
export { openQzonePublish } from './qq/index.js';
|
|
18
19
|
import './route/index.js';
|
|
19
20
|
export { authPrivateMessage, getShareInfo, hideShareMenu, offCopyUrl, onCopyUrl, shareFileMessage, shareVideoMessage, showShareImageMenu, showShareMenu, updateShareMenu } from './share/index.js';
|
|
20
21
|
export { clearStorage, clearStorageSync, createBufferURL, getStorage, getStorageInfo, getStorageInfoSync, getStorageSync, removeStorage, removeStorageSync, revokeBufferURL, setStorage, setStorageSync } from './storage/index.js';
|
|
@@ -57,7 +58,7 @@ export { makePhoneCall } from './device/phone.js';
|
|
|
57
58
|
export { scanCode } from './device/scan.js';
|
|
58
59
|
export { getScreenBrightness, offUserCaptureScreen, onUserCaptureScreen, setKeepScreenOn, setScreenBrightness, setVisualEffectOnCapture } from './device/screen.js';
|
|
59
60
|
export { vibrateLong, vibrateShort } from './device/vibrate.js';
|
|
60
|
-
export { connectWifi, getConnectedWifi, getWifiList, offGetWifiList, offWifiConnected, onGetWifiList, onWifiConnected, onWifiConnectedWithPartialInfo, setWifiList, startWifi, stopWifi } from './device/wifi.js';
|
|
61
|
+
export { connectWifi, getConnectedWifi, getWifiList, offGetWifiList, offWifiConnected, offWifiConnectedWithPartialInfo, onGetWifiList, onWifiConnected, onWifiConnectedWithPartialInfo, setWifiList, startWifi, stopWifi } from './device/wifi.js';
|
|
61
62
|
export { getCurrentPages, navigateBack, navigateTo, reLaunch, redirectTo, switchTab } from '@tarojs/router';
|
|
62
63
|
export { getLocation } from './location/getLocation.js';
|
|
63
64
|
export { chooseLocation } from './location/chooseLocation.js';
|
|
@@ -67,7 +68,7 @@ export { createCameraContext } from './media/camera.js';
|
|
|
67
68
|
export { getImageInfo } from './media/image/getImageInfo.js';
|
|
68
69
|
export { previewImage } from './media/image/previewImage.js';
|
|
69
70
|
export { chooseImage } from './media/image/chooseImage.js';
|
|
70
|
-
export { chooseMessageFile, compressImage, previewMedia, saveImageToPhotosAlbum } from './media/image/index.js';
|
|
71
|
+
export { chooseMessageFile, compressImage, cropImage, editImage, previewMedia, saveImageToPhotosAlbum } from './media/image/index.js';
|
|
71
72
|
export { createLivePlayerContext, createLivePusherContext } from './media/live.js';
|
|
72
73
|
export { createMapContext } from './media/map.js';
|
|
73
74
|
export { createMediaRecorder } from './media/media-recorder.js';
|
|
@@ -98,7 +99,7 @@ export { checkSession, login, pluginLogin } from './open-api/login.js';
|
|
|
98
99
|
export { showRedPackage } from './open-api/red-package.js';
|
|
99
100
|
export { getSetting, openSetting } from './open-api/settings.js';
|
|
100
101
|
export { checkIsSoterEnrolledInDevice, checkIsSupportSoterAuthentication, startSoterAuthentication } from './open-api/soter.js';
|
|
101
|
-
export { requestSubscribeMessage } from './open-api/subscribe-message.js';
|
|
102
|
+
export { requestSubscribeDeviceMessage, requestSubscribeMessage } from './open-api/subscribe-message.js';
|
|
102
103
|
export { getUserInfo, getUserProfile } from './open-api/user-info.js';
|
|
103
104
|
export { getWeRunData, shareToWeRun } from './open-api/werun.js';
|
|
104
105
|
export { getBackgroundFetchData, getBackgroundFetchToken, onBackgroundFetchData, setBackgroundFetchToken } from './storage/background-fetch.js';
|
|
@@ -113,5 +114,5 @@ export { startPullDownRefresh, stopPullDownRefresh } from './ui/pull-down-refres
|
|
|
113
114
|
export { pageScrollTo } from './ui/scroll/index.js';
|
|
114
115
|
export { setTopBarText } from './ui/sticky.js';
|
|
115
116
|
export { hideTabBar, hideTabBarRedDot, initTabBarApis, removeTabBarBadge, setTabBarBadge, setTabBarItem, setTabBarStyle, showTabBar, showTabBarRedDot } from './ui/tab-bar.js';
|
|
116
|
-
export { offWindowResize, onWindowResize, setWindowSize } from './ui/window.js';
|
|
117
|
+
export { checkIsPictureInPictureActive, offWindowResize, onWindowResize, setWindowSize } from './ui/window.js';
|
|
117
118
|
//# sourceMappingURL=index.js.map
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,11 +3,13 @@ import './style.scss.js';
|
|
|
3
3
|
import { stringify } from 'query-string';
|
|
4
4
|
import { MethodHandler } from '../../utils/handler.js';
|
|
5
5
|
|
|
6
|
+
let container = null;
|
|
6
7
|
function createLocationChooser(handler, key = LOCATION_APIKEY, mapOpt = {}) {
|
|
7
8
|
var _a, _b, _c;
|
|
8
9
|
const { latitude, longitude } = mapOpt, opts = __rest(mapOpt, ["latitude", "longitude"]);
|
|
9
10
|
const query = Object.assign({ key, type: 1, coord: ((_a = mapOpt.coord) !== null && _a !== void 0 ? _a : [latitude, longitude].every(e => Number(e) >= 0)) ? `${latitude},${longitude}` : undefined, referer: 'myapp' }, opts);
|
|
10
|
-
|
|
11
|
+
if (!container) {
|
|
12
|
+
const html = `
|
|
11
13
|
<div class='taro_choose_location'>
|
|
12
14
|
<div class='taro_choose_location_bar'>
|
|
13
15
|
<div class='taro_choose_location_back'></div>
|
|
@@ -17,8 +19,9 @@ function createLocationChooser(handler, key = LOCATION_APIKEY, mapOpt = {}) {
|
|
|
17
19
|
<iframe class='taro_choose_location_frame' frameborder='0' src="https://apis.map.qq.com/tools/locpicker?${stringify(query, { arrayFormat: 'comma', skipNull: true })}" />
|
|
18
20
|
</div>
|
|
19
21
|
`;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
container = document.createElement('div');
|
|
23
|
+
container.innerHTML = html;
|
|
24
|
+
}
|
|
22
25
|
const main = container.querySelector('.taro_choose_location');
|
|
23
26
|
function show() {
|
|
24
27
|
setTimeout(() => {
|
|
@@ -37,7 +40,8 @@ function createLocationChooser(handler, key = LOCATION_APIKEY, mapOpt = {}) {
|
|
|
37
40
|
handler();
|
|
38
41
|
}
|
|
39
42
|
function remove() {
|
|
40
|
-
container.remove();
|
|
43
|
+
container === null || container === void 0 ? void 0 : container.remove();
|
|
44
|
+
container = null;
|
|
41
45
|
window.removeEventListener('popstate', back);
|
|
42
46
|
}
|
|
43
47
|
(_b = container.querySelector('.taro_choose_location_back')) === null || _b === void 0 ? void 0 : _b.addEventListener('click', back);
|
|
@@ -46,7 +50,7 @@ function createLocationChooser(handler, key = LOCATION_APIKEY, mapOpt = {}) {
|
|
|
46
50
|
return {
|
|
47
51
|
show,
|
|
48
52
|
remove,
|
|
49
|
-
container
|
|
53
|
+
container,
|
|
50
54
|
};
|
|
51
55
|
}
|
|
52
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chooseLocation.js","sources":["../../../src/api/location/chooseLocation.ts"],"sourcesContent":["import './style.scss'\r\n\r\nimport Taro from '@tarojs/api'\r\nimport { stringify } from 'query-string'\r\n\r\nimport { MethodHandler } from '../../utils/handler'\r\n\r\nfunction createLocationChooser (handler, key = LOCATION_APIKEY, mapOpt: Taro.chooseLocation.Option['mapOpts'] = {}) {\r\n const { latitude, longitude, ...opts } = mapOpt\r\n const query = {\r\n key,\r\n type: 1,\r\n coord: mapOpt.coord ?? [latitude, longitude].every(e => Number(e) >= 0) ? `${latitude},${longitude}` : undefined,\r\n referer: 'myapp',\r\n ...opts\r\n }\r\n const html = `\r\n<div class='taro_choose_location'>\r\n <div class='taro_choose_location_bar'>\r\n <div class='taro_choose_location_back'></div>\r\n <p class='taro_choose_location_title'>位置</p>\r\n <button class='taro_choose_location_submit'>完成</button>\r\n </div>\r\n <iframe class='taro_choose_location_frame' frameborder='0' src=\"https://apis.map.qq.com/tools/locpicker?${stringify(query, { arrayFormat: 'comma', skipNull: true })}\" />\r\n</div>\r\n`\r\n
|
|
1
|
+
{"version":3,"file":"chooseLocation.js","sources":["../../../src/api/location/chooseLocation.ts"],"sourcesContent":["import './style.scss'\r\n\r\nimport Taro from '@tarojs/api'\r\nimport { stringify } from 'query-string'\r\n\r\nimport { MethodHandler } from '../../utils/handler'\r\n\r\nlet container: HTMLDivElement | null = null\r\nfunction createLocationChooser (handler, key = LOCATION_APIKEY, mapOpt: Taro.chooseLocation.Option['mapOpts'] = {}) {\r\n const { latitude, longitude, ...opts } = mapOpt\r\n const query = {\r\n key,\r\n type: 1,\r\n coord: mapOpt.coord ?? [latitude, longitude].every(e => Number(e) >= 0) ? `${latitude},${longitude}` : undefined,\r\n referer: 'myapp',\r\n ...opts\r\n }\r\n if (!container) {\r\n const html = `\r\n<div class='taro_choose_location'>\r\n <div class='taro_choose_location_bar'>\r\n <div class='taro_choose_location_back'></div>\r\n <p class='taro_choose_location_title'>位置</p>\r\n <button class='taro_choose_location_submit'>完成</button>\r\n </div>\r\n <iframe class='taro_choose_location_frame' frameborder='0' src=\"https://apis.map.qq.com/tools/locpicker?${stringify(query, { arrayFormat: 'comma', skipNull: true })}\" />\r\n</div>\r\n`\r\n container = document.createElement('div')\r\n container.innerHTML = html\r\n }\r\n const main: HTMLDivElement = container.querySelector('.taro_choose_location') as HTMLDivElement\r\n\r\n function show () {\r\n setTimeout(() => {\r\n main.style.top = '0'\r\n })\r\n }\r\n\r\n function hide () {\r\n main.style.top = '100%'\r\n }\r\n\r\n function back () {\r\n hide()\r\n handler({ errMsg: 'cancel' })\r\n }\r\n\r\n function submit () {\r\n hide()\r\n handler()\r\n }\r\n\r\n function remove () {\r\n container?.remove()\r\n container = null\r\n window.removeEventListener('popstate', back)\r\n }\r\n\r\n container.querySelector('.taro_choose_location_back')?.addEventListener('click', back)\r\n container.querySelector('.taro_choose_location_submit')?.addEventListener('click', submit)\r\n\r\n window.addEventListener('popstate', back)\r\n\r\n return {\r\n show,\r\n remove,\r\n container,\r\n }\r\n}\r\n\r\n/**\r\n * 打开地图选择位置。\r\n */\r\nexport const chooseLocation: typeof Taro.chooseLocation = ({ success, fail, complete, mapOpts } = {}) => {\r\n const key = LOCATION_APIKEY\r\n const handle = new MethodHandler({ name: 'chooseLocation', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n const chooseLocation: Partial<Taro.chooseLocation.SuccessCallbackResult> = {}\r\n if (!key) {\r\n console.warn('chooseLocation api 依赖腾讯地图定位api,需要在 defineConstants 中配置 LOCATION_APIKEY')\r\n return handle.fail({\r\n errMsg: 'LOCATION_APIKEY needed'\r\n }, { resolve, reject })\r\n }\r\n\r\n const onMessage = event => {\r\n // 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息\r\n const loc = event.data\r\n\r\n // 防止其他应用也会向该页面 post 信息,需判断 module 是否为'locationPicker'\r\n if (!loc || loc.module !== 'locationPicker') return\r\n\r\n chooseLocation.name = loc.poiname\r\n chooseLocation.address = loc.poiaddress\r\n chooseLocation.latitude = loc.latlng.lat\r\n chooseLocation.longitude = loc.latlng.lng\r\n }\r\n\r\n const chooser = createLocationChooser(res => {\r\n window.removeEventListener('message', onMessage, false)\r\n setTimeout(() => {\r\n chooser.remove()\r\n }, 300)\r\n if (res) {\r\n return handle.fail(res, { resolve, reject })\r\n } else {\r\n if (chooseLocation.latitude && chooseLocation.longitude) {\r\n return handle.success(chooseLocation, { resolve, reject })\r\n } else {\r\n return handle.fail({}, { resolve, reject })\r\n }\r\n }\r\n }, key, mapOpts)\r\n\r\n document.body.appendChild(chooser.container)\r\n\r\n window.addEventListener('message', onMessage, false)\r\n chooser.show()\r\n })\r\n}\r\n"],"names":[],"mappings":"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"}
|