@tarojs/taro-h5 3.3.17 → 3.3.18

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.
Files changed (34) hide show
  1. package/dist/index.cjs.js +1081 -627
  2. package/dist/index.js +1077 -628
  3. package/dist/taroApis.js +1 -1
  4. package/package.json +6 -6
  5. package/src/api/base/system/index.ts +2 -2
  6. package/src/api/canvas/canvasGetImageData.ts +1 -3
  7. package/src/api/canvas/canvasPutImageData.ts +1 -3
  8. package/src/api/canvas/canvasToTempFilePath.ts +1 -3
  9. package/src/api/canvas/createCanvasContext.ts +1 -3
  10. package/src/api/canvas/index.ts +4 -4
  11. package/src/api/cloud/index.ts +1 -1
  12. package/src/api/device/accelerometer.ts +4 -6
  13. package/src/api/device/compass.ts +4 -11
  14. package/src/api/device/motion.ts +4 -11
  15. package/src/api/location/index.ts +1 -1
  16. package/src/api/media/audio/index.ts +12 -6
  17. package/src/api/media/image/chooseImage.ts +1 -3
  18. package/src/api/media/image/getImageInfo.ts +35 -0
  19. package/src/api/media/image/index.ts +3 -3
  20. package/src/api/media/image/previewImage.ts +101 -0
  21. package/src/api/network/download.ts +1 -3
  22. package/src/api/network/upload.ts +1 -3
  23. package/src/api/network/websocket/index.ts +12 -20
  24. package/src/api/network/websocket/socketTask.ts +1 -1
  25. package/src/api/storage/index.ts +58 -70
  26. package/src/api/ui/animation/index.ts +25 -21
  27. package/src/api/ui/interaction/index.ts +28 -24
  28. package/src/api/ui/pull-down-refresh.ts +2 -7
  29. package/src/api/ui/scroll/index.ts +8 -10
  30. package/src/api/utils/index.ts +17 -33
  31. package/src/api/wxml/nodesRef.ts +49 -0
  32. package/src/api/wxml/selectorQuery.ts +2 -48
  33. package/src/api/media/image/getImageInfo.js +0 -74
  34. package/src/api/media/image/previewImage.js +0 -98
@@ -1,5 +1,6 @@
1
1
  import Taro from '@tarojs/api'
2
- import { findDOM, temporarilyNotSupport } from '../utils'
2
+ import { findDOM } from '../utils'
3
+ import { NodesRef } from './nodesRef'
3
4
 
4
5
  type TElement = Document | HTMLElement | Element
5
6
 
@@ -171,50 +172,3 @@ export class SelectorQuery implements Taro.SelectorQuery {
171
172
  this._queueCb.push(callback)
172
173
  }
173
174
  }
