|
@@ -12,6 +12,7 @@ const initState = {
|
|
|
link: "",
|
|
|
icon: "",
|
|
|
visible: true,
|
|
|
+ size: 0,
|
|
|
style: {
|
|
|
fontSize: 12,
|
|
|
position: "top",
|
|
@@ -27,9 +28,35 @@ const initState = {
|
|
|
frameNumber: 0,
|
|
|
}
|
|
|
}
|
|
|
+//基本样式汇总
|
|
|
+const convertBaseStyle = (dest, origin) => {
|
|
|
+ if (dest) {
|
|
|
+ // normal
|
|
|
+ dest.style.fontSize = origin.fontSize
|
|
|
+ dest.style.position = origin.titlePosition
|
|
|
+
|
|
|
+ if (origin && origin.titleDisplayMode == "always") {
|
|
|
+ dest.visible = true
|
|
|
+ }
|
|
|
+ if (origin && origin.titleDisplayMode == "never") {
|
|
|
+ dest.visible = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //custom
|
|
|
+ if (origin && origin.hotspotIconType === 'personalized_tag') {
|
|
|
+ dest.style.borderColor = origin.personalizedTagInfo.borderColor;
|
|
|
+ dest.style.fillColor = origin.personalizedTagInfo.fillColor
|
|
|
+ dest.style.isTextWrap = origin.personalizedTagInfo.isTextWrap
|
|
|
+ dest.style.lineDirection = origin.personalizedTagInfo.lineDirection
|
|
|
+ dest.style.textColor = origin.personalizedTagInfo.textColor
|
|
|
+ dest.style.textDirection = origin.personalizedTagInfo.textDirection
|
|
|
+ dest.style.textNumPerLine = origin.personalizedTagInfo.textNumPerLine
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
const coverSystemIconPart = (origin) => {
|
|
|
- const duplicate = Object.assign({}, initState);
|
|
|
+ const duplicate = structuredClone(initState)
|
|
|
duplicate.id = origin.name;
|
|
|
duplicate.title = origin.hotspotTitle;
|
|
|
duplicate.ath = origin.ath;
|
|
@@ -37,18 +64,66 @@ const coverSystemIconPart = (origin) => {
|
|
|
duplicate.type = 0;
|
|
|
duplicate.icon = origin.img || '';
|
|
|
duplicate.link = origin.link || '';
|
|
|
- duplicate.style.fontSize = origin.fontSize;
|
|
|
+ duplicate.size = origin.size;
|
|
|
+ convertBaseStyle(duplicate, origin)
|
|
|
+ return duplicate;
|
|
|
+}
|
|
|
+
|
|
|
+const coverImageconPart = (origin) => {
|
|
|
+ const duplicate = structuredClone(initState)
|
|
|
+ duplicate.id = origin.name;
|
|
|
+ duplicate.title = origin.hotspotTitle;
|
|
|
+ duplicate.ath = origin.ath;
|
|
|
+ duplicate.atv = origin.atv;
|
|
|
+ duplicate.type = 1;
|
|
|
+ duplicate.icon = origin.customIconInfo.img || origin.img || '';
|
|
|
+ duplicate.link = origin.link || '';
|
|
|
+ duplicate.size = origin.size;
|
|
|
+ convertBaseStyle(duplicate, origin)
|
|
|
+ return duplicate;
|
|
|
+}
|
|
|
+const coverSerialFrame = (origin) => {
|
|
|
+ const duplicate = structuredClone(initState);
|
|
|
+ duplicate.id = origin.name;
|
|
|
+ duplicate.title = origin.hotspotTitle;
|
|
|
+ duplicate.ath = origin.ath;
|
|
|
+ duplicate.atv = origin.atv;
|
|
|
+ duplicate.type = 2;
|
|
|
+ duplicate.icon = origin.customIconInfo.img || origin.img || '';
|
|
|
+ duplicate.link = origin.link || '';
|
|
|
+ duplicate.size = origin.size;
|
|
|
+ convertBaseStyle(duplicate, origin)
|
|
|
+ return duplicate;
|
|
|
}
|
|
|
|
|
|
|
|
|
-const convertJQHotspot = (origin) => {
|
|
|
+const coverpersonalizedTag = (origin) => {
|
|
|
+ const duplicate = structuredClone(initState);
|
|
|
+ duplicate.id = origin.name;
|
|
|
+ duplicate.title = origin.hotspotTitle;
|
|
|
+ duplicate.ath = origin.ath;
|
|
|
+ duplicate.atv = origin.atv;
|
|
|
+ duplicate.type = 3;
|
|
|
+ duplicate.link = origin.link || '';
|
|
|
+ duplicate.size = origin.size;
|
|
|
+ convertBaseStyle(duplicate, origin)
|
|
|
+ return duplicate;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+export const convertJQHotspot = (origin) => {
|
|
|
const type = origin.hotspotIconType
|
|
|
switch (type) {
|
|
|
case 'system_icon':
|
|
|
-
|
|
|
- break;
|
|
|
+ return coverSystemIconPart(origin);
|
|
|
+ case 'custom_image':
|
|
|
+ return coverImageconPart(origin);
|
|
|
+ case 'serial_frame':
|
|
|
+ return coverSerialFrame(origin);
|
|
|
+ case 'personalized_tag':
|
|
|
+ return coverpersonalizedTag(origin);
|
|
|
default:
|
|
|
- break;
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|
|
|
|