This commit is contained in:
caoyuchun 2025-03-13 10:53:59 +08:00
parent ed1a321ae3
commit b8efeab62c
75 changed files with 125643 additions and 32300 deletions

9
.env.production Normal file
View File

@ -0,0 +1,9 @@
NODE_ENV=prod
# VUE_APP_BASE_URL=/reading_1/
# VUE_APP_BASE_URL=/reading/
# BUILD_DIR = "aoxiang"
# VUE_APP_BASE_URL=/dist/
# VUE_APP_NAME=caoyuchun
# VUE_APP_EMAIL=caoyuchun2003@qq.com
# // base: process.env.NODE_ENV == "sub"? process.env.VUE_APP_BASE_URL:"",

View File

@ -1,6 +1,6 @@
# NODE_ENV=sub # NODE_ENV=sub
# VUE_APP_BASE_URL=/reading_1/
VUE_APP_BASE_URL=/reading/ VUE_APP_BASE_URL=/reading/
BUILD_DIR = "aoxiang" BUILD_DIR = "aoxiang"
# VUE_APP_BASE_URL=/dist/ # VUE_APP_BASE_URL=/dist/
# VUE_APP_NAME=caoyuchun # VUE_APP_NAME=caoyuchun

3
.gitignore vendored
View File

@ -2,7 +2,8 @@
node_modules node_modules
/dist /dist
dist.zip dist.zip
aoxiang.zip
aoxiang
# local env files # local env files
.env.local .env.local
.env.*.local .env.*.local

0
build.sh Normal file → Executable file
View File

142
package-lock.json generated
View File

@ -11,9 +11,12 @@
"axios": "^1.7.2", "axios": "^1.7.2",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"echarts": "^5.6.0",
"element-ui": "^2.15.14", "element-ui": "^2.15.14",
"jquery": "^3.7.1", "jquery": "^3.7.1",
"js-base64": "^3.7.7",
"mind-elixir": "^4.0.5", "mind-elixir": "^4.0.5",
"vant": "^2.13.2",
"vue": "^2.6.11", "vue": "^2.6.11",
"vue-router": "^3.2.0", "vue-router": "^3.2.0",
"vuex": "^3.4.0", "vuex": "^3.4.0",
@ -1782,7 +1785,6 @@
"version": "7.24.7", "version": "7.24.7",
"resolved": "https://mirrors.cloud.tencent.com/npm/@babel/runtime/-/runtime-7.24.7.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/runtime/-/runtime-7.24.7.tgz",
"integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
"dev": true,
"dependencies": { "dependencies": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
}, },
@ -2300,11 +2302,20 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/@vant/icons": {
"version": "3.0.2",
"resolved": "https://mirrors.cloud.tencent.com/npm/@vant/icons/-/icons-3.0.2.tgz",
"integrity": "sha512-4OlRVMd0uiDtD9hgSISZW8hB95vU0fFtc41tQchRIyiXkR0tS+DydZOLb8/bQkithrNWhW7Uud38MbKjlJ9lJw=="
},
"node_modules/@vant/popperjs": {
"version": "1.3.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/@vant/popperjs/-/popperjs-1.3.0.tgz",
"integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
},
"node_modules/@vue/babel-helper-vue-jsx-merge-props": { "node_modules/@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
"integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA=="
"dev": true
}, },
"node_modules/@vue/babel-helper-vue-transform-on": { "node_modules/@vue/babel-helper-vue-transform-on": {
"version": "1.2.2", "version": "1.2.2",
@ -6314,6 +6325,20 @@
"safer-buffer": "^2.1.0" "safer-buffer": "^2.1.0"
} }
}, },
"node_modules/echarts": {
"version": "5.6.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/echarts/-/echarts-5.6.0.tgz",
"integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==",
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.6.1"
}
},
"node_modules/echarts/node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/ee-first": { "node_modules/ee-first": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/ee-first/-/ee-first-1.1.1.tgz",
@ -9447,6 +9472,11 @@
"resolved": "https://mirrors.cloud.tencent.com/npm/jquery/-/jquery-3.7.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/jquery/-/jquery-3.7.1.tgz",
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
}, },
"node_modules/js-base64": {
"version": "3.7.7",
"resolved": "https://mirrors.cloud.tencent.com/npm/js-base64/-/js-base64-3.7.7.tgz",
"integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw=="
},
"node_modules/js-message": { "node_modules/js-message": {
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://mirrors.cloud.tencent.com/npm/js-message/-/js-message-1.0.7.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/js-message/-/js-message-1.0.7.tgz",
@ -12299,8 +12329,7 @@
"node_modules/regenerator-runtime": { "node_modules/regenerator-runtime": {
"version": "0.14.1", "version": "0.14.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
"dev": true
}, },
"node_modules/regenerator-transform": { "node_modules/regenerator-transform": {
"version": "0.15.2", "version": "0.15.2",
@ -14970,6 +14999,21 @@
"spdx-expression-parse": "^3.0.0" "spdx-expression-parse": "^3.0.0"
} }
}, },
"node_modules/vant": {
"version": "2.13.2",
"resolved": "https://mirrors.cloud.tencent.com/npm/vant/-/vant-2.13.2.tgz",
"integrity": "sha512-anZbbLqXCq+rUJk10D67mn+V/1/i9tfOTdoR+64B0e+0BzV3KFgpHBF76noLa+yX9i/L+8DeL560WMk0GEN38g==",
"dependencies": {
"@babel/runtime": "7.x",
"@vant/icons": "^3.0.2",
"@vant/popperjs": "^1.1.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"vue-lazyload": "1.2.3"
},
"peerDependencies": {
"vue": ">= 2.6.0"
}
},
"node_modules/vary": { "node_modules/vary": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://mirrors.cloud.tencent.com/npm/vary/-/vary-1.1.2.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/vary/-/vary-1.1.2.tgz",
@ -15068,6 +15112,11 @@
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
"dev": true "dev": true
}, },
"node_modules/vue-lazyload": {
"version": "1.2.3",
"resolved": "https://mirrors.cloud.tencent.com/npm/vue-lazyload/-/vue-lazyload-1.2.3.tgz",
"integrity": "sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g=="
},
"node_modules/vue-loader": { "node_modules/vue-loader": {
"version": "15.11.1", "version": "15.11.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/vue-loader/-/vue-loader-15.11.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/vue-loader/-/vue-loader-15.11.1.tgz",
@ -16471,6 +16520,19 @@
"resolved": "https://mirrors.cloud.tencent.com/npm/yallist/-/yallist-2.1.2.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
"dev": true "dev": true
},
"node_modules/zrender": {
"version": "5.6.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/zrender/-/zrender-5.6.1.tgz",
"integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==",
"dependencies": {
"tslib": "2.3.0"
}
},
"node_modules/zrender/node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
} }
}, },
"dependencies": { "dependencies": {
@ -17669,7 +17731,6 @@
"version": "7.24.7", "version": "7.24.7",
"resolved": "https://mirrors.cloud.tencent.com/npm/@babel/runtime/-/runtime-7.24.7.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/runtime/-/runtime-7.24.7.tgz",
"integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
"dev": true,
"requires": { "requires": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
} }
@ -18126,11 +18187,20 @@
} }
} }
}, },
"@vant/icons": {
"version": "3.0.2",
"resolved": "https://mirrors.cloud.tencent.com/npm/@vant/icons/-/icons-3.0.2.tgz",
"integrity": "sha512-4OlRVMd0uiDtD9hgSISZW8hB95vU0fFtc41tQchRIyiXkR0tS+DydZOLb8/bQkithrNWhW7Uud38MbKjlJ9lJw=="
},
"@vant/popperjs": {
"version": "1.3.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/@vant/popperjs/-/popperjs-1.3.0.tgz",
"integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
},
"@vue/babel-helper-vue-jsx-merge-props": { "@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
"integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA=="
"dev": true
}, },
"@vue/babel-helper-vue-transform-on": { "@vue/babel-helper-vue-transform-on": {
"version": "1.2.2", "version": "1.2.2",
@ -21311,6 +21381,22 @@
"safer-buffer": "^2.1.0" "safer-buffer": "^2.1.0"
} }
}, },
"echarts": {
"version": "5.6.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/echarts/-/echarts-5.6.0.tgz",
"integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==",
"requires": {
"tslib": "2.3.0",
"zrender": "5.6.1"
},
"dependencies": {
"tslib": {
"version": "2.3.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}
}
},
"ee-first": { "ee-first": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/ee-first/-/ee-first-1.1.1.tgz",
@ -23706,6 +23792,11 @@
"resolved": "https://mirrors.cloud.tencent.com/npm/jquery/-/jquery-3.7.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/jquery/-/jquery-3.7.1.tgz",
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
}, },
"js-base64": {
"version": "3.7.7",
"resolved": "https://mirrors.cloud.tencent.com/npm/js-base64/-/js-base64-3.7.7.tgz",
"integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw=="
},
"js-message": { "js-message": {
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://mirrors.cloud.tencent.com/npm/js-message/-/js-message-1.0.7.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/js-message/-/js-message-1.0.7.tgz",
@ -26060,8 +26151,7 @@
"regenerator-runtime": { "regenerator-runtime": {
"version": "0.14.1", "version": "0.14.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
"dev": true
}, },
"regenerator-transform": { "regenerator-transform": {
"version": "0.15.2", "version": "0.15.2",
@ -28224,6 +28314,18 @@
"spdx-expression-parse": "^3.0.0" "spdx-expression-parse": "^3.0.0"
} }
}, },
"vant": {
"version": "2.13.2",
"resolved": "https://mirrors.cloud.tencent.com/npm/vant/-/vant-2.13.2.tgz",
"integrity": "sha512-anZbbLqXCq+rUJk10D67mn+V/1/i9tfOTdoR+64B0e+0BzV3KFgpHBF76noLa+yX9i/L+8DeL560WMk0GEN38g==",
"requires": {
"@babel/runtime": "7.x",
"@vant/icons": "^3.0.2",
"@vant/popperjs": "^1.1.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"vue-lazyload": "1.2.3"
}
},
"vary": { "vary": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://mirrors.cloud.tencent.com/npm/vary/-/vary-1.1.2.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/vary/-/vary-1.1.2.tgz",
@ -28326,6 +28428,11 @@
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
"dev": true "dev": true
}, },
"vue-lazyload": {
"version": "1.2.3",
"resolved": "https://mirrors.cloud.tencent.com/npm/vue-lazyload/-/vue-lazyload-1.2.3.tgz",
"integrity": "sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g=="
},
"vue-loader": { "vue-loader": {
"version": "15.11.1", "version": "15.11.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/vue-loader/-/vue-loader-15.11.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/vue-loader/-/vue-loader-15.11.1.tgz",
@ -29415,6 +29522,21 @@
"dev": true "dev": true
} }
} }
},
"zrender": {
"version": "5.6.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/zrender/-/zrender-5.6.1.tgz",
"integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==",
"requires": {
"tslib": "2.3.0"
},
"dependencies": {
"tslib": {
"version": "2.3.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}
}
} }
} }
} }

View File

