@tarojs/components-react 4.1.6 → 4.1.7-beta.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.
|
@@ -2,9 +2,41 @@ import { __rest } from 'tslib';
|
|
|
2
2
|
import './style/index.css.js';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { createForwardRefComponent } from '../../utils/index.js';
|
|
5
|
-
import { useRef, useState,
|
|
5
|
+
import { useRef, useState, useEffect, useCallback } from '../../utils/hooks.react.js';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
8
|
+
const LEGO_CDN_URL = 'http://ossin.jd.com/swm-plus/h5Tag/tag.js';
|
|
9
|
+
// 检查CDN脚本是否已加载
|
|
10
|
+
const isLegoScriptLoaded = () => {
|
|
11
|
+
return document.querySelector(`script[src="${LEGO_CDN_URL}"]`) !== null;
|
|
12
|
+
};
|
|
13
|
+
// 插入CDN脚本
|
|
14
|
+
const insertLegoScript = () => {
|
|
15
|
+
if (isLegoScriptLoaded()) return;
|
|
16
|
+
const script = document.createElement('script');
|
|
17
|
+
script.type = 'module';
|
|
18
|
+
script.src = LEGO_CDN_URL;
|
|
19
|
+
document.head.appendChild(script);
|
|
20
|
+
};
|
|
21
|
+
// 解析lego协议URL
|
|
22
|
+
const parseLegoUrl = src => {
|
|
23
|
+
if (!src.startsWith('lego://')) return null;
|
|
24
|
+
try {
|
|
25
|
+
// 移除 'lego://' 前缀
|
|
26
|
+
const urlWithoutProtocol = src.substring(7);
|
|
27
|
+
// 分割tagId和参数
|
|
28
|
+
const [tagId, params] = urlWithoutProtocol.split('?');
|
|
29
|
+
// 解析参数
|
|
30
|
+
const text = params ? new URLSearchParams(params).get('text') || '' : '';
|
|
31
|
+
return {
|
|
32
|
+
tagId,
|
|
33
|
+
text
|
|
34
|
+
};
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.warn('Failed to parse lego URL:', src, error);
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
8
40
|
function Image(props) {
|
|
9
41
|
const imgRef = useRef(null);
|
|
10
42
|
const observer = useRef({});
|
|
@@ -19,7 +51,18 @@ function Image(props) {
|
|
|
19
51
|
imgProps,
|
|
20
52
|
forwardedRef
|
|
21
53
|
} = props,
|
|
22
|
-
reset = __rest(props
|
|
54
|
+
reset = __rest(props
|
|
55
|
+
// 检查是否为lego模式
|
|
56
|
+
, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps", "forwardedRef"]);
|
|
57
|
+
// 检查是否为lego模式
|
|
58
|
+
const legoData = parseLegoUrl(src);
|
|
59
|
+
const isLegoMode = legoData !== null;
|
|
60
|
+
// 如果是lego模式,确保CDN脚本已加载
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (isLegoMode) {
|
|
63
|
+
insertLegoScript();
|
|
64
|
+
}
|
|
65
|
+
}, [isLegoMode]);
|
|
23
66
|
const cls = classNames('taro-img', {
|
|
24
67
|
'taro-img__widthfix': mode === 'widthFix'
|
|
25
68
|
}, className);
|
|
@@ -58,6 +101,21 @@ function Image(props) {
|
|
|
58
101
|
(_b = (_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
59
102
|
};
|
|
60
103
|
}, [lazyLoad, src]);
|
|
104
|
+
// 如果是lego模式,渲染canvas-tag
|
|
105
|
+
if (isLegoMode && legoData) {
|
|
106
|
+
return /*#__PURE__*/jsx("div", {
|
|
107
|
+
className: cls,
|
|
108
|
+
style: style,
|
|
109
|
+
ref: forwardedRef,
|
|
110
|
+
...reset,
|
|
111
|
+
children: /*#__PURE__*/jsx("canvas-tag", {
|
|
112
|
+
tagId: legoData.tagId,
|
|
113
|
+
text: legoData.text,
|
|
114
|
+
...imgProps
|
|
115
|
+
})
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// 普通图片模式
|
|
61
119
|
return /*#__PURE__*/jsx("div", {
|
|
62
120
|
className: cls,
|
|
63
121
|
style: style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent } from '../../utils'\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n forwardedRef,\n ...reset\n } = props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default createForwardRefComponent(Image)\n"],"names":["Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent } from '../../utils'\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n}\n\n// CDN脚本URL\nconst LEGO_CDN_URL = 'http://ossin.jd.com/swm-plus/h5Tag/tag.js'\n\n// 检查CDN脚本是否已加载\nconst isLegoScriptLoaded = (): boolean => {\n return document.querySelector(`script[src=\"${LEGO_CDN_URL}\"]`) !== null\n}\n\n// 插入CDN脚本\nconst insertLegoScript = (): void => {\n if (isLegoScriptLoaded()) return\n\n const script = document.createElement('script')\n script.type = 'module'\n script.src = LEGO_CDN_URL\n document.head.appendChild(script)\n}\n\n// 解析lego协议URL\nconst parseLegoUrl = (src: string): { tagId: string, text: string } | null => {\n if (!src.startsWith('lego://')) return null\n\n try {\n // 移除 'lego://' 前缀\n const urlWithoutProtocol = src.substring(7)\n\n // 分割tagId和参数\n const [tagId, params] = urlWithoutProtocol.split('?')\n\n // 解析参数\n const text = params ? new URLSearchParams(params).get('text') || '' : ''\n\n return { tagId, text }\n } catch (error) {\n console.warn('Failed to parse lego URL:', src, error)\n return null\n }\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n forwardedRef,\n ...reset\n } = props\n\n // 检查是否为lego模式\n const legoData = parseLegoUrl(src)\n const isLegoMode = legoData !== null\n\n // 如果是lego模式,确保CDN脚本已加载\n useEffect(() => {\n if (isLegoMode) {\n insertLegoScript()\n }\n }, [isLegoMode])\n\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n // 如果是lego模式,渲染canvas-tag\n if (isLegoMode && legoData) {\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n <canvas-tag\n tagId={legoData.tagId}\n text={legoData.text}\n {...imgProps}\n />\n </div>\n )\n }\n\n // 普通图片模式\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default createForwardRefComponent(Image)\n"],"names":["LEGO_CDN_URL","isLegoScriptLoaded","document","querySelector","insertLegoScript","script","createElement","type","src","head","appendChild","parseLegoUrl","startsWith","urlWithoutProtocol","substring","tagId","params","split","text","URLSearchParams","get","error","console","warn","Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","mode","onError","lazyLoad","imgProps","forwardedRef","reset","__rest","legoData","isLegoMode","useEffect","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_jsx","ref","children","img","createForwardRefComponent"],"mappings":"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"}
|
|
@@ -1,12 +1,46 @@
|
|
|
1
|
-
import { template, use, spread,
|
|
1
|
+
import { template, use, spread, mergeProps, getOwner, effect, style, insert, addEventListener, setAttribute } from 'solid-js/web';
|
|
2
2
|
import { __rest } from 'tslib';
|
|
3
3
|
import './style/index.css.js';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import { createForwardRefComponent } from '../../utils/index.js';
|
|
6
|
-
import { useRef, useState,
|
|
6
|
+
import { useRef, useState, useEffect, useCallback } from '../../utils/hooks.solid.js';
|
|
7
7
|
|
|
8
|
-
var _tmpl$ = /*#__PURE__*/template(`<div
|
|
9
|
-
_tmpl$2 = /*#__PURE__*/template(`<
|
|
8
|
+
var _tmpl$ = /*#__PURE__*/template(`<div><canvas-tag>`, true, false, false),
|
|
9
|
+
_tmpl$2 = /*#__PURE__*/template(`<div>`),
|
|
10
|
+
_tmpl$3 = /*#__PURE__*/template(`<img>`);
|
|
11
|
+
// CDN脚本URL
|
|
12
|
+
const LEGO_CDN_URL = 'http://ossin.jd.com/swm-plus/h5Tag/tag.js';
|
|
13
|
+
// 检查CDN脚本是否已加载
|
|
14
|
+
const isLegoScriptLoaded = () => {
|
|
15
|
+
return document.querySelector(`script[src="${LEGO_CDN_URL}"]`) !== null;
|
|
16
|
+
};
|
|
17
|
+
// 插入CDN脚本
|
|
18
|
+
const insertLegoScript = () => {
|
|
19
|
+
if (isLegoScriptLoaded()) return;
|
|
20
|
+
const script = document.createElement('script');
|
|
21
|
+
script.type = 'module';
|
|
22
|
+
script.src = LEGO_CDN_URL;
|
|
23
|
+
document.head.appendChild(script);
|
|
24
|
+
};
|
|
25
|
+
// 解析lego协议URL
|
|
26
|
+
const parseLegoUrl = src => {
|
|
27
|
+
if (!src.startsWith('lego://')) return null;
|
|
28
|
+
try {
|
|
29
|
+
// 移除 'lego://' 前缀
|
|
30
|
+
const urlWithoutProtocol = src.substring(7);
|
|
31
|
+
// 分割tagId和参数
|
|
32
|
+
const [tagId, params] = urlWithoutProtocol.split('?');
|
|
33
|
+
// 解析参数
|
|
34
|
+
const text = params ? new URLSearchParams(params).get('text') || '' : '';
|
|
35
|
+
return {
|
|
36
|
+
tagId,
|
|
37
|
+
text
|
|
38
|
+
};
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.warn('Failed to parse lego URL:', src, error);
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
10
44
|
function Image(props) {
|
|
11
45
|
const imgRef = useRef(null);
|
|
12
46
|
const observer = useRef({});
|
|
@@ -21,7 +55,18 @@ function Image(props) {
|
|
|
21
55
|
imgProps,
|
|
22
56
|
forwardedRef
|
|
23
57
|
} = props,
|
|
24
|
-
reset = __rest(props
|
|
58
|
+
reset = __rest(props
|
|
59
|
+
// 检查是否为lego模式
|
|
60
|
+
, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps", "forwardedRef"]);
|
|
61
|
+
// 检查是否为lego模式
|
|
62
|
+
const legoData = parseLegoUrl(src);
|
|
63
|
+
const isLegoMode = legoData !== null;
|
|
64
|
+
// 如果是lego模式,确保CDN脚本已加载
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (isLegoMode) {
|
|
67
|
+
insertLegoScript();
|
|
68
|
+
}
|
|
69
|
+
}, [isLegoMode]);
|
|
25
70
|
const cls = classNames('taro-img', {
|
|
26
71
|
'taro-img__widthfix': mode === 'widthFix'
|
|
27
72
|
}, className);
|
|
@@ -60,32 +105,54 @@ function Image(props) {
|
|
|
60
105
|
(_b = (_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
61
106
|
};
|
|
62
107
|
}, [lazyLoad, src]);
|
|
108
|
+
// 如果是lego模式,渲染canvas-tag
|
|
109
|
+
if (isLegoMode && legoData) {
|
|
110
|
+
return (() => {
|
|
111
|
+
var _el$ = _tmpl$(),
|
|
112
|
+
_el$2 = _el$.firstChild;
|
|
113
|
+
use(forwardedRef, _el$);
|
|
114
|
+
_el$.className = cls;
|
|
115
|
+
spread(_el$, reset, false, true);
|
|
116
|
+
spread(_el$2, mergeProps({
|
|
117
|
+
get tagId() {
|
|
118
|
+
return legoData.tagId;
|
|
119
|
+
},
|
|
120
|
+
get text() {
|
|
121
|
+
return legoData.text;
|
|
122
|
+
}
|
|
123
|
+
}, imgProps), false, false);
|
|
124
|
+
_el$2._$owner = getOwner();
|
|
125
|
+
effect(_$p => style(_el$, style$1, _$p));
|
|
126
|
+
return _el$;
|
|
127
|
+
})();
|
|
128
|
+
}
|
|
129
|
+
// 普通图片模式
|
|
63
130
|
return (() => {
|
|
64
|
-
var _el$ = _tmpl$();
|
|
65
|
-
use(forwardedRef, _el$);
|
|
66
|
-
_el
|
|
67
|
-
spread(_el
|
|
68
|
-
insert(_el
|
|
69
|
-
var _el$
|
|
70
|
-
addEventListener(_el$
|
|
71
|
-
addEventListener(_el$
|
|
72
|
-
use(img => imgRef.current = img, _el$
|
|
73
|
-
_el$
|
|
74
|
-
setAttribute(_el$
|
|
75
|
-
spread(_el$
|
|
76
|
-
return _el$
|
|
131
|
+
var _el$3 = _tmpl$2();
|
|
132
|
+
use(forwardedRef, _el$3);
|
|
133
|
+
_el$3.className = cls;
|
|
134
|
+
spread(_el$3, reset, false, true);
|
|
135
|
+
insert(_el$3, lazyLoad ? (() => {
|
|
136
|
+
var _el$4 = _tmpl$3();
|
|
137
|
+
addEventListener(_el$4, "error", onError);
|
|
138
|
+
addEventListener(_el$4, "load", imageOnLoad);
|
|
139
|
+
use(img => imgRef.current = img, _el$4);
|
|
140
|
+
_el$4.className = imgCls;
|
|
141
|
+
setAttribute(_el$4, "data-src", src);
|
|
142
|
+
spread(_el$4, imgProps, false, false);
|
|
143
|
+
return _el$4;
|
|
77
144
|
})() : (() => {
|
|
78
|
-
var _el$
|
|
79
|
-
addEventListener(_el$
|
|
80
|
-
addEventListener(_el$
|
|
81
|
-
use(img => imgRef.current = img, _el$
|
|
82
|
-
_el$
|
|
83
|
-
setAttribute(_el$
|
|
84
|
-
spread(_el$
|
|
85
|
-
return _el$
|
|
145
|
+
var _el$5 = _tmpl$3();
|
|
146
|
+
addEventListener(_el$5, "error", onError);
|
|
147
|
+
addEventListener(_el$5, "load", imageOnLoad);
|
|
148
|
+
use(img => imgRef.current = img, _el$5);
|
|
149
|
+
_el$5.className = imgCls;
|
|
150
|
+
setAttribute(_el$5, "src", src);
|
|
151
|
+
spread(_el$5, imgProps, false, false);
|
|
152
|
+
return _el$5;
|
|
86
153
|
})());
|
|
87
|
-
effect(_$p => style(_el
|
|
88
|
-
return _el
|
|
154
|
+
effect(_$p => style(_el$3, style$1, _$p));
|
|
155
|
+
return _el$3;
|
|
89
156
|
})();
|
|
90
157
|
}
|
|
91
158
|
var index = createForwardRefComponent(Image);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent } from '../../utils'\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n forwardedRef,\n ...reset\n } = props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default createForwardRefComponent(Image)\n"],"names":["Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","forwardedRef","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","useEffect","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_el$","_tmpl$","_$use","_$spread","_$insert","_el$2","_tmpl$2","_$addEventListener","img","_$setAttribute","_el$3","_$effect","_$p","_$style","createForwardRefComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent } from '../../utils'\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n}\n\n// CDN脚本URL\nconst LEGO_CDN_URL = 'http://ossin.jd.com/swm-plus/h5Tag/tag.js'\n\n// 检查CDN脚本是否已加载\nconst isLegoScriptLoaded = (): boolean => {\n return document.querySelector(`script[src=\"${LEGO_CDN_URL}\"]`) !== null\n}\n\n// 插入CDN脚本\nconst insertLegoScript = (): void => {\n if (isLegoScriptLoaded()) return\n\n const script = document.createElement('script')\n script.type = 'module'\n script.src = LEGO_CDN_URL\n document.head.appendChild(script)\n}\n\n// 解析lego协议URL\nconst parseLegoUrl = (src: string): { tagId: string, text: string } | null => {\n if (!src.startsWith('lego://')) return null\n\n try {\n // 移除 'lego://' 前缀\n const urlWithoutProtocol = src.substring(7)\n\n // 分割tagId和参数\n const [tagId, params] = urlWithoutProtocol.split('?')\n\n // 解析参数\n const text = params ? new URLSearchParams(params).get('text') || '' : ''\n\n return { tagId, text }\n } catch (error) {\n console.warn('Failed to parse lego URL:', src, error)\n return null\n }\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n forwardedRef,\n ...reset\n } = props\n\n // 检查是否为lego模式\n const legoData = parseLegoUrl(src)\n const isLegoMode = legoData !== null\n\n // 如果是lego模式,确保CDN脚本已加载\n useEffect(() => {\n if (isLegoMode) {\n insertLegoScript()\n }\n }, [isLegoMode])\n\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n // 如果是lego模式,渲染canvas-tag\n if (isLegoMode && legoData) {\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n <canvas-tag\n tagId={legoData.tagId}\n text={legoData.text}\n {...imgProps}\n />\n </div>\n )\n }\n\n // 普通图片模式\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default createForwardRefComponent(Image)\n"],"names":["LEGO_CDN_URL","isLegoScriptLoaded","document","querySelector","insertLegoScript","script","createElement","type","src","head","appendChild","parseLegoUrl","startsWith","urlWithoutProtocol","substring","tagId","params","split","text","URLSearchParams","get","error","console","warn","Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","mode","onError","lazyLoad","imgProps","forwardedRef","reset","__rest","legoData","isLegoMode","useEffect","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_el$","_tmpl$","_el$2","firstChild","_$use","_$spread","_$mergeProps","_$owner","_$getOwner","_$effect","_$p","_$style","_el$3","_tmpl$2","_$insert","_el$4","_tmpl$3","_$addEventListener","img","_$setAttribute","_el$5","createForwardRefComponent"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/components-react",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.7-beta.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main:h5": "dist/index.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"identity-obj-proxy": "^3.0.0",
|
|
30
30
|
"swiper": "11.1.15",
|
|
31
31
|
"tslib": "^2.6.2",
|
|
32
|
-
"@tarojs/components": "4.1.
|
|
33
|
-
"@tarojs/shared": "4.1.
|
|
34
|
-
"@tarojs/taro": "4.1.
|
|
32
|
+
"@tarojs/components": "4.1.7-beta.0",
|
|
33
|
+
"@tarojs/shared": "4.1.7-beta.0",
|
|
34
|
+
"@tarojs/taro": "4.1.7-beta.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@babel/plugin-transform-runtime": "^7.24.1",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"jest-environment-jsdom": "^29.7.0",
|
|
48
48
|
"solid-js": "^1.8.16",
|
|
49
49
|
"ts-jest": "^29.1.1",
|
|
50
|
-
"@tarojs/helper": "4.1.
|
|
51
|
-
"@tarojs/runtime": "4.1.
|
|
50
|
+
"@tarojs/helper": "4.1.7-beta.0",
|
|
51
|
+
"@tarojs/runtime": "4.1.7-beta.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"react": "*",
|