cyc
This commit is contained in:
parent
f261aa0693
commit
3a8cab3777
269
package-lock.json
generated
269
package-lock.json
generated
@ -8,10 +8,15 @@
|
|||||||
"name": "book",
|
"name": "book",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"axios": "^1.7.2",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
|
"crypto-js": "^4.2.0",
|
||||||
|
"element-ui": "^2.15.14",
|
||||||
|
"jquery": "^3.7.1",
|
||||||
"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",
|
||||||
|
"xe-utils": "^3.5.26"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "~4.5.19",
|
"@vue/cli-plugin-babel": "~4.5.19",
|
||||||
@ -3485,11 +3490,18 @@
|
|||||||
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
|
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/async-validator": {
|
||||||
|
"version": "1.8.5",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/async-validator/-/async-validator-1.8.5.tgz",
|
||||||
|
"integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
|
||||||
|
"dependencies": {
|
||||||
|
"babel-runtime": "6.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/asynckit": {
|
"node_modules/asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/atob": {
|
"node_modules/atob": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
@ -3561,6 +3573,29 @@
|
|||||||
"integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==",
|
"integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/axios": {
|
||||||
|
"version": "1.7.2",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/axios/-/axios-1.7.2.tgz",
|
||||||
|
"integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
|
||||||
|
"dependencies": {
|
||||||
|
"follow-redirects": "^1.15.6",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"proxy-from-env": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/axios/node_modules/form-data": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/form-data/-/form-data-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"dependencies": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/babel-eslint": {
|
"node_modules/babel-eslint": {
|
||||||
"version": "10.1.0",
|
"version": "10.1.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-eslint/-/babel-eslint-10.1.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-eslint/-/babel-eslint-10.1.0.tgz",
|
||||||
@ -3582,6 +3617,11 @@
|
|||||||
"eslint": ">= 4.12.1"
|
"eslint": ">= 4.12.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/babel-helper-vue-jsx-merge-props": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
|
||||||
|
},
|
||||||
"node_modules/babel-loader": {
|
"node_modules/babel-loader": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-loader/-/babel-loader-8.3.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-loader/-/babel-loader-8.3.0.tgz",
|
||||||
@ -3649,6 +3689,27 @@
|
|||||||
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/babel-runtime": {
|
||||||
|
"version": "6.26.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-runtime/-/babel-runtime-6.26.0.tgz",
|
||||||
|
"integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
|
||||||
|
"dependencies": {
|
||||||
|
"core-js": "^2.4.0",
|
||||||
|
"regenerator-runtime": "^0.11.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/babel-runtime/node_modules/core-js": {
|
||||||
|
"version": "2.6.12",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/core-js/-/core-js-2.6.12.tgz",
|
||||||
|
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
|
||||||
|
"deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
|
||||||
|
"hasInstallScript": true
|
||||||
|
},
|
||||||
|
"node_modules/babel-runtime/node_modules/regenerator-runtime": {
|
||||||
|
"version": "0.11.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
|
||||||
|
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
|
||||||
|
},
|
||||||
"node_modules/balanced-match": {
|
"node_modules/balanced-match": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/balanced-match/-/balanced-match-1.0.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
@ -4741,7 +4802,6 @@
|
|||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/combined-stream/-/combined-stream-1.0.8.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"delayed-stream": "~1.0.0"
|
"delayed-stream": "~1.0.0"
|
||||||
},
|
},
|
||||||
@ -5303,6 +5363,11 @@
|
|||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/crypto-js": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/crypto-js/-/crypto-js-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
|
||||||
|
},
|
||||||
"node_modules/css-color-names": {
|
"node_modules/css-color-names": {
|
||||||
"version": "0.0.4",
|
"version": "0.0.4",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/css-color-names/-/css-color-names-0.0.4.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/css-color-names/-/css-color-names-0.0.4.tgz",
|
||||||
@ -5721,7 +5786,6 @@
|
|||||||
"version": "1.5.2",
|
"version": "1.5.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/deepmerge/-/deepmerge-1.5.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/deepmerge/-/deepmerge-1.5.2.tgz",
|
||||||
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
|
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
@ -5972,7 +6036,6 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.4.0"
|
"node": ">=0.4.0"
|
||||||
}
|
}
|
||||||
@ -6247,6 +6310,22 @@
|
|||||||
"integrity": "sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q==",
|
"integrity": "sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/element-ui": {
|
||||||
|
"version": "2.15.14",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/element-ui/-/element-ui-2.15.14.tgz",
|
||||||
|
"integrity": "sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==",
|
||||||
|
"dependencies": {
|
||||||
|
"async-validator": "~1.8.1",
|
||||||
|
"babel-helper-vue-jsx-merge-props": "^2.0.0",
|
||||||
|
"deepmerge": "^1.2.0",
|
||||||
|
"normalize-wheel": "^1.0.1",
|
||||||
|
"resize-observer-polyfill": "^1.5.0",
|
||||||
|
"throttle-debounce": "^1.0.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^2.5.17"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/elliptic": {
|
"node_modules/elliptic": {
|
||||||
"version": "6.5.5",
|
"version": "6.5.5",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/elliptic/-/elliptic-6.5.5.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/elliptic/-/elliptic-6.5.5.tgz",
|
||||||
@ -7489,7 +7568,6 @@
|
|||||||
"version": "1.15.6",
|
"version": "1.15.6",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
||||||
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
||||||
"dev": true,
|
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
@ -9338,6 +9416,11 @@
|
|||||||
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
|
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/jquery": {
|
||||||
|
"version": "3.7.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/jquery/-/jquery-3.7.1.tgz",
|
||||||
|
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
|
||||||
|
},
|
||||||
"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",
|
||||||
@ -9872,7 +9955,6 @@
|
|||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
@ -9881,7 +9963,6 @@
|
|||||||
"version": "2.1.35",
|
"version": "2.1.35",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-types/-/mime-types-2.1.35.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mime-db": "1.52.0"
|
"mime-db": "1.52.0"
|
||||||
},
|
},
|
||||||
@ -10297,6 +10378,11 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/normalize-wheel": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA=="
|
||||||
|
},
|
||||||
"node_modules/npm-run-path": {
|
"node_modules/npm-run-path": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
||||||
@ -11918,6 +12004,11 @@
|
|||||||
"node": ">= 0.10"
|
"node": ">= 0.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/proxy-from-env": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||||
|
},
|
||||||
"node_modules/prr": {
|
"node_modules/prr": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/prr/-/prr-1.0.1.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/prr/-/prr-1.0.1.tgz",
|
||||||
@ -12387,6 +12478,11 @@
|
|||||||
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/resize-observer-polyfill": {
|
||||||
|
"version": "1.5.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
|
||||||
|
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
|
||||||
|
},
|
||||||
"node_modules/resolve": {
|
"node_modules/resolve": {
|
||||||
"version": "1.22.8",
|
"version": "1.22.8",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/resolve/-/resolve-1.22.8.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/resolve/-/resolve-1.22.8.tgz",
|
||||||
@ -14080,6 +14176,14 @@
|
|||||||
"node": ">=4.0.0"
|
"node": ">=4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/throttle-debounce": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/through": {
|
"node_modules/through": {
|
||||||
"version": "2.3.8",
|
"version": "2.3.8",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/through/-/through-2.3.8.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/through/-/through-2.3.8.tgz",
|
||||||
@ -16135,6 +16239,11 @@
|
|||||||
"async-limiter": "~1.0.0"
|
"async-limiter": "~1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/xe-utils": {
|
||||||
|
"version": "3.5.26",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/xe-utils/-/xe-utils-3.5.26.tgz",
|
||||||
|
"integrity": "sha512-u9R7RqWDumamToEelrCv2nVA2PBJSPPUubvmiMcuHeFxwbYeBsouoi/opejmr7AdPlSj92FifF7IKFzFrczU7w=="
|
||||||
|
},
|
||||||
"node_modules/xtend": {
|
"node_modules/xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/xtend/-/xtend-4.0.2.tgz",
|
||||||
@ -16728,7 +16837,8 @@
|
|||||||
"version": "7.21.0-placeholder-for-preset-env.2",
|
"version": "7.21.0-placeholder-for-preset-env.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
|
||||||
"integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
|
"integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@babel/plugin-syntax-async-generators": {
|
"@babel/plugin-syntax-async-generators": {
|
||||||
"version": "7.8.4",
|
"version": "7.8.4",
|
||||||
@ -18228,7 +18338,8 @@
|
|||||||
"version": "4.5.19",
|
"version": "4.5.19",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.19.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.19.tgz",
|
||||||
"integrity": "sha512-DUmfdkG3pCdkP7Iznd87RfE9Qm42mgp2hcrNcYQYSru1W1gX2dG/JcW8bxmeGSa06lsxi9LEIc/QD1yPajSCZw==",
|
"integrity": "sha512-DUmfdkG3pCdkP7Iznd87RfE9Qm42mgp2hcrNcYQYSru1W1gX2dG/JcW8bxmeGSa06lsxi9LEIc/QD1yPajSCZw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@vue/cli-service": {
|
"@vue/cli-service": {
|
||||||
"version": "4.5.19",
|
"version": "4.5.19",
|
||||||
@ -18422,7 +18533,8 @@
|
|||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz",
|
||||||
"integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
|
"integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@vue/shared": {
|
"@vue/shared": {
|
||||||
"version": "3.4.27",
|
"version": "3.4.27",
|
||||||
@ -18643,7 +18755,8 @@
|
|||||||
"version": "5.3.2",
|
"version": "5.3.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
|
||||||
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"acorn-walk": {
|
"acorn-walk": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
@ -18673,13 +18786,15 @@
|
|||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/ajv-errors/-/ajv-errors-1.0.1.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/ajv-errors/-/ajv-errors-1.0.1.tgz",
|
||||||
"integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
|
"integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"ajv-keywords": {
|
"ajv-keywords": {
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
|
||||||
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
|
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"alphanum-sort": {
|
"alphanum-sort": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
@ -18940,11 +19055,18 @@
|
|||||||
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
|
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"async-validator": {
|
||||||
|
"version": "1.8.5",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/async-validator/-/async-validator-1.8.5.tgz",
|
||||||
|
"integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
|
||||||
|
"requires": {
|
||||||
|
"babel-runtime": "6.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
"asynckit": {
|
"asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"atob": {
|
"atob": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
@ -18996,6 +19118,28 @@
|
|||||||
"integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==",
|
"integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"axios": {
|
||||||
|
"version": "1.7.2",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/axios/-/axios-1.7.2.tgz",
|
||||||
|
"integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
|
||||||
|
"requires": {
|
||||||
|
"follow-redirects": "^1.15.6",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"proxy-from-env": "^1.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"form-data": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/form-data/-/form-data-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"requires": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"babel-eslint": {
|
"babel-eslint": {
|
||||||
"version": "10.1.0",
|
"version": "10.1.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-eslint/-/babel-eslint-10.1.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-eslint/-/babel-eslint-10.1.0.tgz",
|
||||||
@ -19010,6 +19154,11 @@
|
|||||||
"resolve": "^1.12.0"
|
"resolve": "^1.12.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"babel-helper-vue-jsx-merge-props": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
|
||||||
|
},
|
||||||
"babel-loader": {
|
"babel-loader": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-loader/-/babel-loader-8.3.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-loader/-/babel-loader-8.3.0.tgz",
|
||||||
@ -19061,6 +19210,27 @@
|
|||||||
"@babel/helper-define-polyfill-provider": "^0.6.2"
|
"@babel/helper-define-polyfill-provider": "^0.6.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"babel-runtime": {
|
||||||
|
"version": "6.26.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/babel-runtime/-/babel-runtime-6.26.0.tgz",
|
||||||
|
"integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
|
||||||
|
"requires": {
|
||||||
|
"core-js": "^2.4.0",
|
||||||
|
"regenerator-runtime": "^0.11.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"core-js": {
|
||||||
|
"version": "2.6.12",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/core-js/-/core-js-2.6.12.tgz",
|
||||||
|
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
|
||||||
|
},
|
||||||
|
"regenerator-runtime": {
|
||||||
|
"version": "0.11.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
|
||||||
|
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"balanced-match": {
|
"balanced-match": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/balanced-match/-/balanced-match-1.0.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
@ -19936,7 +20106,6 @@
|
|||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/combined-stream/-/combined-stream-1.0.8.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"delayed-stream": "~1.0.0"
|
"delayed-stream": "~1.0.0"
|
||||||
}
|
}
|
||||||
@ -20386,6 +20555,11 @@
|
|||||||
"randomfill": "^1.0.3"
|
"randomfill": "^1.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"crypto-js": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/crypto-js/-/crypto-js-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
|
||||||
|
},
|
||||||
"css-color-names": {
|
"css-color-names": {
|
||||||
"version": "0.0.4",
|
"version": "0.0.4",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/css-color-names/-/css-color-names-0.0.4.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/css-color-names/-/css-color-names-0.0.4.tgz",
|
||||||
@ -20699,8 +20873,7 @@
|
|||||||
"deepmerge": {
|
"deepmerge": {
|
||||||
"version": "1.5.2",
|
"version": "1.5.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/deepmerge/-/deepmerge-1.5.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/deepmerge/-/deepmerge-1.5.2.tgz",
|
||||||
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
|
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"default-gateway": {
|
"default-gateway": {
|
||||||
"version": "5.0.5",
|
"version": "5.0.5",
|
||||||
@ -20884,8 +21057,7 @@
|
|||||||
"delayed-stream": {
|
"delayed-stream": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"depd": {
|
"depd": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@ -21110,6 +21282,19 @@
|
|||||||
"integrity": "sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q==",
|
"integrity": "sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"element-ui": {
|
||||||
|
"version": "2.15.14",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/element-ui/-/element-ui-2.15.14.tgz",
|
||||||
|
"integrity": "sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==",
|
||||||
|
"requires": {
|
||||||
|
"async-validator": "~1.8.1",
|
||||||
|
"babel-helper-vue-jsx-merge-props": "^2.0.0",
|
||||||
|
"deepmerge": "^1.2.0",
|
||||||
|
"normalize-wheel": "^1.0.1",
|
||||||
|
"resize-observer-polyfill": "^1.5.0",
|
||||||
|
"throttle-debounce": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"elliptic": {
|
"elliptic": {
|
||||||
"version": "6.5.5",
|
"version": "6.5.5",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/elliptic/-/elliptic-6.5.5.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/elliptic/-/elliptic-6.5.5.tgz",
|
||||||
@ -22100,8 +22285,7 @@
|
|||||||
"follow-redirects": {
|
"follow-redirects": {
|
||||||
"version": "1.15.6",
|
"version": "1.15.6",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
||||||
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"for-each": {
|
"for-each": {
|
||||||
"version": "0.3.3",
|
"version": "0.3.3",
|
||||||
@ -23470,6 +23654,11 @@
|
|||||||
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
|
"integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"jquery": {
|
||||||
|
"version": "3.7.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/jquery/-/jquery-3.7.1.tgz",
|
||||||
|
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
|
||||||
|
},
|
||||||
"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",
|
||||||
@ -23916,14 +24105,12 @@
|
|||||||
"mime-db": {
|
"mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"mime-types": {
|
"mime-types": {
|
||||||
"version": "2.1.35",
|
"version": "2.1.35",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-types/-/mime-types-2.1.35.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"mime-db": "1.52.0"
|
"mime-db": "1.52.0"
|
||||||
}
|
}
|
||||||
@ -24272,6 +24459,11 @@
|
|||||||
"sort-keys": "^1.0.0"
|
"sort-keys": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"normalize-wheel": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA=="
|
||||||
|
},
|
||||||
"npm-run-path": {
|
"npm-run-path": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
||||||
@ -25586,6 +25778,11 @@
|
|||||||
"ipaddr.js": "1.9.1"
|
"ipaddr.js": "1.9.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"proxy-from-env": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||||
|
},
|
||||||
"prr": {
|
"prr": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/prr/-/prr-1.0.1.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/prr/-/prr-1.0.1.tgz",
|
||||||
@ -25982,6 +26179,11 @@
|
|||||||
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"resize-observer-polyfill": {
|
||||||
|
"version": "1.5.1",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
|
||||||
|
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
|
||||||
|
},
|
||||||
"resolve": {
|
"resolve": {
|
||||||
"version": "1.22.8",
|
"version": "1.22.8",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/resolve/-/resolve-1.22.8.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/resolve/-/resolve-1.22.8.tgz",
|
||||||
@ -27369,6 +27571,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"throttle-debounce": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg=="
|
||||||
|
},
|
||||||
"through": {
|
"through": {
|
||||||
"version": "2.3.8",
|
"version": "2.3.8",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/through/-/through-2.3.8.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/through/-/through-2.3.8.tgz",
|
||||||
@ -28239,7 +28446,8 @@
|
|||||||
"vuex": {
|
"vuex": {
|
||||||
"version": "3.6.2",
|
"version": "3.6.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/vuex/-/vuex-3.6.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/vuex/-/vuex-3.6.2.tgz",
|
||||||
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw=="
|
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==",
|
||||||
|
"requires": {}
|
||||||
},
|
},
|
||||||
"watchpack": {
|
"watchpack": {
|
||||||
"version": "1.7.5",
|
"version": "1.7.5",
|
||||||
@ -28990,6 +29198,11 @@
|
|||||||
"async-limiter": "~1.0.0"
|
"async-limiter": "~1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"xe-utils": {
|
||||||
|
"version": "3.5.26",
|
||||||
|
"resolved": "https://mirrors.cloud.tencent.com/npm/xe-utils/-/xe-utils-3.5.26.tgz",
|
||||||
|
"integrity": "sha512-u9R7RqWDumamToEelrCv2nVA2PBJSPPUubvmiMcuHeFxwbYeBsouoi/opejmr7AdPlSj92FifF7IKFzFrczU7w=="
|
||||||
|
},
|
||||||
"xtend": {
|
"xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://mirrors.cloud.tencent.com/npm/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://mirrors.cloud.tencent.com/npm/xtend/-/xtend-4.0.2.tgz",
|
||||||
|
|||||||
@ -8,10 +8,15 @@
|
|||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"axios": "^1.7.2",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
|
"crypto-js": "^4.2.0",
|
||||||
|
"element-ui": "^2.15.14",
|
||||||
|
"jquery": "^3.7.1",
|
||||||
"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",
|
||||||
|
"xe-utils": "^3.5.26"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "~4.5.19",
|
"@vue/cli-plugin-babel": "~4.5.19",
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<div id="nav">
|
<div id="nav">
|
||||||
<router-link to="/">Home</router-link> |
|
<!-- <router-link to="/">Home</router-link> | -->
|
||||||
|
<router-link to="/book">书籍</router-link> |
|
||||||
<router-link to="/about">About</router-link>
|
<router-link to="/about">About</router-link>
|
||||||
</div>
|
</div>
|
||||||
<router-view/>
|
<router-view/>
|
||||||
|
|||||||
29
src/main.js
29
src/main.js
@ -2,11 +2,40 @@ import Vue from 'vue'
|
|||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
import store from './store'
|
import store from './store'
|
||||||
|
import {setStore} from './utils/mUtils'
|
||||||
|
import XML from "./plugin/xml-digital-teaching/lib/index"
|
||||||
|
import './plugin/xml-digital-teaching/lib/theme/index.css'
|
||||||
|
|
||||||
|
|
||||||
|
import ElementUI from 'element-ui';
|
||||||
|
import 'element-ui/lib/theme-chalk/index.css';
|
||||||
|
|
||||||
|
Vue.use(ElementUI);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
|
|
||||||
|
Vue.use(XML)
|
||||||
|
|
||||||
|
router.beforeEach((to,from,next)=>{
|
||||||
|
var apikey = to.query.apikey
|
||||||
|
|
||||||
|
|
||||||
|
if (apikey){
|
||||||
|
setStore('apikey',apikey)
|
||||||
|
console.log(apikey)
|
||||||
|
}
|
||||||
|
console.log(to)
|
||||||
|
console.log(from)
|
||||||
|
next()
|
||||||
|
|
||||||
|
})
|
||||||
new Vue({
|
new Vue({
|
||||||
router,
|
router,
|
||||||
store,
|
store,
|
||||||
render: h => h(App)
|
render: h => h(App)
|
||||||
}).$mount('#app')
|
}).$mount('#app')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
BIN
src/plugin/xml-digital-teaching/lib/2539d578aeabf7c9.png
Normal file
BIN
src/plugin/xml-digital-teaching/lib/2539d578aeabf7c9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
src/plugin/xml-digital-teaching/lib/5d9cf0a5d487a818.png
Normal file
BIN
src/plugin/xml-digital-teaching/lib/5d9cf0a5d487a818.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
BIN
src/plugin/xml-digital-teaching/lib/a6071719aecd4e53.png
Normal file
BIN
src/plugin/xml-digital-teaching/lib/a6071719aecd4e53.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
21
src/plugin/xml-digital-teaching/lib/catalog.css
Normal file
21
src/plugin/xml-digital-teaching/lib/catalog.css
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
.catalog-node-label[data-v-61c986fa] {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.catalog-node-label img[data-v-61c986fa] {
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
.xml-show-catalog[data-v-61c986fa] .el-tree-node__content {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.xml-show-catalog[data-v-61c986fa] .el-tree-node__content .catalog-node-label {
|
||||||
|
max-width: calc(100% - 24px);
|
||||||
|
word-break: break-all;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlCatalog.vue.map */
|
||||||
|
|
||||||
|
.xml-show-catalog .el-tree-node__content {
|
||||||
|
display: flex !important;
|
||||||
|
}
|
||||||
367
src/plugin/xml-digital-teaching/lib/catalog.js
Normal file
367
src/plugin/xml-digital-teaching/lib/catalog.js
Normal file
@ -0,0 +1,367 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
// import '../block.scss'
|
||||||
|
var script = {
|
||||||
|
name: 'XmlCatalogRender',
|
||||||
|
components: {},
|
||||||
|
inject: ['getCatalogList'],
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'preview';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//属性中传递过来的块儿数据
|
||||||
|
pBlockData: {},
|
||||||
|
//块儿数据名
|
||||||
|
blockDataName: String,
|
||||||
|
//页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
blockId: `blockId${Math.random()}`,
|
||||||
|
//当前块儿数据,一般用不到,因为一般的块儿中不会在块儿内更改数据
|
||||||
|
blockData: {},
|
||||||
|
//属性组件名
|
||||||
|
propertyComponentsName: 'xml-catalog-property',
|
||||||
|
defaultProps: {
|
||||||
|
children: 'children',
|
||||||
|
label: 'label'
|
||||||
|
},
|
||||||
|
filteredTree: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
catalogList() {
|
||||||
|
return this.getCatalogList().data;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pBlockData: {
|
||||||
|
handler(newValue) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.blockData = Object.assign({}, this.blockData, newValue);
|
||||||
|
this.$forceUpdate();
|
||||||
|
// this.ebookSetList=Object.assign({},this.blockData.ebookSetList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
},
|
||||||
|
catalogList: {
|
||||||
|
handler(newValue) {
|
||||||
|
// this.$nextTick(() => {
|
||||||
|
// this.$refs.tree.filter('unexpected')
|
||||||
|
// })
|
||||||
|
let origin = newValue || [];
|
||||||
|
const filterMenu = menuList => {
|
||||||
|
return menuList.filter(item => {
|
||||||
|
return item.hiddenFlag !== '1';
|
||||||
|
}).map(item => {
|
||||||
|
item = Object.assign({}, item);
|
||||||
|
if (item.children) {
|
||||||
|
item.children = filterMenu(item.children);
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
this.filteredTree = filterMenu(origin);
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// this.blockData = Object.assign( this.blockData,this.pBlockData)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 此方法必须要,用户注册块儿点击事件
|
||||||
|
blockClick() {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
blockData: this.blockData,
|
||||||
|
dataName: this.blockDataName,
|
||||||
|
propertyComponentsName: this.propertyComponentsName,
|
||||||
|
blockId: this.blockId,
|
||||||
|
ruleIndex: this.ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
nodeClick(data, node) {
|
||||||
|
this.$EventBus.$emit('treeNodeClick', {
|
||||||
|
data,
|
||||||
|
node
|
||||||
|
});
|
||||||
|
},
|
||||||
|
filterNode(value, data) {
|
||||||
|
// if (!value) return true;
|
||||||
|
return data.hiddenFlag !== '1';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "xml-show-catalog xml-group-item",
|
||||||
|
class: "xml-catalog-container-" + _vm.pageType,
|
||||||
|
attrs: { id: _vm.blockId },
|
||||||
|
on: { click: _vm.blockClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("el-tree", {
|
||||||
|
ref: "tree",
|
||||||
|
class: "preview-tree-box-" + _vm.pageType,
|
||||||
|
staticStyle: { "margin-top": "0px" },
|
||||||
|
attrs: {
|
||||||
|
id: "built-in-tree",
|
||||||
|
draggable: _vm.blockData.draggable,
|
||||||
|
"default-expand-all": true,
|
||||||
|
"highlight-current": "",
|
||||||
|
data: _vm.filteredTree,
|
||||||
|
"node-key": "id",
|
||||||
|
props: _vm.defaultProps,
|
||||||
|
"filter-node-method": _vm.filterNode,
|
||||||
|
"expand-on-click-node": false,
|
||||||
|
},
|
||||||
|
on: { "node-click": _vm.nodeClick },
|
||||||
|
scopedSlots: _vm._u([
|
||||||
|
{
|
||||||
|
key: "default",
|
||||||
|
fn: function (ref) {
|
||||||
|
var node = ref.node;
|
||||||
|
var data = ref.data;
|
||||||
|
return _c("div", { staticClass: "catalog-node-label" }, [
|
||||||
|
data.uploadFileUrl
|
||||||
|
? _c("img", {
|
||||||
|
staticStyle: { width: "15px", height: "15px" },
|
||||||
|
attrs: { src: data.uploadFileUrl, alt: "" },
|
||||||
|
})
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: ["node-label", node.expanded ? "expanded-node" : ""],
|
||||||
|
},
|
||||||
|
[_vm._v(_vm._s(node.label))]
|
||||||
|
),
|
||||||
|
])
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-61c986fa";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提交
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('catalog-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
1
src/plugin/xml-digital-teaching/lib/catalog.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/catalog.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.catalog-node-label[data-v-61c986fa]{display:flex;align-items:center}.catalog-node-label img[data-v-61c986fa]{margin-right:4px}.xml-show-catalog[data-v-61c986fa] .el-tree-node__content{height:auto}.xml-show-catalog[data-v-61c986fa] .el-tree-node__content .catalog-node-label{max-width:calc(100% - 24px);word-break:break-all;white-space:normal}.xml-show-catalog .el-tree-node__content{display:flex!important}
|
||||||
BIN
src/plugin/xml-digital-teaching/lib/dc9e230fbf283a84.png
Normal file
BIN
src/plugin/xml-digital-teaching/lib/dc9e230fbf283a84.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 223 KiB |
BIN
src/plugin/xml-digital-teaching/lib/df8498de9c8120c3.png
Normal file
BIN
src/plugin/xml-digital-teaching/lib/df8498de9c8120c3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
72
src/plugin/xml-digital-teaching/lib/ebook.css
Normal file
72
src/plugin/xml-digital-teaching/lib/ebook.css
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
|
||||||
|
.xml-ebook-container-h5[data-v-7ea50222] {
|
||||||
|
}
|
||||||
|
.xml-ebook-container-pc[data-v-7ea50222] {
|
||||||
|
}
|
||||||
|
.xml-ebook-container-pad[data-v-7ea50222] {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
718
src/plugin/xml-digital-teaching/lib/ebook.js
Normal file
718
src/plugin/xml-digital-teaching/lib/ebook.js
Normal file
@ -0,0 +1,718 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
var script$1 = {
|
||||||
|
name: 'PdfView',
|
||||||
|
props: {
|
||||||
|
show: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
baseUrl: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
textInfo: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
src: encodeURI('http://ouchn-textbook-public.oss-cn-qingdao.aliyuncs.com/ouchn-test-paper-web/stem-files/faf5276a-e523-4df1-8d11-ac858c954cf3.pdf'),
|
||||||
|
loading: false,
|
||||||
|
width: 300,
|
||||||
|
height: 900
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onBackClick() {
|
||||||
|
this.$emit('handleClose', false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var __$_require_static_images_leaflet_icons_back_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABACAYAAAB2kAXpAAAAAXNSR0IArs4c6QAABABJREFUaEPVmluopmMUx39/UUy44cJMg+FikEMuGMnIOJcwlHIYpKkZmchxuJDT5MIpIzXIpMkhh5QwlPPx0uHKhbiYKCJXSMTor7U9W4/t29/3rP3t55usm137+z/v+r3Pca31vGIHme19gVXAEuBXYKukd6ZxtCO4bJ8HPAHsNsP/RknXxf8mDmZ7NfDYkA65UtKmiYLZvhp4YMQofSVpycTAbN8M3NkwdbZL2mUiYLbvBW5ogArJ15L27w5m+yHgikaokK2WtKUrmO2ngQsTUBsk3dZ1Vdp+EViZgFov6b5u+5jtnYE3gBMTUOskPVzr53UobS8A3gWWJaBWSYoh/5fNG5jtfYA4Ug5JQJ0j6aVB+nkBs70f8CEQf1tsO3CqpPdmE48NZvswIBzs1UJUDuwTJH00TD8WmO2jgbeBPRqhfgBOkvTZKP2cwWyvKFA7jXJSfv8GOF7Sthb9nMBsx/4U+1SrfQ6skPR9a4M0mO1LgcdbHQAxl2Ki/5hok4vHbK8DNiUcxPZxmqQ/E22mpM09Zvsm4K6EgwiVz07o8xus7TuAWxNOnpF0UUL/H+nIHrP9IHBVwslmSWsT+oHSoWC2twCXJZzcL+n6hH5W6axgtl8Azk04uV1SDPm82EAw26/Hakp4uFbSqCQj8bgZq7KELW8BxyaeslbS5oS+SfpPj9neE3gfOLKp5d+iCyQ9l9A3S6fASroeEcKBzS3hLEmvJPQpqWwvLWHLwsaWv5cj5oNG/ZxkAfZTImz5uRzGn87JW6JRgLlR/20kGJK+aNSPJWsF+wRYLum3sbwlGv/vweJdYyhPlhRBX3eLHvsDiCS1xX4pk//jFvE4mgA7puSDkay2WLxIBH+zpl4tDxmlmd5gDy9we49qUP2+UtLLCX1KWh9JB5SNtjVpDUd9j6TpVylpfhzihyZer+8hXsHtXgojRyXg+oY9FVys0jdjBSbg+geKFeBW4MwEXP/QuoJ7Fjg/Adc/GangHgEuT8D1T98quHuA9Qm4/glvBXcLsCEBFyWC0yVFoS5lIxPemU+zfQ2wMeElztVTuhZVqp5bAzyagOtfhqrgYqXGim21/oW7Cu4MIDKl1inRv9RZwR0HxPm6a2PXxW1u3+JwBRdJciTLkTS3WP9yegV3UInpFrWQFU3fC4gKbjEQiXDEdq3W98qmgouLiNhYj2glA/peclVw8XVA3MAtT8D1vRasQWy/FkdSAq7/RWrVe88D8Z1Fq10i6anWjbH1oQN1yVrul5KWTgQsaBPV78l93lANa3x3Ed9fDLPvJC2cWI9VcDcCdw8hm1qdEwcrwxphelzOz/T/pKS4RGuOCsaa/IMa2z4YuLicElHVfLWu6f4FuhpYUNovLf0AAAAASUVORK5CYII=";
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__$1 = script$1;
|
||||||
|
var __vue_render__$1 = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
directives: [
|
||||||
|
{
|
||||||
|
name: "show",
|
||||||
|
rawName: "v-show",
|
||||||
|
value: _vm.show,
|
||||||
|
expression: "show",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
staticClass: "xml-epub-pdf-view",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("div", { staticClass: "xmlPreviewSearch-title" }, [
|
||||||
|
_c("img", {
|
||||||
|
staticClass: "img",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_back_png__,
|
||||||
|
},
|
||||||
|
on: { click: _vm.onBackClick },
|
||||||
|
}),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "xmlPreviewSearch-sou" }, [
|
||||||
|
_vm._v(_vm._s(_vm.textInfo)),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
directives: [
|
||||||
|
{
|
||||||
|
name: "loading",
|
||||||
|
rawName: "v-loading",
|
||||||
|
value: _vm.loading,
|
||||||
|
expression: "loading",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
staticClass: "mod-config",
|
||||||
|
staticStyle: { height: "calc(100vh - 60px)", width: "100%" },
|
||||||
|
attrs: {
|
||||||
|
"element-loading-text": "拼命加载中",
|
||||||
|
"element-loading-spinner": "el-icon-loading",
|
||||||
|
"element-loading-background": "rgba(0, 0, 0, 0.8)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("iframe", {
|
||||||
|
staticClass: "xml-iframe-web-view",
|
||||||
|
attrs: { frameborder: "0", src: _vm.baseUrl },
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__$1 = [];
|
||||||
|
__vue_render__$1._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__$1 = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__$1 = undefined;
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__$1 = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__$1 = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__$1 = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
|
||||||
|
__vue_inject_styles__$1,
|
||||||
|
__vue_script__$1,
|
||||||
|
__vue_scope_id__$1,
|
||||||
|
__vue_is_functional_template__$1,
|
||||||
|
__vue_module_identifier__$1,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
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 resource = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAMAAAChHKjRAAAAAXNSR0IArs4c6QAAAqNQTFRFAAAAiXb/kG/0inD6inX6jW72jXL2eGLpe2fuinL2i3H3iHf6i3L5dmTvjHH3inP4inH2i3L2d2TuhW7vjHH5d2TqjnH5fWnyd2bskHb5jXX1jHH2i3H3i3H4i3H4d2Xsd2Xqi3H4cmLoi3L4inH3i3L3inL3i3L3jHL3hG3zi3L3jHL4jnT5i3L3i3L3jHH2bl/nb2DncFfwcF/ncWHncWHocWHpcljxclnxcmLpc1f0c2Lpc2Lqc2Ppc2PqdGPpdGPqdVX3dVrydl7xd1n2d1r1d1r2d1z0d2TreFr2eFv2eFz2eGDweGDxeGbseVz2eV32el32e171e172e2H1e2PyfWD3fWH2fWL1fmH2fmL2fmP2f2P3f2T2gGrygWX2gWb2gWf2gWzxgWzzgmj2gmzyg2j3g2v1g23zg27xhGn3hGr2hG3zhHDxhW7zhW70hmv4hnHxh233h273h3D0h3LyiG73iW34iXD3iXH2inD3inH3inH4inP2i3D4i3H3i3L3i3P3i3P4jHL3jHL4jHL5jHP3jHP4jHT3jXP4jXP5jXT3jXT4jXT5jXf1jXryjnT5jnX4jnf3j3T5j3T6kX31kYDxkoLxk3v4k4PxlX74lYbxl4L2mInymYP4moT4m4n1n5HzoIz4oY35ppP5ppb2p5rzqZb5rp/4saH5s6P5s6T4tKX5tav1tqn4t6j5uan7urH1vKz8vrH5wbn2x7v7yL37yMH2yb77yb/6ycT2zMH7zMH8zML7zcj2zsT6zsT8z8X70Mb70Mv30sf80sn808741dL31dL41s3819D719P42M/929L93NX84N746OL+6Of67uj/8fH79PD/9fb8+Pn9+vf/+vn//fv//f3//f79/v3//v7////9///+////+rYR5QAAADB0Uk5TAA0XMjI6OkZNVVpefX+HjJCRkpSeoausra2vs7W2t7i5v8TN1tbd3t/o6+7v8PH8u0jmrQAAAe5JREFUOMtjYGBgYBZQ1sMAOpoKHAwIwN+ADUzIMXTgJaAGqMjM2l4IqoatGqciB1sHUYgiyUrcihwcrCXAilQacCjKAClysJEHKVLHpSjf1A6kylIJj6Lmdg8DkCIHE3EGBjUcihp6K/1MwcCYHbeihgmdeakgkCyMqai+HsZqnzB5AhBMkUJT1FYd6+Ud39CGIiiHoqitIth/3rats9zC65GVSSMp6ijyDl985M6DBzf2zA8IrmrDpqg7K2H5uQdQcHRRVHEbFkUpMy48QAJns4uxKIqZcw9Z0enEMiyKJkaUrr0GU3J4dmhWNxZF4RvOLshdexuk5Ni0zM2XlkRjUeSy/8GDM1MLt1w+MTNp9c0HD9Z7YlHkvwNkyIESZ6MV10GslYHYFO0Gu+aK4yaIs7ArOgSRnHQKQq/CpsjtJFjubvdBiKI1XlgUhS0Fy91q3Aumr/alYVHUHLLwPEhRw04geX9Xf3QPFkVtna4+yy4+eFBx6MH9fdPNIydiTQUNPeVWcRu3x647PtcisKsNe1IBRU2Bu1NVum9Qa3dDA05FDQ0tLW01dagJE1MRNkCkInXCimQYNAgrkmVQJaxIhEGslpCaem4GVoIG6TMyMAgSUNPEBSqh+PCq0eaElIgsgsq6eliBliIPE1ABAEFwqt5aEHsEAAAAAElFTkSuQmCC";
|
||||||
|
|
||||||
|
var image = {
|
||||||
|
leaflet: {
|
||||||
|
epub,
|
||||||
|
resource
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlEbookRender',
|
||||||
|
components: {
|
||||||
|
PdfView: __vue_component__$1
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'preview';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//属性中传递过来的块儿数据
|
||||||
|
pBlockData: {},
|
||||||
|
//块儿数据名
|
||||||
|
blockDataName: String,
|
||||||
|
//页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pBlockData: {
|
||||||
|
handler(newValue) {
|
||||||
|
console.log('XmlEbook组件(ruleIndex:' + this.ruleIndex + '),watch触发,变量pBlockData:', newValue);
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.blockData = Object.assign({}, this.blockData, newValue);
|
||||||
|
// this.ebookSetList=Object.assign({},this.blockData.ebookSetList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
image,
|
||||||
|
blockId: 'blockId' + Math.random(),
|
||||||
|
//当前块儿数据,一般用不到,因为一般的块儿中不会在块儿内更改数据
|
||||||
|
blockData: {},
|
||||||
|
//属性组件名
|
||||||
|
propertyComponentsName: 'xml-ebook-property',
|
||||||
|
showPdf: false,
|
||||||
|
baseUrl: '',
|
||||||
|
textInfo: ''
|
||||||
|
// ebookSetList:[]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClose() {
|
||||||
|
this.showPdf = false;
|
||||||
|
},
|
||||||
|
// 此方法必须要,用户注册块儿点击事件
|
||||||
|
blockClick() {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
blockData: this.blockData,
|
||||||
|
dataName: this.blockDataName,
|
||||||
|
propertyComponentsName: this.propertyComponentsName,
|
||||||
|
blockId: this.blockId,
|
||||||
|
ruleIndex: this.ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
goRead(info) {
|
||||||
|
console.log('🚀 ~ goRead ~ info:', info);
|
||||||
|
if (this.mode === 'preview') {
|
||||||
|
if (info.source != 'netlink') {
|
||||||
|
const baseUrl = info.uploadFileUrl.indexOf('./') !== -1 ? this.resourceBasisPath + info.uploadFileUrl.split('./')[1] : info.uploadFileUrl;
|
||||||
|
this.$emit('showFileReader', {
|
||||||
|
fileFormat: info.fileFormat,
|
||||||
|
fileUrl: baseUrl,
|
||||||
|
title: info.name || info.title
|
||||||
|
});
|
||||||
|
// if (info.uploadFileUrl) {
|
||||||
|
// if (info.uploadFileUrl.indexOf('.epub') > 0) {
|
||||||
|
// this.baseUrl = 'epubjs/index.html#/epub-read?flow=scrolled&bookPath=' + baseUrl
|
||||||
|
// this.showPdf = true
|
||||||
|
// this.textInfo = info.name||info.title
|
||||||
|
// } else {
|
||||||
|
// // const baseUrl = this.resourceBasisPath + info.uploadFileUrl.split('./')[1]
|
||||||
|
// this.baseUrl = `/pdfjs/web/viewer.html?file=${baseUrl}`
|
||||||
|
// this.showPdf = true
|
||||||
|
// this.textInfo = info.name||info.title
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
} else {
|
||||||
|
if (info.link) {
|
||||||
|
window.open(info.link, '_blank');
|
||||||
|
// this.$emit('showPdfRead', { type: 'link', url: info.link, pageType: this.pageType })
|
||||||
|
} else {
|
||||||
|
this.$message.warning('获取资源链接失败,请检查链接地址');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// this.blockData = Object.assign( this.blockData,this.pBlockData)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var __$_require_static_images_default_over_ebook_png__ = "2539d578aeabf7c9.png";
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: ["xml-ebook-container", "xml-ebook-container-" + _vm.pageType],
|
||||||
|
attrs: { id: _vm.blockId },
|
||||||
|
on: { click: _vm.blockClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm.blockData.styleMode === "A"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "resource-box xml-group-item" },
|
||||||
|
_vm._l(_vm.blockData.ebookSetList, function (item, index) {
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
key: index + Math.random(),
|
||||||
|
staticClass: "workbench-shop-item",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.goRead(item)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("el-image", {
|
||||||
|
staticClass: "shop-item-img-resource-first xml-round-6",
|
||||||
|
attrs: {
|
||||||
|
src: item.coverFileUrl
|
||||||
|
? item.coverFileUrl.indexOf("./") !== -1
|
||||||
|
? _vm.resourceBasisPath +
|
||||||
|
item.coverFileUrl.split("./")[1]
|
||||||
|
: item.coverFileUrl
|
||||||
|
: __$_require_static_images_default_over_ebook_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "shop-item-desc" }, [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
directives: [
|
||||||
|
{
|
||||||
|
name: "show",
|
||||||
|
rawName: "v-show",
|
||||||
|
value: item.name,
|
||||||
|
expression: "item.name",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
staticClass: "xml-ebook-title shop-item-desc-title",
|
||||||
|
},
|
||||||
|
[_vm._v(_vm._s(item.name))]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
directives: [
|
||||||
|
{
|
||||||
|
name: "show",
|
||||||
|
rawName: "v-show",
|
||||||
|
value: item.author,
|
||||||
|
expression: "item.author",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
staticClass: "shop-item-desc-detail",
|
||||||
|
},
|
||||||
|
[_vm._v("作者:" + _vm._s(item.author))]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
directives: [
|
||||||
|
{
|
||||||
|
name: "show",
|
||||||
|
rawName: "v-show",
|
||||||
|
value: item.publisher,
|
||||||
|
expression: "item.publisher",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
staticClass: "shop-item-desc-detail",
|
||||||
|
},
|
||||||
|
[_vm._v("出版社:" + _vm._s(item.publisher))]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
directives: [
|
||||||
|
{
|
||||||
|
name: "show",
|
||||||
|
rawName: "v-show",
|
||||||
|
value: item.isbn,
|
||||||
|
expression: "item.isbn",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
staticClass: "shop-item-desc-detail",
|
||||||
|
},
|
||||||
|
[_vm._v("ISBN:" + _vm._s(item.isbn))]
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
0
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.styleMode === "B"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "resource-box xml-group-item" },
|
||||||
|
_vm._l(_vm.blockData.ebookSetList, function (item, index) {
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
key: index + Math.random(),
|
||||||
|
staticClass: "workbench-shop-item styleB",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("iframe", {
|
||||||
|
attrs: {
|
||||||
|
width: "100%",
|
||||||
|
height: "600",
|
||||||
|
src:
|
||||||
|
item.uploadFileUrl.indexOf(".epub") !== -1
|
||||||
|
? "epubjs/index.html#/epub-read?flow=scrolled&bookPath=" +
|
||||||
|
item.uploadFileUrl
|
||||||
|
: item.uploadFileUrl.indexOf(".pdf") !== -1
|
||||||
|
? "/pdfjs/web/viewer.html?file=" + item.uploadFileUrl
|
||||||
|
: item.uploadFileUrl,
|
||||||
|
frameborder: "0",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "xml-ebook-title title" }, [
|
||||||
|
_vm._v(_vm._s(item.name)),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
0
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.styleMode === "C"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "resource-box resource-box-sytleC xml-group-item" },
|
||||||
|
_vm._l(_vm.blockData.ebookSetList, function (item, index) {
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
key: index + Math.random(),
|
||||||
|
staticClass: "workbench-shop-item",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.goRead(item)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("el-image", {
|
||||||
|
staticClass: "shop-item-img-resource xml-round-6",
|
||||||
|
attrs: {
|
||||||
|
src: item.coverFileUrl
|
||||||
|
? item.coverFileUrl.indexOf("./") !== -1
|
||||||
|
? _vm.resourceBasisPath +
|
||||||
|
item.coverFileUrl.split("./")[1]
|
||||||
|
: item.coverFileUrl
|
||||||
|
: __$_require_static_images_default_over_ebook_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("span", { staticClass: "xml-ebook-title" }, [
|
||||||
|
_vm._v(_vm._s(item.name)),
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
0
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.styleMode === "D"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "resource-box resource-box-sytleD xml-group-item" },
|
||||||
|
_vm._l(_vm.blockData.ebookSetList, function (item, index) {
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
key: index + Math.random(),
|
||||||
|
staticClass: "ebook_style_4 workbench-shop-item",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.goRead(item)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "left" },
|
||||||
|
[
|
||||||
|
_c("el-image", {
|
||||||
|
attrs: {
|
||||||
|
src: item.coverFileUrl
|
||||||
|
? item.coverFileUrl.indexOf("./") !== -1
|
||||||
|
? _vm.resourceBasisPath +
|
||||||
|
item.coverFileUrl.split("./")[1]
|
||||||
|
: item.coverFileUrl
|
||||||
|
: __$_require_static_images_default_over_ebook_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "right" },
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"el-tooltip",
|
||||||
|
{
|
||||||
|
staticClass: "item",
|
||||||
|
attrs: { effect: "dark", placement: "top-start" },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "title-popper",
|
||||||
|
attrs: { slot: "content" },
|
||||||
|
slot: "content",
|
||||||
|
},
|
||||||
|
[_vm._v(_vm._s(item.name))]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "xml-ebook-title title-box" },
|
||||||
|
[_vm._v(_vm._s(item.name))]
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "book_info" }, [
|
||||||
|
_vm._v(
|
||||||
|
"文件大小:" +
|
||||||
|
_vm._s(_vm._f("bytesToSizeNew")(item.fileSize))
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
0
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("PdfView", {
|
||||||
|
attrs: {
|
||||||
|
show: _vm.showPdf,
|
||||||
|
baseUrl: _vm.baseUrl,
|
||||||
|
textInfo: _vm.textInfo,
|
||||||
|
},
|
||||||
|
on: { handleClose: _vm.handleClose },
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-7ea50222";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('ebook-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/ebook.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/ebook.min.css
vendored
Normal file
BIN
src/plugin/xml-digital-teaching/lib/f25e95524c42aff3.png
Normal file
BIN
src/plugin/xml-digital-teaching/lib/f25e95524c42aff3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
3
src/plugin/xml-digital-teaching/lib/group.css
Normal file
3
src/plugin/xml-digital-teaching/lib/group.css
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlGroup.vue.map */
|
||||||
266
src/plugin/xml-digital-teaching/lib/group.js
Normal file
266
src/plugin/xml-digital-teaching/lib/group.js
Normal file
@ -0,0 +1,266 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
var script = {
|
||||||
|
name: 'XmlGroupRender',
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
field: String,
|
||||||
|
typeText: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
showLine: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
pBlockData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
BookName: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
//块儿数据名
|
||||||
|
blockDataName: String
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isShowUp: false,
|
||||||
|
isShowDown: false,
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {},
|
||||||
|
mouseHover: false,
|
||||||
|
showBtn: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
const _this = this;
|
||||||
|
this.$EventBus.$on('blockClick', function ({
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
if (_this.ruleIndex === ruleIndex) {
|
||||||
|
_this.showBtn = true;
|
||||||
|
} else {
|
||||||
|
_this.showBtn = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.blockData = this.pBlockData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
hover() {
|
||||||
|
this.mouseHover = true;
|
||||||
|
},
|
||||||
|
leave() {
|
||||||
|
this.mouseHover = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: _vm.showLine ? "xml-group-box" : "",
|
||||||
|
on: { mousemove: _vm.hover, mouseleave: _vm.leave },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm.mode === "editor"
|
||||||
|
? _c("span", { staticClass: "xml-group-type-text" }, [
|
||||||
|
_vm._v(_vm._s(_vm.typeText)),
|
||||||
|
])
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.showBtn && _vm.mode === "editor"
|
||||||
|
? _vm._t("action-buttons")
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: [
|
||||||
|
"xml-group-" + _vm.pageType,
|
||||||
|
_vm.mode === "editor" ? "xml-group--editor" : "",
|
||||||
|
_vm.mouseHover && _vm.mode === "editor" ? "hovered" : "",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
[_vm._t("default")],
|
||||||
|
2
|
||||||
|
),
|
||||||
|
],
|
||||||
|
2
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-35e9204b";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/group.min.css
vendored
Normal file
626
src/plugin/xml-digital-teaching/lib/html.js
Normal file
626
src/plugin/xml-digital-teaching/lib/html.js
Normal file
File diff suppressed because one or more lines are too long
19
src/plugin/xml-digital-teaching/lib/image.css
Normal file
19
src/plugin/xml-digital-teaching/lib/image.css
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
.xml-image-lun-bo .el-carousel__item {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.el-image__inner[data-v-15928cc6] {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.xml-image-ping-pu-h5[data-v-15928cc6] {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.xml-image-hua-lang[data-v-15928cc6] {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
2218
src/plugin/xml-digital-teaching/lib/image.js
Normal file
2218
src/plugin/xml-digital-teaching/lib/image.js
Normal file
File diff suppressed because it is too large
Load Diff
1
src/plugin/xml-digital-teaching/lib/image.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/image.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.xml-image-lun-bo .el-carousel__item{text-align:center}.el-image__inner[data-v-15928cc6]{width:100%!important}.xml-image-ping-pu-h5[data-v-15928cc6]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-15928cc6]{display:flex;flex-direction:column;align-items:center}
|
||||||
707
src/plugin/xml-digital-teaching/lib/imageText.css
Normal file
707
src/plugin/xml-digital-teaching/lib/imageText.css
Normal file
@ -0,0 +1,707 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=eighth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=fifth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=first.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=fourth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=third.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=second.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=seventh.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=sixth.vue.map */
|
||||||
|
|
||||||
|
.xml-image-lun-bo .el-carousel__item {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-pc[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
|
||||||
|
.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 0.2s;
|
||||||
|
}
|
||||||
|
.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third {
|
||||||
|
animation: fadeInOut 1s infinite 0.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlText.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlTextDialog.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.el-image__inner[data-v-15928cc6] {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.xml-image-ping-pu-h5[data-v-15928cc6] {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.xml-image-hua-lang[data-v-15928cc6] {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
54070
src/plugin/xml-digital-teaching/lib/imageText.js
Normal file
54070
src/plugin/xml-digital-teaching/lib/imageText.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/imageText.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/imageText.min.css
vendored
Normal file
@ -0,0 +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-15928cc6]{width:100%!important}.xml-image-ping-pu-h5[data-v-15928cc6]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-15928cc6]{display:flex;flex-direction:column;align-items:center}
|
||||||
3185
src/plugin/xml-digital-teaching/lib/index.css
Normal file
3185
src/plugin/xml-digital-teaching/lib/index.css
Normal file
File diff suppressed because it is too large
Load Diff
175513
src/plugin/xml-digital-teaching/lib/index.js
Normal file
175513
src/plugin/xml-digital-teaching/lib/index.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/index.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/index.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1195
src/plugin/xml-digital-teaching/lib/layout.js
Normal file
1195
src/plugin/xml-digital-teaching/lib/layout.js
Normal file
File diff suppressed because it is too large
Load Diff
6844
src/plugin/xml-digital-teaching/lib/music.js
Normal file
6844
src/plugin/xml-digital-teaching/lib/music.js
Normal file
File diff suppressed because one or more lines are too long
765
src/plugin/xml-digital-teaching/lib/paragraph.css
Normal file
765
src/plugin/xml-digital-teaching/lib/paragraph.css
Normal file
@ -0,0 +1,765 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=ninth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=eighth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=isosceles.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=first.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=second.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=third.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=tenth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=fourteen.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=quadrangle.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=seventh.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=eleven.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme5.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=twelve.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=fifteen.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=thirteen.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=wave.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme1.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme5.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme6.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme1.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=sixteen.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=SanQintheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=SanQintheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=SanQintheme1.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme5.vue.map */
|
||||||
|
.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 0.2s;
|
||||||
|
}
|
||||||
|
.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third {
|
||||||
|
animation: fadeInOut 1s infinite 0.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlText.vue.map */
|
||||||
|
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-pc[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlTextDialog.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
58767
src/plugin/xml-digital-teaching/lib/paragraph.js
Normal file
58767
src/plugin/xml-digital-teaching/lib/paragraph.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/paragraph.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/paragraph.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.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}
|
||||||
251
src/plugin/xml-digital-teaching/lib/question.css
Normal file
251
src/plugin/xml-digital-teaching/lib/question.css
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
|
||||||
|
.xml-question-container-h5[data-v-630ba314] {
|
||||||
|
}
|
||||||
|
.xml-question-container-pc[data-v-630ba314] {
|
||||||
|
}
|
||||||
|
.xml-question-container-pad[data-v-630ba314] {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=QuestionItem.vue.map */
|
||||||
|
.option-item + .option-item[data-v-2aeaa1c8] {
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8] {
|
||||||
|
display: flex;
|
||||||
|
background: #fbfbfb;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding-left: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all ease 0.3s;
|
||||||
|
border: 1px solid #fbfbfb;
|
||||||
|
}
|
||||||
|
.option-item .questionSeq[data-v-2aeaa1c8] {
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
.option-item.isActive[data-v-2aeaa1c8] {
|
||||||
|
border-color: #2e9adb;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2aeaa1c8] {
|
||||||
|
border: 1px solid #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
border-color: #70b603;
|
||||||
|
background: #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2aeaa1c8] {
|
||||||
|
border: 1px solid #d9001b;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
border-color: #d9001b;
|
||||||
|
background: #d9001b;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8]:hover {
|
||||||
|
background: #ddd;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8] .content {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8] .stem-content.no-border {
|
||||||
|
padding: 8px 14px !important;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=radio.vue.map */
|
||||||
|
.content[data-v-091089da] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.content .stem-content[data-v-091089da] {
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 5px 14px;
|
||||||
|
height: auto;
|
||||||
|
border: 1px solid #e7e7e7;
|
||||||
|
border-radius: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.content .stem-content.no-border[data-v-091089da] {
|
||||||
|
padding: 0;
|
||||||
|
border: none;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.content .stem-content .placeholder[data-v-091089da] {
|
||||||
|
color: #c0c4cc;
|
||||||
|
font-size: 14px;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=common.vue.map */
|
||||||
|
.option-item + .option-item[data-v-2dab3356] {
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356] {
|
||||||
|
display: flex;
|
||||||
|
background: #fbfbfb;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding-left: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all ease 0.3s;
|
||||||
|
border: 1px solid #fbfbfb;
|
||||||
|
}
|
||||||
|
.option-item.isActive[data-v-2dab3356] {
|
||||||
|
border-color: #2e9adb;
|
||||||
|
}
|
||||||
|
.option-item .questionSeq[data-v-2dab3356] {
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2dab3356] {
|
||||||
|
border: 1px solid #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
border-color: #70b603;
|
||||||
|
background: #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2dab3356] {
|
||||||
|
border: 1px solid #d9001b;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
border-color: #d9001b;
|
||||||
|
background: #d9001b;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356]:hover {
|
||||||
|
background: #ddd;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356] .content {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356] .stem-content.no-border {
|
||||||
|
padding: 8px 14px !important;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=checkbox.vue.map */
|
||||||
|
.image-file[data-v-506f1aca] {
|
||||||
|
width: 218px;
|
||||||
|
object-fit: scale-down;
|
||||||
|
}
|
||||||
|
.video-file[data-v-506f1aca] {
|
||||||
|
width: 408px;
|
||||||
|
}
|
||||||
|
.file-render[data-v-506f1aca] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.file-info[data-v-506f1aca] {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
.file-info.videoHandler[data-v-506f1aca] {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.file-info.videoHandler .fileName[data-v-506f1aca] {
|
||||||
|
font-size: 18px;
|
||||||
|
color: #333333;
|
||||||
|
margin-bottom: 19px;
|
||||||
|
}
|
||||||
|
.file-info.videoHandler .fileInfo[data-v-506f1aca] {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
margin-bottom: 19px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=index.vue.map */
|
||||||
|
[data-v-7628e470] .el-dialog__header {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.video-content[data-v-7628e470] {
|
||||||
|
width: 180px;
|
||||||
|
height: 135px;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.video-content .play[data-v-7628e470] {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
transform: translateX(-50%) translateY(-50%);
|
||||||
|
}
|
||||||
|
.video-mask[data-v-7628e470] {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
.video-mask img[data-v-7628e470] {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50% -50%);
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.video-player[data-v-7628e470] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=video-play.vue.map */
|
||||||
|
.audio .audio-icon[data-v-25355b9e] {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.audio .audio-icon img[data-v-25355b9e] {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.audio .audio-controls[data-v-25355b9e] {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
flex: 1;
|
||||||
|
height: 36px;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--progress[data-v-25355b9e], .audio .audio-controls .audio-controls--handler[data-v-25355b9e] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler[data-v-25355b9e] {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler .play[data-v-25355b9e] {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-25355b9e] {
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
display: block;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler .current-time[data-v-25355b9e], .audio .audio-controls .audio-controls--handler .total-time[data-v-25355b9e] {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.play-handler.mobile[data-v-25355b9e] {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
.audio-component[data-v-25355b9e] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__runway {
|
||||||
|
margin: 0 0 4px 0;
|
||||||
|
background: #e3e3e3;
|
||||||
|
height: 4px;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__bar {
|
||||||
|
height: 4px;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__button {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__button-wrapper {
|
||||||
|
top: -15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=audio-play-new.vue.map */
|
||||||
20394
src/plugin/xml-digital-teaching/lib/question.js
Normal file
20394
src/plugin/xml-digital-teaching/lib/question.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/question.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/question.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.option-item+.option-item[data-v-2aeaa1c8]{margin-top:16px}.option-item[data-v-2aeaa1c8]{display:flex;background:#fbfbfb;border-radius:6px;padding-left:16px;cursor:pointer;transition:all ease .3s;border:1px solid #fbfbfb}.option-item .questionSeq[data-v-2aeaa1c8]{padding:8px 0}.option-item.isActive[data-v-2aeaa1c8]{border-color:#2e9adb}.option-item.isTrue[data-v-2aeaa1c8]{border:1px solid #70b603}.option-item.isTrue[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner{border-color:#70b603;background:#70b603}.option-item.isFalse[data-v-2aeaa1c8]{border:1px solid #d9001b}.option-item.isFalse[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner{border-color:#d9001b;background:#d9001b}.option-item[data-v-2aeaa1c8]:hover{background:#ddd}.option-item[data-v-2aeaa1c8] .content{cursor:pointer}.option-item[data-v-2aeaa1c8] .stem-content.no-border{padding:8px 14px!important;cursor:pointer}.content[data-v-091089da]{width:100%}.content .stem-content[data-v-091089da]{width:100%;box-sizing:border-box;padding:5px 14px;height:auto;border:1px solid #e7e7e7;border-radius:6px;cursor:pointer}.content .stem-content.no-border[data-v-091089da]{padding:0;border:none;cursor:default}.content .stem-content .placeholder[data-v-091089da]{color:#c0c4cc;font-size:14px;cursor:pointer;user-select:none}.option-item+.option-item[data-v-2dab3356]{margin-top:16px}.option-item[data-v-2dab3356]{display:flex;background:#fbfbfb;border-radius:6px;padding-left:16px;cursor:pointer;transition:all ease .3s;border:1px solid #fbfbfb}.option-item.isActive[data-v-2dab3356]{border-color:#2e9adb}.option-item .questionSeq[data-v-2dab3356]{padding:8px 0}.option-item.isTrue[data-v-2dab3356]{border:1px solid #70b603}.option-item.isTrue[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner{border-color:#70b603;background:#70b603}.option-item.isFalse[data-v-2dab3356]{border:1px solid #d9001b}.option-item.isFalse[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner{border-color:#d9001b;background:#d9001b}.option-item[data-v-2dab3356]:hover{background:#ddd}.option-item[data-v-2dab3356] .content{cursor:pointer}.option-item[data-v-2dab3356] .stem-content.no-border{padding:8px 14px!important;cursor:pointer}.image-file[data-v-506f1aca]{width:218px;object-fit:scale-down}.video-file[data-v-506f1aca]{width:408px}.file-render[data-v-506f1aca]{width:100%}.file-info[data-v-506f1aca]{flex:1;min-width:0}.file-info.videoHandler[data-v-506f1aca]{display:flex;flex-direction:column;justify-content:center}.file-info.videoHandler .fileName[data-v-506f1aca]{font-size:18px;color:#333;margin-bottom:19px}.file-info.videoHandler .fileInfo[data-v-506f1aca]{font-size:14px;color:#666;margin-bottom:19px}[data-v-7628e470] .el-dialog__header{padding:10px}.video-content[data-v-7628e470]{width:180px;height:135px;border-radius:6px;overflow:hidden;position:relative}.video-content .play[data-v-7628e470]{position:absolute;left:50%;top:50%;cursor:pointer;transform:translateX(-50%) translateY(-50%)}.video-mask[data-v-7628e470]{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5)}.video-mask img[data-v-7628e470]{position:absolute;left:50%;top:50%;transform:translate(-50% -50%);display:block}.video-player[data-v-7628e470]{width:100%}.audio .audio-icon[data-v-25355b9e]{width:36px;height:36px;margin-right:20px}.audio .audio-icon img[data-v-25355b9e]{width:100%;height:100%;display:block}.audio .audio-controls[data-v-25355b9e]{width:100%;max-width:200px;flex:1;height:36px}.audio .audio-controls .audio-controls--handler[data-v-25355b9e],.audio .audio-controls .audio-controls--progress[data-v-25355b9e]{width:100%}.audio .audio-controls .audio-controls--handler[data-v-25355b9e]{line-height:1}.audio .audio-controls .audio-controls--handler .play[data-v-25355b9e]{font-size:24px}.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-25355b9e]{width:22px;height:22px;display:block;cursor:pointer}.audio .audio-controls .audio-controls--handler .current-time[data-v-25355b9e],.audio .audio-controls .audio-controls--handler .total-time[data-v-25355b9e]{font-size:12px;color:#333}.play-handler.mobile[data-v-25355b9e]{width:20px;height:20px}.audio-component[data-v-25355b9e]{display:none}[data-v-25355b9e] .el-slider__runway{margin:0 0 4px 0;background:#e3e3e3;height:4px}[data-v-25355b9e] .el-slider__bar{height:4px}[data-v-25355b9e] .el-slider__button{width:10px;height:10px}[data-v-25355b9e] .el-slider__button-wrapper{top:-15px}
|
||||||
111
src/plugin/xml-digital-teaching/lib/render.css
Normal file
111
src/plugin/xml-digital-teaching/lib/render.css
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=render.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.preview-container-h5[data-v-25742cb8] {
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
.preview-container-pc[data-v-25742cb8] {
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
.preview-container-pad[data-v-25742cb8] {
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}
|
||||||
|
.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog .el-dialog__header {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=PreviewLooseLeaf.vue.map */
|
||||||
10158
src/plugin/xml-digital-teaching/lib/render.js
Normal file
10158
src/plugin/xml-digital-teaching/lib/render.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/render.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/render.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.preview-container-h5[data-v-25742cb8]{padding-top:15px}.preview-container-pc[data-v-25742cb8]{padding-top:15px}.preview-container-pad[data-v-25742cb8]{padding-top:15px}.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog{display:flex;align-items:center}.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen){margin-top:0!important}.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog .el-dialog__header{padding:0}
|
||||||
6
src/plugin/xml-digital-teaching/lib/resource.css
Normal file
6
src/plugin/xml-digital-teaching/lib/resource.css
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
.preview-item-file[data-v-2be4d8c2]:hover,
|
||||||
|
.slip-over-cover[data-v-2be4d8c2]:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlResource.vue.map */
|
||||||
976
src/plugin/xml-digital-teaching/lib/resource.js
Normal file
976
src/plugin/xml-digital-teaching/lib/resource.js
Normal file
@ -0,0 +1,976 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* 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 resource = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAMAAAChHKjRAAAAAXNSR0IArs4c6QAAAqNQTFRFAAAAiXb/kG/0inD6inX6jW72jXL2eGLpe2fuinL2i3H3iHf6i3L5dmTvjHH3inP4inH2i3L2d2TuhW7vjHH5d2TqjnH5fWnyd2bskHb5jXX1jHH2i3H3i3H4i3H4d2Xsd2Xqi3H4cmLoi3L4inH3i3L3inL3i3L3jHL3hG3zi3L3jHL4jnT5i3L3i3L3jHH2bl/nb2DncFfwcF/ncWHncWHocWHpcljxclnxcmLpc1f0c2Lpc2Lqc2Ppc2PqdGPpdGPqdVX3dVrydl7xd1n2d1r1d1r2d1z0d2TreFr2eFv2eFz2eGDweGDxeGbseVz2eV32el32e171e172e2H1e2PyfWD3fWH2fWL1fmH2fmL2fmP2f2P3f2T2gGrygWX2gWb2gWf2gWzxgWzzgmj2gmzyg2j3g2v1g23zg27xhGn3hGr2hG3zhHDxhW7zhW70hmv4hnHxh233h273h3D0h3LyiG73iW34iXD3iXH2inD3inH3inH4inP2i3D4i3H3i3L3i3P3i3P4jHL3jHL4jHL5jHP3jHP4jHT3jXP4jXP5jXT3jXT4jXT5jXf1jXryjnT5jnX4jnf3j3T5j3T6kX31kYDxkoLxk3v4k4PxlX74lYbxl4L2mInymYP4moT4m4n1n5HzoIz4oY35ppP5ppb2p5rzqZb5rp/4saH5s6P5s6T4tKX5tav1tqn4t6j5uan7urH1vKz8vrH5wbn2x7v7yL37yMH2yb77yb/6ycT2zMH7zMH8zML7zcj2zsT6zsT8z8X70Mb70Mv30sf80sn808741dL31dL41s3819D719P42M/929L93NX84N746OL+6Of67uj/8fH79PD/9fb8+Pn9+vf/+vn//fv//f3//f79/v3//v7////9///+////+rYR5QAAADB0Uk5TAA0XMjI6OkZNVVpefX+HjJCRkpSeoausra2vs7W2t7i5v8TN1tbd3t/o6+7v8PH8u0jmrQAAAe5JREFUOMtjYGBgYBZQ1sMAOpoKHAwIwN+ADUzIMXTgJaAGqMjM2l4IqoatGqciB1sHUYgiyUrcihwcrCXAilQacCjKAClysJEHKVLHpSjf1A6kylIJj6Lmdg8DkCIHE3EGBjUcihp6K/1MwcCYHbeihgmdeakgkCyMqai+HsZqnzB5AhBMkUJT1FYd6+Ud39CGIiiHoqitIth/3rats9zC65GVSSMp6ijyDl985M6DBzf2zA8IrmrDpqg7K2H5uQdQcHRRVHEbFkUpMy48QAJns4uxKIqZcw9Z0enEMiyKJkaUrr0GU3J4dmhWNxZF4RvOLshdexuk5Ni0zM2XlkRjUeSy/8GDM1MLt1w+MTNp9c0HD9Z7YlHkvwNkyIESZ6MV10GslYHYFO0Gu+aK4yaIs7ArOgSRnHQKQq/CpsjtJFjubvdBiKI1XlgUhS0Fy91q3Aumr/alYVHUHLLwPEhRw04geX9Xf3QPFkVtna4+yy4+eFBx6MH9fdPNIydiTQUNPeVWcRu3x647PtcisKsNe1IBRU2Bu1NVum9Qa3dDA05FDQ0tLW01dagJE1MRNkCkInXCimQYNAgrkmVQJaxIhEGslpCaem4GVoIG6TMyMAgSUNPEBSqh+PCq0eaElIgsgsq6eliBliIPE1ABAEFwqt5aEHsEAAAAAElFTkSuQmCC";
|
||||||
|
|
||||||
|
var image = {
|
||||||
|
leaflet: {
|
||||||
|
epub,
|
||||||
|
resource
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
// import { OuchnOss } from '@/api/business/file/OuchnOss'
|
||||||
|
// import { defaultCover } from '@/assets/remote'
|
||||||
|
|
||||||
|
var script = {
|
||||||
|
name: 'XmlResourceRender',
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//属性中传递过来的块儿数据
|
||||||
|
pBlockData: {},
|
||||||
|
//块儿数据名
|
||||||
|
blockDataName: String,
|
||||||
|
//页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
officePreviewPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pBlockData: {
|
||||||
|
handler(newValue) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.blockData = Object.assign({}, this.blockData, newValue);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
ouchnOss: null,
|
||||||
|
image,
|
||||||
|
blockId: 'blockId' + Math.random(),
|
||||||
|
//当前块儿数据,一般用不到,因为一般的块儿中不会在块儿内更改数据
|
||||||
|
blockData: {},
|
||||||
|
//属性组件名
|
||||||
|
propertyComponentsName: 'xml-resource-property'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// isNotLocalView() {
|
||||||
|
// return !(process.env.VUE_APP_ENV === 'localview')
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 此方法必须要,用户注册块儿点击事件
|
||||||
|
blockClick() {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
blockData: this.blockData,
|
||||||
|
dataName: this.blockDataName,
|
||||||
|
propertyComponentsName: this.propertyComponentsName,
|
||||||
|
blockId: this.blockId,
|
||||||
|
ruleIndex: this.ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
countFileSize(fileSize) {
|
||||||
|
if (!fileSize) return;
|
||||||
|
if (fileSize < 1024) {
|
||||||
|
return fileSize + 'B';
|
||||||
|
} else if (fileSize < 1024 * 1024) {
|
||||||
|
var temp = fileSize / 1024;
|
||||||
|
temp = temp.toFixed(2);
|
||||||
|
return temp + 'KB';
|
||||||
|
} else if (fileSize < 1024 * 1024 * 1024) {
|
||||||
|
var temp = fileSize / (1024 * 1024);
|
||||||
|
temp = temp.toFixed(2);
|
||||||
|
return temp + 'MB';
|
||||||
|
} else {
|
||||||
|
var temp = fileSize / (1024 * 1024 * 1024);
|
||||||
|
temp = temp.toFixed(2);
|
||||||
|
return temp + 'GB';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
downloadFile(item) {
|
||||||
|
let data = {
|
||||||
|
...item
|
||||||
|
};
|
||||||
|
data.coverFileUrl = this.resourceBasisPath + data.coverFileUrl.split('./')[1];
|
||||||
|
data.uploadFileUrl = this.resourceBasisPath + data.uploadFileUrl.split('./')[1];
|
||||||
|
this.$emit('downloadFile', data);
|
||||||
|
},
|
||||||
|
// 无数据时
|
||||||
|
noFileUrlClick() {
|
||||||
|
this.$message.warning('没有目标文件');
|
||||||
|
},
|
||||||
|
downloadFileUrl(item, fileName) {
|
||||||
|
let data = {
|
||||||
|
...item
|
||||||
|
};
|
||||||
|
if (item.uploadFileUrl.indexOf('http') === -1) {
|
||||||
|
data.coverFileUrl = this.resourceBasisPath + data.coverFileUrl.split('./')[1];
|
||||||
|
data.uploadFileUrl = this.resourceBasisPath + data.uploadFileUrl.split('./')[1];
|
||||||
|
}
|
||||||
|
if (this.mode == 'preview') {
|
||||||
|
this.$emit('downloadFileUrl', {
|
||||||
|
item,
|
||||||
|
fileName,
|
||||||
|
resourceType: this.blockData.resourceType
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.warning('资源仅支持在预览时下载');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 跳转office在线预览
|
||||||
|
previewToPathClick(item) {
|
||||||
|
console.log(item);
|
||||||
|
if (this.mode == 'preview') {
|
||||||
|
// if (item.fileFormat == 'pdf') {
|
||||||
|
// // const pdfUrl = '/pdfjs/web/viewer.html?file=' + encodeURIComponent(item.uploadFileUrl)
|
||||||
|
// this.$router.push({
|
||||||
|
// path: '/webView',
|
||||||
|
// query: {
|
||||||
|
// baseUrl: encodeURIComponent('/pdfjs/web/viewer.html?file=' + item.uploadFileUrl),
|
||||||
|
// title: item.title
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
if (item.fileFormat == 'zip' || item.fileFormat == 'rar' || item.fileFormat == '7z') return;
|
||||||
|
if (item.fileFormat == '无') {
|
||||||
|
this.$message.warning('没有目标文件');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (item.fileFormat == '外部链接' && !item.link) {
|
||||||
|
this.$message.warning('获取资源链接失败,请检查链接地址');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (item.fileFormat == '外部链接') {
|
||||||
|
window.open(item.link);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let url = this.resourceBasisPath + item.uploadFileUrl.split('./')[1];
|
||||||
|
this.$emit('showFileReader', {
|
||||||
|
fileFormat: item.fileFormat,
|
||||||
|
fileUrl: url,
|
||||||
|
title: item.title
|
||||||
|
});
|
||||||
|
// if (item.uploadFileUrl.indexOf('http') === -1) {
|
||||||
|
// window.open(
|
||||||
|
// (this.officePreviewPath ? this.officePreviewPath : 'https://view.officeapps.live.com/op/view.aspx?src=') +
|
||||||
|
// this.resourceBasisPath +
|
||||||
|
// item.uploadFileUrl.split('./')[1]
|
||||||
|
// )
|
||||||
|
// } else {
|
||||||
|
// window.open(
|
||||||
|
// (this.officePreviewPath ? this.officePreviewPath : 'https://view.officeapps.live.com/op/view.aspx?src=') +
|
||||||
|
// item.uploadFileUrl
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// if (this.isNotLocalView) {
|
||||||
|
// this.ouchnOss = new OuchnOss(true)
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var __$_require_static_images_default_over_resource_png__ = "f25e95524c42aff3.png";
|
||||||
|
|
||||||
|
var __$_require_static_images_leaflet_icons_download_bule_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAYAAADafVyIAAAAAXNSR0IArs4c6QAAAkVJREFUSEvtlEtoE1EUhv9zJ6lpCkYzBl3oSouioosiWII2kwas4gMXdeFSt0ViR0lXmu6UNpN0IejGunGhIPjowlczWdiN6ELFhYgbG8RHJglYsWSSe2QC1dqal5CF4F0Nc8//f3P/O+cQ2ryozf5oCRBOWpPMiCiCgo+j/vfNfFxLAM2wXgPYCpZHTD1wtw2AXAagPjBHTH3N9H/AsgQ041+IqOcKu/3FXOBRLPBh6RHqnSByIe8TSmnFw7PrPi/WLftNtVThHKQcJaKL6dP+kcXFtQB9qdwuIWkGwDdzWF1dH5DMB8E8BWAVBCbNqHpiQfATIDBgRtUHznstVTgMKe84z8QYTetqvC7A2ew1Zjs98DqNFAHwrGTL8Ews8FUzrCcAgkLQzumo/2UoacWJcd7RMLA/M6zeXxpr3U7WjNx1gI4D4pNS4s2VDk4AOMlwdTPKhwRgAPgOLvea+toXf2q8hqMibFjjDOgALAAfAWwD8TswbSTglbRxIBNTs7W6uiGgmrNhHQNw47dsmW6ndf/RRuOiKYBj0p/4okkSzvwhMF0ydf9QI/PBm6zQ3on8lMuW2+c8HT1Ph1Y6MdRc/WP5HVJwt6mrtxqZa+PWVSjYR7uvFdiXraDk5i1mLPCmkbDZfc2wZgGsp+DlXNFbgM/uog2ZU7Uvq1njhbpQMv9WsNxEexLFMY8snZnvVJ6zVEbcJRQAu1W/X/Xc4bK9GFDsctxVRrl6yaGJ/D3FrhxkEsyEub93ryoVkuwlwdl5T9fgD6jm9+bSxCy2AAAAAElFTkSuQmCC";
|
||||||
|
|
||||||
|
var __$_require_static_images_leaflet_icons_resource_icon_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAAAXNSR0IArs4c6QAAAqdJREFUSEvFls9LVFEUx7/fOzZTiWPjFKhgUG5Mg0QNQQpRgpCC/ol+ULSwtlFQQctcucj8I2oRVAszDENwrMBRCWpTGdX8yNFsZsx74j5nnjqN43tPpbN73HPO59x7frxDFEg0Lo2EPi9gDwSHrGPiIyFPBWqwKcypQhs338wrR0X8TOr7IrwMQG3gRAPyMLiortXV8bcbUF7XAhoYEvIEwCmHToZQxZ4mMutQ31azgJOx5X6SV9wYk9LfWOW76sbGyk40Lk2AvAPgc2csqPfNLAWYjgGYAvEc8D1isPl9KT+cjC/3Eex1B1vRrlLfUa2+FJqOQPEmK1peFvPJaFxPA2jwAgwwjXqfMf9HBMQAKlK9ZFd67akBZgD4vQAJwZGyt6VMXwOZs6zsSNhVuhWggkZDmUl/SRnDL+lmbdtirmh25EnXRyAc5L6WCxZwa0XzA9Xq82Y3NOcCxS5TSJxKyFERMYnw0hYwheNQXrGy9aTnxg+pGGrUJ4esnJpmsz3a/Mn0dFYCh514KOc8Dvo+wFSpO+Ede3jrn2+Gv0ltZ0IfKOnD3Mw0O6HdsayK4bANlLnILICajOxGUvZjQYJYEr91i13MwtwqxJibnBUL6OtaoOcB4OKq2f8KtJ7URbReVNc8aSoyBEGXFy+ObdYXzcRtQG45NvakyLurOUxOHIOyJs7OSb7x8wSZi4wAOLFDxNXRZgPnJzqh5YW1GG6vCLTuZuj4auPb0FTkAQQXt5VHDDDYeskaNoWOZXZ8L8o5BKB9m6Drf8DFnEpqLAwpM3vqVqFj4J8zDLbH85wNcyUyugfzgb7c87rN6coStSDX86vFpsCCQroHoMPhE49C6xumQIrpO45cUuMN0OoclJw2yxqAcM5hHMQ0NJ9B6ccMts2UCuwvOp8JMVRGUysAAAAASUVORK5CYII=";
|
||||||
|
|
||||||
|
var __$_require_static_images_leaflet_icons_resource_elliptic_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAAAaCAYAAAB2KPSUAAAAAXNSR0IArs4c6QAAB3VJREFUaEPtmttuJLcRhr+q7jlpd+WDhDgGBGOBXMW+i19gkQcP9gWcOztXARaGAMeBNra1kmamp8kKimzOQZqRRtqRIBsjgOKxe9isn1Wsvyjs//YrsLQCsl+N/Qosr8AeEHs8rKzAswaEmd1nfvcZ+xgwsG1fKiJbj932nbsa96SLuEHAy3OQtyCvQEYgfZD6HVLXyM8V0lPS2FqRSpCqq6vk9nNv68peL+XSXxZNyePv+ouwIrhouR66vJQPu/q8P2I+po15/CxiXwSsbbH2NdaAjcE+gL3Jv7H8OzfA8pQA2mph7lo4718j7PLuJOQ/gR68Q98PUBfsoEJ7FepC7CtaCzq5Sm1VUOpeRR2aXK6EKgqVempRL4t0OagKGlrU2zwFEClJUEC8zeeZ2mNqS+V132adgEyJpVx1gjPLbZ68LdWNWNXEmPuiGsHbvK41IRrB24IRqkhb9QmzQOvlWSAMD4itEZtIdHDNAnEaiA6koynx6jXxvxCvgWcFOLsCzYMAsSR8fz4J/ASq4Sl6PqDqV+i4ouop2o6pY01PKvr9GT2r6BPoo/RN6XnZc4PaIr1K6RPpI12y1NfD6CH0hFibUGPU4s9Ies4BUllSCimpORBiBoiRQZExkv7l/lv+pBNu3r0uf9x+JeH7m0u/QRBXGkYQJYjRGrQIbS5rizFDmAk5x2hSUpoQaURTXyuRGRVNyiNNKgeapsfMAo22zOoR7SwSR4HQBOLhlDA5IZ5CWAJMAstDQLIVIDoApMX8DvSLU2oXfNOjflnTu2oY1IGh1oxCZCjKUCKDoAzVGCIMzThQGJkwwuIIOPB2zOs+RjIIXPBQuWVIQjbqIugVgecxLtSKLHw3Fl4vyQ110hQZDEvJ0tjbv93NgMzVeVHrSTPIQs1HwA2Dg8Sf8HpIbTmFOWA64IjQOnhw0PjYOUCsQZggjDEmwBWiYzHGEcYiXHl7FCZVZGLK1CKTSpnElnFbMTnoM71omfVntA6Un09ov83zyIDe4uyycVEKCN6Cvn5H3R7Sp89g1nJgkRcYL4GXKa94JXAY4VCIrzBeeZ/BgYi4wAdAv0u+27Pwc1vSAL7bMfxU4IK+KcTVNv/CLGwXW9b/cxPVbfyVs8k1ZbDVRrhm25NlXHpPKee8nCskm5MONOWZOaCKcOa5g0OSqWmTBskpaxChmde9TZia2VgcLHCB8MHQDwrnBucEPiBcdH0Xolz2aq5omNbnNO9e077pALIJHOttqJn+AHV1xiDCyyB8ivAZwucSORLhGIlHGJ8Dn/o5UIQD890Owy45CAau2jshX9+9KhkAPodOpd/YtdsKrjsSbHPaebQx9/Ecro8tgHFt475VdPPUgaZoG+9z8LhmmXbJNclEhLGZg8TPqfyK8D9M35txZsp7zOv8Uhm/KlyEY6ZfOwD9NHXXTjEzPT1lcDnkM4MvTfgK4SsjnmD8GZEjgU+MpAVeQAKB7/R6rsKLKs+7etlWrxPwfYT+aNJ8Ri9eB6zltgKUYppK7kBxjTIGLgXXHvyG2XuE/wh6ivGjeIKfXkz45eSE6XVQrAjDzcQP0KvOOI7KN1H4mxC/IYqD4hg4TLbfD3kZAAUERei3qelntOZ/iKmsM19Fmzg4PLn5cfNyjnGG2o+Gfq/GPzXyfTjm7GuYLZuPG4D47idGL4b8xYy/m9gbjL9CAoNrAgdCUf3PQU3/IST7CB9RwFIA4sBwzXGG8C8xeSvCPy4n/PvbL/3AuiDK9oB4BGk8g1fuDhB7k/EMxLndFB7fZHSM48ccKgs3kPmB/aFyO9GujrrvobJwH7s/VJZ5uaexye3U6C4nx1g8cjcU+GSD2+nuZ+IZls4dy6TR3u1cAGE7tzO7opmnIJFX69zO35KbKeru5llUzj7K7VwCRaGl1xFTTki5y7mOmDqck1bulmZiqpBQOc809E1iasE+PiYxdV83d1PgaTfE1ILRXEdMFeE7ADJRZR4X47KQT4aebyCmLkW52AkxdV3PPYi6NoZBGDh1LcYoCqNEXZuzl3FkMBJJdaevV6jrFKNwcCxILXdvPVahHqvozFHRNpm6dpJrYaJSuWMzS3v2ihZk2N3qPNPXxe/PFpVEGi12dCGQfNxm6nqh1jtyKcU/csyji21k6lqEiRnORo7NNFHWTl2rMTZhnKhrY2o+7imp69tW66HBLVr6vS6gtS645ZpEhV6MDDzvYhtOc/c88IV4QOvu4JZ5NDRHNCWV57S3OKDuDGyVb18EuCyBIlHSOQ5hHgn18pbBrdYDWF2QK9HS0ZipMvXcd/6m4NbMA101zbMKbt29lW4Pf3tAzO837CL8HdsUBk9RzBQGXxP+jlmTpABWAcM8JO7k76J946elsLfTyNUi1F1AkdrBtIt+PkX42+9PLAWqSoxkPv9tAlfbyPG+9nSbd25e5PU3oFbYzYdekPF7Ff7D5VLM8kWZ5Qsy216OKR+xfEmmXIDxvnJJpuR+j2F/Qeaj4HH3w/srdHev0a5HPKmG2PXk9+/b/QrsAbH7Nf1dv3EPiN+1+HY/+f8DdDLzV5L1opoAAAAASUVORK5CYII=";
|
||||||
|
|
||||||
|
var __$_require_static_images_leaflet_icons_download_white_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAjlJREFUSEvtlcurjWEUh59fSpFLJOUUcquDciuXRExkrkxMMDkGkpPEgAEDipJIIuU2MPAnKJLEQK4hhDoZSCEhcv1p7dbJbnf23t+3nW201+Sr911rPd+6vqJFsT0NeJ7mOyUdLONKZZSrdW1PBV7kWa+kI2V8/Qt4CvAyYVskHeuAG2Wgk+rC/WG701yDN062J0p6NVD+i6ba9gTgvaRv1X7qdrXtS8AqYI+kvbXwImDb64DzuVpnSnK/n0bgR8CsVNwnaXfNymzYXLY3AqfT5hcwVNLvIuAxwA2gO5X3S9rVb9goYtvrgbOpGyleKulOoVSHku3hwGNgchodkrQ972YAz/J8q6Sjed4DnMzz78AiSfdrS9V0c9keD1wHAhRSidz2WOBdnvVIOlWT3oh0uaRbAzVnU3BGMQ64CUxPJ5slHbf9BRgGrAA+A7fz/gewWNLdehupEDjhAYi/n53OLgArgS7gakQHDAG+AkskPWi0BguDEz4y0z6njtOALpD0pBE07kqBqxruIRDjVC0/gfmS4q6plAYnfFTWs7/mUdOItBC0ErHtgG8D3ko61/RXU8H26KxtfNdIulfCdlmA1wIX06hL0uuiDlrRsx1N+jHAO4AD6aRb0tNWHBa1yb3wJsC9wOH/GPGISlltbwDOJHhus/krGlk9Pdsxkh8CPAnoS8XLwGpJ8Zq0RWyfADZVxsl2PF/xjIV8Aq4B7YDPAyLQvwvE9hVgIRA1aKfEdutraYEMxl/9AUsz/weMzneQAAAAAElFTkSuQmCC";
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: "xml-resource-container-" + _vm.pageType,
|
||||||
|
attrs: { id: _vm.blockId },
|
||||||
|
on: { click: _vm.blockClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("div", { staticClass: "resource-box" }, [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: [
|
||||||
|
"preview-container-resource",
|
||||||
|
"preview-container-resource-" + _vm.mode,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm.blockData.styleMode == "A" || !_vm.blockData.styleMode
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
[
|
||||||
|
_vm.blockData.resourceSetList &&
|
||||||
|
_vm.blockData.resourceSetList.length
|
||||||
|
? _vm._l(
|
||||||
|
_vm.blockData.resourceSetList,
|
||||||
|
function (item, index) {
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
key: index,
|
||||||
|
staticClass:
|
||||||
|
"workbench-shop-item resource-style1 xml-group-item",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img slip-over-cover",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.previewToPathClick(item)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("el-image", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource xml-round-6",
|
||||||
|
attrs: {
|
||||||
|
src: item.coverFileUrl
|
||||||
|
? item.coverFileUrl.indexOf("./") !==
|
||||||
|
-1
|
||||||
|
? _vm.resourceBasisPath +
|
||||||
|
item.coverFileUrl.split("./")[1]
|
||||||
|
: item.coverFileUrl
|
||||||
|
: __$_require_static_images_default_over_resource_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "shop-item-desc" }, [
|
||||||
|
_c("div", { staticClass: "filecont" }, [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass:
|
||||||
|
"xml-resource-title shop-item-desc-title preview-item-file",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.previewToPathClick(item)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(
|
||||||
|
"\n " +
|
||||||
|
_vm._s(
|
||||||
|
item.title
|
||||||
|
? item.title
|
||||||
|
: "资源样例"
|
||||||
|
) +
|
||||||
|
"\n "
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "shop-item-desc-detail" },
|
||||||
|
[
|
||||||
|
_vm._v(
|
||||||
|
"\n 文件格式:" +
|
||||||
|
_vm._s(
|
||||||
|
item.fileFormat
|
||||||
|
? item.fileFormat
|
||||||
|
: "无"
|
||||||
|
) +
|
||||||
|
"\n\n "
|
||||||
|
),
|
||||||
|
_vm.blockData.resourceType == "0" &&
|
||||||
|
item.source != ""
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "pointer",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.downloadFileUrl(
|
||||||
|
item,
|
||||||
|
item.title +
|
||||||
|
"." +
|
||||||
|
item.fileFormat
|
||||||
|
)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_download_bule_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(
|
||||||
|
"立即下载\n "
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "shop-item-desc-detail" },
|
||||||
|
[
|
||||||
|
_vm._v(
|
||||||
|
"\n 文件大小:" +
|
||||||
|
_vm._s(
|
||||||
|
_vm.countFileSize(item.fileSize)
|
||||||
|
? _vm.countFileSize(
|
||||||
|
item.fileSize
|
||||||
|
)
|
||||||
|
: "无"
|
||||||
|
) +
|
||||||
|
"\n "
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
: [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass:
|
||||||
|
"workbench-shop-item resource-style1 xml-group-item",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("div", { staticClass: "shop-item-img" }, [
|
||||||
|
_c("img", {
|
||||||
|
staticClass: "shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_default_over_resource_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "shop-item-desc" }, [
|
||||||
|
_vm._m(0),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.resourceType == "0"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "shop-item-desc-detail" },
|
||||||
|
[
|
||||||
|
_c("div", [
|
||||||
|
_c("img", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_download_bule_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v("立即下载\n "),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
2
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.styleMode == "B"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
[
|
||||||
|
_vm.blockData.resourceSetList &&
|
||||||
|
_vm.blockData.resourceSetList.length
|
||||||
|
? _vm._l(
|
||||||
|
_vm.blockData.resourceSetList,
|
||||||
|
function (item, index) {
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
key: index,
|
||||||
|
staticClass:
|
||||||
|
"style-mode__item--body xml-group-item",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("div", { staticClass: "right" }, [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "title",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.previewToPathClick(item)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_resource_icon_png__,
|
||||||
|
alt: "",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"span",
|
||||||
|
{ staticClass: "xml-resource-title" },
|
||||||
|
[
|
||||||
|
_vm._v(
|
||||||
|
_vm._s(
|
||||||
|
item.title
|
||||||
|
? item.title
|
||||||
|
: "资源样例"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "downloadbtn" }, [
|
||||||
|
_vm.blockData.resourceType == "0" &&
|
||||||
|
item.source != ""
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "pointer",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.downloadFileUrl(
|
||||||
|
item,
|
||||||
|
item.title +
|
||||||
|
"." +
|
||||||
|
item.fileFormat
|
||||||
|
)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_download_bule_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(
|
||||||
|
"立即下载\n "
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "left" }, [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "default-cover",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.previewToPathClick(item)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("el-image", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource xml-round-6",
|
||||||
|
attrs: {
|
||||||
|
src: item.coverFileUrl
|
||||||
|
? item.coverFileUrl.indexOf(
|
||||||
|
"./"
|
||||||
|
) !== -1
|
||||||
|
? _vm.resourceBasisPath +
|
||||||
|
item.coverFileUrl.split("./")[1]
|
||||||
|
: item.coverFileUrl
|
||||||
|
: __$_require_static_images_default_over_resource_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "cover-bot-elliptic" },
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_resource_elliptic_png__,
|
||||||
|
alt: "",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
: [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass:
|
||||||
|
"style-mode__item--body xml-group-item",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("div", { staticClass: "right" }, [
|
||||||
|
_c("div", { staticClass: "title" }, [
|
||||||
|
_c("img", {
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_resource_icon_png__,
|
||||||
|
alt: "",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v("资源名称\n "),
|
||||||
|
]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "downloadbtn" }, [
|
||||||
|
_vm.blockData.resourceType == "0"
|
||||||
|
? _c("div", [
|
||||||
|
_c("img", {
|
||||||
|
staticClass: "shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_download_bule_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v("立即下载\n "),
|
||||||
|
])
|
||||||
|
: _vm._e(),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "left" }, [
|
||||||
|
_c("div", { staticClass: "default-cover" }, [
|
||||||
|
_c("img", {
|
||||||
|
staticClass: "shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_default_over_resource_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "cover-bot-elliptic" },
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_resource_elliptic_png__,
|
||||||
|
alt: "",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
2
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.styleMode == "C"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
[
|
||||||
|
_vm.blockData.resourceSetList &&
|
||||||
|
_vm.blockData.resourceSetList.length
|
||||||
|
? [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "style-mode__item--body" },
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"el-row",
|
||||||
|
_vm._l(
|
||||||
|
_vm.blockData.resourceSetList,
|
||||||
|
function (item, index) {
|
||||||
|
return _c(
|
||||||
|
"el-col",
|
||||||
|
{ key: index, attrs: { span: 6 } },
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass:
|
||||||
|
"filecard xml-group-item",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "default-cover" },
|
||||||
|
[
|
||||||
|
_c("el-image", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource xml-round-6",
|
||||||
|
attrs: {
|
||||||
|
src: item.coverFileUrl
|
||||||
|
? item.coverFileUrl.indexOf(
|
||||||
|
"./"
|
||||||
|
) !== -1
|
||||||
|
? _vm.resourceBasisPath +
|
||||||
|
item.coverFileUrl.split(
|
||||||
|
"./"
|
||||||
|
)[1]
|
||||||
|
: item.coverFileUrl
|
||||||
|
: __$_require_static_images_default_over_resource_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.resourceType ==
|
||||||
|
"0" && item.source != ""
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass:
|
||||||
|
"downloadmask pointer",
|
||||||
|
on: {
|
||||||
|
click: function (
|
||||||
|
$event
|
||||||
|
) {
|
||||||
|
return _vm.downloadFileUrl(
|
||||||
|
item,
|
||||||
|
item.title +
|
||||||
|
"." +
|
||||||
|
item.fileFormat
|
||||||
|
)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_download_white_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(
|
||||||
|
"\n 立即下载\n "
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass:
|
||||||
|
"xml-resource-title filename",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.previewToPathClick(
|
||||||
|
item
|
||||||
|
)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(
|
||||||
|
"\n " +
|
||||||
|
_vm._s(
|
||||||
|
item.title
|
||||||
|
? item.title
|
||||||
|
: "资源样例"
|
||||||
|
) +
|
||||||
|
"\n "
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}
|
||||||
|
),
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "style-mode__item--body" },
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"el-row",
|
||||||
|
[
|
||||||
|
_c("el-col", { attrs: { span: 8 } }, [
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "filecard xml-group-item",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"div",
|
||||||
|
{ staticClass: "default-cover" },
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_default_over_resource_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.blockData.resourceType == "0"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "downloadmask",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c("img", {
|
||||||
|
staticClass:
|
||||||
|
"shop-item-img-resource",
|
||||||
|
attrs: {
|
||||||
|
src: __$_require_static_images_leaflet_icons_download_white_png__,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
_vm._v(
|
||||||
|
"\n 立即下载\n "
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "filename" }, [
|
||||||
|
_vm._v(
|
||||||
|
"资源名称资源名称资源名称资源名称资源名称"
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
2
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [
|
||||||
|
function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c("div", [
|
||||||
|
_c("div", { staticClass: "shop-item-desc-title" }, [_vm._v("资源样例")]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "shop-item-desc-detail" }, [
|
||||||
|
_vm._v("文件格式:无"),
|
||||||
|
]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("div", { staticClass: "shop-item-desc-detail" }, [
|
||||||
|
_vm._v("文件大小:0"),
|
||||||
|
]),
|
||||||
|
])
|
||||||
|
},
|
||||||
|
];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-2be4d8c2";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('resource-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
1
src/plugin/xml-digital-teaching/lib/resource.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/resource.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.preview-item-file[data-v-2be4d8c2]:hover,.slip-over-cover[data-v-2be4d8c2]:hover{cursor:pointer}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-ebook-group-h5[data-v-55908341] {
|
||||||
|
}
|
||||||
|
.xml-single-ebook-group-pc[data-v-55908341] {
|
||||||
|
}
|
||||||
|
.xml-single-ebook-group-pad[data-v-55908341] {
|
||||||
|
}
|
||||||
354
src/plugin/xml-digital-teaching/lib/single-ctalog-group.js
Normal file
354
src/plugin/xml-digital-teaching/lib/single-ctalog-group.js
Normal file
@ -0,0 +1,354 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleCatalogGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '目录',
|
||||||
|
dataName: 'catalogData',
|
||||||
|
groupData: {},
|
||||||
|
blockId: 'blockId' + Math.random()
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex: this.ruleIndex
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-ebook-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"xml-catalog-render",
|
||||||
|
{
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.dataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.dataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
pageType: _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
},
|
||||||
|
on: { blockclick: _vm.handleBlockClick },
|
||||||
|
},
|
||||||
|
[_vm._v("\n >\n ")]
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-55908341";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-ctalog-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-ctalog-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-ctalog-group.min.css
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-ebook-group-h5[data-v-6f767b18] {
|
||||||
|
}
|
||||||
|
.xml-single-ebook-group-pc[data-v-6f767b18] {
|
||||||
|
}
|
||||||
|
.xml-single-ebook-group-pad[data-v-6f767b18] {
|
||||||
|
}
|
||||||
362
src/plugin/xml-digital-teaching/lib/single-ebook-group.js
Normal file
362
src/plugin/xml-digital-teaching/lib/single-ebook-group.js
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleBookGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '电子书',
|
||||||
|
ebookDataName: 'ebookData',
|
||||||
|
groupData: {},
|
||||||
|
blockId: 'blockId' + Math.random()
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex: this.ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
showFileReader(e) {
|
||||||
|
this.$emit('showFileReader', e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-ebook-group",
|
||||||
|
"xml-single-ebook-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-ebook-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.ebookDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.ebookDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
mode: _vm.mode,
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
},
|
||||||
|
on: {
|
||||||
|
blockclick: _vm.handleBlockClick,
|
||||||
|
showFileReader: _vm.showFileReader,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-6f767b18";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-ebook-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-ebook-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-ebook-group.min.css
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-ebook-group-h5[data-v-9937d650] {
|
||||||
|
}
|
||||||
|
.xml-single-ebook-group-pc[data-v-9937d650] {
|
||||||
|
}
|
||||||
|
.xml-single-ebook-group-pad[data-v-9937d650] {
|
||||||
|
}
|
||||||
371
src/plugin/xml-digital-teaching/lib/single-html-group.js
Normal file
371
src/plugin/xml-digital-teaching/lib/single-html-group.js
Normal file
@ -0,0 +1,371 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleHtmlGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: 'html',
|
||||||
|
ebookDataName: 'htmlData',
|
||||||
|
groupData: {},
|
||||||
|
blockId: 'blockId' + Math.random()
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
isCopyUrl: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex: this.ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
openHtml(data) {
|
||||||
|
this.$emit('openHtml', data);
|
||||||
|
},
|
||||||
|
copyHtmlUrl(data) {
|
||||||
|
this.$emit('copyHtmlUrl', data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-ebook-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-html-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.ebookDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.ebookDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
isCopyUrl: _vm.isCopyUrl,
|
||||||
|
},
|
||||||
|
on: {
|
||||||
|
blockclick: _vm.handleBlockClick,
|
||||||
|
copyHtmlUrl: _vm.copyHtmlUrl,
|
||||||
|
openHtml: _vm.openHtml,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-9937d650";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-html-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-html-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-html-group.min.css
vendored
Normal file
367
src/plugin/xml-digital-teaching/lib/single-image-group.js
Normal file
367
src/plugin/xml-digital-teaching/lib/single-image-group.js
Normal file
@ -0,0 +1,367 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单图片组合
|
||||||
|
*/
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleImageGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '图片',
|
||||||
|
//定义此变量,是为了解决页面中有多个块儿的情况。
|
||||||
|
imageBlockDataName: 'imageData',
|
||||||
|
groupData: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
clickImg() {
|
||||||
|
this.$emit('clickImg');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-image-group",
|
||||||
|
"xml-single-image-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
pageType: _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-image-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.imageBlockDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.imageBlockDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
"show-title": true,
|
||||||
|
pageType: _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
},
|
||||||
|
on: { blockclick: _vm.handleBlockClick, clickImg: _vm.clickImg },
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = undefined;
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-image-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-music-group-h5[data-v-272f2034] {
|
||||||
|
}
|
||||||
|
.xml-single-music-group-pc[data-v-272f2034] {
|
||||||
|
}
|
||||||
|
.xml-single-music-group-pad[data-v-272f2034] {
|
||||||
|
}
|
||||||
356
src/plugin/xml-digital-teaching/lib/single-music-group.js
Normal file
356
src/plugin/xml-digital-teaching/lib/single-music-group.js
Normal file
@ -0,0 +1,356 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleMusicGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '音频',
|
||||||
|
musicDataName: 'musicData',
|
||||||
|
groupData: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-music-group",
|
||||||
|
"xml-single-music-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-music-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.musicDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.musicDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
mode: _vm.mode,
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
},
|
||||||
|
on: { blockclick: _vm.handleBlockClick },
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-272f2034";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-music-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-music-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-music-group.min.css
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-question-group-h5[data-v-77922a38] {
|
||||||
|
}
|
||||||
|
.xml-single-question-group-pc[data-v-77922a38] {
|
||||||
|
}
|
||||||
|
.xml-single-question-group-pad[data-v-77922a38] {
|
||||||
|
}
|
||||||
393
src/plugin/xml-digital-teaching/lib/single-question-group.js
Normal file
393
src/plugin/xml-digital-teaching/lib/single-question-group.js
Normal file
@ -0,0 +1,393 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleQuestionGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '题库',
|
||||||
|
questionDataName: 'questionData',
|
||||||
|
groupData: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
isShowAi: {
|
||||||
|
type: String,
|
||||||
|
default: '1'
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeAnswer() {
|
||||||
|
this.$refs.xmlQuestion.changeAnswer();
|
||||||
|
},
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-question-group",
|
||||||
|
"xml-single-question-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-question-render", {
|
||||||
|
ref: "xmlQuestion",
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.questionDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.questionDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
mode: _vm.mode,
|
||||||
|
isShowAi: _vm.isShowAi,
|
||||||
|
pageType: _vm.pageType,
|
||||||
|
isSubmit:
|
||||||
|
_vm.groupData[_vm.questionDataName].questionMode == "false"
|
||||||
|
? false
|
||||||
|
: true,
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
},
|
||||||
|
on: {
|
||||||
|
blockclick: _vm.handleBlockClick,
|
||||||
|
submitAnswer: function ($event) {
|
||||||
|
return _vm.$emit("submitAnswer", $event)
|
||||||
|
},
|
||||||
|
setanalysis: function ($event) {
|
||||||
|
return _vm.$emit("setanalysis", $event)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.groupData[_vm.questionDataName].questionMode == "false"
|
||||||
|
? _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "xml-submit-answer xml-submit-answer-right",
|
||||||
|
on: {
|
||||||
|
click: function ($event) {
|
||||||
|
return _vm.changeAnswer()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[_vm._v("\n 提交作答\n ")]
|
||||||
|
)
|
||||||
|
: _vm._e(),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-77922a38";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-question-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-question-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-question-group.min.css
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-question-group-h5[data-v-34ba0440] {
|
||||||
|
}
|
||||||
|
.xml-single-question-group-pc[data-v-34ba0440] {
|
||||||
|
}
|
||||||
|
.xml-single-question-group-pad[data-v-34ba0440] {
|
||||||
|
}
|
||||||
385
src/plugin/xml-digital-teaching/lib/single-resource-group.js
Normal file
385
src/plugin/xml-digital-teaching/lib/single-resource-group.js
Normal file
@ -0,0 +1,385 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleTestPaperGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '试卷',
|
||||||
|
questionDataName: 'testPaperData',
|
||||||
|
groupData: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reader: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
isShowAi: {
|
||||||
|
type: String,
|
||||||
|
default: '1'
|
||||||
|
},
|
||||||
|
BookName: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
openTestPaper({
|
||||||
|
info,
|
||||||
|
showRobot
|
||||||
|
}) {
|
||||||
|
console.log(showRobot);
|
||||||
|
this.$emit('openTestPaper', {
|
||||||
|
info: info,
|
||||||
|
showRobot: showRobot
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-test-paper-group",
|
||||||
|
"xml-single-question-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm.mode === "editor"
|
||||||
|
? _c("span", { staticClass: "xml-group-type-text" })
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
BookName: _vm.BookName,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-test-paper-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.questionDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.questionDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
mode: _vm.mode,
|
||||||
|
reader: _vm.reader,
|
||||||
|
pageType: _vm.pageType,
|
||||||
|
BookName: _vm.BookName,
|
||||||
|
isShowAi: _vm.isShowAi,
|
||||||
|
},
|
||||||
|
on: {
|
||||||
|
blockclick: _vm.handleBlockClick,
|
||||||
|
openTestPaper: _vm.openTestPaper,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-34ba0440";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-test-paper-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-resource-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-resource-group.min.css
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-question-group-h5[data-v-34ba0440] {
|
||||||
|
}
|
||||||
|
.xml-single-question-group-pc[data-v-34ba0440] {
|
||||||
|
}
|
||||||
|
.xml-single-question-group-pad[data-v-34ba0440] {
|
||||||
|
}
|
||||||
385
src/plugin/xml-digital-teaching/lib/single-testpaper-group.js
Normal file
385
src/plugin/xml-digital-teaching/lib/single-testpaper-group.js
Normal file
@ -0,0 +1,385 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleTestPaperGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '试卷',
|
||||||
|
questionDataName: 'testPaperData',
|
||||||
|
groupData: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reader: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
isShowAi: {
|
||||||
|
type: String,
|
||||||
|
default: '1'
|
||||||
|
},
|
||||||
|
BookName: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
openTestPaper({
|
||||||
|
info,
|
||||||
|
showRobot
|
||||||
|
}) {
|
||||||
|
console.log(showRobot);
|
||||||
|
this.$emit('openTestPaper', {
|
||||||
|
info: info,
|
||||||
|
showRobot: showRobot
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-test-paper-group",
|
||||||
|
"xml-single-question-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm.mode === "editor"
|
||||||
|
? _c("span", { staticClass: "xml-group-type-text" })
|
||||||
|
: _vm._e(),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
BookName: _vm.BookName,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-test-paper-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.questionDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.questionDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
mode: _vm.mode,
|
||||||
|
reader: _vm.reader,
|
||||||
|
pageType: _vm.pageType,
|
||||||
|
BookName: _vm.BookName,
|
||||||
|
isShowAi: _vm.isShowAi,
|
||||||
|
},
|
||||||
|
on: {
|
||||||
|
blockclick: _vm.handleBlockClick,
|
||||||
|
openTestPaper: _vm.openTestPaper,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-34ba0440";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-test-paper-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-testpaper-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-testpaper-group.min.css
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-text-group-h5[data-v-647015fa] {
|
||||||
|
}
|
||||||
|
.xml-single-text-group-pc[data-v-647015fa] {
|
||||||
|
}
|
||||||
|
.xml-single-text-group-pad[data-v-647015fa] {
|
||||||
|
}
|
||||||
408
src/plugin/xml-digital-teaching/lib/single-text-group.js
Normal file
408
src/plugin/xml-digital-teaching/lib/single-text-group.js
Normal file
@ -0,0 +1,408 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
/**
|
||||||
|
* 单文本组合
|
||||||
|
*/
|
||||||
|
var script = {
|
||||||
|
name: 'XmlSingleTextGroupRender',
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: '文本',
|
||||||
|
textDataName: 'textData',
|
||||||
|
showComponentButtons: false,
|
||||||
|
groupData: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return 'editor';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: 'h5'
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
projectId: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
this.$emit('blockclick', {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
});
|
||||||
|
},
|
||||||
|
groupDataChange({
|
||||||
|
ruleIndex,
|
||||||
|
dataName,
|
||||||
|
data
|
||||||
|
}) {
|
||||||
|
this.$emit('groupDataChange', {
|
||||||
|
ruleIndex,
|
||||||
|
dataName,
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark text-body-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-text-group",
|
||||||
|
"xml-single-text-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
staticClass: "optional-text",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
projectId: _vm.projectId,
|
||||||
|
mode: _vm.mode,
|
||||||
|
showLine: false,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("xml-text-render", {
|
||||||
|
ref: "xmlText",
|
||||||
|
attrs: {
|
||||||
|
projectId: _vm.projectId,
|
||||||
|
pBlockData: _vm.groupData[_vm.textDataName],
|
||||||
|
"block-data-name": _vm.textDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
currentRule: _vm.currentRule,
|
||||||
|
"css-theme": "default",
|
||||||
|
"container-class": "text-container",
|
||||||
|
"text-container": "default-text-container",
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
scopedSlots: { $scopedSlots: _vm.$scopedSlots },
|
||||||
|
},
|
||||||
|
on: {
|
||||||
|
"update:pBlockData": function ($event) {
|
||||||
|
return _vm.$set(_vm.groupData, _vm.textDataName, $event)
|
||||||
|
},
|
||||||
|
"update:p-block-data": function ($event) {
|
||||||
|
return _vm.$set(_vm.groupData, _vm.textDataName, $event)
|
||||||
|
},
|
||||||
|
blockclick: _vm.handleBlockClick,
|
||||||
|
groupDataChange: _vm.groupDataChange,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
_vm._l(_vm.$scopedSlots, function (index, name) {
|
||||||
|
return {
|
||||||
|
key: name,
|
||||||
|
fn: function (deliver) {
|
||||||
|
return [_vm._t(name, null, null, deliver)]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-647015fa";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-text-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-text-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-text-group.min.css
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.xml-single-video-group-h5[data-v-3ae74720] {
|
||||||
|
}
|
||||||
|
.xml-single-video-group-pc[data-v-3ae74720] {
|
||||||
|
}
|
||||||
|
.xml-single-video-group-pad[data-v-3ae74720] {
|
||||||
|
}
|
||||||
373
src/plugin/xml-digital-teaching/lib/single-video-group.js
Normal file
373
src/plugin/xml-digital-teaching/lib/single-video-group.js
Normal file
@ -0,0 +1,373 @@
|
|||||||
|
/*
|
||||||
|
* XmlDigitalTeaching v0.0.1
|
||||||
|
* Copyright ©Wed Jun 12 2024 12:02:25 GMT+0800 (中国标准时间) smile
|
||||||
|
* Released under the ISC License.
|
||||||
|
*/
|
||||||
|
var singleGroupMixin = {
|
||||||
|
props: {
|
||||||
|
activeIndex: {
|
||||||
|
type: Number,
|
||||||
|
default: -1
|
||||||
|
},
|
||||||
|
location: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
islast: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
getSingleGroupLocation: () => this.location
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groupIsActive() {
|
||||||
|
return this.ruleIndex === this.activeIndex;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
pGroupData: {
|
||||||
|
handler() {
|
||||||
|
if (this.pGroupData.options?.marginTop !== undefined && this.pGroupData.options.marginTop !== -1) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$el && this.$el.style.setProperty('--book-marginTop', this.pGroupData.options.marginTop + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.pGroupData.options?.marginTop === undefined) {
|
||||||
|
let options = this.pGroupData.options ? {
|
||||||
|
...this.pGroupData.options,
|
||||||
|
marginTop: -1
|
||||||
|
} : {
|
||||||
|
marginTop: -1
|
||||||
|
};
|
||||||
|
this.$emit('updateModel', {
|
||||||
|
key: 'pGroupData',
|
||||||
|
value: {
|
||||||
|
...this.pGroupData,
|
||||||
|
options
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.islast) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$EventBus.$emit('mounted_success');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick(e) {
|
||||||
|
this.$emit('click', e, this.ruleIndex, this.currentRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
var script = {
|
||||||
|
name: "XmlSingleVideoGroupRender",
|
||||||
|
mixins: [singleGroupMixin],
|
||||||
|
// components: { },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeText: "视频",
|
||||||
|
videoDataName: "videoData",
|
||||||
|
groupData: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
//模式:preview 预览 (默认),editor 编辑
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: function () {
|
||||||
|
return "editor";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//必须有此属性,接收初始化值
|
||||||
|
pGroupData: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//当前所处组的规则
|
||||||
|
currentRule: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ruleIndex: Number,
|
||||||
|
//必须有此属性,页面类型,取值h5、pc、pad
|
||||||
|
pageType: {
|
||||||
|
type: String,
|
||||||
|
default: "h5"
|
||||||
|
},
|
||||||
|
resourceBasisPath: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
|
},
|
||||||
|
extendParams: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
videoImg: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.groupData = this.pGroupData;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//
|
||||||
|
/***
|
||||||
|
* 固定方法。接收固定参数
|
||||||
|
* 此方法接收块儿点击事件,事件传递块相关参数
|
||||||
|
* @param blockData 块中的data属性数据
|
||||||
|
* @param dataName 块data数据在组中时,属性key
|
||||||
|
* @param propertyComponentsName 块儿对应的属性组件名
|
||||||
|
*/
|
||||||
|
handleBlockClick({
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
}) {
|
||||||
|
this.$emit("blockclick", {
|
||||||
|
groupData: this.groupData,
|
||||||
|
blockData,
|
||||||
|
dataName,
|
||||||
|
propertyComponentsName,
|
||||||
|
currentRule: this.currentRule,
|
||||||
|
blockId,
|
||||||
|
ruleIndex
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
|
||||||
|
if (typeof shadowMode !== 'boolean') {
|
||||||
|
createInjectorSSR = createInjector;
|
||||||
|
createInjector = shadowMode;
|
||||||
|
shadowMode = false;
|
||||||
|
}
|
||||||
|
// Vue.extend constructor export interop.
|
||||||
|
const options = typeof script === 'function' ? script.options : script;
|
||||||
|
// render functions
|
||||||
|
if (template && template.render) {
|
||||||
|
options.render = template.render;
|
||||||
|
options.staticRenderFns = template.staticRenderFns;
|
||||||
|
options._compiled = true;
|
||||||
|
// functional template
|
||||||
|
if (isFunctionalTemplate) {
|
||||||
|
options.functional = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// scopedId
|
||||||
|
if (scopeId) {
|
||||||
|
options._scopeId = scopeId;
|
||||||
|
}
|
||||||
|
let hook;
|
||||||
|
if (moduleIdentifier) {
|
||||||
|
// server build
|
||||||
|
hook = function (context) {
|
||||||
|
// 2.3 injection
|
||||||
|
context = context ||
|
||||||
|
// cached call
|
||||||
|
this.$vnode && this.$vnode.ssrContext ||
|
||||||
|
// stateful
|
||||||
|
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
|
||||||
|
// 2.2 with runInNewContext: true
|
||||||
|
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
|
||||||
|
context = __VUE_SSR_CONTEXT__;
|
||||||
|
}
|
||||||
|
// inject component styles
|
||||||
|
if (style) {
|
||||||
|
style.call(this, createInjectorSSR(context));
|
||||||
|
}
|
||||||
|
// register component module identifier for async chunk inference
|
||||||
|
if (context && context._registeredComponents) {
|
||||||
|
context._registeredComponents.add(moduleIdentifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// used by ssr in case component is cached and beforeCreate
|
||||||
|
// never gets called
|
||||||
|
options._ssrRegister = hook;
|
||||||
|
} else if (style) {
|
||||||
|
hook = shadowMode ? function (context) {
|
||||||
|
style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
|
||||||
|
} : function (context) {
|
||||||
|
style.call(this, createInjector(context));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (hook) {
|
||||||
|
if (options.functional) {
|
||||||
|
// register for functional component in vue file
|
||||||
|
const originalRender = options.render;
|
||||||
|
options.render = function renderWithStyleInjection(h, context) {
|
||||||
|
hook.call(context);
|
||||||
|
return originalRender(h, context);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// inject component registration as beforeCreate hook
|
||||||
|
const existing = options.beforeCreate;
|
||||||
|
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* script */
|
||||||
|
const __vue_script__ = script;
|
||||||
|
/* template */
|
||||||
|
var __vue_render__ = function () {
|
||||||
|
var _vm = this;
|
||||||
|
var _h = _vm.$createElement;
|
||||||
|
var _c = _vm._self._c || _h;
|
||||||
|
return _c(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
staticClass: "parent-group parent-group-mark",
|
||||||
|
class: [
|
||||||
|
"xml-single-video-group",
|
||||||
|
"xml-single-video-group-" + _vm.pageType,
|
||||||
|
_vm.groupIsActive ? "active" : "",
|
||||||
|
],
|
||||||
|
on: { click: _vm.emitClick },
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_c(
|
||||||
|
"xml-group-render",
|
||||||
|
{
|
||||||
|
ref: "xmlGroup",
|
||||||
|
attrs: {
|
||||||
|
"page-type": _vm.pageType,
|
||||||
|
mode: _vm.mode,
|
||||||
|
"type-text": _vm.typeText,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
},
|
||||||
|
scopedSlots: _vm._u(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
key: "action-buttons",
|
||||||
|
fn: function () {
|
||||||
|
return [_vm._t("default")]
|
||||||
|
},
|
||||||
|
proxy: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
),
|
||||||
|
},
|
||||||
|
[
|
||||||
|
_vm._v(" "),
|
||||||
|
_vm.videoImg
|
||||||
|
? _c("xml-video-img-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.videoDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.videoDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
mode: _vm.mode,
|
||||||
|
},
|
||||||
|
on: { blockclick: _vm.handleBlockClick },
|
||||||
|
})
|
||||||
|
: _c("xml-video-render", {
|
||||||
|
attrs: {
|
||||||
|
"p-block-data": _vm.groupData[_vm.videoDataName],
|
||||||
|
"current-rule": _vm.currentRule,
|
||||||
|
"block-data-name": _vm.videoDataName,
|
||||||
|
"extend-params": _vm.extendParams,
|
||||||
|
"rule-index": _vm.ruleIndex,
|
||||||
|
resourceBasisPath: _vm.resourceBasisPath,
|
||||||
|
mode: _vm.mode,
|
||||||
|
},
|
||||||
|
on: { blockclick: _vm.handleBlockClick },
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
),
|
||||||
|
],
|
||||||
|
1
|
||||||
|
)
|
||||||
|
};
|
||||||
|
var __vue_staticRenderFns__ = [];
|
||||||
|
__vue_render__._withStripped = true;
|
||||||
|
|
||||||
|
/* style */
|
||||||
|
const __vue_inject_styles__ = undefined;
|
||||||
|
/* scoped */
|
||||||
|
const __vue_scope_id__ = "data-v-3ae74720";
|
||||||
|
/* module identifier */
|
||||||
|
const __vue_module_identifier__ = undefined;
|
||||||
|
/* functional template */
|
||||||
|
const __vue_is_functional_template__ = false;
|
||||||
|
/* style inject */
|
||||||
|
|
||||||
|
/* style inject SSR */
|
||||||
|
|
||||||
|
/* style inject shadow dom */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const __vue_component__ = /*#__PURE__*/normalizeComponent(
|
||||||
|
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
||||||
|
__vue_inject_styles__,
|
||||||
|
__vue_script__,
|
||||||
|
__vue_scope_id__,
|
||||||
|
__vue_is_functional_template__,
|
||||||
|
__vue_module_identifier__,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
|
||||||
|
let componentNamespace = 'xml';
|
||||||
|
// 组件前缀命名只能更新一次,防止重复执行修改组件注册出错
|
||||||
|
let isUpdated = false;
|
||||||
|
function createNamespace(name, {
|
||||||
|
prefix,
|
||||||
|
isUnPrefix
|
||||||
|
}) {
|
||||||
|
let useNamespace;
|
||||||
|
if (!isUpdated) {
|
||||||
|
isUpdated = true;
|
||||||
|
useNamespace = prefix || componentNamespace; // 更改前缀
|
||||||
|
}
|
||||||
|
if (prefix) {
|
||||||
|
if (name.indexOf(componentNamespace) === 0) {
|
||||||
|
return name.replace(componentNamespace, prefix);
|
||||||
|
}
|
||||||
|
return useNamespace.charAt(0).toUpperCase() + useNamespace.substr(1) + name;
|
||||||
|
}
|
||||||
|
if (name.indexOf(componentNamespace) === 0 || name.indexOf(componentNamespace.charAt(0).toUpperCase()) === 0) {
|
||||||
|
return name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
return isUnPrefix ? name.charAt(0).toLowerCase() + name.substr(1) : componentNamespace + name.charAt(0).toUpperCase() + name.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
__vue_component__.install = (Vue, options = {}) => {
|
||||||
|
Vue.component(createNamespace('single-video-group-render', {
|
||||||
|
prefix: options.prefix
|
||||||
|
}), __vue_component__);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { __vue_component__ as default };
|
||||||
0
src/plugin/xml-digital-teaching/lib/single-video-group.min.css
vendored
Normal file
0
src/plugin/xml-digital-teaching/lib/single-video-group.min.css
vendored
Normal file
762
src/plugin/xml-digital-teaching/lib/splitline.css
Normal file
762
src/plugin/xml-digital-teaching/lib/splitline.css
Normal file
@ -0,0 +1,762 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=eleventh.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=eighth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=first.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=second.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme1.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greytheme1.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=fifth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=seventh.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=fourth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=sixth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greytheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=tenth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=third.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=ninth.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greytheme5.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greytheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greytheme6.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greytheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme1.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Redtheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Yellowtheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme1.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Bluetheme3.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Bluetheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Greentheme4.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Bluetheme2.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=Bluetheme1.vue.map */
|
||||||
|
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-pc[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
|
||||||
|
.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 0.2s;
|
||||||
|
}
|
||||||
|
.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third {
|
||||||
|
animation: fadeInOut 1s infinite 0.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlText.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlTextDialog.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
56684
src/plugin/xml-digital-teaching/lib/splitline.js
Normal file
56684
src/plugin/xml-digital-teaching/lib/splitline.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/splitline.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/splitline.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.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}
|
||||||
246
src/plugin/xml-digital-teaching/lib/testPaper.css
Normal file
246
src/plugin/xml-digital-teaching/lib/testPaper.css
Normal file
@ -0,0 +1,246 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlTestPaper.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=QuestionItem.vue.map */
|
||||||
|
.content[data-v-091089da] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.content .stem-content[data-v-091089da] {
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 5px 14px;
|
||||||
|
height: auto;
|
||||||
|
border: 1px solid #e7e7e7;
|
||||||
|
border-radius: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.content .stem-content.no-border[data-v-091089da] {
|
||||||
|
padding: 0;
|
||||||
|
border: none;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.content .stem-content .placeholder[data-v-091089da] {
|
||||||
|
color: #c0c4cc;
|
||||||
|
font-size: 14px;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=common.vue.map */
|
||||||
|
.option-item + .option-item[data-v-2aeaa1c8] {
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8] {
|
||||||
|
display: flex;
|
||||||
|
background: #fbfbfb;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding-left: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all ease 0.3s;
|
||||||
|
border: 1px solid #fbfbfb;
|
||||||
|
}
|
||||||
|
.option-item .questionSeq[data-v-2aeaa1c8] {
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
.option-item.isActive[data-v-2aeaa1c8] {
|
||||||
|
border-color: #2e9adb;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2aeaa1c8] {
|
||||||
|
border: 1px solid #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
border-color: #70b603;
|
||||||
|
background: #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2aeaa1c8] {
|
||||||
|
border: 1px solid #d9001b;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
border-color: #d9001b;
|
||||||
|
background: #d9001b;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8]:hover {
|
||||||
|
background: #ddd;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8] .content {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2aeaa1c8] .stem-content.no-border {
|
||||||
|
padding: 8px 14px !important;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=radio.vue.map */
|
||||||
|
.option-item + .option-item[data-v-2dab3356] {
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356] {
|
||||||
|
display: flex;
|
||||||
|
background: #fbfbfb;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding-left: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all ease 0.3s;
|
||||||
|
border: 1px solid #fbfbfb;
|
||||||
|
}
|
||||||
|
.option-item.isActive[data-v-2dab3356] {
|
||||||
|
border-color: #2e9adb;
|
||||||
|
}
|
||||||
|
.option-item .questionSeq[data-v-2dab3356] {
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2dab3356] {
|
||||||
|
border: 1px solid #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isTrue[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
border-color: #70b603;
|
||||||
|
background: #70b603;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2dab3356] {
|
||||||
|
border: 1px solid #d9001b;
|
||||||
|
}
|
||||||
|
.option-item.isFalse[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
border-color: #d9001b;
|
||||||
|
background: #d9001b;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356]:hover {
|
||||||
|
background: #ddd;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356] .content {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.option-item[data-v-2dab3356] .stem-content.no-border {
|
||||||
|
padding: 8px 14px !important;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=checkbox.vue.map */
|
||||||
|
.image-file[data-v-506f1aca] {
|
||||||
|
width: 218px;
|
||||||
|
object-fit: scale-down;
|
||||||
|
}
|
||||||
|
.video-file[data-v-506f1aca] {
|
||||||
|
width: 408px;
|
||||||
|
}
|
||||||
|
.file-render[data-v-506f1aca] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.file-info[data-v-506f1aca] {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
.file-info.videoHandler[data-v-506f1aca] {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.file-info.videoHandler .fileName[data-v-506f1aca] {
|
||||||
|
font-size: 18px;
|
||||||
|
color: #333333;
|
||||||
|
margin-bottom: 19px;
|
||||||
|
}
|
||||||
|
.file-info.videoHandler .fileInfo[data-v-506f1aca] {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
margin-bottom: 19px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=index.vue.map */
|
||||||
|
.audio .audio-icon[data-v-25355b9e] {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.audio .audio-icon img[data-v-25355b9e] {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.audio .audio-controls[data-v-25355b9e] {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 200px;
|
||||||
|
flex: 1;
|
||||||
|
height: 36px;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--progress[data-v-25355b9e], .audio .audio-controls .audio-controls--handler[data-v-25355b9e] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler[data-v-25355b9e] {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler .play[data-v-25355b9e] {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-25355b9e] {
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
display: block;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.audio .audio-controls .audio-controls--handler .current-time[data-v-25355b9e], .audio .audio-controls .audio-controls--handler .total-time[data-v-25355b9e] {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.play-handler.mobile[data-v-25355b9e] {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
.audio-component[data-v-25355b9e] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__runway {
|
||||||
|
margin: 0 0 4px 0;
|
||||||
|
background: #e3e3e3;
|
||||||
|
height: 4px;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__bar {
|
||||||
|
height: 4px;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__button {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
[data-v-25355b9e] .el-slider__button-wrapper {
|
||||||
|
top: -15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=audio-play-new.vue.map */
|
||||||
|
[data-v-7628e470] .el-dialog__header {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.video-content[data-v-7628e470] {
|
||||||
|
width: 180px;
|
||||||
|
height: 135px;
|
||||||
|
border-radius: 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.video-content .play[data-v-7628e470] {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
transform: translateX(-50%) translateY(-50%);
|
||||||
|
}
|
||||||
|
.video-mask[data-v-7628e470] {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
.video-mask img[data-v-7628e470] {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50% -50%);
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.video-player[data-v-7628e470] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=video-play.vue.map */
|
||||||
20466
src/plugin/xml-digital-teaching/lib/testPaper.js
Normal file
20466
src/plugin/xml-digital-teaching/lib/testPaper.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/testPaper.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/testPaper.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.content[data-v-091089da]{width:100%}.content .stem-content[data-v-091089da]{width:100%;box-sizing:border-box;padding:5px 14px;height:auto;border:1px solid #e7e7e7;border-radius:6px;cursor:pointer}.content .stem-content.no-border[data-v-091089da]{padding:0;border:none;cursor:default}.content .stem-content .placeholder[data-v-091089da]{color:#c0c4cc;font-size:14px;cursor:pointer;user-select:none}.option-item+.option-item[data-v-2aeaa1c8]{margin-top:16px}.option-item[data-v-2aeaa1c8]{display:flex;background:#fbfbfb;border-radius:6px;padding-left:16px;cursor:pointer;transition:all ease .3s;border:1px solid #fbfbfb}.option-item .questionSeq[data-v-2aeaa1c8]{padding:8px 0}.option-item.isActive[data-v-2aeaa1c8]{border-color:#2e9adb}.option-item.isTrue[data-v-2aeaa1c8]{border:1px solid #70b603}.option-item.isTrue[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner{border-color:#70b603;background:#70b603}.option-item.isFalse[data-v-2aeaa1c8]{border:1px solid #d9001b}.option-item.isFalse[data-v-2aeaa1c8] .el-radio__input.is-checked .el-radio__inner{border-color:#d9001b;background:#d9001b}.option-item[data-v-2aeaa1c8]:hover{background:#ddd}.option-item[data-v-2aeaa1c8] .content{cursor:pointer}.option-item[data-v-2aeaa1c8] .stem-content.no-border{padding:8px 14px!important;cursor:pointer}.option-item+.option-item[data-v-2dab3356]{margin-top:16px}.option-item[data-v-2dab3356]{display:flex;background:#fbfbfb;border-radius:6px;padding-left:16px;cursor:pointer;transition:all ease .3s;border:1px solid #fbfbfb}.option-item.isActive[data-v-2dab3356]{border-color:#2e9adb}.option-item .questionSeq[data-v-2dab3356]{padding:8px 0}.option-item.isTrue[data-v-2dab3356]{border:1px solid #70b603}.option-item.isTrue[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner{border-color:#70b603;background:#70b603}.option-item.isFalse[data-v-2dab3356]{border:1px solid #d9001b}.option-item.isFalse[data-v-2dab3356] .el-checkbox__input.is-checked .el-checkbox__inner{border-color:#d9001b;background:#d9001b}.option-item[data-v-2dab3356]:hover{background:#ddd}.option-item[data-v-2dab3356] .content{cursor:pointer}.option-item[data-v-2dab3356] .stem-content.no-border{padding:8px 14px!important;cursor:pointer}.image-file[data-v-506f1aca]{width:218px;object-fit:scale-down}.video-file[data-v-506f1aca]{width:408px}.file-render[data-v-506f1aca]{width:100%}.file-info[data-v-506f1aca]{flex:1;min-width:0}.file-info.videoHandler[data-v-506f1aca]{display:flex;flex-direction:column;justify-content:center}.file-info.videoHandler .fileName[data-v-506f1aca]{font-size:18px;color:#333;margin-bottom:19px}.file-info.videoHandler .fileInfo[data-v-506f1aca]{font-size:14px;color:#666;margin-bottom:19px}.audio .audio-icon[data-v-25355b9e]{width:36px;height:36px;margin-right:20px}.audio .audio-icon img[data-v-25355b9e]{width:100%;height:100%;display:block}.audio .audio-controls[data-v-25355b9e]{width:100%;max-width:200px;flex:1;height:36px}.audio .audio-controls .audio-controls--handler[data-v-25355b9e],.audio .audio-controls .audio-controls--progress[data-v-25355b9e]{width:100%}.audio .audio-controls .audio-controls--handler[data-v-25355b9e]{line-height:1}.audio .audio-controls .audio-controls--handler .play[data-v-25355b9e]{font-size:24px}.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-25355b9e]{width:22px;height:22px;display:block;cursor:pointer}.audio .audio-controls .audio-controls--handler .current-time[data-v-25355b9e],.audio .audio-controls .audio-controls--handler .total-time[data-v-25355b9e]{font-size:12px;color:#333}.play-handler.mobile[data-v-25355b9e]{width:20px;height:20px}.audio-component[data-v-25355b9e]{display:none}[data-v-25355b9e] .el-slider__runway{margin:0 0 4px 0;background:#e3e3e3;height:4px}[data-v-25355b9e] .el-slider__bar{height:4px}[data-v-25355b9e] .el-slider__button{width:10px;height:10px}[data-v-25355b9e] .el-slider__button-wrapper{top:-15px}[data-v-7628e470] .el-dialog__header{padding:10px}.video-content[data-v-7628e470]{width:180px;height:135px;border-radius:6px;overflow:hidden;position:relative}.video-content .play[data-v-7628e470]{position:absolute;left:50%;top:50%;cursor:pointer;transform:translateX(-50%) translateY(-50%)}.video-mask[data-v-7628e470]{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5)}.video-mask img[data-v-7628e470]{position:absolute;left:50%;top:50%;transform:translate(-50% -50%);display:block}.video-player[data-v-7628e470]{width:100%}
|
||||||
663
src/plugin/xml-digital-teaching/lib/text.css
Normal file
663
src/plugin/xml-digital-teaching/lib/text.css
Normal file
@ -0,0 +1,663 @@
|
|||||||
|
.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 0.2s;
|
||||||
|
}
|
||||||
|
.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third {
|
||||||
|
animation: fadeInOut 1s infinite 0.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlText.vue.map */
|
||||||
|
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-pc[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
.xml-text-h5[data-v-640283d5] {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*# sourceMappingURL=XmlTextDialog.vue.map */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
50108
src/plugin/xml-digital-teaching/lib/text.js
Normal file
50108
src/plugin/xml-digital-teaching/lib/text.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/text.min.css
vendored
Normal file
1
src/plugin/xml-digital-teaching/lib/text.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.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}
|
||||||
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/iconfont.ttf
Normal file
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/iconfont.ttf
Normal file
Binary file not shown.
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/iconfont.woff
Normal file
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/iconfont.woff
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
@font-face{font-family:heimgfont;src:url(iconfont.woff2?t=1635390861127) format('woff2'),url(iconfont.woff?t=1635390861127) format('woff'),url(iconfont.ttf?t=1635390861127) format('truetype')}.heimgfont{font-family:heimgfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.heimg-iconguanbi1:before{content:"\e608"}.heimg-iconiconfontzhizuobiaozhun023146:before{content:"\e694"}.heimg-iconhelp:before{content:"\e626"}.heimg-iconjiazaizhong:before{content:"\e6b1"}.heimg-icontupianjiazaishibai:before{content:"\ec0d"}.heimg-iconicon_arrow_right:before{content:"\e60d"}.heimg-iconjiantouzuo:before{content:"\e620"}.heimg-iconxuanzhuan:before{content:"\e66f"}.heimg-iconxuanzhuan1:before{content:"\e670"}.heimg-iconyuanshibili:before{content:"\e86b"}.heimg-iconfangda:before{content:"\e65d"}.heimg-iconsuoxiao:before{content:"\e65e"}.heimg-iconquanping:before{content:"\e698"}.heimg-iconguanbi:before{content:"\e764"}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/simhei.woff2
Normal file
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/simhei.woff2
Normal file
Binary file not shown.
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/simkai.woff2
Normal file
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/simkai.woff2
Normal file
Binary file not shown.
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/simsun.woff2
Normal file
BIN
src/plugin/xml-digital-teaching/lib/theme/fonts/simsun.woff2
Normal file
Binary file not shown.
1
src/plugin/xml-digital-teaching/lib/theme/iconfont.css
Normal file
1
src/plugin/xml-digital-teaching/lib/theme/iconfont.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
@charset "UTF-8";.heimgfont,[class*=" dl-icon-"],[class^=dl-icon-]{font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:douluo-icons;src:url(./fonts/iconfont.woff?t=1662431203509) format("woff"),url(./fonts/iconfont.ttf?t=1662431203509) format("truetype")}@font-face{font-family:heimgfont;src:url(./fonts/iconfont/iconfont.woff2?t=1635390861127) format("woff2"),url(./fonts/iconfont/iconfont.woff?t=1635390861127) format("woff"),url(./fonts/iconfont/iconfont.ttf?t=1635390861127) format("truetype")}[class*=" dl-icon-"],[class^=dl-icon-]{font-family:douluo-icons!important;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block}.dl-icon-add:before{content:"\e608"}.dl-icon-close:before{content:"\e607"}.dl-icon-warning:before{content:"\e606"}.dl-icon-info:before{content:"\e675"}.dl-icon-lock:before{content:"\e604"}.dl-icon-check:before{content:"\e663"}.dl-icon-success:before{content:"\e603"}.dl-icon-error:before{content:"\e601"}.dl-icon-help:before{content:"\e662"}.dl-icon-reflesh:before{content:"\e628"}.dl-icon-setting:before{content:"\e639"}.dl-icon-pass:before{content:"\e65a"}.dl-icon-delete:before{content:"\e605"}.dl-icon-star:before{content:"\e617"}.dl-icon-yanjing:before{content:"\e61a"}.dl-icon-right:before{content:"\e621"}.dl-icon-left:before{content:"\e622"}.dl-icon-review:before{content:"\e674"}.heimgfont{font-family:heimgfont!important;font-size:16px}.heimg-iconguanbi1:before{content:"\e608"}.heimg-iconiconfontzhizuobiaozhun023146:before{content:"\e694"}.heimg-iconhelp:before{content:"\e626"}.heimg-iconjiazaizhong:before{content:"\e6b1"}.heimg-icontupianjiazaishibai:before{content:"\ec0d"}.heimg-iconicon_arrow_right:before{content:"\e60d"}.heimg-iconjiantouzuo:before{content:"\e620"}.heimg-iconxuanzhuan:before{content:"\e66f"}.heimg-iconxuanzhuan1:before{content:"\e670"}.heimg-iconyuanshibili:before{content:"\e86b"}.heimg-iconfangda:before{content:"\e65d"}.heimg-iconsuoxiao:before{content:"\e65e"}.heimg-iconquanping:before{content:"\e698"}.heimg-iconguanbi:before{content:"\e764"}
|
||||||
1
src/plugin/xml-digital-teaching/lib/theme/index.css
Normal file
1
src/plugin/xml-digital-teaching/lib/theme/index.css
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/xml-digital-teaching/lib/theme/var.css
Normal file
1
src/plugin/xml-digital-teaching/lib/theme/var.css
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
.xml-style-theme-blue{--background-color:#5d96e8}.xml-style-theme-orange{--background-color:#f5ab3e}.xml-style-theme-green{--background-color:#6fa350}.xml-style-theme-red{--background-color:#ae0133}.xml-style-theme-grey{--background-color:#c8c8c8}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
|||||||
|
@charset "UTF-8";.xml-hevue-imgpreview-wrap{position:fixed;top:0;bottom:0;right:0;left:0;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;z-index:9999;color:rgba(255,255,255,.6)}.xml-hevue-imgpreview-wrap .he-img-wrap{width:100%;height:100%;text-align:center;vertical-align:middle;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.xml-hevue-imgpreview-wrap .arrow{width:42px;height:42px;text-align:center;line-height:42px;position:absolute;top:50%;border-radius:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-ms-transform:translateY(-50%);font-size:24px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;background:rgba(0,0,0,.3)}.xml-hevue-imgpreview-wrap .arrow:hover{opacity:.8;-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}.xml-hevue-imgpreview-wrap .arrow-left{left:50px}.xml-hevue-imgpreview-wrap .arrow-right{right:50px}.xml-hevue-imgpreview-wrap .he-close-icon{position:absolute;right:20px;top:50px;z-index:2;width:36px;height:36px;font-size:22px;line-height:36px;text-align:center;border-radius:50%;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;background:rgba(0,0,0,.3)}.xml-hevue-imgpreview-wrap .he-close-icon:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.xml-hevue-imgpreview-wrap .he-control-bar-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;width:100%;bottom:10%;left:0}.xml-hevue-imgpreview-wrap .he-control-bar{height:44px;bottom:10%;padding:0 22px;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:22px;margin:0 auto;background:rgba(0,0,0,.3)}.xml-hevue-imgpreview-wrap .he-control-title{position:absolute;top:30px;left:0;width:100%;padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;color:#fff;z-index:1}.xml-hevue-imgpreview-wrap .he-control-num{position:absolute;bottom:5%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);-ms-transform:translateX(-50%);padding:0 22px;font-size:16px;border-radius:15px;background:rgba(0,0,0,.3)}.xml-hevue-imgpreview-wrap .he-control-btn{line-height:44px;font-size:24px;cursor:pointer;padding:0 9px;-webkit-transition:all .2s;transition:all .2s}.xml-hevue-imgpreview-wrap .he-control-btn:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.xml-hevue-imgpreview-wrap .fade-enter-active,.xml-hevue-imgpreview-wrap .fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.xml-hevue-imgpreview-wrap .fade-enter,.xml-hevue-imgpreview-wrap .fade-leave-to{opacity:0}.xml-hevue-imgpreview-wrap .hevue-img-status-icon{font-size:56px}.xml-hevue-imgpreview-wrap .rotate-animation{-webkit-animation:rotate 1.5s linear infinite;animation:rotate 1.5s linear infinite}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.xml-hevue-imgpreview-wrap .he-img-wrap{background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.he-close-icon,.he-control-num,.xml-hevue-imgpreview-wrap .arrow,.xml-hevue-imgpreview-wrap .he-control-bar{background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
|
||||||
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
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user