applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue
@@ -248,6 +248,7 @@ skilledUavType: '', certification: [], // 证书 regionCode: '', // 区域编码 flyerAddress: '', // 飞手地址 }) const formData = ref(initForm()) // 表单数据 @@ -319,6 +320,7 @@ formData.value.regionCode = result.regionCode formData.value.flyerPhone = result.phone formData.value.flightHours = result.duration || 0 formData.value.flyerAddress = result.address // formData.value.certification = formData.value.certification.concat(result.licenseFrontFileUrl || [], result.licenseBackFileUrl || []) } applications/task-work-order/src/views/orderView/orderDataManage/appInnovation/index.vue
@@ -19,10 +19,9 @@ placeholder="请选择" clearable @change="handleSearch" :disabled="permission.yycx_shtg" > <el-option v-for="item in dictObj.appInnovationStatus" v-for="item in appInnovationStatusOptions" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" @@ -100,6 +99,7 @@ const store = useStore() const userDepartment = store.state.user.userInfo?.dept_id const permission = computed(() => store.state.user.permission); const userInfo = computed(() => store.state.user.userInfo) // 初始化查询参数 const initSearchParams = () => ({ caseName: '', // 案例名称 @@ -118,8 +118,17 @@ const dialogVisible = ref(false) const dictObj = ref({}) // 字典对象 const innovationDetailsStatus = ref( '') // 根据权限过滤应用创新状态选项 const appInnovationStatusOptions = computed(() => { if (permission.value.yycx_shtg && userInfo.value.role_name !== 'administrator') { return dictObj.value.appInnovationStatus?.filter(item => item.dictKey === '1') || [] } else { return dictObj.value.appInnovationStatus || [] } }) provide('dictObj', dictObj) provide('innovationDetailsStatus', innovationDetailsStatus) provide('appInnovationStatusOptions', appInnovationStatusOptions) // 获取字典 function getDictList() { return getDictionaryByCode('appInnovationStatus').then(res => { @@ -133,12 +142,12 @@ try { // 根据权限设置查询参数 const params = { ...searchParams.value } if (permission.value.yycx_shtg) { if (permission.value.yycx_shtg && userInfo.value.role_name !== 'administrator') { params.innovationStatus = '1' params.isQueryAll = true } else { params.isQueryAll = false delete params.innovationStatus // delete params.innovationStatus } const res = await gdApplicationInnovationPageApi(params) res?.data?.data?.records.forEach(item => { applications/task-work-order/src/views/orderView/orderDataManage/evaluate/index.vue
@@ -19,7 +19,7 @@ placeholder="请选择" clearable @change="handleSearch" :disabled="permission.sjyy_shtg" > <el-option v-for="item in isResolvedOptions" :key="item.value" :label="item.label" :value="item.value" /> </el-select> @@ -92,6 +92,7 @@ const store = useStore() const userDepartment = store.state.user.userInfo?.dept_id const permission = computed(() => store.state.user.permission); const userInfo = computed(() => store.state.user.userInfo) // 初始化查询参数 const initSearchParams = () => ({ title: '', // 标题 @@ -112,10 +113,16 @@ label: 'name', children: 'children', } const isResolvedOptions = [ { label: '否', value: '0' }, { label: '是', value: '1' }, ] const isResolvedOptions = computed(() => { if (permission.value.sjyy_shtg && userInfo.value.role_name !== 'administrator') { return [{ label: '是', value: '1' }] } else { return [ { label: '否', value: '0' }, { label: '是', value: '1' }, ] } }) provide('deptTree', deptTree) provide('treeProps', treeProps) provide('isResolvedOptions', isResolvedOptions) @@ -126,12 +133,15 @@ try { // 根据权限设置查询参数 const params = { ...searchParams.value } if (permission.value.sjyy_shtg) { if (permission.value.sjyy_shtg && userInfo.value.role_name !== 'administrator') { params.isQueryAll = true params.isResolved = '1' console.log('params',params); } else { params.isQueryAll = false delete params.isResolved // delete params.isResolved } const res = await gdDataEvaluationPageApi(params) res?.data?.data?.records.forEach(item => { pnpm-lock.yaml
@@ -881,9 +881,6 @@ '@turf/turf': specifier: 'catalog:' version: 6.5.0 '@ztzf/utils': specifier: workspace:* version: 'link:' cesium: specifier: 'catalog:' version: 1.126.0 @@ -1003,6 +1000,9 @@ specifier: 3.0.0-4070520250711001 version: 3.0.0-4070520250711001(@nuxt/kit@3.20.2)(@vueuse/core@9.13.0(vue@3.4.21(typescript@5.9.3)))(postcss@8.5.6)(vue@3.4.21(typescript@5.9.3)) '@dcloudio/uni-stacktracey': specifier: 3.0.0-4070520250711001 version: 3.0.0-4070520250711001 '@dcloudio/uni-uts-v1': specifier: 3.0.0-4070520250711001 version: 3.0.0-4070520250711001 '@dcloudio/vite-plugin-uni': @@ -2035,6 +2035,9 @@ '@dcloudio/uni-app-vue@3.0.0-4070520250711001': resolution: {integrity: sha512-/ISF+1xrcvUtcote+LfLyk/pyizTjEY6/3HZgBsOfXchkZBz0fkTWgnj5RHYeqwD7aHLsOJX93eaazNMnzD9Zw==} '@dcloudio/uni-app-x@0.7.100': resolution: {integrity: sha512-aiRJ/A5Gak24aYKbPrEB6dJycqLpL8/24hqiUOezxFcEYVjNn18UBHSwGGuFUNRw3j3RhEaFzPL5n+reQTXRjg==} '@dcloudio/uni-app@3.0.0-4070520250711001': resolution: {integrity: sha512-rR1SGJknJyDy80vb47yDICXcZrV11KJ5yhNG8aC+kH2ZL338faBrdOQgqqN/XJegVxJdTfv1KqUXuaShMWTZGA==} peerDependencies: @@ -2130,6 +2133,50 @@ '@dcloudio/uni-ui@1.5.11': resolution: {integrity: sha512-DBtk046ofmeFd82zRI7d89SoEwrAxYzUN3WVPm1DIBkpLPG5F5QDNkHMnZGu2wNrMEmGBjBpUh3vqEY1L3jaMw==} '@dcloudio/uni-uts-v1@3.0.0-4070520250711001': resolution: {integrity: sha512-wQYCO/UA4WcJ+0UDKF86WjiyXhsiOakTa/XBnkWpIEaXTPTwfnwQfbjDWZi6Hq81oNl0ZtS6jEHvPAIj0Nm5JA==} '@dcloudio/uts-darwin-arm64@3.0.0-4070520250711001': resolution: {integrity: sha512-dDRVyaxflQDG/7/X4AnWZRH0eiTlWZ3Zyr+ybDxa1AX+UTKXYCEU5J85gLP2DVuNLOopueI+ba2SbyxazMOTQg==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] '@dcloudio/uts-darwin-x64@3.0.0-4070520250711001': resolution: {integrity: sha512-HK3gd0duu8kE5FZTnhDAE4lYBoOjTz6wKL/2MWH4g1LxMoO7eaIgvvazXJGuv0Ca1M1u1RsCYDg4g5I3WgCY6A==} engines: {node: '>=10'} cpu: [x64] os: [darwin] '@dcloudio/uts-linux-x64-gnu@3.0.0-4070520250711001': resolution: {integrity: sha512-GtJDbMXNyLLHtQlhyrkxRrqlwNBp+Di+Q5WUyr+MPeHyeLphRjWmbreNsgjt1yMJgc5BkJg+5wwTWHj2wf9BWw==} engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [gnu] '@dcloudio/uts-linux-x64-musl@3.0.0-4070520250711001': resolution: {integrity: sha512-5VYrGIOzRd/hmfFlSPagPgqXZuys1raNixNCSDgSUySSap37oQtrjST7WolqxdUVz1YFpmZRwa7BE5CGvEMX/w==} engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [musl] '@dcloudio/uts-win32-ia32-msvc@3.0.0-4070520250711001': resolution: {integrity: sha512-noFe/ii1F+ssDWd7ClsJu/Lw/1B1S3W7b5x2Vq6k6y0/+BOHHjAW8oJfATDxWwnlvlyWmjX+FUAe79K9qxvcFQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] '@dcloudio/uts-win32-x64-msvc@3.0.0-4070520250711001': resolution: {integrity: sha512-+dWatERo16CifUgcA8g7PXRbC48cfq8c0VMMMNIdtuySOb+2S4Ic/2MgrTLWlYQnRJOrgw4VzVOQeP9HzgjcCg==} engines: {node: '>=10'} cpu: [x64] os: [win32] '@dcloudio/uts@3.0.0-4070520250711001': resolution: {integrity: sha512-97bCYKK1Jl4riFmqnCcUxAoHmN8ew+N+bYY5H6qSsdklP221y2rG2nRMeuBYi5vfgcz4S/gpAtjOkc0gdRqgTw==} '@dcloudio/vite-plugin-uni@3.0.0-4070520250711001': resolution: {integrity: sha512-Pcd1YIPP+0hyC64oh0P3EBZGF8YHsScUS7R0wjlDGkRMsGowil0IbBE5DrmqjZ7QE+0Lau77yxfZdkSjY3gbvA==} @@ -3041,11 +3088,9 @@ '@saber/nf-form-design-elp@1.6.1': resolution: {integrity: sha512-XAKbZebglIxVxj6azOu5YKlbyJV/i8B2Kayl9MsRUVfEhnegQveio35u2afVI4dFj3Ul9KMbaoyvVokh1EvmQQ==, tarball: https://center.javablade.com/api/packages/blade/npm/%40saber%2Fnf-form-design-elp/-/1.6.1/nf-form-design-elp-1.6.1.tgz} engines: {node: ^20.19.0 || >=22.12.0} '@saber/nf-form-elp@1.6.3': resolution: {integrity: sha512-NAhWvrsswZCGfSarlSFCdYadUZuYeUzns2TSr2FQotSsvs/4xitJhcVzkRQvTpzq1+FtP9MkxEnShGa4ILvMdw==, tarball: https://center.javablade.com/api/packages/blade/npm/%40saber%2Fnf-form-elp/-/1.6.3/nf-form-elp-1.6.3.tgz} engines: {node: ^20.19.0 || >=22.12.0} '@sinonjs/commons@1.8.6': resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} @@ -4103,6 +4148,9 @@ ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} android-versions@1.9.0: resolution: {integrity: sha512-13O2B6PQMEM4ej9n13ePRQeckrCoKbZrvuzlLvK+9s2QmncpHDbYzZxhgapN32sJNoifN6VAHexLnd/6CYrs7Q==} animate.css@4.1.1: resolution: {integrity: sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==} @@ -4677,6 +4725,10 @@ colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -4702,6 +4754,9 @@ commist@3.2.0: resolution: {integrity: sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw==} commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} compare-versions@3.6.0: resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} @@ -5672,6 +5727,10 @@ resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} find-up-simple@1.0.1: resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} engines: {node: '>=18'} @@ -5854,6 +5913,7 @@ glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@13.0.0: @@ -5916,6 +5976,9 @@ graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} graphlib@2.1.8: resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} @@ -6899,6 +6962,10 @@ magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -6928,6 +6995,11 @@ mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} md5-file@5.0.0: resolution: {integrity: sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==} engines: {node: '>=10.13.0'} hasBin: true mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} @@ -7338,6 +7410,10 @@ object-copy@0.1.0: resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} engines: {node: '>=0.10.0'} object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} @@ -10506,6 +10582,8 @@ '@dcloudio/uni-app-vue@3.0.0-4070520250711001': {} '@dcloudio/uni-app-x@0.7.100': {} '@dcloudio/uni-app@3.0.0-4070520250711001(@dcloudio/types@3.4.29)(@nuxt/kit@3.20.2)(@vueuse/core@9.13.0(vue@3.4.21(typescript@5.9.3)))(postcss@8.5.6)(vue@3.4.21(typescript@5.9.3))': dependencies: '@dcloudio/types': 3.4.29 @@ -11007,6 +11085,59 @@ - vue '@dcloudio/uni-ui@1.5.11': {} '@dcloudio/uni-uts-v1@3.0.0-4070520250711001': dependencies: '@babel/code-frame': 7.28.6 '@dcloudio/uni-app-x': 0.7.100 '@dcloudio/uts': 3.0.0-4070520250711001 '@rollup/pluginutils': 5.3.0(rollup@4.55.3) '@vue/shared': 3.4.21 adm-zip: 0.5.16 android-versions: 1.9.0 colors: 1.4.0 debug: 4.4.3 fast-glob: 3.3.3 find-cache-dir: 3.3.2 fs-extra: 10.1.0 graphlib: 2.1.8 jsonc-parser: 3.3.1 lodash: 4.17.21 md5-file: 5.0.0 object-hash: 3.0.0 semver: 7.7.3 source-map: 0.7.6 source-map-js: 1.2.1 transitivePeerDependencies: - rollup - supports-color '@dcloudio/uts-darwin-arm64@3.0.0-4070520250711001': optional: true '@dcloudio/uts-darwin-x64@3.0.0-4070520250711001': optional: true '@dcloudio/uts-linux-x64-gnu@3.0.0-4070520250711001': optional: true '@dcloudio/uts-linux-x64-musl@3.0.0-4070520250711001': optional: true '@dcloudio/uts-win32-ia32-msvc@3.0.0-4070520250711001': optional: true '@dcloudio/uts-win32-x64-msvc@3.0.0-4070520250711001': optional: true '@dcloudio/uts@3.0.0-4070520250711001': optionalDependencies: '@dcloudio/uts-darwin-arm64': 3.0.0-4070520250711001 '@dcloudio/uts-darwin-x64': 3.0.0-4070520250711001 '@dcloudio/uts-linux-x64-gnu': 3.0.0-4070520250711001 '@dcloudio/uts-linux-x64-musl': 3.0.0-4070520250711001 '@dcloudio/uts-win32-ia32-msvc': 3.0.0-4070520250711001 '@dcloudio/uts-win32-x64-msvc': 3.0.0-4070520250711001 '@dcloudio/vite-plugin-uni@3.0.0-4070520250711001(@nuxt/kit@3.20.2)(@vueuse/core@9.13.0(vue@3.4.21(typescript@5.9.3)))(postcss@8.5.6)(vite@5.2.8(@types/node@25.0.9)(sass@1.79.6)(terser@5.46.0))(vue@3.4.21(typescript@5.9.3))': dependencies: @@ -13603,30 +13734,30 @@ - '@vue/composition-api' - vue '@wangeditor-next/basic-modules@1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3)': '@wangeditor-next/basic-modules@1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3)': dependencies: '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) dom7: 4.0.6 '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) dom7: 3.0.0 is-url: 1.2.4 lodash.throttle: 4.1.1 nanoid: 5.1.6 slate: 0.82.1 nanoid: 3.3.11 slate: 0.72.8 snabbdom: 3.6.3 '@wangeditor-next/code-highlight@1.3.43(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3)': '@wangeditor-next/code-highlight@1.3.43(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3)': dependencies: '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) dom7: 4.0.6 prismjs: 1.30.0 slate: 0.82.1 snabbdom: 3.6.3 '@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3)': '@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3)': dependencies: '@types/event-emitter': 0.3.5 '@uppy/core': 2.3.4 '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) dom7: 4.0.6 dom7: 3.0.0 event-emitter: 0.3.5 html-void-elements: 3.0.0 i18next: 23.16.8 @@ -13637,9 +13768,9 @@ lodash.foreach: 4.5.0 lodash.throttle: 4.1.1 lodash.toarray: 4.4.0 nanoid: 5.1.6 nanoid: 3.3.11 scroll-into-view-if-needed: 3.1.0 slate: 0.82.1 slate: 0.72.8 slate-history: 0.109.0(slate@0.82.1) snabbdom: 3.6.3 @@ -13647,13 +13778,13 @@ dependencies: '@uppy/core': 2.3.4 '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) '@wangeditor-next/basic-modules': 1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/code-highlight': 1.3.43(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/list-module': 1.1.52(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/table-module': 1.6.60(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.debounce@4.0.8)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/upload-image-module': 1.1.50(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/basic-modules@1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.foreach@4.5.0)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/video-module': 1.3.51(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/basic-modules': 1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) '@wangeditor-next/code-highlight': 1.3.43(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) '@wangeditor-next/list-module': 1.1.52(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/table-module': 1.6.60(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.debounce@4.0.8)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/upload-image-module': 1.1.50(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/basic-modules@1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.foreach@4.5.0)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/video-module': 1.3.51(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) dom7: 4.0.6 is-hotkey: 0.2.0 lodash.camelcase: 4.3.0 @@ -13666,16 +13797,16 @@ slate: 0.82.1 snabbdom: 3.6.3 '@wangeditor-next/list-module@1.1.52(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3)': '@wangeditor-next/list-module@1.1.52(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(slate@0.82.1)(snabbdom@3.6.3)': dependencies: '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) dom7: 4.0.6 slate: 0.82.1 snabbdom: 3.6.3 '@wangeditor-next/table-module@1.6.60(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.debounce@4.0.8)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3)': '@wangeditor-next/table-module@1.6.60(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.debounce@4.0.8)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3)': dependencies: '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) dom7: 4.0.6 lodash.debounce: 4.0.8 lodash.throttle: 4.1.1 @@ -13683,22 +13814,22 @@ slate: 0.82.1 snabbdom: 3.6.3 '@wangeditor-next/upload-image-module@1.1.50(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/basic-modules@1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.foreach@4.5.0)(slate@0.82.1)(snabbdom@3.6.3)': '@wangeditor-next/upload-image-module@1.1.50(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/basic-modules@1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.foreach@4.5.0)(slate@0.82.1)(snabbdom@3.6.3)': dependencies: '@uppy/core': 2.3.4 '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) '@wangeditor-next/basic-modules': 1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(lodash.throttle@4.1.1)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/basic-modules': 1.5.47(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) dom7: 4.0.6 lodash.foreach: 4.5.0 slate: 0.82.1 snabbdom: 3.6.3 '@wangeditor-next/video-module@1.3.51(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3))(dom7@4.0.6)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3)': '@wangeditor-next/video-module@1.3.51(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor-next/core@1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3))(dom7@4.0.6)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3)': dependencies: '@uppy/core': 2.3.4 '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@4.0.6)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@5.1.6)(slate@0.82.1)(snabbdom@3.6.3) '@wangeditor-next/core': 1.7.45(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.11)(slate@0.72.8)(snabbdom@3.6.3) dom7: 4.0.6 nanoid: 5.1.6 slate: 0.82.1 @@ -13888,6 +14019,10 @@ fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 android-versions@1.9.0: dependencies: semver: 7.7.3 animate.css@4.1.1: {} @@ -14541,6 +14676,8 @@ colorette@2.0.20: {} colors@1.4.0: {} combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -14556,6 +14693,8 @@ comment-parser@1.4.4: {} commist@3.2.0: {} commondir@1.0.1: {} compare-versions@3.6.0: {} @@ -15738,6 +15877,12 @@ transitivePeerDependencies: - supports-color find-cache-dir@3.3.2: dependencies: commondir: 1.0.1 make-dir: 3.1.0 pkg-dir: 4.2.0 find-up-simple@1.0.1: {} find-up@4.1.0: @@ -15996,6 +16141,10 @@ grapheme-splitter@1.0.4: {} graphemer@1.4.0: {} graphlib@2.1.8: dependencies: lodash: 4.17.21 gzip-size@6.0.0: dependencies: @@ -17145,6 +17294,10 @@ dependencies: '@jridgewell/sourcemap-codec': 1.5.5 make-dir@3.1.0: dependencies: semver: 6.3.1 make-dir@4.0.0: dependencies: semver: 7.7.3 @@ -17176,6 +17329,8 @@ typed-function: 2.1.0 mathml-tag-names@2.1.3: {} md5-file@5.0.0: {} mdast-util-find-and-replace@3.0.2: dependencies: @@ -17771,6 +17926,8 @@ define-property: 0.2.5 kind-of: 3.2.2 object-hash@3.0.0: {} object-inspect@1.13.4: {} object-is@1.1.6: uniapps/work-app/package.json
@@ -1,7 +1,7 @@ { "name": "work-app", "type": "module", "version": "1.5.0", "version": "1.6.0", "description": "吉安低空", "private": true, "author": { uniapps/work-app/src/App.vue
@@ -1,79 +1,109 @@ <script setup> import { onHide, onLaunch, onShow } from "@dcloudio/uni-app"; import { useAppStore, useUserStore, useLocationStore } from "@/store"; import { useGlobalWS } from "@/hooks/useGlobalWS.js"; import { onHide, onLaunch, onShow } from '@dcloudio/uni-app' import { useAppStore, useUserStore, useLocationStore } from '@/store' import { useGlobalWS } from '@/hooks/useGlobalWS.js' // #ifdef APP-PLUS import { keepAliveStart, requestIgnoreBatteryOptimization } from '@/uni_modules/keep-app' import { openDialog, allowFloat,getBatteryCapacity } from '@/uni_modules/lgh-dialog' // #endif const appStore = useAppStore(); const userStore = useUserStore(); const locationStore = useLocationStore(); const appStore = useAppStore() const userStore = useUserStore() const locationStore = useLocationStore() useGlobalWS(); // #ifdef APP-PLUS // const currentKey = ref(1) // function testKeep() { // setInterval(() => { // currentKey.value = currentKey.value + 1 // const val = '保活服务验证:' + currentKey.value // console.log(val) // uni.showToast({ title: val, icon: 'none' }) // }, 1000) // } // testKeep() // 开启悬浮窗 allowFloat() // 假设五秒后来电 setTimeout(() => { openDialog() }, 5000) // #endif useGlobalWS() onShow(async () => { console.log("App Show"); // 确保只有在用户已登录的情况下才初始化位置服务 if (userStore.userInfo && userStore.userInfo.username && locationStore) { try { await locationStore.initLocationService(); } catch (error) { console.error('重新初始化位置服务失败:', error); } } }); console.log('App Show') // 确保只有在用户已登录的情况下才初始化位置服务 if (userStore.userInfo && userStore.userInfo.username && locationStore) { try { await locationStore.initLocationService() } catch (error) { console.error('重新初始化位置服务失败:', error) } } }) onHide(() => { console.log("App Hide"); // 应用进入后台时,停止位置监听以节省资源 if (locationStore) { locationStore.stopLocationWatch(); } }); console.log('App Hide') // 应用进入后台时,停止位置监听以节省资源 if (locationStore) { locationStore.stopLocationWatch() } }) onLaunch(() => { // 初始化系统信息 appStore.initSystemInfo(); if (!userStore.userInfo) { //不存在则跳转至登录页 uni.reLaunch({ url: "/pages/login/index", }); } }); // 初始化系统信息 appStore.initSystemInfo() // #ifdef APP-PLUS keepAliveStart() // 请求用户允许忽略电池优化(重要:用于保活) setTimeout(requestIgnoreBatteryOptimization, 2000) // #endif if (!userStore.userInfo) { //不存在则跳转至登录页 uni.reLaunch({ url: '/pages/login/index', }) } }) </script> <style lang="scss"> /* 每个页面公共css */ @import "uview-plus/index.scss"; @import "@/static/styles/common.scss"; @import 'uview-plus/index.scss'; @import '@/static/styles/common.scss'; .TUICallKit-mobile { position: fixed; left: 0; top: 0; z-index: 9999; position: fixed; left: 0; top: 0; z-index: 9999; } page { background-image: url("https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/bg.png"); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; // min-height: 10vh; background-image: url('https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_app_assets/images/user/bg.png'); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; // min-height: 10vh; } .uni-tabbar-border { background-color: #f6f6f6 !important; background-color: #f6f6f6 !important; } .uni-page-head__title { font-family: Source Han Sans CN, Source Han Sans CN !important; font-weight: 400 !important; font-size: 17px !important; color: #222324 !important; font-family: Source Han Sans CN, Source Han Sans CN !important; font-weight: 400 !important; font-size: 17px !important; color: #222324 !important; } .uni-page-head { background: transparent !important; background: transparent !important; } </style> uniapps/work-app/src/manifest.json
@@ -2,8 +2,8 @@ "name" : "吉安低空", "appid" : "__UNI__FFA6B4D", "description" : "", "versionName" : "1.0.0", "versionCode" : "100", "versionName" : "1.0.1", "versionCode" : 101, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { @@ -53,7 +53,11 @@ "<uses-feature android:name=\"android.hardware.camera\"/>", "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>", "<uses-permission android:name=\"android.permission.RECORD_AUDIO\" />", "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />" "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />", "<uses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" />", "<uses-permission android:name=\"android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\" />", "<uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\" />", "<uses-permission android:name=\"android.permission.USE_FULL_SCREEN_INTENT\" />" ] }, /* ios打包配置 */ uniapps/work-app/src/uni_modules/keep-app/changelog.md
uniapps/work-app/src/uni_modules/keep-app/package.json
New file @@ -0,0 +1,97 @@ { "id": "keep-app", "displayName": "keep-app", "version": "1.0.0", "description": "keep-app", "keywords": [ "keep-app" ], "repository": "", "engines": { "HBuilderX": "^3.6.8", "uni-app": "^3.1.0", "uni-app-x": "^3.1.0" }, "dcloudext": { "type": "uts", "sale": { "regular": { "price": "0.00" }, "sourcecode": { "price": "0.00" } }, "contact": { "qq": "" }, "declaration": { "ads": "", "data": "", "permissions": "" }, "npmurl": "", "darkmode": "-", "i18n": "-", "widescreen": "-" }, "uni_modules": { "dependencies": [], "encrypt": [], "platforms": { "cloud": { "tcb": "-", "aliyun": "-", "alipay": "-" }, "client": { "uni-app": { "vue": { "vue2": "-", "vue3": "-" }, "web": { "safari": "-", "chrome": "-" }, "app": { "vue": "-", "nvue": "-", "android": "-", "ios": "-", "harmony": "-" }, "mp": { "weixin": "-", "alipay": "-", "toutiao": "-", "baidu": "-", "kuaishou": "-", "jd": "-", "harmony": "-", "qq": "-", "lark": "-" }, "quickapp": { "huawei": "-", "union": "-" } }, "uni-app-x": { "web": { "safari": "-", "chrome": "-" }, "app": { "android": "-", "ios": "-", "harmony": "-" }, "mp": { "weixin": "-" } } } } } } uniapps/work-app/src/uni_modules/keep-app/readme.md
New file @@ -0,0 +1,7 @@ # keep-app ### 开发文档 [UTS 语法](https://uniapp.dcloud.net.cn/tutorial/syntax-uts.html) [UTS API插件](https://uniapp.dcloud.net.cn/plugin/uts-plugin.html) [UTS uni-app兼容模式组件](https://uniapp.dcloud.net.cn/plugin/uts-component.html) [UTS 标准模式组件](https://doc.dcloud.net.cn/uni-app-x/plugin/uts-vue-component.html) [Hello UTS](https://gitcode.net/dcloud/hello-uts) uniapps/work-app/src/uni_modules/keep-app/utssdk/app-android/config.json
New file @@ -0,0 +1,3 @@ { "minSdkVersion": "21" } uniapps/work-app/src/uni_modules/keep-app/utssdk/app-android/index.uts
New file @@ -0,0 +1,292 @@ // index.uts - Android 应用保活插件 // 引用 Android API import Context from 'android.content.Context' import Intent from 'android.content.Intent' import Build from 'android.os.Build' import NotificationChannel from 'android.app.NotificationChannel' import NotificationManager from 'android.app.NotificationManager' import Notification from 'android.app.Notification' import PendingIntent from 'android.app.PendingIntent' import PowerManager from 'android.os.PowerManager' import BatteryManager from 'android.os.BatteryManager' import { UTSAndroid } from 'io.dcloud.uts' // 保活服务的通知渠道ID const CHANNEL_ID = 'keep_alive_channel' const NOTIFICATION_ID: Int = 1001 // 保活服务是否已启动的标志 let isKeepAliveRunning = false // WakeLock 引用,用于保持 CPU 运行 let wakeLock: PowerManager.WakeLock | null = null /** * 启动应用保活 * 通过 WakeLock + 通知来保持应用在后台运行 */ export function keepAliveStart(): void { const context = UTSAndroid.getAppContext() if (context == null) { console.error('keepAliveStart: 获取应用上下文失败') return } if (isKeepAliveRunning) { console.log('keepAliveStart: 保活服务已在运行中') return } try { // 1. 获取 WakeLock 唤醒锁,保持 CPU 运行 acquireWakeLock(context) // 2. 创建通知渠道 (Android 8.0+) createNotificationChannel(context) // 3. 创建并显示前台通知 showForegroundNotification(context) // 4. 注册应用生命周期监听 registerLifecycleCallbacks() isKeepAliveRunning = true console.log('keepAliveStart: 保活服务启动成功(WakeLock已获取)') } catch (e) { console.error('keepAliveStart: 启动失败', e) } } /** * 停止应用保活 */ export function keepAliveStop(): void { const context = UTSAndroid.getAppContext() if (context == null) { return } try { // 释放 WakeLock releaseWakeLock() // 取消通知 const notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.cancel(NOTIFICATION_ID) isKeepAliveRunning = false console.log('keepAliveStop: 保活服务已停止(WakeLock已释放)') } catch (e) { console.error('keepAliveStop: 停止失败', e) } } /** * 检查保活服务是否正在运行 */ export function isKeepAliveActive(): boolean { return isKeepAliveRunning } /** * 获取电池电量百分比 */ export function getBatteryCapacity(): string { const context = UTSAndroid.getAppContext() if (context != null) { const manager = context.getSystemService(Context.BATTERY_SERVICE) as BatteryManager const currentLevel: number = manager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY) return '' + currentLevel + '%' } return '0%' } /** * 请求忽略电池优化(需要用户手动确认) * 调用此方法会弹出系统设置页面 */ export function requestIgnoreBatteryOptimization(): void { const context = UTSAndroid.getAppContext() if (context == null) { return } if (Build.VERSION.SDK_INT >= 23) { // Android 6.0+ const powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager const packageName = context.getPackageName() if (!powerManager.isIgnoringBatteryOptimizations(packageName)) { try { const intent = new Intent() intent.setAction('android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS') intent.setData(android.net.Uri.parse('package:' + packageName)) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) context.startActivity(intent) } catch (e) { console.error('requestIgnoreBatteryOptimization: 打开设置失败', e) } } else { console.log('requestIgnoreBatteryOptimization: 已在白名单中') } } } /** * 检查是否已忽略电池优化 */ export function isIgnoringBatteryOptimizations(): boolean { const context = UTSAndroid.getAppContext() if (context == null) { return false } if (Build.VERSION.SDK_INT >= 23) { const powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager const packageName = context.getPackageName() return powerManager.isIgnoringBatteryOptimizations(packageName) } return true // Android 6.0 以下默认返回 true } /** * 创建通知渠道 (Android 8.0+ 必需) */ function createNotificationChannel(context: Context): void { if (Build.VERSION.SDK_INT >= 26) { // Android 8.0+ const channel = new NotificationChannel(CHANNEL_ID, '应用保活服务', NotificationManager.IMPORTANCE_LOW) channel.setDescription('保持应用在后台运行') channel.setShowBadge(false) channel.enableLights(false) channel.enableVibration(false) const notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannel(channel) } } /** * 显示前台通知 */ function showForegroundNotification(context: Context): void { // 获取应用的启动 Intent const packageManager = context.getPackageManager() const launchIntent = packageManager.getLaunchIntentForPackage(context.getPackageName()) let pendingIntentFlags = PendingIntent.FLAG_UPDATE_CURRENT if (Build.VERSION.SDK_INT >= 31) { // Android 12+ pendingIntentFlags = pendingIntentFlags | PendingIntent.FLAG_IMMUTABLE } const pendingIntent = PendingIntent.getActivity(context, 0, launchIntent, pendingIntentFlags) // 构建通知 let builder: Notification.Builder if (Build.VERSION.SDK_INT >= 26) { builder = new Notification.Builder(context, CHANNEL_ID) } else { builder = new Notification.Builder(context) } // 获取应用图标 const appInfo = context.getApplicationInfo() const appIcon = appInfo.icon const appName = packageManager.getApplicationLabel(appInfo).toString() builder .setSmallIcon(appIcon) .setContentTitle(appName) .setContentText('服务运行中') .setContentIntent(pendingIntent) .setOngoing(true) // 常驻通知,不可被滑动删除 .setPriority(Notification.PRIORITY_LOW) if (Build.VERSION.SDK_INT >= 21) { builder.setCategory(Notification.CATEGORY_SERVICE) } const notification = builder.build() // 显示通知 const notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.notify(NOTIFICATION_ID, notification) } /** * 获取 WakeLock 唤醒锁 * PARTIAL_WAKE_LOCK: 保持 CPU 运行,屏幕和键盘背光可以关闭 */ function acquireWakeLock(context: Context): void { if (wakeLock != null && wakeLock!.isHeld()) { console.log('acquireWakeLock: WakeLock 已持有') return } try { const powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager // PARTIAL_WAKE_LOCK 保持 CPU 运行 wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, 'KeepAlive::WakeLock') if (wakeLock != null) { // 设置超时时间为无限(传 0 或负数表示无限) // 使用 acquire() 无参版本 wakeLock!.setReferenceCounted(false) wakeLock!.acquire() console.log('acquireWakeLock: WakeLock 获取成功') } } catch (e) { console.error('acquireWakeLock: WakeLock 获取失败', e) } } /** * 释放 WakeLock 唤醒锁 */ function releaseWakeLock(): void { if (wakeLock != null && wakeLock!.isHeld()) { try { wakeLock!.release() wakeLock = null console.log('releaseWakeLock: WakeLock 已释放') } catch (e) { console.error('releaseWakeLock: WakeLock 释放失败', e) } } } /** * 注册应用生命周期回调 * 当应用进入后台时,确保 WakeLock 保持持有 */ function registerLifecycleCallbacks(): void { // 应用进入后台时的回调 UTSAndroid.onAppActivityPause(() => { console.log('onAppActivityPause: 应用进入后台') // 确保 WakeLock 仍然持有 const context = UTSAndroid.getAppContext() if (context != null && isKeepAliveRunning) { if (wakeLock == null || !wakeLock!.isHeld()) { acquireWakeLock(context) } } }) // 应用返回前台时的回调 UTSAndroid.onAppActivityResume(() => { console.log('onAppActivityResume: 应用返回前台') }) // 应用被销毁时的回调 UTSAndroid.onAppActivityDestroy(() => { console.log('onAppActivityDestroy: 应用被销毁') // 释放资源 releaseWakeLock() isKeepAliveRunning = false }) console.log('registerLifecycleCallbacks: 生命周期回调已注册') } uniapps/work-app/src/uni_modules/keep-app/utssdk/app-ios/config.json
New file @@ -0,0 +1,3 @@ { "deploymentTarget": "12" } uniapps/work-app/src/uni_modules/keep-app/utssdk/app-ios/index.uts
New file @@ -0,0 +1,107 @@ /** * 引用 iOS 系统库,示例如下: * import { UIDevice } from "UIKit"; * [可选实现,按需引入] */ /* 引入 interface.uts 文件中定义的变量 */ import { MyApiOptions, MyApiResult, MyApi, MyApiSync, KeepAliveStart, KeepAliveStop } from '../interface.uts'; /* 引入 unierror.uts 文件中定义的变量 */ import { MyApiFailImpl } from '../unierror'; /** * 引入三方库 * [可选实现,按需引入] * * 在 iOS 平台引入三方库有以下两种方式: * 1、通过引入三方库framework 或者.a 等方式,需要将 .framework 放到 ./Frameworks 目录下,将.a 放到 ./Libs 目录下。更多信息[详见](https://uniapp.dcloud.net.cn/plugin/uts-plugin.html#ios-平台原生配置) * 2、通过 cocoaPods 方式引入,将要引入的 pod 信息配置到 config.json 文件下的 dependencies-pods 字段下。详细配置方式[详见](https://uniapp.dcloud.net.cn/plugin/uts-ios-cocoapods.html) * * 在通过上述任意方式依赖三方库后,使用时需要在文件中 import: * 示例:import { LottieLoopMode } from 'Lottie' */ /** * UTSiOS 为平台内置对象,不需要 import 可直接调用其API,[详见](https://uniapp.dcloud.net.cn/uts/utsios.html) */ /** * 异步方法 * * uni-app项目中(vue/nvue)调用示例: * 1、引入方法声明 import { myApi } from "@/uni_modules/uts-api" * 2、方法调用 * myApi({ * paramA: false, * complete: (res) => { * console.log(res) * } * }); * */ export const myApi : MyApi = function (options : MyApiOptions) { if (options.paramA == true) { // 返回数据 const res : MyApiResult = { fieldA: 85, fieldB: true, fieldC: 'some message' }; options.success?.(res); options.complete?.(res); } else { // 返回错误 let failResult = new MyApiFailImpl(9010001); options.fail?.(failResult) options.complete?.(failResult) } } /** * 同步方法 * * uni-app项目中(vue/nvue)调用示例: * 1、引入方法声明 import { myApiSync } from "@/uni_modules/uts-api" * 2、方法调用 * myApiSync(true); * */ export const myApiSync : MyApiSync = function (paramA : boolean) : MyApiResult { // 返回数据,根据插件功能获取实际的返回值 const res : MyApiResult = { fieldA: 85, fieldB: paramA, fieldC: 'some message' }; return res; } let keepAliveTimer : number | null = null; let keepAliveCounter : number = 0; export const keepAliveStart : KeepAliveStart = function () { if (keepAliveTimer != null) { return; } keepAliveCounter = 0; keepAliveTimer = setInterval(() => { keepAliveCounter += 1; console.log('keep-alive count:', keepAliveCounter); }, 1000); } export const keepAliveStop : KeepAliveStop = function () { if (keepAliveTimer == null) { return; } clearInterval(keepAliveTimer); keepAliveTimer = null; } /** * 更多插件开发的信息详见:https://uniapp.dcloud.net.cn/plugin/uts-plugin.html */ uniapps/work-app/src/uni_modules/keep-app/utssdk/interface.uts
New file @@ -0,0 +1,51 @@ /** * interface.uts * uts插件接口定义文件,按规范定义接口文件可以在HBuilderX中更好的做到语法提示 */ /** * myApi 异步函数的参数,在type里定义函数需要的参数以及api成功、失败的相关回调函数。 */ export type MyApiOptions = { paramA : boolean success ?: (res : MyApiResult) => void fail ?: (res : MyApiFail) => void complete ?: (res : any) => void } /** * 函数返回结果 * 可以是void, 基本数据类型,自定义type, 或者其他类型。 * [可选实现] */ export type MyApiResult = { fieldA : number, fieldB : boolean, fieldC : string } /** * 错误码 * 根据uni错误码规范要求,建议错误码以90开头,以下是错误码示例: * - 9010001 错误信息1 * - 9010002 错误信息2 */ export type MyApiErrorCode = 9010001 | 9010002; /** * myApi 的错误回调参数 */ export interface MyApiFail extends IUniError { errCode : MyApiErrorCode }; /* 异步函数定义 */ export type MyApi = (options : MyApiOptions) => void /* 同步函数定义 */ export type MyApiSync = (paramA : boolean) => MyApiResult /** * keepAliveStart/keepAliveStop 函数定义 */ export type KeepAliveStart = () => void export type KeepAliveStop = () => void uniapps/work-app/src/uni_modules/keep-app/utssdk/unierror.uts
New file @@ -0,0 +1,39 @@ /* 此规范为 uni 规范,可以按照自己的需要选择是否实现 */ import { MyApiErrorCode, MyApiFail } from "./interface.uts" /** * 错误主题 * 注意:错误主题一般为插件名称,每个组件不同,需要使用时请更改。 * [可选实现] */ export const UniErrorSubject = 'uts-api'; /** * 错误信息 * @UniError * [可选实现] */ export const MyAPIErrors : Map<MyApiErrorCode, string> = new Map([ /** * 错误码及对应的错误信息 */ [9010001, 'custom error mseeage1'], [9010002, 'custom error mseeage2'], ]); /** * 错误对象实现 */ export class MyApiFailImpl extends UniError implements MyApiFail { /** * 错误对象构造函数 */ constructor(errCode : MyApiErrorCode) { super(); this.errSubject = UniErrorSubject; this.errCode = errCode; this.errMsg = MyAPIErrors.get(errCode) ?? ""; } } uniapps/work-app/src/uni_modules/lgh-dialog/changelog.md
uniapps/work-app/src/uni_modules/lgh-dialog/package.json
New file @@ -0,0 +1,97 @@ { "id": "lgh-dialog", "displayName": "lgh-dialog", "version": "1.0.0", "description": "lgh-dialog", "keywords": [ "lgh-dialog" ], "repository": "", "engines": { "HBuilderX": "^3.6.8", "uni-app": "^3.1.0", "uni-app-x": "^3.1.0" }, "dcloudext": { "type": "uts", "sale": { "regular": { "price": "0.00" }, "sourcecode": { "price": "0.00" } }, "contact": { "qq": "" }, "declaration": { "ads": "", "data": "", "permissions": "" }, "npmurl": "", "darkmode": "-", "i18n": "-", "widescreen": "-" }, "uni_modules": { "dependencies": [], "encrypt": [], "platforms": { "cloud": { "tcb": "-", "aliyun": "-", "alipay": "-" }, "client": { "uni-app": { "vue": { "vue2": "-", "vue3": "-" }, "web": { "safari": "-", "chrome": "-" }, "app": { "vue": "-", "nvue": "-", "android": "-", "ios": "-", "harmony": "-" }, "mp": { "weixin": "-", "alipay": "-", "toutiao": "-", "baidu": "-", "kuaishou": "-", "jd": "-", "harmony": "-", "qq": "-", "lark": "-" }, "quickapp": { "huawei": "-", "union": "-" } }, "uni-app-x": { "web": { "safari": "-", "chrome": "-" }, "app": { "android": "-", "ios": "-", "harmony": "-" }, "mp": { "weixin": "-" } } } } } } uniapps/work-app/src/uni_modules/lgh-dialog/readme.md
New file @@ -0,0 +1,7 @@ # lgh-dialog ### 开发文档 [UTS 语法](https://uniapp.dcloud.net.cn/tutorial/syntax-uts.html) [UTS API插件](https://uniapp.dcloud.net.cn/plugin/uts-plugin.html) [UTS uni-app兼容模式组件](https://uniapp.dcloud.net.cn/plugin/uts-component.html) [UTS 标准模式组件](https://doc.dcloud.net.cn/uni-app-x/plugin/uts-vue-component.html) [Hello UTS](https://gitcode.net/dcloud/hello-uts) uniapps/work-app/src/uni_modules/lgh-dialog/utssdk/app-android/config.json
New file @@ -0,0 +1,3 @@ { "minSdkVersion": "21" } uniapps/work-app/src/uni_modules/lgh-dialog/utssdk/app-android/index.uts
New file @@ -0,0 +1,65 @@ import Build from 'android.os.Build' import Context from 'android.content.Context' import Intent from 'android.content.Intent' import Settings from 'android.provider.Settings' import { UTSAndroid } from 'io.dcloud.uts' import BatteryManager from "android.os.BatteryManager"; // 拉起应用 export function openDialog(): void { const context = UTSAndroid.getAppContext() if (context == null) return try { const pm = context.getPackageManager() const intent = pm.getLaunchIntentForPackage(context.getPackageName()) if (intent != null) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) context.startActivity(intent) } } catch (e) { console.error(e) } } // 跳到允许悬浮窗权限页面 export function allowFloat() { const context = UTSAndroid.getAppContext() if (context == null) return // 1. 检查悬浮窗权限 (Android 6.0+) if (Build.VERSION.SDK_INT >= 23 && !Settings.canDrawOverlays(context)) { try { // 无权限,跳转到权限设置页面 const intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION) intent.setData(android.net.Uri.parse('package:' + context.getPackageName())) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) context.startActivity(intent) } catch (e) { console.error(e) } return } } /** * 获取电池电量百分比 * * uni-app项目中调用示例: * import { getBatteryCapacity } from "@/uni_modules/lgh-getbatteryinfo" * const capacity = getBatteryCapacity() * console.log('电池电量:', capacity) */ export function getBatteryCapacity(): string { // 获取android系统 application上下文 const context = UTSAndroid.getAppContext(); if (context != null) { const manager = context.getSystemService( Context.BATTERY_SERVICE ) as BatteryManager; const currentLevel: number = manager.getIntProperty( BatteryManager.BATTERY_PROPERTY_CAPACITY ); return '' + currentLevel + '%'; } return "0%"; } uniapps/work-app/src/uni_modules/lgh-dialog/utssdk/app-ios/config.json
New file @@ -0,0 +1,3 @@ { "deploymentTarget": "12" } uniapps/work-app/src/uni_modules/lgh-dialog/utssdk/app-ios/index.uts
New file @@ -0,0 +1,85 @@ /** * 引用 iOS 系统库,示例如下: * import { UIDevice } from "UIKit"; * [可选实现,按需引入] */ /* 引入 interface.uts 文件中定义的变量 */ import { MyApiOptions, MyApiResult, MyApi, MyApiSync } from '../interface.uts'; /* 引入 unierror.uts 文件中定义的变量 */ import { MyApiFailImpl } from '../unierror'; /** * 引入三方库 * [可选实现,按需引入] * * 在 iOS 平台引入三方库有以下两种方式: * 1、通过引入三方库framework 或者.a 等方式,需要将 .framework 放到 ./Frameworks 目录下,将.a 放到 ./Libs 目录下。更多信息[详见](https://uniapp.dcloud.net.cn/plugin/uts-plugin.html#ios-平台原生配置) * 2、通过 cocoaPods 方式引入,将要引入的 pod 信息配置到 config.json 文件下的 dependencies-pods 字段下。详细配置方式[详见](https://uniapp.dcloud.net.cn/plugin/uts-ios-cocoapods.html) * * 在通过上述任意方式依赖三方库后,使用时需要在文件中 import: * 示例:import { LottieLoopMode } from 'Lottie' */ /** * UTSiOS 为平台内置对象,不需要 import 可直接调用其API,[详见](https://uniapp.dcloud.net.cn/uts/utsios.html) */ /** * 异步方法 * * uni-app项目中(vue/nvue)调用示例: * 1、引入方法声明 import { myApi } from "@/uni_modules/uts-api" * 2、方法调用 * myApi({ * paramA: false, * complete: (res) => { * console.log(res) * } * }); * */ export const myApi : MyApi = function (options : MyApiOptions) { if (options.paramA == true) { // 返回数据 const res : MyApiResult = { fieldA: 85, fieldB: true, fieldC: 'some message' }; options.success?.(res); options.complete?.(res); } else { // 返回错误 let failResult = new MyApiFailImpl(9010001); options.fail?.(failResult) options.complete?.(failResult) } } /** * 同步方法 * * uni-app项目中(vue/nvue)调用示例: * 1、引入方法声明 import { myApiSync } from "@/uni_modules/uts-api" * 2、方法调用 * myApiSync(true); * */ export const myApiSync : MyApiSync = function (paramA : boolean) : MyApiResult { // 返回数据,根据插件功能获取实际的返回值 const res : MyApiResult = { fieldA: 85, fieldB: paramA, fieldC: 'some message' }; return res; } /** * 更多插件开发的信息详见:https://uniapp.dcloud.net.cn/plugin/uts-plugin.html */ uniapps/work-app/src/uni_modules/lgh-dialog/utssdk/interface.uts
New file @@ -0,0 +1,45 @@ /** * interface.uts * uts插件接口定义文件,按规范定义接口文件可以在HBuilderX中更好的做到语法提示 */ /** * myApi 异步函数的参数,在type里定义函数需要的参数以及api成功、失败的相关回调函数。 */ export type MyApiOptions = { paramA : boolean success ?: (res : MyApiResult) => void fail ?: (res : MyApiFail) => void complete ?: (res : any) => void } /** * 函数返回结果 * 可以是void, 基本数据类型,自定义type, 或者其他类型。 * [可选实现] */ export type MyApiResult = { fieldA : number, fieldB : boolean, fieldC : string } /** * 错误码 * 根据uni错误码规范要求,建议错误码以90开头,以下是错误码示例: * - 9010001 错误信息1 * - 9010002 错误信息2 */ export type MyApiErrorCode = 9010001 | 9010002; /** * myApi 的错误回调参数 */ export interface MyApiFail extends IUniError { errCode : MyApiErrorCode }; /* 异步函数定义 */ export type MyApi = (options : MyApiOptions) => void /* 同步函数定义 */ export type MyApiSync = (paramA : boolean) => MyApiResult uniapps/work-app/src/uni_modules/lgh-dialog/utssdk/unierror.uts
New file @@ -0,0 +1,39 @@ /* 此规范为 uni 规范,可以按照自己的需要选择是否实现 */ import { MyApiErrorCode, MyApiFail } from "./interface.uts" /** * 错误主题 * 注意:错误主题一般为插件名称,每个组件不同,需要使用时请更改。 * [可选实现] */ export const UniErrorSubject = 'uts-api'; /** * 错误信息 * @UniError * [可选实现] */ export const MyAPIErrors : Map<MyApiErrorCode, string> = new Map([ /** * 错误码及对应的错误信息 */ [9010001, 'custom error mseeage1'], [9010002, 'custom error mseeage2'], ]); /** * 错误对象实现 */ export class MyApiFailImpl extends UniError implements MyApiFail { /** * 错误对象构造函数 */ constructor(errCode : MyApiErrorCode) { super(); this.errSubject = UniErrorSubject; this.errCode = errCode; this.errMsg = MyAPIErrors.get(errCode) ?? ""; } } uniapps/work-wx/src/pages/register/index.vue
@@ -273,6 +273,7 @@ .rowTitle { width: 160rpx; font-family: Source Han Sans CN, Source Han Sans CN; font-weight: 400; font-size: 30rpx;