174
-
175
- class NodesRef implements Taro.NodesRef {
176
- _component?: TaroGeneral.IAnyObject
177
- _selector: string
178
- _selectorQuery: SelectorQuery
179
- _single: boolean
180
-
181
- constructor (selector: string, querySelectorQuery: SelectorQuery, single: boolean) {
182
- this._component = querySelectorQuery._component
183
- this._selector = selector
184
- this._selectorQuery = querySelectorQuery
185
- this._single = single
186
- }
187
-
188
- context = temporarilyNotSupport('NodesRef.context') as unknown as Taro.NodesRef['context']
189
-
190
- node = temporarilyNotSupport('NodesRef.node') as unknown as Taro.NodesRef['node']
191
-
192
- boundingClientRect (cb) {
193
- const { _selector, _component, _single, _selectorQuery } = this
194
- _selectorQuery._push(_selector, _component, _single, { id: !0, dataset: !0, rect: !0, size: !0 }, cb)
195
- return _selectorQuery
196
- }
197
-
198
- scrollOffset (cb) {
199
- const { _selector, _component, _single, _selectorQuery } = this
200
- _selectorQuery._push(_selector, _component, _single, { id: !0, dataset: !0, scrollOffset: !0 }, cb)
201
- return _selectorQuery
202
- }
203
-
204
- fields (fields, cb) {
205
- const { _selector, _component, _single, _selectorQuery } = this
206
- const { id, dataset, rect, size, scrollOffset, properties = [], computedStyle = [] } = fields
207
-
208
- _selectorQuery._push(_selector, _component, _single, {
209
- id,
210
- dataset,
211
- rect,
212
- size,
213
- scrollOffset,
214
- properties,
215
- computedStyle
216
- }, cb)
217
-
218
- return _selectorQuery
219
- }
220
- }
@@ -1,74 +0,0 @@
1
- // const ORIENTATION_MAP = {
2
- // // up 默认方向(手机横持拍照),对应 Exif 中的 1。或无 orientation 信息。
3
- // 1: 'up',
4
-
5
- // // up-mirrored 同 up,但镜像翻转,对应 Exif 中的 2
6
- // 2: 'up-mirrored',
7
-
8
- // // down 旋转180度,对应 Exif 中的 3
9
- // 3: 'down',
10
-
11
- // // down-mirrored 同 down,但镜像翻转,对应 Exif 中的 4
12
- // 4: 'down-mirrored',
13
-
14
- // // left-mirrored 同 left,但镜像翻转,对应 Exif 中的 5
15
- // 5: 'left-mirrored',
16
-
17
- // // right 顺时针旋转90度,对应 Exif 中的 6
18
- // 6: 'right',
19
-
20
- // // right-mirrored 同 right,但镜像翻转,对应 Exif 中的 7
21
- // 7: 'right-mirrored',
22
-
23
- // // left 逆时针旋转90度,对应 Exif 中的 8
24
- // 8: 'left'
25
- // }
26
-
27
- /**
28
- * @typedef {'up'|'up-mirrored'|'down'|'down-mirrored'|'left-mirrored'|'right'|'right-mirrored'|'left'} Orientation
29
- * @typedef ImageInfo object.success 回调函数的参数
30
- * @property {number} width 图片原始宽度,单位px。不考虑旋转。
31
- * @property {number} height 图片原始高度,单位px。不考虑旋转。
32
- * @property {string} path 图片的本地路径
33
- * @property {Orientation} orientation 拍照时设备方向
34
- * @property {string} type 图片格式
35
- */
36
-
37
- /**
38
- * 获取图片信息。网络图片需先配置download域名才能生效。
39
- * @param {Object} object 参数
40
- * @param {string} object.src 图片的路径,可以是相对路径、临时文件路径、存储文件路径、网络图片路径
41
- * @param {(res: ImageInfo) => void} [object.success] 接口调用成功的回调函数
42
- * @param {function} [object.fail] 接口调用失败的回调函数
43
- * @param {function} [object.complete] 接口调用结束的回调函数(调用成功、失败都会执行)
44
- */
45
- const getImageInfo = ({ src, success, fail, complete } = {}) => {
46
- return new Promise((resolve, reject) => {
47
- const onSuccess = res => {
48
- success && success(res)
49
- complete && complete()
50
- resolve(res)
51
- }
52
- const onError = res => {
53
- fail && fail(res)
54
- complete && complete()
55
- reject(res)
56
- }
57
- const image = new Image()
58
- image.onload = () => {
59
- onSuccess({
60
- errMsg: 'getImageInfo:ok',
61
- width: image.naturalWidth,
62
- height: image.naturalHeight
63
- })
64
- }
65
- image.onerror = e => {
66
- onError({
67
- errMsg: `getImageInfo:fail ${e.message}`
68
- })
69
- }
70
- image.src = src
71
- })
72
- }
73
-
74
- export default getImageInfo
@@ -1,98 +0,0 @@
1
- /**
2
- * previewImage api基于开源的React组件[react-wx-images-viewer](https://github.com/react-ld/react-wx-images-viewer)开发,感谢!
3
- */
4
-
5
- /**
6
- * 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。
7
- * @param {Object} options
8
- * @param {Array.<string>} options.urls 需要预览的图片链接列表。2.2.3 起支持云文件ID。
9
- * @param {string} [options.current=options.urls[0]] urls的第一张 当前显示图片的链接
10
- * @param {function} [options.success] 接口调用成功的回调函数
11
- * @param {function} [options.fail] 接口调用失败的回调函数
12
- * @param {function} [options.complete] 接口调用结束的回调函数(调用成功、失败都会执行)
13
- */
14
- export async function previewImage (options) {
15
- const container = document.createElement('div')
16
- container.classList.add('preview-image')
17
- container.style.cssText = `
18
- position: fixed;
19
- top: 0;
20
- left: 0;
21
- z-index: 1050;
22
- width: 100%;
23
- height: 100%;
24
- overflow: hidden;
25
- outline: 0;
26
- background-color: #111;
27
- `
28
- container.addEventListener('click', () => {
29
- container.remove()
30
- })
31
-
32
- const swiper = document.createElement('taro-swiper-core')
33
- swiper.full = true
34
-
35
- const { urls = [], current = '' } = options
36
-
37
- let children = []
38
- try {
39
- children = await Promise.all(
40
- urls.map(e => loadImage(e, options.fail))
41
- )
42
- } catch (error) {
43
- if (options.fail) {
44
- options.fail(error)
45
- }
46
- }
47
-
48
- for (let i = 0; i < children.length; i++) {
49
- const child = children[i]
50
- swiper.appendChild(child)
51
- }
52
-
53
- const currentIndex = urls.indexOf(current)
54
- swiper.current = currentIndex
55
-
56
- container.appendChild(swiper)
57
- document.body.appendChild(container)
58
-
59
- if (options.success) {
60
- options.success()
61
- }
62
-
63
- if (options.complete) {
64
- options.complete()
65
- }
66
- }
67
-
68
- function loadImage (url, fail) {
69
- return new Promise((resolve) => {
70
- const item = document.createElement('taro-swiper-item-core')
71
- item.style.cssText = `
72
- display: flex;
73
- align-items: start;
74
- justify-content: center;
75
- overflow-y: scroll;
76
- `
77
- const image = new Image()
78
- image.style.maxWidth = '100%'
79
- image.src = url
80
- const div = document.createElement('div')
81
- div.style.cssText = `
82
- display: flex;
83
- align-items: center;
84
- justify-content: center;
85
- max-width: 100%;
86
- min-height: 100%;
87
- `
88
- div.appendChild(image)
89
- item.appendChild(div)
90
- // Note: 等待图片加载完后返回,会导致轮播被卡住
91
- resolve(item)
92
- if (typeof fail === 'function') {
93
- image.addEventListener('error', (err) => {
94
- fail(err)
95
- })
96
- }
97
- })
98
- }