@ -3,7 +3,8 @@
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "dev": "vue-cli-service serve --mode development",
"prod": "vue-cli-service serve --mode production",
"serve-aoxiang": "vue-cli-service serve --mode sub", "serve-aoxiang": "vue-cli-service serve --mode sub",
"serve-zyx": "vue-cli-service serve --mode sub", "serve-zyx": "vue-cli-service serve --mode sub",
"build": "vue-cli-service build", "build": "vue-cli-service build",
@ -14,6 +15,7 @@
"axios": "^1.7.2", "axios": "^1.7.2",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"echarts": "^5.6.0",
"element-ui": "^2.15.14", "element-ui": "^2.15.14",
"jquery": "^3.7.1", "jquery": "^3.7.1",
"js-base64": "^3.7.7", "js-base64": "^3.7.7",

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
// //

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
// //

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
// //
@ -26,6 +26,7 @@ var script = {
} }
}, },
ruleIndex: Number, ruleIndex: Number,
currentRuleIndex: Number,
//页面类型取值h5、pc、pad //页面类型取值h5、pc、pad
pageType: { pageType: {
type: String, type: String,
@ -76,6 +77,15 @@ var script = {
} }
}); });
}, },
watch: {
currentRuleIndex: {
handler(newVal, oldVal) {
if (newVal === -1) {
this.showBtn = false;
}
}
}
},
mounted() { mounted() {
this.blockData = this.pBlockData; this.blockData = this.pBlockData;
}, },
@ -207,7 +217,7 @@ __vue_render__._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__ = undefined; const __vue_inject_styles__ = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__ = "data-v-b8742ca0"; const __vue_scope_id__ = "data-v-66bda01b";
/* module identifier */ /* module identifier */
const __vue_module_identifier__ = undefined; const __vue_module_identifier__ = undefined;
/* functional template */ /* functional template */

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
// //

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import Vue from 'vue'; import Vue from 'vue';
@ -1706,7 +1706,23 @@ var script = {
if (cIndex !== undefined) { if (cIndex !== undefined) {
this.currentIndex = cIndex; this.currentIndex = cIndex;
} }
if (this.blockData.clickEffect === 'dian-ji-fang-da') ; else if (this.blockData.clickEffect === 'dian-ji-tiao-zhuan') { if (this.blockData.clickEffect === 'dian-ji-fang-da') {
if (this.blockData.showEffect === 'lun-bo') {
let imgList = [];
this.blockData.imageList.map(item => {
imgList.push({
url: item.uploadFileUrl?.indexOf('./') != -1 ? this.resourceBasisPath + item.uploadFileUrl.split('./')[1] : item.uploadFileUrl,
title: item.title,
description: item.content
});
});
this.$hevueImgPreview({
multiple: true,
nowImgIndex: this.carouselActiveIndex,
imgList
});
}
} else if (this.blockData.clickEffect === 'dian-ji-tiao-zhuan') {
//点击跳转 //点击跳转
// window.href = href // window.href = href
if (linkId) { if (linkId) {

View File

@ -1,40 +1,27 @@
/*# sourceMappingURL=fifth.vue.map */
/*# sourceMappingURL=first.vue.map */
/*# sourceMappingURL=sixth.vue.map */
/*# sourceMappingURL=fourth.vue.map */
/*# sourceMappingURL=second.vue.map */
/*# sourceMappingURL=seventh.vue.map */
/*# sourceMappingURL=eighth.vue.map */ /*# sourceMappingURL=eighth.vue.map */
/*# sourceMappingURL=second.vue.map */
/*# sourceMappingURL=fourth.vue.map */
/*# sourceMappingURL=fifth.vue.map */
/*# sourceMappingURL=seventh.vue.map */
/*# sourceMappingURL=third.vue.map */ /*# sourceMappingURL=third.vue.map */
.xml-image-lun-bo .el-carousel__item {
text-align: center;
}
.xml-text-h5[data-v-1b4a8a63] { /*# sourceMappingURL=sixth.vue.map */
}
.xml-text-pc[data-v-1b4a8a63] {
} /*# sourceMappingURL=first.vue.map */
.xml-text-h5[data-v-1b4a8a63] {
}
.xml-text-h5 .inline-audio-wrap, .xml-text-h5 .inline-audio-wrap,
.xml-text-h5 .inline-link-wrap { .xml-text-h5 .inline-link-wrap {
align-items: center; align-items: center;
@ -106,6 +93,19 @@
/*# sourceMappingURL=XmlText.vue.map */ /*# sourceMappingURL=XmlText.vue.map */
.xml-text-h5[data-v-ec02be9c] {
}
.xml-text-pc[data-v-ec02be9c] {
}
.xml-text-h5[data-v-ec02be9c] {
}
.xml-image-lun-bo .el-carousel__item {
text-align: center;
}
/*# sourceMappingURL=XmlTextDialog.vue.map */ /*# sourceMappingURL=XmlTextDialog.vue.map */
@ -704,6 +704,8 @@

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import Vue from 'vue'; import Vue from 'vue';
@ -1706,7 +1706,23 @@ var script$c = {
if (cIndex !== undefined) { if (cIndex !== undefined) {
this.currentIndex = cIndex; this.currentIndex = cIndex;
} }
if (this.blockData.clickEffect === 'dian-ji-fang-da') ; else if (this.blockData.clickEffect === 'dian-ji-tiao-zhuan') { if (this.blockData.clickEffect === 'dian-ji-fang-da') {
if (this.blockData.showEffect === 'lun-bo') {
let imgList = [];
this.blockData.imageList.map(item => {
imgList.push({
url: item.uploadFileUrl?.indexOf('./') != -1 ? this.resourceBasisPath + item.uploadFileUrl.split('./')[1] : item.uploadFileUrl,
title: item.title,
description: item.content
});
});
this.$hevueImgPreview({
multiple: true,
nowImgIndex: this.carouselActiveIndex,
imgList
});
}
} else if (this.blockData.clickEffect === 'dian-ji-tiao-zhuan') {
//点击跳转 //点击跳转
// window.href = href // window.href = href
if (linkId) { if (linkId) {
@ -17152,7 +17168,8 @@ var script$8 = {
} }
this.loadingInstance = this.$loading({ this.loadingInstance = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
this.fileData.resourcesName = file.name; this.fileData.resourcesName = file.name;
if (_image.indexOf(fileExt) !== -1) { if (_image.indexOf(fileExt) !== -1) {
@ -17329,7 +17346,8 @@ var script$8 = {
addRecorder() { addRecorder() {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
let formData = new FormData(); let formData = new FormData();
formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3'); formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3');
@ -30803,7 +30821,7 @@ var VueToast = createComponent$1v({
} }
}); });
var defaultOptions$1 = { var defaultOptions$2 = {
icon: '', icon: '',
type: 'text', type: 'text',
// @deprecated // @deprecated
@ -30829,7 +30847,7 @@ var defaultOptions$1 = {
var defaultOptionsMap = {}; var defaultOptionsMap = {};
var queue = []; var queue = [];
var multiple = false; var multiple = false;
var currentOptions = _extends$1({}, defaultOptions$1); var currentOptions = _extends$1({}, defaultOptions$2);
function parseOptions$1(message) { function parseOptions$1(message) {
if (isObject(message)) { if (isObject(message)) {
return message; return message;
@ -30940,7 +30958,7 @@ Toast.resetDefaultOptions = function (type) {
if (typeof type === 'string') { if (typeof type === 'string') {
defaultOptionsMap[type] = null; defaultOptionsMap[type] = null;
} else { } else {
currentOptions = _extends$1({}, defaultOptions$1); currentOptions = _extends$1({}, defaultOptions$2);
defaultOptionsMap = {}; defaultOptionsMap = {};
} }
}; };
@ -39956,7 +39974,7 @@ function Notify(options) {
} }
return instance; return instance;
} }
function defaultOptions() { function defaultOptions$1() {
return { return {
type: 'danger', type: 'danger',
value: true, value: true,
@ -39975,12 +39993,12 @@ Notify.clear = function () {
instance.value = false; instance.value = false;
} }
}; };
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
Notify.setDefaultOptions = function (options) { Notify.setDefaultOptions = function (options) {
_extends$1(Notify.currentOptions, options); _extends$1(Notify.currentOptions, options);
}; };
Notify.resetDefaultOptions = function () { Notify.resetDefaultOptions = function () {
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
}; };
Notify.install = function () { Notify.install = function () {
Vue.use(VanNotify); Vue.use(VanNotify);
@ -50221,6 +50239,121 @@ var n = function () {
}, e; }, e;
}(); }();
function getTextNodeList(dom) {
const nodeList = [...dom.childNodes];
const textNodes = [];
while (nodeList.length) {
const node = nodeList.shift();
if (node.nodeType === node.TEXT_NODE) {
node.wholeText && textNodes.push(node);
} else {
nodeList.unshift(...node.childNodes);
}
}
return textNodes;
}
function getTextInfoList(textNodes) {
let length = 0;
const textList = textNodes.map(node => {
let startIdx = length,
endIdx = length + node.wholeText.length;
length = endIdx;
return {
text: node.wholeText,
startIdx,
endIdx
};
});
return textList;
}
function getMatchList(content, keyword) {
const characters = [...'\\[](){}?.+*^$:|'].reduce((r, c) => (r[c] = true, r), {});
keyword = keyword.split('').map(s => characters[s] ? `\\${s}` : s).join('[\\s\\n]*');
const reg = new RegExp(keyword, 'gmi');
const matchList = [];
let match = reg.exec(content);
while (match) {
matchList.push(match);
match = reg.exec(content);
}
return matchList;
}
function replaceMatchResult(textNodes, textList, matchList, options) {
let {
flag,
datasets,
g
} = options;
// 对于每一个匹配结果可能分散在多个标签中找出这些标签截取匹配片段并用font标签替换出
if (!g) {
matchList = [matchList[0]];
}
for (let i = matchList.length - 1; i >= 0; i--) {
const match = matchList[i];
const matchStart = match.index,
matchEnd = matchStart + match[0].length; // 匹配结果在拼接字符串中的起止索引
// 遍历文本信息列表,查找匹配的文本节点
let groupStart = true;
for (let textIdx = 0; textIdx < textList.length; textIdx++) {
const {
text,
startIdx,
endIdx
} = textList[textIdx]; // 文本内容、文本在拼接串中开始、结束索引
if (endIdx < matchStart) continue; // 匹配的文本节点还在后面
if (startIdx >= matchEnd) break; // 匹配文本节点已经处理完了
let textNode = textNodes[textIdx]; // 这个节点中的部分或全部内容匹配到了关键词,将匹配部分截取出来进行替换
const nodeMatchStartIdx = Math.max(0, matchStart - startIdx); // 匹配内容在文本节点内容中的开始索引
const nodeMatchLength = Math.min(endIdx, matchEnd) - startIdx - nodeMatchStartIdx; // 文本节点内容匹配关键词的长度
if (nodeMatchStartIdx > 0) textNode = textNode.splitText(nodeMatchStartIdx); // textNode取后半部分
if (nodeMatchLength < textNode.wholeText.length) textNode.splitText(nodeMatchLength);
const font = document.createElement('font');
font.setAttribute(flag, i + 1);
groupStart ? font.classList.add(flag) : font.classList.add(flag + '-rest');
if (datasets.length && Array.isArray(datasets)) {
datasets.forEach(({
key,
value
}) => {
font.dataset[key] = value;
});
}
font.innerText = text.substr(nodeMatchStartIdx, nodeMatchLength);
textNode.parentNode.replaceChild(font, textNode);
groupStart = false;
}
}
}
const defaultOptions = {
flag: 'xml-graph-link',
datasets: [],
g: false
};
function replaceKeywordsInHTML(html, keyword, options = defaultOptions) {
options = {
...defaultOptions,
...options
};
let matchCount = 0,
replacedHtml = '';
if (!html || !keyword) {
replacedHtml = html;
return [replacedHtml, matchCount];
}
const div = document.createElement('div');
div.innerHTML = html;
const textNodes = getTextNodeList(div);
const textList = getTextInfoList(textNodes);
const content = textList.map(({
text
}) => text).join('');
const matchList = getMatchList(content, keyword);
matchCount = matchList.length;
replaceMatchResult(textNodes, textList, matchList, options);
replacedHtml = div.innerHTML;
return [replacedHtml, matchCount];
}
// //
var script$7 = { var script$7 = {
name: 'XmlTextRender', name: 'XmlTextRender',
@ -50386,6 +50519,10 @@ var script$7 = {
from: 'getSysEvn', from: 'getSysEvn',
default: () => () => {} default: () => () => {}
} }
// callFnReplaceKeywordsInHTML: {
// from: 'replaceKeywordsInHTML',
// default: () => () => () => []
// }
}, },
computed: { computed: {
feedback() { feedback() {
@ -50393,6 +50530,7 @@ var script$7 = {
ruleIndex: this.ruleIndex, ruleIndex: this.ruleIndex,
dataName: this.blockDataName, dataName: this.blockDataName,
data: this.pBlockData, data: this.pBlockData,
graphLinks: this.currentRule.data?.graphLinks || [],
dataIndex: this.dataIndex, dataIndex: this.dataIndex,
blockId: this.blockId blockId: this.blockId
}; };
@ -50428,6 +50566,40 @@ var script$7 = {
}, },
resourceBasisPath() { resourceBasisPath() {
return this.getResourceBasisPath(); return this.getResourceBasisPath();
},
richContent() {
let formated = this.formatImg(this.pBlockData.html);
let links = this.currentRule.data?.graphLinks || [];
if (!links.length) {
return formated;
}
let copy = formated;
let tempWrapDom = document.createElement('div');
tempWrapDom.innerHTML = copy;
let content = '';
Array.from(tempWrapDom.childNodes).forEach(child => {
if (child.dataset.graphKey && child.tagName === 'P') {
let pCopy = child.outerHTML + '';
for (let i = 0, len = links.length; i < len; i++) {
let item = links[i];
if (item.targets.includes(child.dataset.graphKey)) {
pCopy = replaceKeywordsInHTML(pCopy, item.name, {
flag: 'xml-graph-link',
datasets: [{
key: 'graphLinkId',
value: item.id
}]
})[0];
}
}
content += pCopy;
} else {
content += child.outerHTML;
}
});
copy = '';
tempWrapDom = null;
return content;
} }
}, },
watch: { watch: {
@ -50474,7 +50646,7 @@ var script$7 = {
let mceMagicLinkRegistered = window.customElements?.get('magic-link'); let mceMagicLinkRegistered = window.customElements?.get('magic-link');
if (!mceMagicLinkRegistered) { if (!mceMagicLinkRegistered) {
window.customElements.whenDefined('magic-link').then(res => { window.customElements.whenDefined('magic-link').then(res => {
console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res); // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res)
}); });
window.customElements.define('magic-link', MagicLink); window.customElements.define('magic-link', MagicLink);
} }
@ -51580,7 +51752,7 @@ var __vue_render__$7 = function () {
: _c("div", { : _c("div", {
staticClass: "richtext-reset-wrapper--view", staticClass: "richtext-reset-wrapper--view",
attrs: { id: _vm.markRootId }, attrs: { id: _vm.markRootId },
domProps: { innerHTML: _vm._s(_vm.formatImg(_vm.pBlockData.html)) }, domProps: { innerHTML: _vm._s(_vm.richContent) },
}), }),
_vm._v(" "), _vm._v(" "),
_vm._t("mater-lib-dialog"), _vm._t("mater-lib-dialog"),
@ -52154,7 +52326,7 @@ __vue_render__$7._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$7 = undefined; const __vue_inject_styles__$7 = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$7 = "data-v-1b4a8a63"; const __vue_scope_id__$7 = "data-v-ec02be9c";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$7 = undefined; const __vue_module_identifier__$7 = undefined;
/* functional template */ /* functional template */

View File

@ -1 +1 @@
.xml-image-lun-bo .el-carousel__item{text-align:center}.xml-text-h5 .inline-audio-wrap,.xml-text-h5 .inline-link-wrap{align-items:center}.xml-text-h5 .inline-audio-wrap span,.xml-text-h5 .inline-link-wrap span{display:inline-block}.xml-text-h5 .inline-audio-box{width:20px;height:20px;box-sizing:border-box;position:relative;margin-left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol{width:20px;height:20px;box-sizing:border-box;overflow:hidden;transform:rotate(135deg);position:relative}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle{border:3px solid #418eed;border-radius:50%;position:absolute}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.first{width:3px;height:3px;background:#0076bc;top:14px;left:14px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.second{width:15px;height:15px;top:10px;left:10px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.third{width:24px;height:24px;top:6px;left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .second{animation:fadeInOut 1s infinite .2s}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third{animation:fadeInOut 1s infinite .4s}@keyframes fadeInOut{0%{opacity:0}100%{opacity:1}}.virtual-input .el-textarea__inner{min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.el-image__inner[data-v-4910c4a4]{width:100%!important}.xml-image-ping-pu-h5[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center} .xml-text-h5 .inline-audio-wrap,.xml-text-h5 .inline-link-wrap{align-items:center}.xml-text-h5 .inline-audio-wrap span,.xml-text-h5 .inline-link-wrap span{display:inline-block}.xml-text-h5 .inline-audio-box{width:20px;height:20px;box-sizing:border-box;position:relative;margin-left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol{width:20px;height:20px;box-sizing:border-box;overflow:hidden;transform:rotate(135deg);position:relative}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle{border:3px solid #418eed;border-radius:50%;position:absolute}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.first{width:3px;height:3px;background:#0076bc;top:14px;left:14px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.second{width:15px;height:15px;top:10px;left:10px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.third{width:24px;height:24px;top:6px;left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .second{animation:fadeInOut 1s infinite .2s}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third{animation:fadeInOut 1s infinite .4s}@keyframes fadeInOut{0%{opacity:0}100%{opacity:1}}.virtual-input .el-textarea__inner{min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.xml-image-lun-bo .el-carousel__item{text-align:center}.el-image__inner[data-v-4910c4a4]{width:100%!important}.xml-image-ping-pu-h5[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-4910c4a4]{display:flex;flex-direction:column;align-items:center}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import Vue from 'vue'; import Vue from 'vue';

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var playIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABxBJREFUeF7dW2tsFFUU/s5sCygo7W4JwfggkZAYNNYnqBB31iI2jYnERwyiRuILFcJuwZQEAgYfDbSzii8CYqDlYRQhUQNIS3cFkRbERxXTYMCCgGI7U0ssXbbbOWa2bu1ruzOzM8suN9lfe+53vvPdc2fu4wwhBc1ddjYPjnA+VM4XBMdogHPAyGFoP2onQgsxt6is/g1QI1RuRFZWY9Cb22g3PbLLgcevFLKqFjKRm4AbTPth3gjQtmHZqNox13XWNE6cjpYK4C5TJhOpj4BQCNA4i8kqALZAVVcH5o86ZBW2JQKIkjID4BkAiqwilgBntVVCJCWA6FeKAC4BY3KKAu/lhsGlWWGhtLrE2WrWvykBCt5Uru5ktQRMs806tqofAT8xqDTgc24yg2lYgHvKW0SV1FUAxptxaFsfxocRYdiivd7hfxjxYUgAj7/5cWaqMOIgxbYNTFgc9Lq26PWrWwBRkr9I4UNOL/8B7ZhoUdDrfE0PiC4BREmuAlCgBzBdbJjopaDX+W4iPgkFEP3yWjBmJQJKy/+ZnwwU5w06ZQcVwF3etJRIWJKWwekkRcC0Gp9rVzzzuAJ4pObpDNqq0086m9ULwtB7d88bcWYgkgMK4Fl+5lrOzv4SzNemc2T6uVFlwOd8QrcAbkneSsB0/Q7S35KI59Z4897uy7RfBrjLlZlEXJn+IRlkyDjtECJTqr2jj/Xs2UuAwpU8NBRp+Qbgmw3CZ4r5moDP9WxcATySUsLgNzIlGlM8mYoCxc7tsb7dGVBQqozsHML1AK42BZwhnYiwrsbreqqfAJ5yZTYTv5chcSRDs41JuD523NadAaJf3mv3vn786CxMGJOF+lMdONrUmUwQSfallwM+5woNJCqAWCZPg4CdSaIO2n1J0QjcPX5It82+o2FU1oVw5EzETrfxsA8EfK6J3QLYveTtG3yMVaiDUVnXjs0HQykXgRl3BItdtV0ZICkBgN12sfj8xVwMHxJ/2/Hd7x3YUBvCDyc77KLQD5dApTU+50IqXClfHorA9JlaIsbavF814/JEZtH/Nx5oj06LcIR12Sdp1BDwua4jtyTfR8COJMHids+/MhvSw5fphm/4MxKdFvuP2Z8NHecdTnJLTc8ThPd1MzRoaFSAGPy2H0KorA3h73bVoEcD5qp6K3kk5Q3WjrZtamYF0OicUDqj2bC7IWwLO2I8ogmwmcGP2uIBQDICxDjtPHwey3e1WU6RmUpI9Ct7wWzbxYYVAmiRf3wohFV7zlkqAhGVkSjJPwOYYClyDzCrBNAgZ1W0olG2bgVJhA9I9MunwLgiEwQoq2rD9p/PW0aVgC1aBmh5dYllqH2ArMyA13f8g2prH4jVmgAtAHIyQYAn1rXiZIt1U4BBn5MoKd8DnJ/uAqyvbcf6/e3W0iSqII9f2cbMD1iL/D9aslNAWxRX2BF811b4LfL4ZT8z5qWjANomSQu+/qQ9W2Zm9RVNgKeZsSadBIioXaO+oc7ilO8bpMNRQGJZ0y0QhG/TRYCDx7tG/fBpe0a9R5yhYVnOHOo6Cle0N4Etr8JxoxxYPXNkQn3PRxjag+6j1B2OVAd8rqn/HYjI+wDcmZClSYPPXsjFiKHxD0Rqf+sadW0rnKqmzf9g8ailUVYX6kisLczRwD85lPojMXTypMCCvLquDFjRPBEOqrVT/YEORbXgf/3LuoWNbv6EuoDXNUmz73ksXgtG9KTUrqatCW68KgtfHQlbuqkxyjeW/r0EsHsaGCVppz3DcVvQlxN983VnwDSp1RlGR50NJa52xmIG+9OAz/VQrGOvR7PH3zKHWV1pBjVj+pDwYMCb21350u/dJPpl258FF0osIhys8bpu7+m/f4GEX3mMmDdcKJJ2+mWB7g/Oc2r1jt1twNWJW5K3E7SS94unaYXVQV/ewr4RDSiA6FfuAngXGJdeFBIQ9nBr/T3BpWK/pWbc9alban6JQP2KijJQEAUseALFuT8OxH3QQkmxXF4LytAq0f+iJVW4u2Z+7p54A5ewVNYtNX9HoJsycOTBRDODXufGwbgnFEDrLEpySq5rrRSZGWXBYteCRJi6BNBAMunNQKB3anzOOYmC77UU1mMsSspygBOqqgfLLhsCXq3xuRbrxdedATFAUZK9AJYBGK7XSYrsDH8tYjgDukVY0TyRBVpGhKkpCm5wNya/FzItQIxNdAstCM/Yebc4WOTazQ4ErO67vDUyKIanQF/wKf62MQ713HOpFMKKwGNxJC1ADEgTIhvhh1RWC23aR7SCeBN3CpuC851fGxnlpNcBRp25pdZxAqmFAHuYo+V3Zi9fTwHYycD+LIGqquc5TxjlksjesgwYzJF7RZMbAtyCIFzDTGMBHgtgLAgtYGh3EtqviUCNKtTjADc6OtVfdi8YrRVv29r+BTKBrQtOiFe6AAAAAElFTkSuQmCC"; var playIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABxBJREFUeF7dW2tsFFUU/s5sCygo7W4JwfggkZAYNNYnqBB31iI2jYnERwyiRuILFcJuwZQEAgYfDbSzii8CYqDlYRQhUQNIS3cFkRbERxXTYMCCgGI7U0ssXbbbOWa2bu1ruzOzM8suN9lfe+53vvPdc2fu4wwhBc1ddjYPjnA+VM4XBMdogHPAyGFoP2onQgsxt6is/g1QI1RuRFZWY9Cb22g3PbLLgcevFLKqFjKRm4AbTPth3gjQtmHZqNox13XWNE6cjpYK4C5TJhOpj4BQCNA4i8kqALZAVVcH5o86ZBW2JQKIkjID4BkAiqwilgBntVVCJCWA6FeKAC4BY3KKAu/lhsGlWWGhtLrE2WrWvykBCt5Uru5ktQRMs806tqofAT8xqDTgc24yg2lYgHvKW0SV1FUAxptxaFsfxocRYdiivd7hfxjxYUgAj7/5cWaqMOIgxbYNTFgc9Lq26PWrWwBRkr9I4UNOL/8B7ZhoUdDrfE0PiC4BREmuAlCgBzBdbJjopaDX+W4iPgkFEP3yWjBmJQJKy/+ZnwwU5w06ZQcVwF3etJRIWJKWwekkRcC0Gp9rVzzzuAJ4pObpDNqq0086m9ULwtB7d88bcWYgkgMK4Fl+5lrOzv4SzNemc2T6uVFlwOd8QrcAbkneSsB0/Q7S35KI59Z4897uy7RfBrjLlZlEXJn+IRlkyDjtECJTqr2jj/Xs2UuAwpU8NBRp+Qbgmw3CZ4r5moDP9WxcATySUsLgNzIlGlM8mYoCxc7tsb7dGVBQqozsHML1AK42BZwhnYiwrsbreqqfAJ5yZTYTv5chcSRDs41JuD523NadAaJf3mv3vn786CxMGJOF+lMdONrUmUwQSfallwM+5woNJCqAWCZPg4CdSaIO2n1J0QjcPX5It82+o2FU1oVw5EzETrfxsA8EfK6J3QLYveTtG3yMVaiDUVnXjs0HQykXgRl3BItdtV0ZICkBgN12sfj8xVwMHxJ/2/Hd7x3YUBvCDyc77KLQD5dApTU+50IqXClfHorA9JlaIsbavF814/JEZtH/Nx5oj06LcIR12Sdp1BDwua4jtyTfR8COJMHids+/MhvSw5fphm/4MxKdFvuP2Z8NHecdTnJLTc8ThPd1MzRoaFSAGPy2H0KorA3h73bVoEcD5qp6K3kk5Q3WjrZtamYF0OicUDqj2bC7IWwLO2I8ogmwmcGP2uIBQDICxDjtPHwey3e1WU6RmUpI9Ct7wWzbxYYVAmiRf3wohFV7zlkqAhGVkSjJPwOYYClyDzCrBNAgZ1W0olG2bgVJhA9I9MunwLgiEwQoq2rD9p/PW0aVgC1aBmh5dYllqH2ArMyA13f8g2prH4jVmgAtAHIyQYAn1rXiZIt1U4BBn5MoKd8DnJ/uAqyvbcf6/e3W0iSqII9f2cbMD1iL/D9aslNAWxRX2BF811b4LfL4ZT8z5qWjANomSQu+/qQ9W2Zm9RVNgKeZsSadBIioXaO+oc7ilO8bpMNRQGJZ0y0QhG/TRYCDx7tG/fBpe0a9R5yhYVnOHOo6Cle0N4Etr8JxoxxYPXNkQn3PRxjag+6j1B2OVAd8rqn/HYjI+wDcmZClSYPPXsjFiKHxD0Rqf+sadW0rnKqmzf9g8ailUVYX6kisLczRwD85lPojMXTypMCCvLquDFjRPBEOqrVT/YEORbXgf/3LuoWNbv6EuoDXNUmz73ksXgtG9KTUrqatCW68KgtfHQlbuqkxyjeW/r0EsHsaGCVppz3DcVvQlxN983VnwDSp1RlGR50NJa52xmIG+9OAz/VQrGOvR7PH3zKHWV1pBjVj+pDwYMCb21350u/dJPpl258FF0osIhys8bpu7+m/f4GEX3mMmDdcKJJ2+mWB7g/Oc2r1jt1twNWJW5K3E7SS94unaYXVQV/ewr4RDSiA6FfuAngXGJdeFBIQ9nBr/T3BpWK/pWbc9alban6JQP2KijJQEAUseALFuT8OxH3QQkmxXF4LytAq0f+iJVW4u2Z+7p54A5ewVNYtNX9HoJsycOTBRDODXufGwbgnFEDrLEpySq5rrRSZGWXBYteCRJi6BNBAMunNQKB3anzOOYmC77UU1mMsSspygBOqqgfLLhsCXq3xuRbrxdedATFAUZK9AJYBGK7XSYrsDH8tYjgDukVY0TyRBVpGhKkpCm5wNya/FzItQIxNdAstCM/Yebc4WOTazQ4ErO67vDUyKIanQF/wKf62MQ713HOpFMKKwGNxJC1ADEgTIhvhh1RWC23aR7SCeBN3CpuC851fGxnlpNcBRp25pdZxAqmFAHuYo+V3Zi9fTwHYycD+LIGqquc5TxjlksjesgwYzJF7RZMbAtyCIFzDTGMBHgtgLAgtYGh3EtqviUCNKtTjADc6OtVfdi8YrRVv29r+BTKBrQtOiFe6AAAAAElFTkSuQmCC";
@ -816,10 +816,17 @@ var script$1 = {
time time
}, data) { }, data) {
// console.log({event, time, data}); // console.log({event, time, data});
// this.$EventBus.$emit('audioTimeUpdate', { event, time, data })
this.$EventBus.$emit('audioTimeUpdate', { this.$EventBus.$emit('audioTimeUpdate', {
event, event,
time, time,
data data: {
...data,
chapterId: this.currentRule.chapterId,
xmlCompRef: this.currentRule.xmlCompRef,
duration: this.$refs.xmlAudioPlay.totalDuration,
time
}
}); });
}, },
resetTimeUpdate(data) { resetTimeUpdate(data) {

View File

@ -3,7 +3,7 @@
/*# sourceMappingURL=second.vue.map */ /*# sourceMappingURL=second.vue.map */
/*# sourceMappingURL=isosceles.vue.map */ /*# sourceMappingURL=eleven.vue.map */
/*# sourceMappingURL=first.vue.map */ /*# sourceMappingURL=first.vue.map */
@ -12,115 +12,115 @@
/*# sourceMappingURL=eighth.vue.map */ /*# sourceMappingURL=eighth.vue.map */
/*# sourceMappingURL=seventh.vue.map */ /*# sourceMappingURL=Greentheme3.vue.map */
/*# sourceMappingURL=quadrangle.vue.map */
/*# sourceMappingURL=third.vue.map */ /*# sourceMappingURL=third.vue.map */
/*# sourceMappingURL=ninth.vue.map */
/*# sourceMappingURL=wave.vue.map */ /*# sourceMappingURL=wave.vue.map */
/*# sourceMappingURL=Greentheme4.vue.map */ /*# sourceMappingURL=isosceles.vue.map */
/*# sourceMappingURL=fourteen.vue.map */ /*# sourceMappingURL=quadrangle.vue.map */
/*# sourceMappingURL=twelve.vue.map */
/*# sourceMappingURL=fifteen.vue.map */
/*# sourceMappingURL=ninth.vue.map */
/*# sourceMappingURL=Yellowtheme1.vue.map */ /*# sourceMappingURL=Yellowtheme1.vue.map */
/*# sourceMappingURL=tenth.vue.map */ /*# sourceMappingURL=seventh.vue.map */
/*# sourceMappingURL=Yellowtheme2.vue.map */ /*# sourceMappingURL=twelve.vue.map */
/*# sourceMappingURL=Yellowtheme5.vue.map */ /*# sourceMappingURL=fourteen.vue.map */
/*# sourceMappingURL=eleven.vue.map */
/*# sourceMappingURL=SanQintheme2.vue.map */
/*# sourceMappingURL=thirteen.vue.map */ /*# sourceMappingURL=thirteen.vue.map */
/*# sourceMappingURL=Greentheme5.vue.map */ /*# sourceMappingURL=tenth.vue.map */
/*# sourceMappingURL=Redtheme2.vue.map */ /*# sourceMappingURL=Greentheme4.vue.map */
/*# sourceMappingURL=Yellowtheme3.vue.map */ /*# sourceMappingURL=fifteen.vue.map */
/*# sourceMappingURL=Thirtyseven3.vue.map */
/*# sourceMappingURL=Greentheme3.vue.map */
/*# sourceMappingURL=Greentheme2.vue.map */
/*# sourceMappingURL=Redtheme3.vue.map */
/*# sourceMappingURL=Redtheme1.vue.map */ /*# sourceMappingURL=Redtheme1.vue.map */
/*# sourceMappingURL=Yellowtheme2.vue.map */
/*# sourceMappingURL=Redtheme3.vue.map */
/*# sourceMappingURL=Yellowtheme4.vue.map */ /*# sourceMappingURL=Yellowtheme4.vue.map */
/*# sourceMappingURL=Redtheme6.vue.map */ /*# sourceMappingURL=Greentheme2.vue.map */
/*# sourceMappingURL=Thirtyseven.vue.map */ /*# sourceMappingURL=Greentheme5.vue.map */
/*# sourceMappingURL=sixteen.vue.map */ /*# sourceMappingURL=Redtheme5.vue.map */
/*# sourceMappingURL=SanQintheme3.vue.map */ /*# sourceMappingURL=Yellowtheme3.vue.map */
/*# sourceMappingURL=SanQintheme1.vue.map */
/*# sourceMappingURL=Thirtyfive.vue.map */ /*# sourceMappingURL=Thirtyfive.vue.map */
/*# sourceMappingURL=SanQintheme3.vue.map */
/*# sourceMappingURL=sixteen.vue.map */
/*# sourceMappingURL=Yellowtheme5.vue.map */
/*# sourceMappingURL=Redtheme6.vue.map */
/*# sourceMappingURL=Redtheme4.vue.map */ /*# sourceMappingURL=Redtheme4.vue.map */
/*# sourceMappingURL=Thirtyseven2.vue.map */
/*# sourceMappingURL=Redtheme2.vue.map */
/*# sourceMappingURL=Thirtyseven3.vue.map */
/*# sourceMappingURL=SanQintheme2.vue.map */
/*# sourceMappingURL=Thirtysix.vue.map */ /*# sourceMappingURL=Thirtysix.vue.map */
/*# sourceMappingURL=Thirtyeight.vue.map */ /*# sourceMappingURL=Thirtyeight.vue.map */
/*# sourceMappingURL=Thirtyseven2.vue.map */ /*# sourceMappingURL=SanQintheme1.vue.map */
/*# sourceMappingURL=Forty.vue.map */ /*# sourceMappingURL=Forty.vue.map */
/*# sourceMappingURL=Redtheme5.vue.map */ /*# sourceMappingURL=Thirtyseven.vue.map */
.xml-text-h5 .inline-audio-wrap, .xml-text-h5 .inline-audio-wrap,
.xml-text-h5 .inline-link-wrap { .xml-text-h5 .inline-link-wrap {
align-items: center; align-items: center;
@ -192,11 +192,11 @@
/*# sourceMappingURL=XmlText.vue.map */ /*# sourceMappingURL=XmlText.vue.map */
.xml-text-h5[data-v-1b4a8a63] { .xml-text-h5[data-v-ec02be9c] {
} }
.xml-text-pc[data-v-1b4a8a63] { .xml-text-pc[data-v-ec02be9c] {
} }
.xml-text-h5[data-v-1b4a8a63] { .xml-text-h5[data-v-ec02be9c] {
} }
@ -798,6 +798,8 @@

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import crypto from 'crypto'; import crypto from 'crypto';
@ -15257,7 +15257,8 @@ var script$G = {
} }
this.loadingInstance = this.$loading({ this.loadingInstance = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
this.fileData.resourcesName = file.name; this.fileData.resourcesName = file.name;
if (_image.indexOf(fileExt) !== -1) { if (_image.indexOf(fileExt) !== -1) {
@ -15434,7 +15435,8 @@ var script$G = {
addRecorder() { addRecorder() {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
let formData = new FormData(); let formData = new FormData();
formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3'); formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3');
@ -28908,7 +28910,7 @@ var VueToast = createComponent$1v({
} }
}); });
var defaultOptions$1 = { var defaultOptions$2 = {
icon: '', icon: '',
type: 'text', type: 'text',
// @deprecated // @deprecated
@ -28934,7 +28936,7 @@ var defaultOptions$1 = {
var defaultOptionsMap = {}; var defaultOptionsMap = {};
var queue = []; var queue = [];
var multiple = false; var multiple = false;
var currentOptions = _extends$1({}, defaultOptions$1); var currentOptions = _extends$1({}, defaultOptions$2);
function parseOptions$1(message) { function parseOptions$1(message) {
if (isObject(message)) { if (isObject(message)) {
return message; return message;
@ -29045,7 +29047,7 @@ Toast.resetDefaultOptions = function (type) {
if (typeof type === 'string') { if (typeof type === 'string') {
defaultOptionsMap[type] = null; defaultOptionsMap[type] = null;
} else { } else {
currentOptions = _extends$1({}, defaultOptions$1); currentOptions = _extends$1({}, defaultOptions$2);
defaultOptionsMap = {}; defaultOptionsMap = {};
} }
}; };
@ -38061,7 +38063,7 @@ function Notify(options) {
} }
return instance; return instance;
} }
function defaultOptions() { function defaultOptions$1() {
return { return {
type: 'danger', type: 'danger',
value: true, value: true,
@ -38080,12 +38082,12 @@ Notify.clear = function () {
instance.value = false; instance.value = false;
} }
}; };
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
Notify.setDefaultOptions = function (options) { Notify.setDefaultOptions = function (options) {
_extends$1(Notify.currentOptions, options); _extends$1(Notify.currentOptions, options);
}; };
Notify.resetDefaultOptions = function () { Notify.resetDefaultOptions = function () {
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
}; };
Notify.install = function () { Notify.install = function () {
Vue.use(VanNotify); Vue.use(VanNotify);
@ -48326,6 +48328,121 @@ var n = function () {
}, e; }, e;
}(); }();
function getTextNodeList(dom) {
const nodeList = [...dom.childNodes];
const textNodes = [];
while (nodeList.length) {
const node = nodeList.shift();
if (node.nodeType === node.TEXT_NODE) {
node.wholeText && textNodes.push(node);
} else {
nodeList.unshift(...node.childNodes);
}
}
return textNodes;
}
function getTextInfoList(textNodes) {
let length = 0;
const textList = textNodes.map(node => {
let startIdx = length,
endIdx = length + node.wholeText.length;
length = endIdx;
return {
text: node.wholeText,
startIdx,
endIdx
};
});
return textList;
}
function getMatchList(content, keyword) {
const characters = [...'\\[](){}?.+*^$:|'].reduce((r, c) => (r[c] = true, r), {});
keyword = keyword.split('').map(s => characters[s] ? `\\${s}` : s).join('[\\s\\n]*');
const reg = new RegExp(keyword, 'gmi');
const matchList = [];
let match = reg.exec(content);
while (match) {
matchList.push(match);
match = reg.exec(content);
}
return matchList;
}
function replaceMatchResult(textNodes, textList, matchList, options) {
let {
flag,
datasets,
g
} = options;
// 对于每一个匹配结果可能分散在多个标签中找出这些标签截取匹配片段并用font标签替换出
if (!g) {
matchList = [matchList[0]];
}
for (let i = matchList.length - 1; i >= 0; i--) {
const match = matchList[i];
const matchStart = match.index,
matchEnd = matchStart + match[0].length; // 匹配结果在拼接字符串中的起止索引
// 遍历文本信息列表,查找匹配的文本节点
let groupStart = true;
for (let textIdx = 0; textIdx < textList.length; textIdx++) {
const {
text,
startIdx,
endIdx
} = textList[textIdx]; // 文本内容、文本在拼接串中开始、结束索引
if (endIdx < matchStart) continue; // 匹配的文本节点还在后面
if (startIdx >= matchEnd) break; // 匹配文本节点已经处理完了
let textNode = textNodes[textIdx]; // 这个节点中的部分或全部内容匹配到了关键词,将匹配部分截取出来进行替换
const nodeMatchStartIdx = Math.max(0, matchStart - startIdx); // 匹配内容在文本节点内容中的开始索引
const nodeMatchLength = Math.min(endIdx, matchEnd) - startIdx - nodeMatchStartIdx; // 文本节点内容匹配关键词的长度
if (nodeMatchStartIdx > 0) textNode = textNode.splitText(nodeMatchStartIdx); // textNode取后半部分
if (nodeMatchLength < textNode.wholeText.length) textNode.splitText(nodeMatchLength);
const font = document.createElement('font');
font.setAttribute(flag, i + 1);
groupStart ? font.classList.add(flag) : font.classList.add(flag + '-rest');
if (datasets.length && Array.isArray(datasets)) {
datasets.forEach(({
key,
value
}) => {
font.dataset[key] = value;
});
}
font.innerText = text.substr(nodeMatchStartIdx, nodeMatchLength);
textNode.parentNode.replaceChild(font, textNode);
groupStart = false;
}
}
}
const defaultOptions = {
flag: 'xml-graph-link',
datasets: [],
g: false
};
function replaceKeywordsInHTML(html, keyword, options = defaultOptions) {
options = {
...defaultOptions,
...options
};
let matchCount = 0,
replacedHtml = '';
if (!html || !keyword) {
replacedHtml = html;
return [replacedHtml, matchCount];
}
const div = document.createElement('div');
div.innerHTML = html;
const textNodes = getTextNodeList(div);
const textList = getTextInfoList(textNodes);
const content = textList.map(({
text
}) => text).join('');
const matchList = getMatchList(content, keyword);
matchCount = matchList.length;
replaceMatchResult(textNodes, textList, matchList, options);
replacedHtml = div.innerHTML;
return [replacedHtml, matchCount];
}
// //
var script$F = { var script$F = {
name: 'XmlTextRender', name: 'XmlTextRender',
@ -48491,6 +48608,10 @@ var script$F = {
from: 'getSysEvn', from: 'getSysEvn',
default: () => () => {} default: () => () => {}
} }
// callFnReplaceKeywordsInHTML: {
// from: 'replaceKeywordsInHTML',
// default: () => () => () => []
// }
}, },
computed: { computed: {
feedback() { feedback() {
@ -48498,6 +48619,7 @@ var script$F = {
ruleIndex: this.ruleIndex, ruleIndex: this.ruleIndex,
dataName: this.blockDataName, dataName: this.blockDataName,
data: this.pBlockData, data: this.pBlockData,
graphLinks: this.currentRule.data?.graphLinks || [],
dataIndex: this.dataIndex, dataIndex: this.dataIndex,
blockId: this.blockId blockId: this.blockId
}; };
@ -48533,6 +48655,40 @@ var script$F = {
}, },
resourceBasisPath() { resourceBasisPath() {
return this.getResourceBasisPath(); return this.getResourceBasisPath();
},
richContent() {
let formated = this.formatImg(this.pBlockData.html);
let links = this.currentRule.data?.graphLinks || [];
if (!links.length) {
return formated;
}
let copy = formated;
let tempWrapDom = document.createElement('div');
tempWrapDom.innerHTML = copy;
let content = '';
Array.from(tempWrapDom.childNodes).forEach(child => {
if (child.dataset.graphKey && child.tagName === 'P') {
let pCopy = child.outerHTML + '';
for (let i = 0, len = links.length; i < len; i++) {
let item = links[i];
if (item.targets.includes(child.dataset.graphKey)) {
pCopy = replaceKeywordsInHTML(pCopy, item.name, {
flag: 'xml-graph-link',
datasets: [{
key: 'graphLinkId',
value: item.id
}]
})[0];
}
}
content += pCopy;
} else {
content += child.outerHTML;
}
});
copy = '';
tempWrapDom = null;
return content;
} }
}, },
watch: { watch: {
@ -48579,7 +48735,7 @@ var script$F = {
let mceMagicLinkRegistered = window.customElements?.get('magic-link'); let mceMagicLinkRegistered = window.customElements?.get('magic-link');
if (!mceMagicLinkRegistered) { if (!mceMagicLinkRegistered) {
window.customElements.whenDefined('magic-link').then(res => { window.customElements.whenDefined('magic-link').then(res => {
console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res); // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res)
}); });
window.customElements.define('magic-link', MagicLink); window.customElements.define('magic-link', MagicLink);
} }
@ -49685,7 +49841,7 @@ var __vue_render__$F = function () {
: _c("div", { : _c("div", {
staticClass: "richtext-reset-wrapper--view", staticClass: "richtext-reset-wrapper--view",
attrs: { id: _vm.markRootId }, attrs: { id: _vm.markRootId },
domProps: { innerHTML: _vm._s(_vm.formatImg(_vm.pBlockData.html)) }, domProps: { innerHTML: _vm._s(_vm.richContent) },
}), }),
_vm._v(" "), _vm._v(" "),
_vm._t("mater-lib-dialog"), _vm._t("mater-lib-dialog"),
@ -50259,7 +50415,7 @@ __vue_render__$F._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$F = undefined; const __vue_inject_styles__$F = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$F = "data-v-1b4a8a63"; const __vue_scope_id__$F = "data-v-ec02be9c";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$F = undefined; const __vue_module_identifier__$F = undefined;
/* functional template */ /* functional template */

View File

@ -1,9 +1,9 @@
.xml-question-container-h5[data-v-6fc40934] { .xml-question-container-h5[data-v-33d3f358] {
} }
.xml-question-container-pc[data-v-6fc40934] { .xml-question-container-pc[data-v-33d3f358] {
} }
.xml-question-container-pad[data-v-6fc40934] { .xml-question-container-pad[data-v-33d3f358] {
} }
@ -12,10 +12,10 @@
/*# sourceMappingURL=QuestionItem.vue.map */ /*# sourceMappingURL=QuestionItem.vue.map */
.content[data-v-b67ffd48] { .content[data-v-175142a4] {
width: 100%; width: 100%;
} }
.content .stem-content[data-v-b67ffd48] { .content .stem-content[data-v-175142a4] {
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 5px 14px; padding: 5px 14px;
@ -24,12 +24,12 @@
border-radius: 6px; border-radius: 6px;
cursor: pointer; cursor: pointer;
} }
.content .stem-content.no-border[data-v-b67ffd48] { .content .stem-content.no-border[data-v-175142a4] {
padding: 0; padding: 0;
border: none; border: none;
cursor: default; cursor: default;
} }
.content .stem-content .placeholder[data-v-b67ffd48] { .content .stem-content .placeholder[data-v-175142a4] {
color: #c0c4cc; color: #c0c4cc;
font-size: 14px; font-size: 14px;
cursor: pointer; cursor: pointer;
@ -37,50 +37,31 @@
} }
/*# sourceMappingURL=common.vue.map */ /*# sourceMappingURL=common.vue.map */
.option-item + .option-item[data-v-68e077b4] { .content[data-v-5a1894ea] {
margin-top: 16px; width: 100%;
} }
.option-item[data-v-68e077b4] { .content .stem-content[data-v-5a1894ea] {
display: flex; width: 100%;
background: #fbfbfb; box-sizing: border-box;
padding: 5px 14px;
height: auto;
border: 1px solid #e7e7e7;
border-radius: 6px; border-radius: 6px;
padding-left: 16px;
cursor: pointer;
transition: all ease 0.3s;
border: 1px solid #fbfbfb;
}
.option-item .questionSeq[data-v-68e077b4] {
padding: 8px 0;
}
.option-item.isActive[data-v-68e077b4] {
border-color: #2e9adb;
}
.option-item.isTrue[data-v-68e077b4] {
border: 1px solid #70b603;
}
.option-item.isTrue[data-v-68e077b4] .el-radio__input.is-checked .el-radio__inner {
border-color: #70b603;
background: #70b603;
}
.option-item.isFalse[data-v-68e077b4] {
border: 1px solid #d9001b;
}
.option-item.isFalse[data-v-68e077b4] .el-radio__input.is-checked .el-radio__inner {
border-color: #d9001b;
background: #d9001b;
}
.option-item[data-v-68e077b4]:hover {
background: #ddd;
}
.option-item[data-v-68e077b4] .content {
cursor: pointer; cursor: pointer;
} }
.option-item[data-v-68e077b4] .stem-content.no-border { .content .stem-content.no-border[data-v-5a1894ea] {
padding: 8px 14px !important; padding: 0;
border: none;
cursor: default;
}
.content .stem-content .placeholder[data-v-5a1894ea] {
color: #c0c4cc;
font-size: 14px;
cursor: pointer; cursor: pointer;
user-select: none;
} }
/*# sourceMappingURL=radio.vue.map */ /*# sourceMappingURL=common.vue.map */
.option-item + .option-item[data-v-4605914c] { .option-item + .option-item[data-v-4605914c] {
margin-top: 16px; margin-top: 16px;
} }
@ -125,31 +106,50 @@
} }
/*# sourceMappingURL=radio.vue.map */ /*# sourceMappingURL=radio.vue.map */
.content[data-v-5a1894ea] { .option-item + .option-item[data-v-6801edfc] {
width: 100%; margin-top: 16px;
} }
.content .stem-content[data-v-5a1894ea] { .option-item[data-v-6801edfc] {
width: 100%; display: flex;
box-sizing: border-box; background: #fbfbfb;
padding: 5px 14px;
height: auto;
border: 1px solid #e7e7e7;
border-radius: 6px; border-radius: 6px;
padding-left: 16px;
cursor: pointer;
transition: all ease 0.3s;
border: 1px solid #fbfbfb;
}
.option-item.isActive[data-v-6801edfc] {
border-color: #2e9adb;
}
.option-item .questionSeq[data-v-6801edfc] {
padding: 8px 0;
}
.option-item.isTrue[data-v-6801edfc] {
border: 1px solid #70b603;
}
.option-item.isTrue[data-v-6801edfc] .el-checkbox__input.is-checked .el-checkbox__inner {
border-color: #70b603;
background: #70b603;
}
.option-item.isFalse[data-v-6801edfc] {
border: 1px solid #d9001b;
}
.option-item.isFalse[data-v-6801edfc] .el-checkbox__input.is-checked .el-checkbox__inner {
border-color: #d9001b;
background: #d9001b;
}
.option-item[data-v-6801edfc]:hover {
background: #ddd;
}
.option-item[data-v-6801edfc] .content {
cursor: pointer; cursor: pointer;
} }
.content .stem-content.no-border[data-v-5a1894ea] { .option-item[data-v-6801edfc] .stem-content.no-border {
padding: 0; padding: 8px 14px !important;
border: none;
cursor: default;
}
.content .stem-content .placeholder[data-v-5a1894ea] {
color: #c0c4cc;
font-size: 14px;
cursor: pointer; cursor: pointer;
user-select: none;
} }
/*# sourceMappingURL=common.vue.map */ /*# sourceMappingURL=checkbox.vue.map */
.option-item + .option-item[data-v-9f3637dc] { .option-item + .option-item[data-v-9f3637dc] {
margin-top: 16px; margin-top: 16px;
} }
@ -194,10 +194,10 @@
} }
/*# sourceMappingURL=checkbox.vue.map */ /*# sourceMappingURL=checkbox.vue.map */
.option-item + .option-item[data-v-5c9a1da5] { .option-item + .option-item[data-v-5cd637ec] {
margin-top: 16px; margin-top: 16px;
} }
.option-item[data-v-5c9a1da5] { .option-item[data-v-5cd637ec] {
display: flex; display: flex;
background: #fbfbfb; background: #fbfbfb;
border-radius: 6px; border-radius: 6px;
@ -206,38 +206,38 @@
transition: all ease 0.3s; transition: all ease 0.3s;
border: 1px solid #fbfbfb; border: 1px solid #fbfbfb;
} }
.option-item.isActive[data-v-5c9a1da5] { .option-item .questionSeq[data-v-5cd637ec] {
border-color: #2e9adb;
}
.option-item .questionSeq[data-v-5c9a1da5] {
padding: 8px 0; padding: 8px 0;
} }
.option-item.isTrue[data-v-5c9a1da5] { .option-item.isActive[data-v-5cd637ec] {
border-color: #2e9adb;
}
.option-item.isTrue[data-v-5cd637ec] {
border: 1px solid #70b603; border: 1px solid #70b603;
} }
.option-item.isTrue[data-v-5c9a1da5] .el-checkbox__input.is-checked .el-checkbox__inner { .option-item.isTrue[data-v-5cd637ec] .el-radio__input.is-checked .el-radio__inner {
border-color: #70b603; border-color: #70b603;
background: #70b603; background: #70b603;
} }
.option-item.isFalse[data-v-5c9a1da5] { .option-item.isFalse[data-v-5cd637ec] {
border: 1px solid #d9001b; border: 1px solid #d9001b;
} }
.option-item.isFalse[data-v-5c9a1da5] .el-checkbox__input.is-checked .el-checkbox__inner { .option-item.isFalse[data-v-5cd637ec] .el-radio__input.is-checked .el-radio__inner {
border-color: #d9001b; border-color: #d9001b;
background: #d9001b; background: #d9001b;
} }
.option-item[data-v-5c9a1da5]:hover { .option-item[data-v-5cd637ec]:hover {
background: #ddd; background: #ddd;
} }
.option-item[data-v-5c9a1da5] .content { .option-item[data-v-5cd637ec] .content {
cursor: pointer; cursor: pointer;
} }
.option-item[data-v-5c9a1da5] .stem-content.no-border { .option-item[data-v-5cd637ec] .stem-content.no-border {
padding: 8px 14px !important; padding: 8px 14px !important;
cursor: pointer; cursor: pointer;
} }
/*# sourceMappingURL=checkbox.vue.map */ /*# sourceMappingURL=radio.vue.map */
.line-content[data-v-a868932e] { .line-content[data-v-a868932e] {
width: 100%; width: 100%;
position: relative; position: relative;
@ -323,37 +323,6 @@
} }
/*# sourceMappingURL=view-line-answer.vue.map */ /*# sourceMappingURL=view-line-answer.vue.map */
.image-file[data-v-070c50ee] {
width: 218px;
object-fit: scale-down;
}
.video-file[data-v-070c50ee] {
width: 408px;
}
.file-render[data-v-070c50ee] {
width: 100%;
}
.file-info[data-v-070c50ee] {
flex: 1;
min-width: 0;
}
.file-info.videoHandler[data-v-070c50ee] {
display: flex;
flex-direction: column;
justify-content: center;
}
.file-info.videoHandler .fileName[data-v-070c50ee] {
font-size: 18px;
color: #333333;
margin-bottom: 19px;
}
.file-info.videoHandler .fileInfo[data-v-070c50ee] {
font-size: 14px;
color: #666666;
margin-bottom: 19px;
}
/*# sourceMappingURL=index.vue.map */
.image-file[data-v-111cf251] { .image-file[data-v-111cf251] {
width: 218px; width: 218px;
object-fit: scale-down; object-fit: scale-down;
@ -385,124 +354,37 @@
} }
/*# sourceMappingURL=index.vue.map */ /*# sourceMappingURL=index.vue.map */
.audio .audio-icon[data-v-706e281e] { .image-file[data-v-070c50ee] {
width: 36px; width: 218px;
height: 36px; object-fit: scale-down;
margin-right: 20px;
} }
.audio .audio-icon img[data-v-706e281e] { .video-file[data-v-070c50ee] {
width: 100%; width: 408px;
height: 100%;
display: block;
} }
.audio .audio-controls[data-v-706e281e] { .file-render[data-v-070c50ee] {
width: 100%; width: 100%;
max-width: 200px; }
.file-info[data-v-070c50ee] {
flex: 1; flex: 1;
height: 36px; min-width: 0;
} }
.audio .audio-controls .audio-controls--progress[data-v-706e281e], .audio .audio-controls .audio-controls--handler[data-v-706e281e] { .file-info.videoHandler[data-v-070c50ee] {
width: 100%; display: flex;
flex-direction: column;
justify-content: center;
} }
.audio .audio-controls .audio-controls--handler[data-v-706e281e] { .file-info.videoHandler .fileName[data-v-070c50ee] {
line-height: 1; font-size: 18px;
color: #333333;
margin-bottom: 19px;
} }
.audio .audio-controls .audio-controls--handler .play[data-v-706e281e] { .file-info.videoHandler .fileInfo[data-v-070c50ee] {
font-size: 24px; font-size: 14px;
} color: #666666;
.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-706e281e] { margin-bottom: 19px;
width: 22px;
height: 22px;
display: block;
cursor: pointer;
}
.audio .audio-controls .audio-controls--handler .current-time[data-v-706e281e], .audio .audio-controls .audio-controls--handler .total-time[data-v-706e281e] {
font-size: 12px;
color: #333;
}
.play-handler.mobile[data-v-706e281e] {
width: 20px;
height: 20px;
}
.audio-component[data-v-706e281e] {
display: none;
}
[data-v-706e281e] .el-slider__runway {
margin: 0 0 4px 0;
background: #e3e3e3;
height: 4px;
}
[data-v-706e281e] .el-slider__bar {
height: 4px;
}
[data-v-706e281e] .el-slider__button {
width: 10px;
height: 10px;
}
[data-v-706e281e] .el-slider__button-wrapper {
top: -15px;
} }
/*# sourceMappingURL=audio-play-new.vue.map */ /*# sourceMappingURL=index.vue.map */
.audio .audio-icon[data-v-43ef9f54] {
width: 36px;
height: 36px;
margin-right: 20px;
}
.audio .audio-icon img[data-v-43ef9f54] {
width: 100%;
height: 100%;
display: block;
}
.audio .audio-controls[data-v-43ef9f54] {
width: 100%;
max-width: 200px;
flex: 1;
height: 36px;
}
.audio .audio-controls .audio-controls--progress[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler[data-v-43ef9f54] {
width: 100%;
}
.audio .audio-controls .audio-controls--handler[data-v-43ef9f54] {
line-height: 1;
}
.audio .audio-controls .audio-controls--handler .play[data-v-43ef9f54] {
font-size: 24px;
}
.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-43ef9f54] {
width: 22px;
height: 22px;
display: block;
cursor: pointer;
}
.audio .audio-controls .audio-controls--handler .current-time[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler .total-time[data-v-43ef9f54] {
font-size: 12px;
color: #333;
}
.play-handler.mobile[data-v-43ef9f54] {
width: 20px;
height: 20px;
}
.audio-component[data-v-43ef9f54] {
display: none;
}
[data-v-43ef9f54] .el-slider__runway {
margin: 0 0 4px 0;
background: #e3e3e3;
height: 4px;
}
[data-v-43ef9f54] .el-slider__bar {
height: 4px;
}
[data-v-43ef9f54] .el-slider__button {
width: 10px;
height: 10px;
}
[data-v-43ef9f54] .el-slider__button-wrapper {
top: -15px;
}
/*# sourceMappingURL=audio-play-new.vue.map */
[data-v-33a4cdd5] .el-dialog__header { [data-v-33a4cdd5] .el-dialog__header {
padding: 10px; padding: 10px;
} }
@ -576,4 +458,122 @@
width: 100%; width: 100%;
} }
/*# sourceMappingURL=video-play.vue.map */ /*# sourceMappingURL=video-play.vue.map */
.audio .audio-icon[data-v-43ef9f54] {
width: 36px;
height: 36px;
margin-right: 20px;
}
.audio .audio-icon img[data-v-43ef9f54] {
width: 100%;
height: 100%;
display: block;
}
.audio .audio-controls[data-v-43ef9f54] {
width: 100%;
max-width: 200px;
flex: 1;
height: 36px;
}
.audio .audio-controls .audio-controls--progress[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler[data-v-43ef9f54] {
width: 100%;
}
.audio .audio-controls .audio-controls--handler[data-v-43ef9f54] {
line-height: 1;
}
.audio .audio-controls .audio-controls--handler .play[data-v-43ef9f54] {
font-size: 24px;
}
.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-43ef9f54] {
width: 22px;
height: 22px;
display: block;
cursor: pointer;
}
.audio .audio-controls .audio-controls--handler .current-time[data-v-43ef9f54], .audio .audio-controls .audio-controls--handler .total-time[data-v-43ef9f54] {
font-size: 12px;
color: #333;
}
.play-handler.mobile[data-v-43ef9f54] {
width: 20px;
height: 20px;
}
.audio-component[data-v-43ef9f54] {
display: none;
}
[data-v-43ef9f54] .el-slider__runway {
margin: 0 0 4px 0;
background: #e3e3e3;
height: 4px;
}
[data-v-43ef9f54] .el-slider__bar {
height: 4px;
}
[data-v-43ef9f54] .el-slider__button {
width: 10px;
height: 10px;
}
[data-v-43ef9f54] .el-slider__button-wrapper {
top: -15px;
}
/*# sourceMappingURL=audio-play-new.vue.map */
.audio .audio-icon[data-v-706e281e] {
width: 36px;
height: 36px;
margin-right: 20px;
}
.audio .audio-icon img[data-v-706e281e] {
width: 100%;
height: 100%;
display: block;
}
.audio .audio-controls[data-v-706e281e] {
width: 100%;
max-width: 200px;
flex: 1;
height: 36px;
}
.audio .audio-controls .audio-controls--progress[data-v-706e281e], .audio .audio-controls .audio-controls--handler[data-v-706e281e] {
width: 100%;
}
.audio .audio-controls .audio-controls--handler[data-v-706e281e] {
line-height: 1;
}
.audio .audio-controls .audio-controls--handler .play[data-v-706e281e] {
font-size: 24px;
}
.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-706e281e] {
width: 22px;
height: 22px;
display: block;
cursor: pointer;
}
.audio .audio-controls .audio-controls--handler .current-time[data-v-706e281e], .audio .audio-controls .audio-controls--handler .total-time[data-v-706e281e] {
font-size: 12px;
color: #333;
}
.play-handler.mobile[data-v-706e281e] {
width: 20px;
height: 20px;
}
.audio-component[data-v-706e281e] {
display: none;
}
[data-v-706e281e] .el-slider__runway {
margin: 0 0 4px 0;
background: #e3e3e3;
height: 4px;
}
[data-v-706e281e] .el-slider__bar {
height: 4px;
}
[data-v-706e281e] .el-slider__button {
width: 10px;
height: 10px;
}
[data-v-706e281e] .el-slider__button-wrapper {
top: -15px;
}
/*# sourceMappingURL=audio-play-new.vue.map */

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import crypto from 'crypto'; import crypto from 'crypto';
@ -20932,8 +20932,8 @@ const checkType = ['MultipleSelect'];
const showOptionsType = ['1', '2', '4', '5']; const showOptionsType = ['1', '2', '4', '5'];
const showJudgeAnswerType = ['Judgement']; const showJudgeAnswerType = ['Judgement'];
const showSortType = ['7']; const showSortType = ['7'];
const showRichTextAnswerType = ['Filling', 'AskAnswer']; const showRichTextAnswerType = ['AskAnswer', 'Filling'];
const isclozeType = ['10', '11', '12']; const isclozeType = ['Filling'];
const isRadio = type => { const isRadio = type => {
return radioType.includes(type); return radioType.includes(type);
}; };
@ -21767,7 +21767,7 @@ var script$4 = {
}, },
showImage(e) { showImage(e) {
if (e.target.tagName == 'IMG') { if (e.target.tagName == 'IMG') {
this.$hevueImgPreview({ this.$xmlImgPreview({
multiple: true, multiple: true,
nowImgIndex: 0, nowImgIndex: 0,
imgList: [{ imgList: [{
@ -21857,7 +21857,7 @@ __vue_render__$4._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$4 = undefined; const __vue_inject_styles__$4 = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$4 = "data-v-b67ffd48"; const __vue_scope_id__$4 = "data-v-175142a4";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$4 = undefined; const __vue_module_identifier__$4 = undefined;
/* functional template */ /* functional template */
@ -21890,6 +21890,10 @@ var script$3 = {
BcViewCommon: __vue_component__$4 BcViewCommon: __vue_component__$4
}, },
props: { props: {
questionType: {
type: String,
default: ''
},
option: { option: {
type: [String, Array], type: [String, Array],
default: '' default: ''
@ -21990,7 +21994,6 @@ var script$3 = {
} }
}, },
submitAnswer() { submitAnswer() {
console.log('🚀 ~ file: radio.vue:258 ~ submitAnswer ~ this.selectData:', this.selectData);
if (!this.selectData && this.isSubmit) { if (!this.selectData && this.isSubmit) {
this.$message.error('请选择答案'); this.$message.error('请选择答案');
return; return;
@ -22005,7 +22008,10 @@ var script$3 = {
// } // }
this.isAnswer = true; this.isAnswer = true;
this.$emit('showAnalysis', this.answerIsTrue); this.$emit('showAnalysis', {
answerIsTrue: this.answerIsTrue,
userAnswer: this.selectData
});
}, },
afresh() { afresh() {
this.selectData = ''; this.selectData = '';
@ -22029,7 +22035,10 @@ var __vue_render__$3 = function () {
return _c("div", [ return _c("div", [
_c( _c(
"div", "div",
{ staticClass: "xml-checkbox-box" }, {
staticClass: "xml-checkbox-box",
class: _vm.optionsList.length == 2 ? "xml-arrange-in-a-row" : "",
},
_vm._l(_vm.optionsList, function (item, index) { _vm._l(_vm.optionsList, function (item, index) {
return _c( return _c(
"div", "div",
@ -22164,7 +22173,7 @@ __vue_render__$3._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$3 = undefined; const __vue_inject_styles__$3 = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$3 = "data-v-68e077b4"; const __vue_scope_id__$3 = "data-v-5cd637ec";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$3 = undefined; const __vue_module_identifier__$3 = undefined;
/* functional template */ /* functional template */
@ -22285,11 +22294,15 @@ var script$2 = {
this.$message.error('请选择答案'); this.$message.error('请选择答案');
return; return;
} }
// let answerIsTrue = this.standardAnswer.map((i) => i.title).join('、') === this.selectData.join('、')
let answerIsTrue = false; let answerIsTrue = false;
this.selectData.map(item => {
answerIsTrue = this.standardAnswer.indexOf(item) != -1 && this.standardAnswer.split(',')?.length == this.selectData.length;
});
this.isAnswer = true; this.isAnswer = true;
this.$emit('showAnalysis', answerIsTrue); this.$emit('showAnalysis', {
answerIsTrue,
userAnswer: this.selectData.join('、')
});
}, },
afresh() { afresh() {
this.selectData = []; this.selectData = [];
@ -22469,7 +22482,7 @@ __vue_render__$2._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$2 = undefined; const __vue_inject_styles__$2 = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$2 = "data-v-5c9a1da5"; const __vue_scope_id__$2 = "data-v-6801edfc";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$2 = undefined; const __vue_module_identifier__$2 = undefined;
/* functional template */ /* functional template */
@ -22521,6 +22534,7 @@ var script$1 = {
} }
}, },
isAnswer: false, isAnswer: false,
JudgementList: ['错误', '正确'],
serialNumber: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] serialNumber: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
}; };
}, },
@ -22562,7 +22576,7 @@ var script$1 = {
}; };
}, },
mounted() { mounted() {
console.log(this.question); // console.log(this.question)
}, },
computed: { computed: {
isShowAnalysis() { isShowAnalysis() {
@ -22575,33 +22589,30 @@ var script$1 = {
return this.isAnswer && this.canShowKnowledge === 'true'; return this.isAnswer && this.canShowKnowledge === 'true';
}, },
isRadio() { isRadio() {
return isRadio(String(this.question.questionType)); return isRadio(this.question.type);
}, },
isCheck() { isCheck() {
return isCheck(String(this.question.questionType)); return isCheck(this.question.type);
}, },
showJudgeAnswer() { showJudgeAnswer() {
return showJudgeAnswer(String(this.question.questionType)); return showJudgeAnswer(this.question.type);
}, },
showRichTextAnswer() { showRichTextAnswer() {
return showRichTextAnswer(String(this.question.questionType)); return showRichTextAnswer(this.question.type);
}, },
showOptions() { showOptions() {
return showOptions(String(this.question.questionType)); return showOptions(this.question.type);
}, },
showSort() { showSort() {
return showSort(String(this.question.questionType)); return showSort(this.question.type);
}, },
isCloze() { isCloze() {
return isCloze(String(this.question.questionType)); return isCloze(this.question.type);
}, },
clozeLength() { clozeLength() {
let fillInTheBlanksSpan = this.question.stem.content.match(/fillInTheBlanksSpan/g); let fillInTheBlanksSpan = this.question.description.match(/______/g);
let fillInTheBlanks = this.question.stem.content.match(/\((.+?)\)/g);
console.log(fillInTheBlanks, fillInTheBlanksSpan, 'fillInTheBlanksSpanfillInTheBlanksSpanfillInTheBlanksSpan');
let sortString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; let sortString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
// let data = fillInTheBlanksSpan ? fillInTheBlanksSpan.length : fillInTheBlanks.length let data = fillInTheBlanksSpan.length || 0;
let data = this.question.standardAnswer.length;
let list = []; let list = [];
for (let i = 0; i < data; i++) { for (let i = 0; i < data; i++) {
list.push({ list.push({
@ -22637,9 +22648,9 @@ var script$1 = {
if (!this.showRichTextAnswer) { if (!this.showRichTextAnswer) {
this.isAnswer = true; this.isAnswer = true;
let params = { let params = {
...answer,
pass: answer, pass: answer,
questionId: this.question.id, question: this.question
questionName: JSON.stringify(this.question.stem)
}; };
this.$emit('submitAnswer', params); this.$emit('submitAnswer', params);
} else { } else {
@ -22648,7 +22659,7 @@ var script$1 = {
}, },
showAnalysis2(answer) { showAnalysis2(answer) {
if (answer.questionType == 'shortSnswer' && this.isSubmit) { if (answer.questionType == 'shortSnswer' && this.isSubmit) {
if (!answer.userAnswer) { if (!answer.userAnswer && this.question.description.indexOf('[/答题模板]') == -1) {
this.$message.error('请先输入答案'); this.$message.error('请先输入答案');
return; return;
} }
@ -22662,9 +22673,9 @@ var script$1 = {
} }
this.isAnswer = true; this.isAnswer = true;
let params = { let params = {
...answer,
pass: answer, pass: answer,
questionId: this.question.id, question: this.question
questionName: JSON.stringify(this.question.stem)
}; };
this.$emit('submitAnswer', params); this.$emit('submitAnswer', params);
}, },
@ -22737,6 +22748,38 @@ var script$1 = {
e = e.replace(/&nbsp;/gi, ''); //去除空格 e = e.replace(/&nbsp;/gi, ''); //去除空格
return e; return e;
} }
},
// 格式化表格
formatTable(content) {
if (content) {
const regex = /\[答题模板\]([\s\S]*?)\[\/答题模板\]/;
const match = content.match(regex);
if (match?.length > 0) {
return this.processTemplate(match ? match[1] : '');
} else {
return content;
}
} else {
return '';
}
},
processTemplate(content) {
if (content) {
// 先替换表格标签添加class和外层div
// let processedContent = content.replace(/<table>/g, '<div class="xml-input-question-answer-table"><table>')
// // 添加div的闭合标签
// processedContent = processedContent.replace(/<\/table>/g, '</table></div>')
// 只保留table内的内容
// 匹配所有 table 标签及其内容(含属性)
const tableRegex = /<table[^>]*>[\s\S]*?<\/table>/gi;
// 获取所有匹配的 table 内容
const tables = content.match(tableRegex) || [];
let processedContent = '<div class="xml-input-question-answer-table">' + tables[0] + '</div>';
// 处理输入框
return processedContent.replace(/______/g, '<input type="text" placeholder="请输入">');
} else {
return '';
}
} }
} }
}; };
@ -22786,7 +22829,7 @@ var __vue_render__$1 = function () {
staticClass: "xml-question-title", staticClass: "xml-question-title",
staticStyle: { flex: "1", "min-width": "0" }, staticStyle: { flex: "1", "min-width": "0" },
attrs: { attrs: {
content: _vm.question.description, content: _vm.formatTable(_vm.question.description),
border: false, border: false,
fileInfo: _vm.question.stem.fileInfo, fileInfo: _vm.question.stem.fileInfo,
resourceBasisPath: _vm.resourceBasisPath, resourceBasisPath: _vm.resourceBasisPath,
@ -22813,6 +22856,7 @@ var __vue_render__$1 = function () {
resourceBasisPath: _vm.resourceBasisPath, resourceBasisPath: _vm.resourceBasisPath,
isSubmit: _vm.isSubmit, isSubmit: _vm.isSubmit,
pageType: _vm.pageType, pageType: _vm.pageType,
questionType: _vm.question.type,
}, },
on: { showAnalysis: _vm.showAnalysis, afresh: _vm.afresh }, on: { showAnalysis: _vm.showAnalysis, afresh: _vm.afresh },
}), }),
@ -22850,20 +22894,22 @@ var __vue_render__$1 = function () {
staticStyle: { display: "flex", "flex-direction": "column" }, staticStyle: { display: "flex", "flex-direction": "column" },
}, },
[ [
_c("el-input", { _vm.question.description.indexOf("[/答题模板]") == -1
attrs: { ? _c("el-input", {
type: "textarea", attrs: {
placeholder: "请输入您的回答", type: "textarea",
autosize: { minRows: 2, maxRows: 8 }, placeholder: "请输入您的回答",
}, autosize: { minRows: 2, maxRows: 8 },
model: { },
value: _vm.inputAnswer, model: {
callback: function ($$v) { value: _vm.inputAnswer,
_vm.inputAnswer = $$v; callback: function ($$v) {
}, _vm.inputAnswer = $$v;
expression: "inputAnswer", },
}, expression: "inputAnswer",
}), },
})
: _vm._e(),
_vm._v(" "), _vm._v(" "),
!_vm.isAnswer & _vm.isSubmit !_vm.isAnswer & _vm.isSubmit
? _c( ? _c(
@ -23014,7 +23060,7 @@ var __vue_render__$1 = function () {
"div", "div",
{ staticClass: "question-label" }, { staticClass: "question-label" },
[ [
_vm._v("正确答案:\n "), _vm._v("\n 正确答案:\n "),
_vm.question.type == "SingleSelect" _vm.question.type == "SingleSelect"
? [ ? [
_c("span", [ _c("span", [
@ -23027,14 +23073,26 @@ var __vue_render__$1 = function () {
), ),
]), ]),
] ]
: _vm.question.type == "Judgement"
? [
_c("span", [
_vm._v(
_vm._s(
_vm.JudgementList[
_vm.question.answer - 1
]
)
),
]),
]
: _vm._l( : _vm._l(
_vm.question.answer.split(","), _vm.question.answer.split(","),
function (item, index) { function (item, index) {
return _c("span", [ return _c("span", [
_vm._v( _vm._v(
"\n " + "\n " +
_vm._s(_vm.serialNumber[item - 1]) + _vm._s(_vm.serialNumber[item - 1]) +
"\n " "\n "
), ),
]) ])
} }
@ -23150,7 +23208,7 @@ __vue_render__$1._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$1 = undefined; const __vue_inject_styles__$1 = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$1 = "data-v-674e9ab4"; const __vue_scope_id__$1 = "data-v-58c6546e";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$1 = undefined; const __vue_module_identifier__$1 = undefined;
/* functional template */ /* functional template */
@ -23270,9 +23328,13 @@ var script = {
this.$emit('setanalysis', item); this.$emit('setanalysis', item);
}, },
submitAnswer(val) { submitAnswer(val) {
if (!this.$route.query.templateId) { // if (!this.$route.query.templateId) {
this.mode === 'preview' && this.$emit('submitAnswer', val); this.mode === 'preview' && this.$emit('submitAnswer', {
} ...val,
chapterId: this.currentRule.chapterId,
xmlCompRef: this.currentRule.xmlCompRef
});
// }
}, },
changeAnswer() { changeAnswer() {
for (let i = 0; i < this.questionSetList.length; i++) { for (let i = 0; i < this.questionSetList.length; i++) {
@ -23324,6 +23386,8 @@ var __vue_render__ = function () {
"div", "div",
{ staticClass: "question-item" }, { staticClass: "question-item" },
[ [
_vm.questionSetList[0] &&
_vm.questionSetList[0].stem &&
_vm.questionSetList[0].stem.content _vm.questionSetList[0].stem.content
? _vm._l(_vm.questionSetList, function (item, index) { ? _vm._l(_vm.questionSetList, function (item, index) {
return _c("XmlQuestionItem", { return _c("XmlQuestionItem", {
@ -23394,7 +23458,7 @@ __vue_render__._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__ = undefined; const __vue_inject_styles__ = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__ = "data-v-6fc40934"; const __vue_scope_id__ = "data-v-33d3f358";
/* module identifier */ /* module identifier */
const __vue_module_identifier__ = undefined; const __vue_module_identifier__ = undefined;
/* functional template */ /* functional template */

File diff suppressed because one or more lines are too long

View File

@ -1,111 +1,9 @@
.read-the-docs[data-v-a8861796] {
/*# sourceMappingURL=render.vue.map */ color: #888;
}
.preview-container-h5[data-v-7a006dee] {
padding-top: 15px;
}
.preview-container-pc[data-v-7a006dee] {
padding-top: 15px;
}
.preview-container-pad[data-v-7a006dee] {
padding-top: 15px;
}
.preview-container[data-v-7a006dee] .el-dialog__wrapper.preview-box-dialog {
display: flex;
align-items: center;
}
.preview-container[data-v-7a006dee] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) {
margin-top: 0 !important;
}
.preview-container[data-v-7a006dee] .el-dialog__wrapper.preview-box-dialog .el-dialog__header {
padding: 0;
}
/*# sourceMappingURL=PreviewLooseLeaf.vue.map */ .read-the-docs[data-v-be1c9976] {
color: #888;
}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
.preview-container-h5[data-v-7a006dee]{padding-top:15px}.preview-container-pc[data-v-7a006dee]{padding-top:15px}.preview-container-pad[data-v-7a006dee]{padding-top:15px}.preview-container[data-v-7a006dee] .el-dialog__wrapper.preview-box-dialog{display:flex;align-items:center}.preview-container[data-v-7a006dee] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen){margin-top:0!important}.preview-container[data-v-7a006dee] .el-dialog__wrapper.preview-box-dialog .el-dialog__header{padding:0} .read-the-docs[data-v-a8861796]{color:#888}.read-the-docs[data-v-be1c9976]{color:#888}

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var epub = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAMAAAChHKjRAAAAAXNSR0IArs4c6QAAAjdQTFRFAAAAiXb/kG/0inD6inX6jW72jXL2eGLpe2fuinL2i3H3iHf6i3L5dmTvjHH3inP4inH2i3L2d2TuhW7vjHH5d2TqjnH5fWnyd2bskHb5jXX1jHH2i3H3i3H4i3H4d2Xsd2Xqi3H4cmLoi3L4inH3i3L3inL3i3L3jHL3hG3zi3L3jHL4jnT5i3L3i3L3jHH2bFPvbl/nb2DncF/ncVP1cWHncWHocWHpclP2cmLpc2Lpc2Lqc2Ppc2PqdGPpdGPqd1r1d1z0d2TreFv2eFz0eFz1eGDxeGbseVv1eVz1el31el32el71el72e133e1/2e2TxfGD1fGXxfWD3fWH2fmjxf2T2f2rwgGX3gGnygWX2gWb2gWb3gWrzgWzzgmb3gmf2gmzyg23zhGj3hGn2hGr2hGr3hG3zhWr3hWv2hWv3hWz3hW7zhW70hmz3h233h273iG34iG/3iW34iW74iW/3iXD3iXH2inD4inH3inP2i3D4i3H3i3H4i3L3i3L4i3P4jHL3jHL4jHP3jHP4jHT2jHT3jHrxjHryjXP4jXT3jXT5jXX3jXvyjnT5jnX4j3T5j3T6j3b3lYH2l4H4mIL4mYP4movynY/xpJL3pJfzpZL5pZjzqJX5q5n5r576saD6uaz3va/7zMT5zcP7z8X70Mb70sj708n708r71c381c761s382ND72db4393549z+4+H55+b66OL96+b+6+r67+v+8/L99PD/9vT+///9///+////0H5GmAAAADB0Uk5TAA0XMjI6OkZNVVpefX+HjJCRkpSeoausra2vs7W2t7i5v8TN1tbd3t/o6+7v8PH8u0jmrQAAAapJREFUOMtjYGBgYBZQ1sMAOpoKHAwIwF+HDfSlG9nzElADVGRuZScEVcNWiVORvY29KESRZDluRfb2VhJgRSp1OBQlgRTZW8uDFKnjUpRrZgtSZamER1Fji5MhSJG9qTgDgxoORXXd5e5mYGDMjltRXV9nTiIIxAkjKeoq8veFg5DK5rqWvgl9QDBRCklRacG8BfOhYMHs/Bq4hBySIu9Fe5DAXH+4hDRCUaXnqj3b12+EgE3rJidjVeS1ZM9ig4AgMAh1S+3HpWiFX2EJGBRXN9fhUrQyBFt0oylaahIWBQZ5bbgVrW2eMhUMyrLacCqCgx2TUnAr2gUFW1szcCpaHd7RCwLtkVlduB1uEREDAvGFXXWUBcFy5+x8MMgrwh2Yyxyy8sCgKDqtB6sijzV7dm7eAgHbNkxLwKaoznvhbqSkMjMYq6La2BlzZkHBnOmZ9VgVtVX4OLpCgUtgUzNWRXV1zS1w0Ig9CHADaZyZEwnIMGgQViTLoEpYkQiDWBUhNTXcDKwEDdJnZGAQJKCmgQtUQvHhVaPNCSkRWQSVdfWwAi1FHiagAgAPu3js6FbZbgAAAABJRU5ErkJggg=="; var epub = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAMAAAChHKjRAAAAAXNSR0IArs4c6QAAAjdQTFRFAAAAiXb/kG/0inD6inX6jW72jXL2eGLpe2fuinL2i3H3iHf6i3L5dmTvjHH3inP4inH2i3L2d2TuhW7vjHH5d2TqjnH5fWnyd2bskHb5jXX1jHH2i3H3i3H4i3H4d2Xsd2Xqi3H4cmLoi3L4inH3i3L3inL3i3L3jHL3hG3zi3L3jHL4jnT5i3L3i3L3jHH2bFPvbl/nb2DncF/ncVP1cWHncWHocWHpclP2cmLpc2Lpc2Lqc2Ppc2PqdGPpdGPqd1r1d1z0d2TreFv2eFz0eFz1eGDxeGbseVv1eVz1el31el32el71el72e133e1/2e2TxfGD1fGXxfWD3fWH2fmjxf2T2f2rwgGX3gGnygWX2gWb2gWb3gWrzgWzzgmb3gmf2gmzyg23zhGj3hGn2hGr2hGr3hG3zhWr3hWv2hWv3hWz3hW7zhW70hmz3h233h273iG34iG/3iW34iW74iW/3iXD3iXH2inD4inH3inP2i3D4i3H3i3H4i3L3i3L4i3P4jHL3jHL4jHP3jHP4jHT2jHT3jHrxjHryjXP4jXT3jXT5jXX3jXvyjnT5jnX4j3T5j3T6j3b3lYH2l4H4mIL4mYP4movynY/xpJL3pJfzpZL5pZjzqJX5q5n5r576saD6uaz3va/7zMT5zcP7z8X70Mb70sj708n708r71c381c761s382ND72db4393549z+4+H55+b66OL96+b+6+r67+v+8/L99PD/9vT+///9///+////0H5GmAAAADB0Uk5TAA0XMjI6OkZNVVpefX+HjJCRkpSeoausra2vs7W2t7i5v8TN1tbd3t/o6+7v8PH8u0jmrQAAAapJREFUOMtjYGBgYBZQ1sMAOpoKHAwIwF+HDfSlG9nzElADVGRuZScEVcNWiVORvY29KESRZDluRfb2VhJgRSp1OBQlgRTZW8uDFKnjUpRrZgtSZamER1Fji5MhSJG9qTgDgxoORXXd5e5mYGDMjltRXV9nTiIIxAkjKeoq8veFg5DK5rqWvgl9QDBRCklRacG8BfOhYMHs/Bq4hBySIu9Fe5DAXH+4hDRCUaXnqj3b12+EgE3rJidjVeS1ZM9ig4AgMAh1S+3HpWiFX2EJGBRXN9fhUrQyBFt0oylaahIWBQZ5bbgVrW2eMhUMyrLacCqCgx2TUnAr2gUFW1szcCpaHd7RCwLtkVlduB1uEREDAvGFXXWUBcFy5+x8MMgrwh2Yyxyy8sCgKDqtB6sijzV7dm7eAgHbNkxLwKaoznvhbqSkMjMYq6La2BlzZkHBnOmZ9VgVtVX4OLpCgUtgUzNWRXV1zS1w0Ig9CHADaZyZEwnIMGgQViTLoEpYkQiDWBUhNTXcDKwEDdJnZGAQJKCmgQtUQvHhVaPNCSkRWQSVdfWwAi1FHiagAgAPu3js6FbZbgAAAABJRU5ErkJggg==";

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {
@ -309,6 +309,18 @@ var __vue_render__ = function () {
], ],
1 1
), ),
_vm._v(" "),
_vm.groupData[_vm.imageBlockDataName].imageCaption &&
_vm.groupData[_vm.imageBlockDataName].showEffect === "hua-lang"
? _c("div", {
staticClass: "xml-group-action-image-caption",
domProps: {
innerHTML: _vm._s(
_vm.groupData[_vm.imageBlockDataName].imageCaption
),
},
})
: _vm._e(),
], ],
1 1
) )

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,7 +1,7 @@
.xml-single-text-group-h5[data-v-db5a69b0] { .xml-single-text-group-h5[data-v-345e24df] {
} }
.xml-single-text-group-pc[data-v-db5a69b0] { .xml-single-text-group-pc[data-v-345e24df] {
} }
.xml-single-text-group-pad[data-v-db5a69b0] { .xml-single-text-group-pad[data-v-345e24df] {
} }

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {
@ -124,6 +124,7 @@ var script = {
default: '' default: ''
}, },
ruleIndex: Number, ruleIndex: Number,
currentRuleIndex: Number,
//当前所处组的规则 //当前所处组的规则
currentRule: { currentRule: {
type: Object, type: Object,
@ -360,7 +361,7 @@ __vue_render__._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__ = undefined; const __vue_inject_styles__ = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__ = "data-v-db5a69b0"; const __vue_scope_id__ = "data-v-345e24df";
/* module identifier */ /* module identifier */
const __vue_module_identifier__ = undefined; const __vue_module_identifier__ = undefined;
/* functional template */ /* functional template */

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
var singleGroupMixin = { var singleGroupMixin = {

View File

@ -1,33 +1,45 @@
/*# sourceMappingURL=fifth.vue.map */
/*# sourceMappingURL=seventh.vue.map */
/*# sourceMappingURL=Greytheme2.vue.map */
/*# sourceMappingURL=fourth.vue.map */
/*# sourceMappingURL=first.vue.map */ /*# sourceMappingURL=first.vue.map */
/*# sourceMappingURL=Greytheme1.vue.map */
/*# sourceMappingURL=second.vue.map */ /*# sourceMappingURL=second.vue.map */
/*# sourceMappingURL=ninth.vue.map */ /*# sourceMappingURL=Greytheme2.vue.map */
/*# sourceMappingURL=Greytheme5.vue.map */
/*# sourceMappingURL=fourth.vue.map */
/*# sourceMappingURL=eighth.vue.map */
/*# sourceMappingURL=fifth.vue.map */
/*# sourceMappingURL=third.vue.map */
/*# sourceMappingURL=Greytheme4.vue.map */ /*# sourceMappingURL=Greytheme4.vue.map */
/*# sourceMappingURL=third.vue.map */ /*# sourceMappingURL=seventh.vue.map */
/*# sourceMappingURL=Redtheme2.vue.map */
/*# sourceMappingURL=tenth.vue.map */
/*# sourceMappingURL=ninth.vue.map */
/*# sourceMappingURL=Greytheme1.vue.map */
/*# sourceMappingURL=eleventh.vue.map */ /*# sourceMappingURL=eleventh.vue.map */
@ -36,43 +48,40 @@
/*# sourceMappingURL=sixth.vue.map */ /*# sourceMappingURL=sixth.vue.map */
/*# sourceMappingURL=tenth.vue.map */ /*# sourceMappingURL=Yellowtheme3.vue.map */
/*# sourceMappingURL=Redtheme1.vue.map */
/*# sourceMappingURL=Greytheme3.vue.map */ /*# sourceMappingURL=Greytheme3.vue.map */
/*# sourceMappingURL=Yellowtheme2.vue.map */ /*# sourceMappingURL=Greytheme6.vue.map */
/*# sourceMappingURL=Greytheme5.vue.map */ /*# sourceMappingURL=Redtheme3.vue.map */
/*# sourceMappingURL=Yellowtheme1.vue.map */
/*# sourceMappingURL=eighth.vue.map */
/*# sourceMappingURL=Yellowtheme4.vue.map */ /*# sourceMappingURL=Yellowtheme4.vue.map */
/*# sourceMappingURL=Greentheme3.vue.map */ /*# sourceMappingURL=Redtheme1.vue.map */
/*# sourceMappingURL=Bluetheme4.vue.map */
/*# sourceMappingURL=Yellowtheme1.vue.map */
/*# sourceMappingURL=Redtheme4.vue.map */ /*# sourceMappingURL=Redtheme4.vue.map */
/*# sourceMappingURL=Greytheme6.vue.map */ /*# sourceMappingURL=Greentheme2.vue.map */
/*# sourceMappingURL=Redtheme2.vue.map */ /*# sourceMappingURL=Bluetheme1.vue.map */
/*# sourceMappingURL=Yellowtheme3.vue.map */ /*# sourceMappingURL=Yellowtheme2.vue.map */
/*# sourceMappingURL=Bluetheme2.vue.map */ /*# sourceMappingURL=Bluetheme2.vue.map */
@ -81,28 +90,19 @@
/*# sourceMappingURL=Greentheme1.vue.map */ /*# sourceMappingURL=Greentheme1.vue.map */
/*# sourceMappingURL=Greentheme2.vue.map */ /*# sourceMappingURL=Greentheme3.vue.map */
/*# sourceMappingURL=Redtheme3.vue.map */
/*# sourceMappingURL=Greentheme4.vue.map */ /*# sourceMappingURL=Greentheme4.vue.map */
/*# sourceMappingURL=Bluetheme4.vue.map */
/*# sourceMappingURL=Bluetheme1.vue.map */
/*# sourceMappingURL=Bluetheme3.vue.map */ /*# sourceMappingURL=Bluetheme3.vue.map */
.xml-text-h5[data-v-1b4a8a63] { .xml-text-h5[data-v-ec02be9c] {
} }
.xml-text-pc[data-v-1b4a8a63] { .xml-text-pc[data-v-ec02be9c] {
} }
.xml-text-h5[data-v-1b4a8a63] { .xml-text-h5[data-v-ec02be9c] {
} }
.xml-text-h5 .inline-audio-wrap, .xml-text-h5 .inline-audio-wrap,
@ -774,6 +774,8 @@

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import crypto from 'crypto'; import crypto from 'crypto';
@ -15257,7 +15257,8 @@ var script$y = {
} }
this.loadingInstance = this.$loading({ this.loadingInstance = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
this.fileData.resourcesName = file.name; this.fileData.resourcesName = file.name;
if (_image.indexOf(fileExt) !== -1) { if (_image.indexOf(fileExt) !== -1) {
@ -15434,7 +15435,8 @@ var script$y = {
addRecorder() { addRecorder() {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
let formData = new FormData(); let formData = new FormData();
formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3'); formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3');
@ -28908,7 +28910,7 @@ var VueToast = createComponent$1v({
} }
}); });
var defaultOptions$1 = { var defaultOptions$2 = {
icon: '', icon: '',
type: 'text', type: 'text',
// @deprecated // @deprecated
@ -28934,7 +28936,7 @@ var defaultOptions$1 = {
var defaultOptionsMap = {}; var defaultOptionsMap = {};
var queue = []; var queue = [];
var multiple = false; var multiple = false;
var currentOptions = _extends$1({}, defaultOptions$1); var currentOptions = _extends$1({}, defaultOptions$2);
function parseOptions$1(message) { function parseOptions$1(message) {
if (isObject(message)) { if (isObject(message)) {
return message; return message;
@ -29045,7 +29047,7 @@ Toast.resetDefaultOptions = function (type) {
if (typeof type === 'string') { if (typeof type === 'string') {
defaultOptionsMap[type] = null; defaultOptionsMap[type] = null;
} else { } else {
currentOptions = _extends$1({}, defaultOptions$1); currentOptions = _extends$1({}, defaultOptions$2);
defaultOptionsMap = {}; defaultOptionsMap = {};
} }
}; };
@ -38061,7 +38063,7 @@ function Notify(options) {
} }
return instance; return instance;
} }
function defaultOptions() { function defaultOptions$1() {
return { return {
type: 'danger', type: 'danger',
value: true, value: true,
@ -38080,12 +38082,12 @@ Notify.clear = function () {
instance.value = false; instance.value = false;
} }
}; };
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
Notify.setDefaultOptions = function (options) { Notify.setDefaultOptions = function (options) {
_extends$1(Notify.currentOptions, options); _extends$1(Notify.currentOptions, options);
}; };
Notify.resetDefaultOptions = function () { Notify.resetDefaultOptions = function () {
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
}; };
Notify.install = function () { Notify.install = function () {
Vue.use(VanNotify); Vue.use(VanNotify);
@ -48326,6 +48328,121 @@ var n = function () {
}, e; }, e;
}(); }();
function getTextNodeList(dom) {
const nodeList = [...dom.childNodes];
const textNodes = [];
while (nodeList.length) {
const node = nodeList.shift();
if (node.nodeType === node.TEXT_NODE) {
node.wholeText && textNodes.push(node);
} else {
nodeList.unshift(...node.childNodes);
}
}
return textNodes;
}
function getTextInfoList(textNodes) {
let length = 0;
const textList = textNodes.map(node => {
let startIdx = length,
endIdx = length + node.wholeText.length;
length = endIdx;
return {
text: node.wholeText,
startIdx,
endIdx
};
});
return textList;
}
function getMatchList(content, keyword) {
const characters = [...'\\[](){}?.+*^$:|'].reduce((r, c) => (r[c] = true, r), {});
keyword = keyword.split('').map(s => characters[s] ? `\\${s}` : s).join('[\\s\\n]*');
const reg = new RegExp(keyword, 'gmi');
const matchList = [];
let match = reg.exec(content);
while (match) {
matchList.push(match);
match = reg.exec(content);
}
return matchList;
}
function replaceMatchResult(textNodes, textList, matchList, options) {
let {
flag,
datasets,
g
} = options;
// 对于每一个匹配结果可能分散在多个标签中找出这些标签截取匹配片段并用font标签替换出
if (!g) {
matchList = [matchList[0]];
}
for (let i = matchList.length - 1; i >= 0; i--) {
const match = matchList[i];
const matchStart = match.index,
matchEnd = matchStart + match[0].length; // 匹配结果在拼接字符串中的起止索引
// 遍历文本信息列表,查找匹配的文本节点
let groupStart = true;
for (let textIdx = 0; textIdx < textList.length; textIdx++) {
const {
text,
startIdx,
endIdx
} = textList[textIdx]; // 文本内容、文本在拼接串中开始、结束索引
if (endIdx < matchStart) continue; // 匹配的文本节点还在后面
if (startIdx >= matchEnd) break; // 匹配文本节点已经处理完了
let textNode = textNodes[textIdx]; // 这个节点中的部分或全部内容匹配到了关键词,将匹配部分截取出来进行替换
const nodeMatchStartIdx = Math.max(0, matchStart - startIdx); // 匹配内容在文本节点内容中的开始索引
const nodeMatchLength = Math.min(endIdx, matchEnd) - startIdx - nodeMatchStartIdx; // 文本节点内容匹配关键词的长度
if (nodeMatchStartIdx > 0) textNode = textNode.splitText(nodeMatchStartIdx); // textNode取后半部分
if (nodeMatchLength < textNode.wholeText.length) textNode.splitText(nodeMatchLength);
const font = document.createElement('font');
font.setAttribute(flag, i + 1);
groupStart ? font.classList.add(flag) : font.classList.add(flag + '-rest');
if (datasets.length && Array.isArray(datasets)) {
datasets.forEach(({
key,
value
}) => {
font.dataset[key] = value;
});
}
font.innerText = text.substr(nodeMatchStartIdx, nodeMatchLength);
textNode.parentNode.replaceChild(font, textNode);
groupStart = false;
}
}
}
const defaultOptions = {
flag: 'xml-graph-link',
datasets: [],
g: false
};
function replaceKeywordsInHTML(html, keyword, options = defaultOptions) {
options = {
...defaultOptions,
...options
};
let matchCount = 0,
replacedHtml = '';
if (!html || !keyword) {
replacedHtml = html;
return [replacedHtml, matchCount];
}
const div = document.createElement('div');
div.innerHTML = html;
const textNodes = getTextNodeList(div);
const textList = getTextInfoList(textNodes);
const content = textList.map(({
text
}) => text).join('');
const matchList = getMatchList(content, keyword);
matchCount = matchList.length;
replaceMatchResult(textNodes, textList, matchList, options);
replacedHtml = div.innerHTML;
return [replacedHtml, matchCount];
}
// //
var script$x = { var script$x = {
name: 'XmlTextRender', name: 'XmlTextRender',
@ -48491,6 +48608,10 @@ var script$x = {
from: 'getSysEvn', from: 'getSysEvn',
default: () => () => {} default: () => () => {}
} }
// callFnReplaceKeywordsInHTML: {
// from: 'replaceKeywordsInHTML',
// default: () => () => () => []
// }
}, },
computed: { computed: {
feedback() { feedback() {
@ -48498,6 +48619,7 @@ var script$x = {
ruleIndex: this.ruleIndex, ruleIndex: this.ruleIndex,
dataName: this.blockDataName, dataName: this.blockDataName,
data: this.pBlockData, data: this.pBlockData,
graphLinks: this.currentRule.data?.graphLinks || [],
dataIndex: this.dataIndex, dataIndex: this.dataIndex,
blockId: this.blockId blockId: this.blockId
}; };
@ -48533,6 +48655,40 @@ var script$x = {
}, },
resourceBasisPath() { resourceBasisPath() {
return this.getResourceBasisPath(); return this.getResourceBasisPath();
},
richContent() {
let formated = this.formatImg(this.pBlockData.html);
let links = this.currentRule.data?.graphLinks || [];
if (!links.length) {
return formated;
}
let copy = formated;
let tempWrapDom = document.createElement('div');
tempWrapDom.innerHTML = copy;
let content = '';
Array.from(tempWrapDom.childNodes).forEach(child => {
if (child.dataset.graphKey && child.tagName === 'P') {
let pCopy = child.outerHTML + '';
for (let i = 0, len = links.length; i < len; i++) {
let item = links[i];
if (item.targets.includes(child.dataset.graphKey)) {
pCopy = replaceKeywordsInHTML(pCopy, item.name, {
flag: 'xml-graph-link',
datasets: [{
key: 'graphLinkId',
value: item.id
}]
})[0];
}
}
content += pCopy;
} else {
content += child.outerHTML;
}
});
copy = '';
tempWrapDom = null;
return content;
} }
}, },
watch: { watch: {
@ -48579,7 +48735,7 @@ var script$x = {
let mceMagicLinkRegistered = window.customElements?.get('magic-link'); let mceMagicLinkRegistered = window.customElements?.get('magic-link');
if (!mceMagicLinkRegistered) { if (!mceMagicLinkRegistered) {
window.customElements.whenDefined('magic-link').then(res => { window.customElements.whenDefined('magic-link').then(res => {
console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res); // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res)
}); });
window.customElements.define('magic-link', MagicLink); window.customElements.define('magic-link', MagicLink);
} }
@ -49685,7 +49841,7 @@ var __vue_render__$x = function () {
: _c("div", { : _c("div", {
staticClass: "richtext-reset-wrapper--view", staticClass: "richtext-reset-wrapper--view",
attrs: { id: _vm.markRootId }, attrs: { id: _vm.markRootId },
domProps: { innerHTML: _vm._s(_vm.formatImg(_vm.pBlockData.html)) }, domProps: { innerHTML: _vm._s(_vm.richContent) },
}), }),
_vm._v(" "), _vm._v(" "),
_vm._t("mater-lib-dialog"), _vm._t("mater-lib-dialog"),
@ -50259,7 +50415,7 @@ __vue_render__$x._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$x = undefined; const __vue_inject_styles__$x = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$x = "data-v-1b4a8a63"; const __vue_scope_id__$x = "data-v-ec02be9c";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$x = undefined; const __vue_module_identifier__$x = undefined;
/* functional template */ /* functional template */

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
// //

View File

@ -1,12 +1,4 @@
.xml-text-h5[data-v-1b4a8a63] {
}
.xml-text-pc[data-v-1b4a8a63] {
}
.xml-text-h5[data-v-1b4a8a63] {
}
/*# sourceMappingURL=XmlTextDialog.vue.map */ /*# sourceMappingURL=XmlTextDialog.vue.map */
.xml-text-h5 .inline-audio-wrap, .xml-text-h5 .inline-audio-wrap,
@ -80,6 +72,16 @@
/*# sourceMappingURL=XmlText.vue.map */ /*# sourceMappingURL=XmlText.vue.map */
.xml-text-h5[data-v-ec02be9c] {
}
.xml-text-pc[data-v-ec02be9c] {
}
.xml-text-h5[data-v-ec02be9c] {
}

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import crypto from 'crypto'; import crypto from 'crypto';
@ -15257,7 +15257,8 @@ var script$1 = {
} }
this.loadingInstance = this.$loading({ this.loadingInstance = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
this.fileData.resourcesName = file.name; this.fileData.resourcesName = file.name;
if (_image.indexOf(fileExt) !== -1) { if (_image.indexOf(fileExt) !== -1) {
@ -15434,7 +15435,8 @@ var script$1 = {
addRecorder() { addRecorder() {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
let formData = new FormData(); let formData = new FormData();
formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3'); formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3');
@ -28908,7 +28910,7 @@ var VueToast = createComponent$1v({
} }
}); });
var defaultOptions$1 = { var defaultOptions$2 = {
icon: '', icon: '',
type: 'text', type: 'text',
// @deprecated // @deprecated
@ -28934,7 +28936,7 @@ var defaultOptions$1 = {
var defaultOptionsMap = {}; var defaultOptionsMap = {};
var queue = []; var queue = [];
var multiple = false; var multiple = false;
var currentOptions = _extends$1({}, defaultOptions$1); var currentOptions = _extends$1({}, defaultOptions$2);
function parseOptions$1(message) { function parseOptions$1(message) {
if (isObject(message)) { if (isObject(message)) {
return message; return message;
@ -29045,7 +29047,7 @@ Toast.resetDefaultOptions = function (type) {
if (typeof type === 'string') { if (typeof type === 'string') {
defaultOptionsMap[type] = null; defaultOptionsMap[type] = null;
} else { } else {
currentOptions = _extends$1({}, defaultOptions$1); currentOptions = _extends$1({}, defaultOptions$2);
defaultOptionsMap = {}; defaultOptionsMap = {};
} }
}; };
@ -38061,7 +38063,7 @@ function Notify(options) {
} }
return instance; return instance;
} }
function defaultOptions() { function defaultOptions$1() {
return { return {
type: 'danger', type: 'danger',
value: true, value: true,
@ -38080,12 +38082,12 @@ Notify.clear = function () {
instance.value = false; instance.value = false;
} }
}; };
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
Notify.setDefaultOptions = function (options) { Notify.setDefaultOptions = function (options) {
_extends$1(Notify.currentOptions, options); _extends$1(Notify.currentOptions, options);
}; };
Notify.resetDefaultOptions = function () { Notify.resetDefaultOptions = function () {
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
}; };
Notify.install = function () { Notify.install = function () {
Vue.use(VanNotify); Vue.use(VanNotify);
@ -48326,6 +48328,121 @@ var n = function () {
}, e; }, e;
}(); }();
function getTextNodeList(dom) {
const nodeList = [...dom.childNodes];
const textNodes = [];
while (nodeList.length) {
const node = nodeList.shift();
if (node.nodeType === node.TEXT_NODE) {
node.wholeText && textNodes.push(node);
} else {
nodeList.unshift(...node.childNodes);
}
}
return textNodes;
}
function getTextInfoList(textNodes) {
let length = 0;
const textList = textNodes.map(node => {
let startIdx = length,
endIdx = length + node.wholeText.length;
length = endIdx;
return {
text: node.wholeText,
startIdx,
endIdx
};
});
return textList;
}
function getMatchList(content, keyword) {
const characters = [...'\\[](){}?.+*^$:|'].reduce((r, c) => (r[c] = true, r), {});
keyword = keyword.split('').map(s => characters[s] ? `\\${s}` : s).join('[\\s\\n]*');
const reg = new RegExp(keyword, 'gmi');
const matchList = [];
let match = reg.exec(content);
while (match) {
matchList.push(match);
match = reg.exec(content);
}
return matchList;
}
function replaceMatchResult(textNodes, textList, matchList, options) {
let {
flag,
datasets,
g
} = options;
// 对于每一个匹配结果可能分散在多个标签中找出这些标签截取匹配片段并用font标签替换出
if (!g) {
matchList = [matchList[0]];
}
for (let i = matchList.length - 1; i >= 0; i--) {
const match = matchList[i];
const matchStart = match.index,
matchEnd = matchStart + match[0].length; // 匹配结果在拼接字符串中的起止索引
// 遍历文本信息列表,查找匹配的文本节点
let groupStart = true;
for (let textIdx = 0; textIdx < textList.length; textIdx++) {
const {
text,
startIdx,
endIdx
} = textList[textIdx]; // 文本内容、文本在拼接串中开始、结束索引
if (endIdx < matchStart) continue; // 匹配的文本节点还在后面
if (startIdx >= matchEnd) break; // 匹配文本节点已经处理完了
let textNode = textNodes[textIdx]; // 这个节点中的部分或全部内容匹配到了关键词,将匹配部分截取出来进行替换
const nodeMatchStartIdx = Math.max(0, matchStart - startIdx); // 匹配内容在文本节点内容中的开始索引
const nodeMatchLength = Math.min(endIdx, matchEnd) - startIdx - nodeMatchStartIdx; // 文本节点内容匹配关键词的长度
if (nodeMatchStartIdx > 0) textNode = textNode.splitText(nodeMatchStartIdx); // textNode取后半部分
if (nodeMatchLength < textNode.wholeText.length) textNode.splitText(nodeMatchLength);
const font = document.createElement('font');
font.setAttribute(flag, i + 1);
groupStart ? font.classList.add(flag) : font.classList.add(flag + '-rest');
if (datasets.length && Array.isArray(datasets)) {
datasets.forEach(({
key,
value
}) => {
font.dataset[key] = value;
});
}
font.innerText = text.substr(nodeMatchStartIdx, nodeMatchLength);
textNode.parentNode.replaceChild(font, textNode);
groupStart = false;
}
}
}
const defaultOptions = {
flag: 'xml-graph-link',
datasets: [],
g: false
};
function replaceKeywordsInHTML(html, keyword, options = defaultOptions) {
options = {
...defaultOptions,
...options
};
let matchCount = 0,
replacedHtml = '';
if (!html || !keyword) {
replacedHtml = html;
return [replacedHtml, matchCount];
}
const div = document.createElement('div');
div.innerHTML = html;
const textNodes = getTextNodeList(div);
const textList = getTextInfoList(textNodes);
const content = textList.map(({
text
}) => text).join('');
const matchList = getMatchList(content, keyword);
matchCount = matchList.length;
replaceMatchResult(textNodes, textList, matchList, options);
replacedHtml = div.innerHTML;
return [replacedHtml, matchCount];
}
// //
var script = { var script = {
name: 'XmlTextRender', name: 'XmlTextRender',
@ -48491,6 +48608,10 @@ var script = {
from: 'getSysEvn', from: 'getSysEvn',
default: () => () => {} default: () => () => {}
} }
// callFnReplaceKeywordsInHTML: {
// from: 'replaceKeywordsInHTML',
// default: () => () => () => []
// }
}, },
computed: { computed: {
feedback() { feedback() {
@ -48498,6 +48619,7 @@ var script = {
ruleIndex: this.ruleIndex, ruleIndex: this.ruleIndex,
dataName: this.blockDataName, dataName: this.blockDataName,
data: this.pBlockData, data: this.pBlockData,
graphLinks: this.currentRule.data?.graphLinks || [],
dataIndex: this.dataIndex, dataIndex: this.dataIndex,
blockId: this.blockId blockId: this.blockId
}; };
@ -48533,6 +48655,40 @@ var script = {
}, },
resourceBasisPath() { resourceBasisPath() {
return this.getResourceBasisPath(); return this.getResourceBasisPath();
},
richContent() {
let formated = this.formatImg(this.pBlockData.html);
let links = this.currentRule.data?.graphLinks || [];
if (!links.length) {
return formated;
}
let copy = formated;
let tempWrapDom = document.createElement('div');
tempWrapDom.innerHTML = copy;
let content = '';
Array.from(tempWrapDom.childNodes).forEach(child => {
if (child.dataset.graphKey && child.tagName === 'P') {
let pCopy = child.outerHTML + '';
for (let i = 0, len = links.length; i < len; i++) {
let item = links[i];
if (item.targets.includes(child.dataset.graphKey)) {
pCopy = replaceKeywordsInHTML(pCopy, item.name, {
flag: 'xml-graph-link',
datasets: [{
key: 'graphLinkId',
value: item.id
}]
})[0];
}
}
content += pCopy;
} else {
content += child.outerHTML;
}
});
copy = '';
tempWrapDom = null;
return content;
} }
}, },
watch: { watch: {
@ -48579,7 +48735,7 @@ var script = {
let mceMagicLinkRegistered = window.customElements?.get('magic-link'); let mceMagicLinkRegistered = window.customElements?.get('magic-link');
if (!mceMagicLinkRegistered) { if (!mceMagicLinkRegistered) {
window.customElements.whenDefined('magic-link').then(res => { window.customElements.whenDefined('magic-link').then(res => {
console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res); // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res)
}); });
window.customElements.define('magic-link', MagicLink); window.customElements.define('magic-link', MagicLink);
} }
@ -49685,7 +49841,7 @@ var __vue_render__ = function () {
: _c("div", { : _c("div", {
staticClass: "richtext-reset-wrapper--view", staticClass: "richtext-reset-wrapper--view",
attrs: { id: _vm.markRootId }, attrs: { id: _vm.markRootId },
domProps: { innerHTML: _vm._s(_vm.formatImg(_vm.pBlockData.html)) }, domProps: { innerHTML: _vm._s(_vm.richContent) },
}), }),
_vm._v(" "), _vm._v(" "),
_vm._t("mater-lib-dialog"), _vm._t("mater-lib-dialog"),
@ -50259,7 +50415,7 @@ __vue_render__._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__ = undefined; const __vue_inject_styles__ = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__ = "data-v-1b4a8a63"; const __vue_scope_id__ = "data-v-ec02be9c";
/* module identifier */ /* module identifier */
const __vue_module_identifier__ = undefined; const __vue_module_identifier__ = undefined;
/* functional template */ /* functional template */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,30 +1,30 @@
/*# sourceMappingURL=third.vue.map */ /*# sourceMappingURL=first.vue.map */
/*# sourceMappingURL=sixteen.vue.map */ /*# sourceMappingURL=semicircle.vue.map */
/*# sourceMappingURL=sixth.vue.map */ /*# sourceMappingURL=sixth.vue.map */
/*# sourceMappingURL=hexagon.vue.map */
/*# sourceMappingURL=rotundity.vue.map */
/*# sourceMappingURL=fourteen.vue.map */
/*# sourceMappingURL=second.vue.map */
/*# sourceMappingURL=fifth.vue.map */ /*# sourceMappingURL=fifth.vue.map */
/*# sourceMappingURL=first.vue.map */ /*# sourceMappingURL=thirteenth.vue.map */
/*# sourceMappingURL=third.vue.map */
/*# sourceMappingURL=triangle.vue.map */
/*# sourceMappingURL=seventeen.vue.map */
/*# sourceMappingURL=hexagon.vue.map */
/*# sourceMappingURL=rectangle.vue.map */ /*# sourceMappingURL=rectangle.vue.map */
@ -33,28 +33,34 @@
/*# sourceMappingURL=square.vue.map */ /*# sourceMappingURL=square.vue.map */
/*# sourceMappingURL=Greentheme2.vue.map */ /*# sourceMappingURL=second.vue.map */
/*# sourceMappingURL=eighteen2.vue.map */
/*# sourceMappingURL=fifteen.vue.map */ /*# sourceMappingURL=fifteen.vue.map */
/*# sourceMappingURL=seventeen.vue.map */ /*# sourceMappingURL=sixteen.vue.map */
/*# sourceMappingURL=triangle.vue.map */ /*# sourceMappingURL=Yellowtheme1.vue.map */
/*# sourceMappingURL=thirteenth.vue.map */ /*# sourceMappingURL=rotundity.vue.map */
/*# sourceMappingURL=Greentheme1.vue.map */ /*# sourceMappingURL=nineteen.vue.map */
/*# sourceMappingURL=semicircle.vue.map */ /*# sourceMappingURL=Greentheme4.vue.map */
/*# sourceMappingURL=eighteen2.vue.map */
/*# sourceMappingURL=fourteen.vue.map */
/*# sourceMappingURL=Greentheme3.vue.map */
/*# sourceMappingURL=eighteen.vue.map */ /*# sourceMappingURL=eighteen.vue.map */
@ -63,67 +69,61 @@
/*# sourceMappingURL=twelfth.vue.map */ /*# sourceMappingURL=twelfth.vue.map */
/*# sourceMappingURL=Greentheme5.vue.map */
/*# sourceMappingURL=Yellowtheme3.vue.map */ /*# sourceMappingURL=Yellowtheme3.vue.map */
/*# sourceMappingURL=Yellowtheme5.vue.map */
/*# sourceMappingURL=Yellowtheme4.vue.map */
/*# sourceMappingURL=Greentheme3.vue.map */
/*# sourceMappingURL=Yellowtheme1.vue.map */
/*# sourceMappingURL=nineteen.vue.map */
/*# sourceMappingURL=Greentheme6.vue.map */
/*# sourceMappingURL=SanQintheme3.vue.map */
/*# sourceMappingURL=Greentheme4.vue.map */
/*# sourceMappingURL=Yellowtheme2.vue.map */ /*# sourceMappingURL=Yellowtheme2.vue.map */
/*# sourceMappingURL=SanQintheme1.vue.map */ /*# sourceMappingURL=Greentheme2.vue.map */
/*# sourceMappingURL=Twentythree.vue.map */
/*# sourceMappingURL=Knowledge.vue.map */ /*# sourceMappingURL=Knowledge.vue.map */
/*# sourceMappingURL=Twentytwo.vue.map */ /*# sourceMappingURL=Twentythree.vue.map */
/*# sourceMappingURL=Yellowtheme6.vue.map */ /*# sourceMappingURL=Yellowtheme5.vue.map */
/*# sourceMappingURL=SanQintheme2.vue.map */ /*# sourceMappingURL=Greentheme5.vue.map */
/*# sourceMappingURL=Greentheme1.vue.map */
/*# sourceMappingURL=SanQintheme3.vue.map */
/*# sourceMappingURL=Greentheme6.vue.map */
/*# sourceMappingURL=Yellowtheme4.vue.map */
/*# sourceMappingURL=Twentyfive.vue.map */ /*# sourceMappingURL=Twentyfive.vue.map */
/*# sourceMappingURL=twenty.vue.map */ /*# sourceMappingURL=SanQintheme1.vue.map */
/*# sourceMappingURL=Yellowtheme6.vue.map */
/*# sourceMappingURL=Twentyfour.vue.map */
/*# sourceMappingURL=Twentyone.vue.map */ /*# sourceMappingURL=Twentyone.vue.map */
/*# sourceMappingURL=Twentyfour.vue.map */ /*# sourceMappingURL=twenty.vue.map */
/*# sourceMappingURL=Twentytwo.vue.map */
/*# sourceMappingURL=SanQintheme2.vue.map */
.xml-text-h5 .inline-audio-wrap, .xml-text-h5 .inline-audio-wrap,
.xml-text-h5 .inline-link-wrap { .xml-text-h5 .inline-link-wrap {
align-items: center; align-items: center;
@ -195,11 +195,11 @@
/*# sourceMappingURL=XmlText.vue.map */ /*# sourceMappingURL=XmlText.vue.map */
.xml-text-h5[data-v-1b4a8a63] { .xml-text-h5[data-v-ec02be9c] {
} }
.xml-text-pc[data-v-1b4a8a63] { .xml-text-pc[data-v-ec02be9c] {
} }
.xml-text-h5[data-v-1b4a8a63] { .xml-text-h5[data-v-ec02be9c] {
} }
@ -801,6 +801,8 @@

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import crypto from 'crypto'; import crypto from 'crypto';
@ -15257,7 +15257,8 @@ var script$H = {
} }
this.loadingInstance = this.$loading({ this.loadingInstance = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
this.fileData.resourcesName = file.name; this.fileData.resourcesName = file.name;
if (_image.indexOf(fileExt) !== -1) { if (_image.indexOf(fileExt) !== -1) {
@ -15434,7 +15435,8 @@ var script$H = {
addRecorder() { addRecorder() {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
let formData = new FormData(); let formData = new FormData();
formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3'); formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3');
@ -28908,7 +28910,7 @@ var VueToast = createComponent$1v({
} }
}); });
var defaultOptions$1 = { var defaultOptions$2 = {
icon: '', icon: '',
type: 'text', type: 'text',
// @deprecated // @deprecated
@ -28934,7 +28936,7 @@ var defaultOptions$1 = {
var defaultOptionsMap = {}; var defaultOptionsMap = {};
var queue = []; var queue = [];
var multiple = false; var multiple = false;
var currentOptions = _extends$1({}, defaultOptions$1); var currentOptions = _extends$1({}, defaultOptions$2);
function parseOptions$1(message) { function parseOptions$1(message) {
if (isObject(message)) { if (isObject(message)) {
return message; return message;
@ -29045,7 +29047,7 @@ Toast.resetDefaultOptions = function (type) {
if (typeof type === 'string') { if (typeof type === 'string') {
defaultOptionsMap[type] = null; defaultOptionsMap[type] = null;
} else { } else {
currentOptions = _extends$1({}, defaultOptions$1); currentOptions = _extends$1({}, defaultOptions$2);
defaultOptionsMap = {}; defaultOptionsMap = {};
} }
}; };
@ -38061,7 +38063,7 @@ function Notify(options) {
} }
return instance; return instance;
} }
function defaultOptions() { function defaultOptions$1() {
return { return {
type: 'danger', type: 'danger',
value: true, value: true,
@ -38080,12 +38082,12 @@ Notify.clear = function () {
instance.value = false; instance.value = false;
} }
}; };
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
Notify.setDefaultOptions = function (options) { Notify.setDefaultOptions = function (options) {
_extends$1(Notify.currentOptions, options); _extends$1(Notify.currentOptions, options);
}; };
Notify.resetDefaultOptions = function () { Notify.resetDefaultOptions = function () {
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
}; };
Notify.install = function () { Notify.install = function () {
Vue.use(VanNotify); Vue.use(VanNotify);
@ -48326,6 +48328,121 @@ var n = function () {
}, e; }, e;
}(); }();
function getTextNodeList(dom) {
const nodeList = [...dom.childNodes];
const textNodes = [];
while (nodeList.length) {
const node = nodeList.shift();
if (node.nodeType === node.TEXT_NODE) {
node.wholeText && textNodes.push(node);
} else {
nodeList.unshift(...node.childNodes);
}
}
return textNodes;
}
function getTextInfoList(textNodes) {
let length = 0;
const textList = textNodes.map(node => {
let startIdx = length,
endIdx = length + node.wholeText.length;
length = endIdx;
return {
text: node.wholeText,
startIdx,
endIdx
};
});
return textList;
}
function getMatchList(content, keyword) {
const characters = [...'\\[](){}?.+*^$:|'].reduce((r, c) => (r[c] = true, r), {});
keyword = keyword.split('').map(s => characters[s] ? `\\${s}` : s).join('[\\s\\n]*');
const reg = new RegExp(keyword, 'gmi');
const matchList = [];
let match = reg.exec(content);
while (match) {
matchList.push(match);
match = reg.exec(content);
}
return matchList;
}
function replaceMatchResult(textNodes, textList, matchList, options) {
let {
flag,
datasets,
g
} = options;
// 对于每一个匹配结果可能分散在多个标签中找出这些标签截取匹配片段并用font标签替换出
if (!g) {
matchList = [matchList[0]];
}
for (let i = matchList.length - 1; i >= 0; i--) {
const match = matchList[i];
const matchStart = match.index,
matchEnd = matchStart + match[0].length; // 匹配结果在拼接字符串中的起止索引
// 遍历文本信息列表,查找匹配的文本节点
let groupStart = true;
for (let textIdx = 0; textIdx < textList.length; textIdx++) {
const {
text,
startIdx,
endIdx
} = textList[textIdx]; // 文本内容、文本在拼接串中开始、结束索引
if (endIdx < matchStart) continue; // 匹配的文本节点还在后面
if (startIdx >= matchEnd) break; // 匹配文本节点已经处理完了
let textNode = textNodes[textIdx]; // 这个节点中的部分或全部内容匹配到了关键词,将匹配部分截取出来进行替换
const nodeMatchStartIdx = Math.max(0, matchStart - startIdx); // 匹配内容在文本节点内容中的开始索引
const nodeMatchLength = Math.min(endIdx, matchEnd) - startIdx - nodeMatchStartIdx; // 文本节点内容匹配关键词的长度
if (nodeMatchStartIdx > 0) textNode = textNode.splitText(nodeMatchStartIdx); // textNode取后半部分
if (nodeMatchLength < textNode.wholeText.length) textNode.splitText(nodeMatchLength);
const font = document.createElement('font');
font.setAttribute(flag, i + 1);
groupStart ? font.classList.add(flag) : font.classList.add(flag + '-rest');
if (datasets.length && Array.isArray(datasets)) {
datasets.forEach(({
key,
value
}) => {
font.dataset[key] = value;
});
}
font.innerText = text.substr(nodeMatchStartIdx, nodeMatchLength);
textNode.parentNode.replaceChild(font, textNode);
groupStart = false;
}
}
}
const defaultOptions = {
flag: 'xml-graph-link',
datasets: [],
g: false
};
function replaceKeywordsInHTML(html, keyword, options = defaultOptions) {
options = {
...defaultOptions,
...options
};
let matchCount = 0,
replacedHtml = '';
if (!html || !keyword) {
replacedHtml = html;
return [replacedHtml, matchCount];
}
const div = document.createElement('div');
div.innerHTML = html;
const textNodes = getTextNodeList(div);
const textList = getTextInfoList(textNodes);
const content = textList.map(({
text
}) => text).join('');
const matchList = getMatchList(content, keyword);
matchCount = matchList.length;
replaceMatchResult(textNodes, textList, matchList, options);
replacedHtml = div.innerHTML;
return [replacedHtml, matchCount];
}
// //
var script$G = { var script$G = {
name: 'XmlTextRender', name: 'XmlTextRender',
@ -48491,6 +48608,10 @@ var script$G = {
from: 'getSysEvn', from: 'getSysEvn',
default: () => () => {} default: () => () => {}
} }
// callFnReplaceKeywordsInHTML: {
// from: 'replaceKeywordsInHTML',
// default: () => () => () => []
// }
}, },
computed: { computed: {
feedback() { feedback() {
@ -48498,6 +48619,7 @@ var script$G = {
ruleIndex: this.ruleIndex, ruleIndex: this.ruleIndex,
dataName: this.blockDataName, dataName: this.blockDataName,
data: this.pBlockData, data: this.pBlockData,
graphLinks: this.currentRule.data?.graphLinks || [],
dataIndex: this.dataIndex, dataIndex: this.dataIndex,
blockId: this.blockId blockId: this.blockId
}; };
@ -48533,6 +48655,40 @@ var script$G = {
}, },
resourceBasisPath() { resourceBasisPath() {
return this.getResourceBasisPath(); return this.getResourceBasisPath();
},
richContent() {
let formated = this.formatImg(this.pBlockData.html);
let links = this.currentRule.data?.graphLinks || [];
if (!links.length) {
return formated;
}
let copy = formated;
let tempWrapDom = document.createElement('div');
tempWrapDom.innerHTML = copy;
let content = '';
Array.from(tempWrapDom.childNodes).forEach(child => {
if (child.dataset.graphKey && child.tagName === 'P') {
let pCopy = child.outerHTML + '';
for (let i = 0, len = links.length; i < len; i++) {
let item = links[i];
if (item.targets.includes(child.dataset.graphKey)) {
pCopy = replaceKeywordsInHTML(pCopy, item.name, {
flag: 'xml-graph-link',
datasets: [{
key: 'graphLinkId',
value: item.id
}]
})[0];
}
}
content += pCopy;
} else {
content += child.outerHTML;
}
});
copy = '';
tempWrapDom = null;
return content;
} }
}, },
watch: { watch: {
@ -48579,7 +48735,7 @@ var script$G = {
let mceMagicLinkRegistered = window.customElements?.get('magic-link'); let mceMagicLinkRegistered = window.customElements?.get('magic-link');
if (!mceMagicLinkRegistered) { if (!mceMagicLinkRegistered) {
window.customElements.whenDefined('magic-link').then(res => { window.customElements.whenDefined('magic-link').then(res => {
console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res); // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res)
}); });
window.customElements.define('magic-link', MagicLink); window.customElements.define('magic-link', MagicLink);
} }
@ -49685,7 +49841,7 @@ var __vue_render__$G = function () {
: _c("div", { : _c("div", {
staticClass: "richtext-reset-wrapper--view", staticClass: "richtext-reset-wrapper--view",
attrs: { id: _vm.markRootId }, attrs: { id: _vm.markRootId },
domProps: { innerHTML: _vm._s(_vm.formatImg(_vm.pBlockData.html)) }, domProps: { innerHTML: _vm._s(_vm.richContent) },
}), }),
_vm._v(" "), _vm._v(" "),
_vm._t("mater-lib-dialog"), _vm._t("mater-lib-dialog"),
@ -50259,7 +50415,7 @@ __vue_render__$G._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$G = undefined; const __vue_inject_styles__$G = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$G = "data-v-1b4a8a63"; const __vue_scope_id__$G = "data-v-ec02be9c";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$G = undefined; const __vue_module_identifier__$G = undefined;
/* functional template */ /* functional template */

View File

@ -3,7 +3,7 @@
/*# sourceMappingURL=semicircle.vue.map */ /*# sourceMappingURL=semicircle.vue.map */
/*# sourceMappingURL=Yellowtheme5.vue.map */ /*# sourceMappingURL=Yellowtheme2.vue.map */
/*# sourceMappingURL=first.vue.map */ /*# sourceMappingURL=first.vue.map */
@ -18,12 +18,6 @@
/*# sourceMappingURL=Yellowtheme4.vue.map */ /*# sourceMappingURL=Yellowtheme4.vue.map */
/*# sourceMappingURL=Yellowtheme2.vue.map */
/*# sourceMappingURL=thirteenth.vue.map */
/*# sourceMappingURL=Yellowtheme6.vue.map */ /*# sourceMappingURL=Yellowtheme6.vue.map */
.title-text[data-v-14dffda4] { .title-text[data-v-14dffda4] {
background-color: var(--background-color) !important; background-color: var(--background-color) !important;
@ -36,43 +30,22 @@
/*# sourceMappingURL=third.vue.map */ /*# sourceMappingURL=third.vue.map */
/*# sourceMappingURL=twelfth.vue.map */
/*# sourceMappingURL=Greentheme1.vue.map */ /*# sourceMappingURL=Greentheme1.vue.map */
/*# sourceMappingURL=Greentheme6.vue.map */ /*# sourceMappingURL=twelfth.vue.map */
/*# sourceMappingURL=rectangle.vue.map */ /*# sourceMappingURL=thirteenth.vue.map */
/*# sourceMappingURL=fourteen.vue.map */ /*# sourceMappingURL=Greentheme2.vue.map */
/*# sourceMappingURL=Knowledge.vue.map */
/*# sourceMappingURL=Greentheme3.vue.map */ /*# sourceMappingURL=Greentheme3.vue.map */
/*# sourceMappingURL=fifth.vue.map */ /*# sourceMappingURL=rectangle.vue.map */
/*# sourceMappingURL=sixteen.vue.map */
/*# sourceMappingURL=fifteen.vue.map */
/*# sourceMappingURL=Redtheme4.vue.map */
/*# sourceMappingURL=seventeen.vue.map */
/*# sourceMappingURL=hexagon.vue.map */
/*# sourceMappingURL=Redtheme3.vue.map */ /*# sourceMappingURL=Redtheme3.vue.map */
@ -81,99 +54,126 @@
/*# sourceMappingURL=nineteen.vue.map */ /*# sourceMappingURL=nineteen.vue.map */
/*# sourceMappingURL=Thirtyfour.vue.map */ /*# sourceMappingURL=Greentheme6.vue.map */
/*# sourceMappingURL=Redtheme2.vue.map */ /*# sourceMappingURL=Yellowtheme5.vue.map */
/*# sourceMappingURL=Thirtysix.vue.map */ /*# sourceMappingURL=fifteen.vue.map */
/*# sourceMappingURL=Greentheme4.vue.map */ /*# sourceMappingURL=Greentheme4.vue.map */
/*# sourceMappingURL=Thirtyfive.vue.map */ /*# sourceMappingURL=fifth.vue.map */
/*# sourceMappingURL=Greentheme2.vue.map */ /*# sourceMappingURL=hexagon.vue.map */
/*# sourceMappingURL=Redtheme4.vue.map */
/*# sourceMappingURL=Redtheme1.vue.map */ /*# sourceMappingURL=Redtheme1.vue.map */
/*# sourceMappingURL=fourteen.vue.map */
/*# sourceMappingURL=seventeen.vue.map */
/*# sourceMappingURL=Thirtytwo.vue.map */ /*# sourceMappingURL=Thirtytwo.vue.map */
/*# sourceMappingURL=Knowledge.vue.map */
/*# sourceMappingURL=Thirtythree.vue.map */ /*# sourceMappingURL=Thirtythree.vue.map */
/*# sourceMappingURL=Thirtyone.vue.map */ /*# sourceMappingURL=sixteen.vue.map */
/*# sourceMappingURL=Thirtysix.vue.map */
/*# sourceMappingURL=triangle.vue.map */ /*# sourceMappingURL=triangle.vue.map */
/*# sourceMappingURL=BuleRectangle.vue.map */
/*# sourceMappingURL=Redtheme2.vue.map */
/*# sourceMappingURL=Thirtyfour.vue.map */
/*# sourceMappingURL=titleQuestion.vue.map */
/*# sourceMappingURL=Thirtyone.vue.map */
/*# sourceMappingURL=Thirtyfive.vue.map */
/*# sourceMappingURL=Thirtyseven.vue.map */ /*# sourceMappingURL=Thirtyseven.vue.map */
/*# sourceMappingURL=titleLogging.vue.map */ /*# sourceMappingURL=titleLogging.vue.map */
/*# sourceMappingURL=titleLight.vue.map */ /*# sourceMappingURL=Sevenpagefour.vue.map */
/*# sourceMappingURL=titleQuestion.vue.map */
/*# sourceMappingURL=titleCrane.vue.map */
/*# sourceMappingURL=BuleRectangle.vue.map */
/*# sourceMappingURL=Sevenpagetwo.vue.map */
/*# sourceMappingURL=Thirtynine.vue.map */ /*# sourceMappingURL=Thirtynine.vue.map */
/*# sourceMappingURL=BuleRectangleTwo.vue.map */ /*# sourceMappingURL=titleTearcher.vue.map */
/*# sourceMappingURL=Thirtyeight.vue.map */ /*# sourceMappingURL=titleCrane.vue.map */
/*# sourceMappingURL=Fortyone.vue.map */ /*# sourceMappingURL=Sevenpagetwo.vue.map */
/*# sourceMappingURL=Sevenpagefour.vue.map */
/*# sourceMappingURL=Sevenpagethree.vue.map */
/*# sourceMappingURL=Forty.vue.map */
/*# sourceMappingURL=Sevenpagefive.vue.map */ /*# sourceMappingURL=Sevenpagefive.vue.map */
/*# sourceMappingURL=titleTearcher.vue.map */ /*# sourceMappingURL=Sevenpagethree.vue.map */
/*# sourceMappingURL=titleText.vue.map */ /*# sourceMappingURL=Thirtyeight.vue.map */
.title-bgimg[data-v-16943e38] { .title-bgimg[data-v-16943e38] {
background-image: url(../style/title-text-bgimg.png); background-image: url(../style/title-text-bgimg.png);
} }
/*# sourceMappingURL=Sevenpageone.vue.map */ /*# sourceMappingURL=Sevenpageone.vue.map */
.xml-text-h5[data-v-1b4a8a63] {
/*# sourceMappingURL=titleText.vue.map */
/*# sourceMappingURL=Forty.vue.map */
/*# sourceMappingURL=BuleRectangleTwo.vue.map */
/*# sourceMappingURL=titleLight.vue.map */
/*# sourceMappingURL=Fortyone.vue.map */
.xml-text-h5[data-v-ec02be9c] {
} }
.xml-text-pc[data-v-1b4a8a63] { .xml-text-pc[data-v-ec02be9c] {
} }
.xml-text-h5[data-v-1b4a8a63] { .xml-text-h5[data-v-ec02be9c] {
} }
.xml-text-h5 .inline-audio-wrap, .xml-text-h5 .inline-audio-wrap,
@ -845,6 +845,8 @@

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
import crypto from 'crypto'; import crypto from 'crypto';
@ -15257,7 +15257,8 @@ var script$T = {
} }
this.loadingInstance = this.$loading({ this.loadingInstance = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
this.fileData.resourcesName = file.name; this.fileData.resourcesName = file.name;
if (_image.indexOf(fileExt) !== -1) { if (_image.indexOf(fileExt) !== -1) {
@ -15434,7 +15435,8 @@ var script$T = {
addRecorder() { addRecorder() {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading' text: 'Loading',
background: 'rgba(0, 0, 0, 0)'
}); });
let formData = new FormData(); let formData = new FormData();
formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3'); formData.append('file', this.recordedBlob, new Date().getTime() + '.mp3');
@ -28908,7 +28910,7 @@ var VueToast = createComponent$1v({
} }
}); });
var defaultOptions$1 = { var defaultOptions$2 = {
icon: '', icon: '',
type: 'text', type: 'text',
// @deprecated // @deprecated
@ -28934,7 +28936,7 @@ var defaultOptions$1 = {
var defaultOptionsMap = {}; var defaultOptionsMap = {};
var queue = []; var queue = [];
var multiple = false; var multiple = false;
var currentOptions = _extends$1({}, defaultOptions$1); var currentOptions = _extends$1({}, defaultOptions$2);
function parseOptions$1(message) { function parseOptions$1(message) {
if (isObject(message)) { if (isObject(message)) {
return message; return message;
@ -29045,7 +29047,7 @@ Toast.resetDefaultOptions = function (type) {
if (typeof type === 'string') { if (typeof type === 'string') {
defaultOptionsMap[type] = null; defaultOptionsMap[type] = null;
} else { } else {
currentOptions = _extends$1({}, defaultOptions$1); currentOptions = _extends$1({}, defaultOptions$2);
defaultOptionsMap = {}; defaultOptionsMap = {};
} }
}; };
@ -38061,7 +38063,7 @@ function Notify(options) {
} }
return instance; return instance;
} }
function defaultOptions() { function defaultOptions$1() {
return { return {
type: 'danger', type: 'danger',
value: true, value: true,
@ -38080,12 +38082,12 @@ Notify.clear = function () {
instance.value = false; instance.value = false;
} }
}; };
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
Notify.setDefaultOptions = function (options) { Notify.setDefaultOptions = function (options) {
_extends$1(Notify.currentOptions, options); _extends$1(Notify.currentOptions, options);
}; };
Notify.resetDefaultOptions = function () { Notify.resetDefaultOptions = function () {
Notify.currentOptions = defaultOptions(); Notify.currentOptions = defaultOptions$1();
}; };
Notify.install = function () { Notify.install = function () {
Vue.use(VanNotify); Vue.use(VanNotify);
@ -48326,6 +48328,121 @@ var n = function () {
}, e; }, e;
}(); }();
function getTextNodeList(dom) {
const nodeList = [...dom.childNodes];
const textNodes = [];
while (nodeList.length) {
const node = nodeList.shift();
if (node.nodeType === node.TEXT_NODE) {
node.wholeText && textNodes.push(node);
} else {
nodeList.unshift(...node.childNodes);
}
}
return textNodes;
}
function getTextInfoList(textNodes) {
let length = 0;
const textList = textNodes.map(node => {
let startIdx = length,
endIdx = length + node.wholeText.length;
length = endIdx;
return {
text: node.wholeText,
startIdx,
endIdx
};
});
return textList;
}
function getMatchList(content, keyword) {
const characters = [...'\\[](){}?.+*^$:|'].reduce((r, c) => (r[c] = true, r), {});
keyword = keyword.split('').map(s => characters[s] ? `\\${s}` : s).join('[\\s\\n]*');
const reg = new RegExp(keyword, 'gmi');
const matchList = [];
let match = reg.exec(content);
while (match) {
matchList.push(match);
match = reg.exec(content);
}
return matchList;
}
function replaceMatchResult(textNodes, textList, matchList, options) {
let {
flag,
datasets,
g
} = options;
// 对于每一个匹配结果可能分散在多个标签中找出这些标签截取匹配片段并用font标签替换出
if (!g) {
matchList = [matchList[0]];
}
for (let i = matchList.length - 1; i >= 0; i--) {
const match = matchList[i];
const matchStart = match.index,
matchEnd = matchStart + match[0].length; // 匹配结果在拼接字符串中的起止索引
// 遍历文本信息列表,查找匹配的文本节点
let groupStart = true;
for (let textIdx = 0; textIdx < textList.length; textIdx++) {
const {
text,
startIdx,
endIdx
} = textList[textIdx]; // 文本内容、文本在拼接串中开始、结束索引
if (endIdx < matchStart) continue; // 匹配的文本节点还在后面
if (startIdx >= matchEnd) break; // 匹配文本节点已经处理完了
let textNode = textNodes[textIdx]; // 这个节点中的部分或全部内容匹配到了关键词,将匹配部分截取出来进行替换
const nodeMatchStartIdx = Math.max(0, matchStart - startIdx); // 匹配内容在文本节点内容中的开始索引
const nodeMatchLength = Math.min(endIdx, matchEnd) - startIdx - nodeMatchStartIdx; // 文本节点内容匹配关键词的长度
if (nodeMatchStartIdx > 0) textNode = textNode.splitText(nodeMatchStartIdx); // textNode取后半部分
if (nodeMatchLength < textNode.wholeText.length) textNode.splitText(nodeMatchLength);
const font = document.createElement('font');
font.setAttribute(flag, i + 1);
groupStart ? font.classList.add(flag) : font.classList.add(flag + '-rest');
if (datasets.length && Array.isArray(datasets)) {
datasets.forEach(({
key,
value
}) => {
font.dataset[key] = value;
});
}
font.innerText = text.substr(nodeMatchStartIdx, nodeMatchLength);
textNode.parentNode.replaceChild(font, textNode);
groupStart = false;
}
}
}
const defaultOptions = {
flag: 'xml-graph-link',
datasets: [],
g: false
};
function replaceKeywordsInHTML(html, keyword, options = defaultOptions) {
options = {
...defaultOptions,
...options
};
let matchCount = 0,
replacedHtml = '';
if (!html || !keyword) {
replacedHtml = html;
return [replacedHtml, matchCount];
}
const div = document.createElement('div');
div.innerHTML = html;
const textNodes = getTextNodeList(div);
const textList = getTextInfoList(textNodes);
const content = textList.map(({
text
}) => text).join('');
const matchList = getMatchList(content, keyword);
matchCount = matchList.length;
replaceMatchResult(textNodes, textList, matchList, options);
replacedHtml = div.innerHTML;
return [replacedHtml, matchCount];
}
// //
var script$S = { var script$S = {
name: 'XmlTextRender', name: 'XmlTextRender',
@ -48491,6 +48608,10 @@ var script$S = {
from: 'getSysEvn', from: 'getSysEvn',
default: () => () => {} default: () => () => {}
} }
// callFnReplaceKeywordsInHTML: {
// from: 'replaceKeywordsInHTML',
// default: () => () => () => []
// }
}, },
computed: { computed: {
feedback() { feedback() {
@ -48498,6 +48619,7 @@ var script$S = {
ruleIndex: this.ruleIndex, ruleIndex: this.ruleIndex,
dataName: this.blockDataName, dataName: this.blockDataName,
data: this.pBlockData, data: this.pBlockData,
graphLinks: this.currentRule.data?.graphLinks || [],
dataIndex: this.dataIndex, dataIndex: this.dataIndex,
blockId: this.blockId blockId: this.blockId
}; };
@ -48533,6 +48655,40 @@ var script$S = {
}, },
resourceBasisPath() { resourceBasisPath() {
return this.getResourceBasisPath(); return this.getResourceBasisPath();
},
richContent() {
let formated = this.formatImg(this.pBlockData.html);
let links = this.currentRule.data?.graphLinks || [];
if (!links.length) {
return formated;
}
let copy = formated;
let tempWrapDom = document.createElement('div');
tempWrapDom.innerHTML = copy;
let content = '';
Array.from(tempWrapDom.childNodes).forEach(child => {
if (child.dataset.graphKey && child.tagName === 'P') {
let pCopy = child.outerHTML + '';
for (let i = 0, len = links.length; i < len; i++) {
let item = links[i];
if (item.targets.includes(child.dataset.graphKey)) {
pCopy = replaceKeywordsInHTML(pCopy, item.name, {
flag: 'xml-graph-link',
datasets: [{
key: 'graphLinkId',
value: item.id
}]
})[0];
}
}
content += pCopy;
} else {
content += child.outerHTML;
}
});
copy = '';
tempWrapDom = null;
return content;
} }
}, },
watch: { watch: {
@ -48579,7 +48735,7 @@ var script$S = {
let mceMagicLinkRegistered = window.customElements?.get('magic-link'); let mceMagicLinkRegistered = window.customElements?.get('magic-link');
if (!mceMagicLinkRegistered) { if (!mceMagicLinkRegistered) {
window.customElements.whenDefined('magic-link').then(res => { window.customElements.whenDefined('magic-link').then(res => {
console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res); // console.log('%c%s', 'font-size:2em;background: #00965E;color: #FFF', '富文本组件MCE注册完成', res)
}); });
window.customElements.define('magic-link', MagicLink); window.customElements.define('magic-link', MagicLink);
} }
@ -49685,7 +49841,7 @@ var __vue_render__$S = function () {
: _c("div", { : _c("div", {
staticClass: "richtext-reset-wrapper--view", staticClass: "richtext-reset-wrapper--view",
attrs: { id: _vm.markRootId }, attrs: { id: _vm.markRootId },
domProps: { innerHTML: _vm._s(_vm.formatImg(_vm.pBlockData.html)) }, domProps: { innerHTML: _vm._s(_vm.richContent) },
}), }),
_vm._v(" "), _vm._v(" "),
_vm._t("mater-lib-dialog"), _vm._t("mater-lib-dialog"),
@ -50259,7 +50415,7 @@ __vue_render__$S._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$S = undefined; const __vue_inject_styles__$S = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$S = "data-v-1b4a8a63"; const __vue_scope_id__$S = "data-v-ec02be9c";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$S = undefined; const __vue_module_identifier__$S = undefined;
/* functional template */ /* functional template */

View File

@ -1,3 +1,11 @@
.xml-video-container-h5[data-v-6fcfaafb] {
}
.xml-video-container-pc[data-v-6fcfaafb] {
}
.xml-video-container-pad[data-v-6fcfaafb] {
}
.xml-video-container-pdf[data-v-4645f3e6] { .xml-video-container-pdf[data-v-4645f3e6] {
position: relative; position: relative;
display: flex; display: flex;
@ -23,11 +31,4 @@
border-radius: 50%; border-radius: 50%;
} }
/*# sourceMappingURL=XmlVideoImg.vue.map */ /*# sourceMappingURL=XmlVideoImg.vue.map */
.xml-video-container-h5[data-v-082d5e49] {
}
.xml-video-container-pc[data-v-082d5e49] {
}
.xml-video-container-pad[data-v-082d5e49] {
}

View File

@ -1,6 +1,6 @@
/* /*
* XmlDigitalTeaching v0.0.1 * XmlDigitalTeaching v0.0.1
* Copyright ©Wed Jan 08 2025 14:03:44 GMT+0800 (中国标准时间) smile * Copyright ©Fri Mar 07 2025 11:35:13 GMT+0800 (中国标准时间) smile
* Released under the ISC License. * Released under the ISC License.
*/ */
// //
@ -14524,13 +14524,20 @@ var script$1 = {
}, },
timeUpdate({ timeUpdate({
event, event,
time time,
duration
}, data) { }, data) {
// console.log({event, time, data}); // console.log({event, time, data});
this.$EventBus.$emit('videoTimeUpdate', { this.$EventBus.$emit('videoTimeUpdate', {
event, event,
time, time,
data data: {
...data,
chapterId: this.currentRule.chapterId,
xmlCompRef: this.currentRule.xmlCompRef,
duration: event.cache_.duration,
time
}
}); });
}, },
resetTimeUpdate(data) { resetTimeUpdate(data) {
@ -14768,7 +14775,7 @@ __vue_render__$1._withStripped = true;
/* style */ /* style */
const __vue_inject_styles__$1 = undefined; const __vue_inject_styles__$1 = undefined;
/* scoped */ /* scoped */
const __vue_scope_id__$1 = "data-v-082d5e49"; const __vue_scope_id__$1 = "data-v-6fcfaafb";
/* module identifier */ /* module identifier */
const __vue_module_identifier__$1 = undefined; const __vue_module_identifier__$1 = undefined;
/* functional template */ /* functional template */

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -273,19 +273,6 @@ export default {
// console.log(this.bookId) // console.log(this.bookId)
var locationData = await bookApi.userAction.getReadLocation({bookId:this.bookId})
// this.location = locationData.location
var abc = await bookApi.bookinfo.request_info({bookId: this.bookId})
// abc.isBuy = 1
if (abc.isBuy == 0) {
this.isTrial = true
}
else {
this.isTrial = false
}
var res = await bookApi.bookinfo.json({bookId:this.bookId}) var res = await bookApi.bookinfo.json({bookId:this.bookId})
// res = JSON.stringify(res) // res = JSON.stringify(res)
@ -320,14 +307,30 @@ export default {
} }
this.show = true
this.fullscreenLoading = false
var locationData = await bookApi.userAction.getReadLocation({bookId:this.bookId})
// this.location = locationData.location
var abc = await bookApi.bookinfo.request_info({bookId: this.bookId})
// abc.isBuy = 1
if (abc.isBuy == 0) {
this.isTrial = true
}
else {
this.isTrial = false
}
this.trialChapterList = await bookApi.bookinfo.unlock({bookId:this.bookId}) this.trialChapterList = await bookApi.bookinfo.unlock({bookId:this.bookId})
if (this.trialChapterList.length>=0){ if (this.trialChapterList.length>=0){
this.isTrialIndex = 0; this.isTrialIndex = 0;
} }
this.show = true
this.fullscreenLoading = false
this.digitalTeaching = true
this.data.resources.list = await bookApi.resource.list({bookId:this.bookId}) this.data.resources.list = await bookApi.resource.list({bookId:this.bookId})
@ -340,7 +343,7 @@ export default {
// //
this.userInfo = await bookApi.user.info() this.userInfo = await bookApi.user.info()
this.digitalTeaching = true
try { try {
this.classList = await bookApi.user.classList({bookId:this.bookId}) this.classList = await bookApi.user.classList({bookId:this.bookId})

View File

@ -1,10 +1,11 @@
<template> <template>
<div class="about" style="background-color: aqua; display: flex; " > <div class="about" style="background-color: aqua; display: flex; " >
<!-- <div id="about" style="width: 500px; height: 800px;"></div> --> <!-- <div id="about" style="width: 500px; height: 800px;"></div> -->
<h1>This is an about page</h1> <!-- <h1>This is an about page</h1> -->
<!-- <MindElixirDialog :visible.sync="show" /> --> <!-- <MindElixirDialog :visible.sync="show" /> -->
<iframe src="https://emoawps.pumc.edu.cn/weboffice/office/w/1843558171183095810?_w_appid=KWIZITBBNCZUKHHU&_w_third_appid=KWIZITBBNCZUKHHU&_w_third_file_id=1843558171183095810&route_key=&wpsPreview=1110110&simple&hidecmb&readonly"></iframe> <p v-html="content"></p>
<!-- <iframe src="https://emoawps.pumc.edu.cn/weboffice/office/w/1843558171183095810?_w_appid=KWIZITBBNCZUKHHU&_w_third_appid=KWIZITBBNCZUKHHU&_w_third_file_id=1843558171183095810&route_key=&wpsPreview=1110110&simple&hidecmb&readonly"></iframe> -->
</div> </div>
</template> </template>
@ -18,8 +19,8 @@ export default {
}, },
data(){ data(){
return { return {
show:true show:true,
content:'<p style=\"text-indent: 2em;\"><span style=\"font-family: 黑体, SimHei; font-size: 18px;\">杜玉林</span><span style=\"font-family: 宋体, SimSun;\">副教授职称。现任职于石家庄铁路职业技术学院国家级课程思政教学团队成员。主讲道路工程施工、桥梁工程施工、施工组织设计等课程担任主编、副主编出版教材3部公开发表论文多篇。</span></p><p style=\"text-indent: 2em;\"><span style=\"font-family: 黑体, SimHei; font-size: 18px;\">杜立峰</span><span style=\"font-family: 宋体, SimSun;\">,男,教授职称,现任职于石家庄铁路职业技术学院,河北省“三三三人才工程”人选,国家级课程思政教学团队成员。</span></p><p><br/></p>>'
} }
}, },

View File

@ -3,6 +3,17 @@ console.log(process.env.BUILD_DIR)
console.log("cycccccccc") console.log("cycccccccc")
//
var targetServer = "https://xinsiketang.com"
if(process.env.NODE_ENV === 'prod'){
targetServer = "https://xinsiketang.com"
}else{
targetServer = "https://local.xinsiketang.com"
}
console.log("targetServer",targetServer)
module.exports = { module.exports = {
lintOnSave: false, lintOnSave: false,
publicPath: './', // 设置公共路径为相对路径 publicPath: './', // 设置公共路径为相对路径
@ -16,7 +27,7 @@ module.exports = {
// allowedHosts: "all", // allowedHosts: "all",
proxy: { proxy: {
'/api/app_dev.php': { '/api/app_dev.php': {
target: 'https://local.xinsiketang.com', target: targetServer,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api/app_dev.php': '/app_dev.php' '^/api/app_dev.php': '/app_dev.php'
@ -34,7 +45,7 @@ module.exports = {
} }
}, },
'/api': { '/api': {
target: 'https://local.xinsiketang.com', target: targetServer,
changeOrigin: true, changeOrigin: true,
// pathRewrite: { // pathRewrite: {
// '^/api': '/api' // '^/api': '/api'
@ -93,7 +104,7 @@ module.exports = {
}, },
configureWebpack:(config)=>{ configureWebpack:(config)=>{
config.devtool = 'source-map'; // config.devtool = 'source-map';
// config.stats = 'errors-warings' // config.stats = 'errors-warings'
// config.plugins.push( // config.plugins.push(
// new webpack.ProgressPlugin({ // new webpack.ProgressPlugin({