This commit is contained in:
liangzai 2025-03-14 04:57:49 +08:00
parent d88388d04b
commit ecc6cca6c1
19 changed files with 333 additions and 264 deletions

View File

@ -2,7 +2,7 @@
"version" : "1.0", "version" : "1.0",
"configurations" : [ "configurations" : [
{ {
"playground" : "standard", "playground" : "custom",
"type" : "uni-app:app-ios" "type" : "uni-app:app-ios"
}, },
{ {

View File

@ -147,11 +147,11 @@ export default defineManifestConfig({
'description': 'Web视图插件支持在App内打开网页', 'description': 'Web视图插件支持在App内打开网页',
'platforms': { 'platforms': {
'android': { 'android': {
'appid': '', 'appid': '__UNI_WEBVIEW_ANDROID',
'autostart': false 'autostart': false
}, },
'ios': { 'ios': {
'appid': '', 'appid': '__UNI_WEBVIEW_IOS',
'autostart': false 'autostart': false
} }
} }

View File

@ -75,6 +75,7 @@
"@dcloudio/uni-automator": "3.0.0-4050520250307001", "@dcloudio/uni-automator": "3.0.0-4050520250307001",
"@dcloudio/uni-cli-shared": "3.0.0-4050520250307001", "@dcloudio/uni-cli-shared": "3.0.0-4050520250307001",
"@dcloudio/uni-stacktracey": "3.0.0-4050520250307001", "@dcloudio/uni-stacktracey": "3.0.0-4050520250307001",
"@dcloudio/uni-uts-v1": "3.0.0-4050520250307001",
"@dcloudio/uni-vue-devtools": "3.0.0-4020420240722002", "@dcloudio/uni-vue-devtools": "3.0.0-4020420240722002",
"@dcloudio/vite-plugin-uni": "3.0.0-4050520250307001", "@dcloudio/vite-plugin-uni": "3.0.0-4050520250307001",
"@iconify-json/carbon": "^1.2.3", "@iconify-json/carbon": "^1.2.3",

View File

@ -96,6 +96,9 @@ importers:
'@dcloudio/uni-stacktracey': '@dcloudio/uni-stacktracey':
specifier: 3.0.0-4050520250307001 specifier: 3.0.0-4050520250307001
version: 3.0.0-4050520250307001 version: 3.0.0-4050520250307001
'@dcloudio/uni-uts-v1':
specifier: 3.0.0-4050520250307001
version: 3.0.0-4050520250307001(rollup@4.24.1)
'@dcloudio/uni-vue-devtools': '@dcloudio/uni-vue-devtools':
specifier: 3.0.0-4020420240722002 specifier: 3.0.0-4020420240722002
version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))
@ -849,6 +852,9 @@ packages:
'@dcloudio/uni-app-vue@3.0.0-4050520250307001': '@dcloudio/uni-app-vue@3.0.0-4050520250307001':
resolution: {integrity: sha512-MFFkhzukg06ef0AuKKjKcuxLcbOTnSBbDvrw7TJUe0pmM4u4ttw19Wn28/2O9QVsfshvD4QyT4xiItNiUm4X8Q==} resolution: {integrity: sha512-MFFkhzukg06ef0AuKKjKcuxLcbOTnSBbDvrw7TJUe0pmM4u4ttw19Wn28/2O9QVsfshvD4QyT4xiItNiUm4X8Q==}
'@dcloudio/uni-app-x@0.7.51':
resolution: {integrity: sha512-SyJ5AodRtaztDv6+IVmnrbBgOwBtb8EBox9pLfloEnEEwrGZPnMEjrNgXIfPzXESN/utTnAyn/9dCSyy1Gnuug==}
'@dcloudio/uni-app@3.0.0-4050520250307001': '@dcloudio/uni-app@3.0.0-4050520250307001':
resolution: {integrity: sha512-flwafDA0RmqUaqqGex45UYA54ZERReRtPeTWG6VnzexcSefuXVQPQnNRghuu347irNcVALmmO8HuVdkX1Gei3Q==} resolution: {integrity: sha512-flwafDA0RmqUaqqGex45UYA54ZERReRtPeTWG6VnzexcSefuXVQPQnNRghuu347irNcVALmmO8HuVdkX1Gei3Q==}
peerDependencies: peerDependencies:
@ -949,9 +955,53 @@ packages:
'@dcloudio/uni-stat@3.0.0-4050520250307001': '@dcloudio/uni-stat@3.0.0-4050520250307001':
resolution: {integrity: sha512-+/0MMzvLDyTTo0Vof56cpScY4JKfGL9I2he4fGPfNpYuMOW897WOST7Tgi90se1jYhqK+a1TKFn7h0HySv08kA==} resolution: {integrity: sha512-+/0MMzvLDyTTo0Vof56cpScY4JKfGL9I2he4fGPfNpYuMOW897WOST7Tgi90se1jYhqK+a1TKFn7h0HySv08kA==}
'@dcloudio/uni-uts-v1@3.0.0-4050520250307001':
resolution: {integrity: sha512-yUppJuVQCYXOfmr72Sefev7seyW5aLTz7UYJr08IwVR0gvBVe/J1P3bLK2OOKwppF47G17VxjyXCFkNFpmfIZA==}
'@dcloudio/uni-vue-devtools@3.0.0-4020420240722002': '@dcloudio/uni-vue-devtools@3.0.0-4020420240722002':
resolution: {integrity: sha512-clN+gS4k3wveRaVVQeo24O7UQW+x6czaz7/uQ6Mh8qSg8os1BOgbzfOYVdzV0ArdRbYTT6BzEkO/AjgPkXkXWA==} resolution: {integrity: sha512-clN+gS4k3wveRaVVQeo24O7UQW+x6czaz7/uQ6Mh8qSg8os1BOgbzfOYVdzV0ArdRbYTT6BzEkO/AjgPkXkXWA==}
'@dcloudio/uts-darwin-arm64@3.0.0-4050520250307001':
resolution: {integrity: sha512-o8TJPgRcdf7nANkb9haBneQWJIkjcwcDqMrXjLWwcZzO37MJcoB9yLYZIMnpG6lP1BiekKzArN46FGLXgfeDUw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
'@dcloudio/uts-darwin-x64@3.0.0-4050520250307001':
resolution: {integrity: sha512-YEZep9NpgZVWkMT9uxtzoktz9vhU31FORDa/BtXNsfDvV2S8qDIQAuB+Rk51HiMK/OsNApTU8+UJM95saqevng==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
'@dcloudio/uts-linux-x64-gnu@3.0.0-4050520250307001':
resolution: {integrity: sha512-EVn0RNeaath5un7LbgMCRrgfjyw7ItT+u5CX7IgCVXSY1VEjEAJqTEu0Ezb81lK9RaCGg2wEOsTHHI8VaQrJfw==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
libc: [gnu]
'@dcloudio/uts-linux-x64-musl@3.0.0-4050520250307001':
resolution: {integrity: sha512-SMG0p+6vTtutHg3QQcmLWdCqFnnwgrm/cY+oNMmajgqJ0XoXDzTiXXpKkDh5EijJOpSMcLQ+k5dPaX9JCYx0wg==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@dcloudio/uts-win32-ia32-msvc@3.0.0-4050520250307001':
resolution: {integrity: sha512-624rsamTprrvH82fFJqr7iewFHXEOcMcU7ULLi4gkKeeke01v6QkIyGZVSPBQiueIvVnTgB9c6beMpoJVo/p4g==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
'@dcloudio/uts-win32-x64-msvc@3.0.0-4050520250307001':
resolution: {integrity: sha512-ICoWEuLYZqiQoGKDfVQM6mU8JZQQNl6KbdrH/6DRhi5asWJqAMhax6B8dsd6NIJQ+fwOUZalMYnpqk/0g16k/A==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
'@dcloudio/uts@3.0.0-4050520250307001':
resolution: {integrity: sha512-vbfUkdY5vuxzW4/n8scpYBnh++wxBe8pp0uh9Zbgyyhy5wztmQDjef7d44x7xfBt7BBKgELz3+TC1A07FhGqZg==}
'@dcloudio/vite-plugin-uni@3.0.0-4050520250307001': '@dcloudio/vite-plugin-uni@3.0.0-4050520250307001':
resolution: {integrity: sha512-wrjJvHsOEmx5XWfd12KDm3eGHkVUWm1HpAP5cUZTCEd85iXIccf2GJJxr4Aa0rx2Wfij7ArVSMpZfdxFeeI+eg==} resolution: {integrity: sha512-wrjJvHsOEmx5XWfd12KDm3eGHkVUWm1HpAP5cUZTCEd85iXIccf2GJJxr4Aa0rx2Wfij7ArVSMpZfdxFeeI+eg==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
@ -2367,6 +2417,9 @@ packages:
alien-signals@0.2.0: alien-signals@0.2.0:
resolution: {integrity: sha512-StlonZhBBrsPPwrDjiPAiVTf/rolxffLxVPT60Qv/t88BZ81BvUVzHgGqEFvJ1ii8HXtm1+zU2Icr59tfWEcag==} resolution: {integrity: sha512-StlonZhBBrsPPwrDjiPAiVTf/rolxffLxVPT60Qv/t88BZ81BvUVzHgGqEFvJ1ii8HXtm1+zU2Icr59tfWEcag==}
android-versions@1.9.0:
resolution: {integrity: sha512-13O2B6PQMEM4ej9n13ePRQeckrCoKbZrvuzlLvK+9s2QmncpHDbYzZxhgapN32sJNoifN6VAHexLnd/6CYrs7Q==}
ansi-escapes@4.3.2: ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -2658,6 +2711,10 @@ packages:
colorjs.io@0.5.2: colorjs.io@0.5.2:
resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==}
colors@1.4.0:
resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==}
engines: {node: '>=0.1.90'}
combined-stream@1.0.8: combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
@ -2669,6 +2726,9 @@ packages:
resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
commondir@1.0.1:
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
compare-versions@3.6.0: compare-versions@3.6.0:
resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==}
@ -3276,6 +3336,10 @@ packages:
resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
find-cache-dir@3.3.2:
resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
engines: {node: '>=8'}
find-up-simple@1.0.0: find-up-simple@1.0.0:
resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
engines: {node: '>=18'} engines: {node: '>=18'}
@ -3412,6 +3476,9 @@ packages:
graphemer@1.4.0: graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
graphlib@2.1.8:
resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==}
gzip-size@6.0.0: gzip-size@6.0.0:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -3954,6 +4021,10 @@ packages:
magic-string@0.30.17: magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
make-dir@3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
make-dir@4.0.0: make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -3961,6 +4032,11 @@ packages:
makeerror@1.0.12: makeerror@1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
md5-file@5.0.0:
resolution: {integrity: sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==}
engines: {node: '>=10.13.0'}
hasBin: true
mdast-util-from-markdown@0.8.5: mdast-util-from-markdown@0.8.5:
resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
@ -4159,6 +4235,10 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
object-hash@3.0.0:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
object-inspect@1.13.2: object-inspect@1.13.2:
resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -6481,6 +6561,8 @@ snapshots:
'@dcloudio/uni-app-vue@3.0.0-4050520250307001': {} '@dcloudio/uni-app-vue@3.0.0-4050520250307001': {}
'@dcloudio/uni-app-x@0.7.51': {}
'@dcloudio/uni-app@3.0.0-4050520250307001(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': '@dcloudio/uni-app@3.0.0-4050520250307001(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))':
dependencies: dependencies:
'@dcloudio/types': 3.4.14 '@dcloudio/types': 3.4.14
@ -7048,6 +7130,32 @@ snapshots:
- vue - vue
- webpack-sources - webpack-sources
'@dcloudio/uni-uts-v1@3.0.0-4050520250307001(rollup@4.24.1)':
dependencies:
'@babel/code-frame': 7.26.0
'@dcloudio/uni-app-x': 0.7.51
'@dcloudio/uts': 3.0.0-4050520250307001
'@rollup/pluginutils': 5.1.3(rollup@4.24.1)
'@vue/shared': 3.4.21
adm-zip: 0.5.16
android-versions: 1.9.0
colors: 1.4.0
debug: 4.4.0
fast-glob: 3.3.2
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.6.3
source-map: 0.7.4
source-map-js: 1.2.1
transitivePeerDependencies:
- rollup
- supports-color
'@dcloudio/uni-vue-devtools@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': '@dcloudio/uni-vue-devtools@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))
@ -7067,6 +7175,33 @@ snapshots:
- vue - vue
- webpack-sources - webpack-sources
'@dcloudio/uts-darwin-arm64@3.0.0-4050520250307001':
optional: true
'@dcloudio/uts-darwin-x64@3.0.0-4050520250307001':
optional: true
'@dcloudio/uts-linux-x64-gnu@3.0.0-4050520250307001':
optional: true
'@dcloudio/uts-linux-x64-musl@3.0.0-4050520250307001':
optional: true
'@dcloudio/uts-win32-ia32-msvc@3.0.0-4050520250307001':
optional: true
'@dcloudio/uts-win32-x64-msvc@3.0.0-4050520250307001':
optional: true
'@dcloudio/uts@3.0.0-4050520250307001':
optionalDependencies:
'@dcloudio/uts-darwin-arm64': 3.0.0-4050520250307001
'@dcloudio/uts-darwin-x64': 3.0.0-4050520250307001
'@dcloudio/uts-linux-x64-gnu': 3.0.0-4050520250307001
'@dcloudio/uts-linux-x64-musl': 3.0.0-4050520250307001
'@dcloudio/uts-win32-ia32-msvc': 3.0.0-4050520250307001
'@dcloudio/uts-win32-x64-msvc': 3.0.0-4050520250307001
'@dcloudio/vite-plugin-uni@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))': '@dcloudio/vite-plugin-uni@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))':
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
@ -7325,7 +7460,7 @@ snapshots:
'@antfu/install-pkg': 0.4.1 '@antfu/install-pkg': 0.4.1
'@antfu/utils': 0.7.10 '@antfu/utils': 0.7.10
'@iconify/types': 2.0.0 '@iconify/types': 2.0.0
debug: 4.3.7 debug: 4.4.0
kolorist: 1.8.0 kolorist: 1.8.0
local-pkg: 0.5.0 local-pkg: 0.5.0
mlly: 1.7.2 mlly: 1.7.2
@ -8740,6 +8875,10 @@ snapshots:
alien-signals@0.2.0: {} alien-signals@0.2.0: {}
android-versions@1.9.0:
dependencies:
semver: 7.6.3
ansi-escapes@4.3.2: ansi-escapes@4.3.2:
dependencies: dependencies:
type-fest: 0.21.3 type-fest: 0.21.3
@ -9071,6 +9210,8 @@ snapshots:
colorjs.io@0.5.2: {} colorjs.io@0.5.2: {}
colors@1.4.0: {}
combined-stream@1.0.8: combined-stream@1.0.8:
dependencies: dependencies:
delayed-stream: 1.0.0 delayed-stream: 1.0.0
@ -9079,6 +9220,8 @@ snapshots:
comment-parser@1.4.1: {} comment-parser@1.4.1: {}
commondir@1.0.1: {}
compare-versions@3.6.0: {} compare-versions@3.6.0: {}
concat-map@0.0.1: {} concat-map@0.0.1: {}
@ -9788,6 +9931,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - 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.0: {} find-up-simple@1.0.0: {}
find-up@4.1.0: find-up@4.1.0:
@ -9915,6 +10064,10 @@ snapshots:
graphemer@1.4.0: {} graphemer@1.4.0: {}
graphlib@2.1.8:
dependencies:
lodash: 4.17.21
gzip-size@6.0.0: gzip-size@6.0.0:
dependencies: dependencies:
duplexer: 0.1.2 duplexer: 0.1.2
@ -10662,6 +10815,10 @@ snapshots:
dependencies: dependencies:
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/sourcemap-codec': 1.5.0
make-dir@3.1.0:
dependencies:
semver: 6.3.1
make-dir@4.0.0: make-dir@4.0.0:
dependencies: dependencies:
semver: 7.6.3 semver: 7.6.3
@ -10670,6 +10827,8 @@ snapshots:
dependencies: dependencies:
tmpl: 1.0.5 tmpl: 1.0.5
md5-file@5.0.0: {}
mdast-util-from-markdown@0.8.5: mdast-util-from-markdown@0.8.5:
dependencies: dependencies:
'@types/mdast': 3.0.15 '@types/mdast': 3.0.15
@ -10841,6 +11000,8 @@ snapshots:
object-assign@4.1.1: {} object-assign@4.1.1: {}
object-hash@3.0.0: {}
object-inspect@1.13.2: {} object-inspect@1.13.2: {}
ofetch@1.4.1: ofetch@1.4.1:

16
src/components.d.ts vendored
View File

@ -13,21 +13,5 @@ declare module 'vue' {
PrivacyModel: typeof import('./components/PrivacyModel.vue')['default'] PrivacyModel: typeof import('./components/PrivacyModel.vue')['default']
QRcode: typeof import('./components/QRcode.vue')['default'] QRcode: typeof import('./components/QRcode.vue')['default']
VipBanner: typeof import('./components/VipBanner.vue')['default'] VipBanner: typeof import('./components/VipBanner.vue')['default']
WdButton: typeof import('wot-design-uni/components/wd-button/wd-button.vue')['default']
WdCellGroup: typeof import('wot-design-uni/components/wd-cell-group/wd-cell-group.vue')['default']
WdCheckbox: typeof import('wot-design-uni/components/wd-checkbox/wd-checkbox.vue')['default']
WdColPicker: typeof import('wot-design-uni/components/wd-col-picker/wd-col-picker.vue')['default']
WdForm: typeof import('wot-design-uni/components/wd-form/wd-form.vue')['default']
WdFormItem: typeof import('wot-design-uni/components/wd-form-item/wd-form-item.vue')['default']
WdIcon: typeof import('wot-design-uni/components/wd-icon/wd-icon.vue')['default']
WdInput: typeof import('wot-design-uni/components/wd-input/wd-input.vue')['default']
WdLoadmore: typeof import('wot-design-uni/components/wd-loadmore/wd-loadmore.vue')['default']
WdNavbar: typeof import('wot-design-uni/components/wd-navbar/wd-navbar.vue')['default']
WdPicker: typeof import('wot-design-uni/components/wd-picker/wd-picker.vue')['default']
WdPopup: typeof import('wot-design-uni/components/wd-popup/wd-popup.vue')['default']
WdProgress: typeof import('wot-design-uni/components/wd-progress/wd-progress.vue')['default']
WdTabbar: typeof import('wot-design-uni/components/wd-tabbar/wd-tabbar.vue')['default']
WdTabbarItem: typeof import('wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.vue')['default']
WdToast: typeof import('wot-design-uni/components/wd-toast/wd-toast.vue')['default']
} }
} }

View File

@ -120,11 +120,11 @@
"description": "Web视图插件支持在App内打开网页", "description": "Web视图插件支持在App内打开网页",
"platforms": { "platforms": {
"android": { "android": {
"appid": "", "appid": "__UNI_WEBVIEW_ANDROID",
"autostart": false "autostart": false
}, },
"ios": { "ios": {
"appid": "", "appid": "__UNI_WEBVIEW_IOS",
"autostart": false "autostart": false
} }
} }

View File

@ -10,9 +10,8 @@ import indexIcon7 from '/static/image/index_icon_7.png'
// WebView // WebView
// @ts-ignore // @ts-ignore
import WebViewPlugin from '@/utssdk/webview'; import { urlLaunch } from '@/uni_modules/lz-url_launch';
const webViewPlugin = new WebViewPlugin();
const services = ref( const services = ref(
[ [
@ -80,17 +79,12 @@ function toInquire(name) {
console.log('使用服务:', name); console.log('使用服务:', name);
// App 使 UTS App 使 // App 使 UTS App 使
// #ifdef APP-PLUS
try { try {
// URL // URL
const serviceUrl = `https://www.quannengcha.com/inquire/${name}`; urlLaunch(`https://www.quannengcha.com/inquire/${name}`)
// 使 UTS
webViewPlugin.openUrl(serviceUrl);
} catch (error) { } catch (error) {
console.error('打开URL失败:', error); console.error('打开URL失败:', error);
} }
// #endif
} }
function toHistory() { function toHistory() {
@ -119,11 +113,7 @@ function toHelp() {
<view class="box-border"> <view class="box-border">
<view class="relative h-[190px]"> <view class="relative h-[190px]">
<image class="h-full w-full" src="/static/image/banner2.png" /> <image class="h-full w-full" src="/static/image/banner2.png" />
<image <image class="absolute bottom-[-70px] right-0 w-38" src="/static/image/banner_a.png" mode="aspectFit" />
class="absolute bottom-[-70px] right-0 w-38"
src="/static/image/banner_a.png"
mode="aspectFit"
/>
</view> </view>
<view class="mt-4"> <view class="mt-4">
<view class="flex items-center justify-around gap-2 px-4 pb-1"> <view class="flex items-center justify-around gap-2 px-4 pb-1">
@ -160,14 +150,13 @@ function toHelp() {
<view class="relative p-4 pb-4 pt-2"> <view class="relative p-4 pb-4 pt-2">
<view class="grid grid-cols-2 gap-3"> <view class="grid grid-cols-2 gap-3">
<template v-for="(service, index) in services" :key="index"> <template v-for="(service, index) in services" :key="index">
<view <view class="relative flex flex-col px-4 py-2 shadow-lg " :class="[
class="relative flex flex-col px-4 py-2 shadow-lg " :class="[ service.position,
service.position, service.bgColor,
service.bgColor, service.title === '婚恋风险' ? 'row-span-2' : '',
service.title === '婚恋风险' ? 'row-span-2' : '', ]"
]" :style="`background: url(${service.bg}) no-repeat; background-size: cover; background-position: center;`" :style="`background: url(${service.bg}) no-repeat; background-size: cover; background-position: center;`"
@click="toInquire(service.name)" @click="toInquire(service.name)">
>
<view class="min-h-18 flex flex-col items-start px-1"> <view class="min-h-18 flex flex-col items-start px-1">
<view class="mt-1 max-w-max text-left text-gray-600 font-bold"> <view class="mt-1 max-w-max text-left text-gray-600 font-bold">
{{ service.title }} {{ service.title }}
@ -179,15 +168,9 @@ function toHelp() {
</view> </view>
</template> </template>
</view> </view>
<view <view class="mt-4 box-border h-14 w-full flex items-center rounded-xl bg-white px-4 text-gray-700 shadow-xl"
class="mt-4 box-border h-14 w-full flex items-center rounded-xl bg-white px-4 text-gray-700 shadow-xl" @click="toHistory">
@click="toHistory" <image class="mr-4 h-10 w-10" src="/static/image/bg_icon.png" mode="widthFix" />
>
<image
class="mr-4 h-10 w-10"
src="/static/image/bg_icon.png"
mode="widthFix"
/>
<view class=""> <view class="">
<view class="font-bold"> <view class="font-bold">
我的历史查询记录 我的历史查询记录
@ -198,8 +181,7 @@ function toHelp() {
</view> </view>
</view> </view>
<view <view
class="mb-16 mt-6 h-12 w-full flex items-center justify-center rounded-3xl from-blue-500 to-sky-400 bg-gradient-to-b text-center text-lg text-white line-height-12 shadow-xl" class="mb-16 mt-6 h-12 w-full flex items-center justify-center rounded-3xl from-blue-500 to-sky-400 bg-gradient-to-b text-center text-lg text-white line-height-12 shadow-xl">
>
<view>全能查邀您共赢共享数据新价值</view> <view>全能查邀您共赢共享数据新价值</view>
</view> </view>
</view> </view>
@ -216,12 +198,10 @@ function toHelp() {
} }
</style> </style>
<route type="home" lang="json"> <route type="home" lang="json">{
{
"layout": "home", "layout": "home",
"style": { "style": {
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
"transparentTitle": "always" "transparentTitle": "always"
} }
} }</route>
</route>

View File

@ -0,0 +1,83 @@
{
"id": "lz-url_launch",
"displayName": "lz-url_launch",
"version": "1.0.0",
"description": "lz-url_launch",
"keywords": [
"lz-url_launch"
],
"repository": "",
"engines": {
"HBuilderX": "^3.6.8"
},
"dcloudext": {
"type": "uts",
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": ""
},
"declaration": {
"ads": "",
"data": "",
"permissions": ""
},
"npmurl": ""
},
"uni_modules": {
"dependencies": [],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "u",
"aliyun": "u",
"alipay": "u"
},
"client": {
"Vue": {
"vue2": "y",
"vue3": "y"
},
"App": {
"app-android": "u",
"app-ios": "y",
"app-harmony": "u"
},
"H5-mobile": {
"Safari": "u",
"Android Browser": "u",
"微信浏览器(Android)": "u",
"QQ浏览器(Android)": "u"
},
"H5-pc": {
"Chrome": "u",
"IE": "u",
"Edge": "u",
"Firefox": "u",
"Safari": "u"
},
"小程序": {
"微信": "u",
"阿里": "u",
"百度": "u",
"字节跳动": "u",
"QQ": "u",
"钉钉": "u",
"快手": "u",
"飞书": "u",
"京东": "u"
},
"快应用": {
"华为": "u",
"联盟": "u"
}
}
}
}
}

View File

@ -0,0 +1,7 @@
# lz-url_launch
### 开发文档
[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)

View File

@ -0,0 +1,3 @@
{
"deploymentTarget": "12"
}

View File

@ -0,0 +1,11 @@
import { DispatchQueue } from "UIKit";
import { SFSafariViewController } from "SafariServices";
import { UrlLaunch } from "../interface";
export const urlLaunch : UrlLaunch = function (url : string) : void {
let urlObject = URL(string = url);
let vc = SFSafariViewController(url = urlObject!)
DispatchQueue.main.async(execute = () : void => {
UTSiOS.getCurrentViewController().present(vc, animated = true);
});
}

View File

@ -0,0 +1,6 @@
/**
* interface.uts
* uts插件接口定义文件按规范定义接口文件可以在HBuilderX中更好的做到语法提示
*/
export type UrlLaunch = (url : string) => void

View 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) ?? "";
}
}

View File

@ -1,6 +0,0 @@
{
"name": "webview",
"version": "1.0.0",
"description": "Web视图插件支持在App内打开网页",
"main": "src/index.uts"
}

View File

@ -1,44 +0,0 @@
// #ifdef APP-ANDROID
/**
* Android平台声明文件
* 用于声明 androidx.browser.customtabs 模块和相关类
*/
declare namespace UTSAndroid {
// 获取应用上下文
function getAppContext(): android.content.Context;
namespace android.content {
class Context {
startActivity(intent: Intent): void;
}
class Intent {
constructor(action: string, uri: android.net.Uri);
static readonly ACTION_VIEW: string;
addFlags(flags: number): Intent;
static readonly FLAG_ACTIVITY_NEW_TASK: number;
}
}
namespace android.net {
class Uri {
static parse(uriString: string): Uri;
}
}
namespace androidx.browser.customtabs {
class CustomTabsIntent {
launchUrl(context: android.content.Context, uri: android.net.Uri): void;
static class Builder {
constructor();
build(): CustomTabsIntent;
setToolbarColor(color: number): Builder;
setShowTitle(showTitle: boolean): Builder;
}
}
}
}
// #endif

View File

@ -1,98 +0,0 @@
/**
* WebView插件 - 用于在App内打开网页
* 支持iOS和Android平台
*/
// 定义插件接口
export default class WebViewPlugin {
/**
* 在App内打开网页
* @param url 要打开的URL
*/
openUrl(url: string): void {
if (!url || url.trim() === '') {
console.error('URL不能为空');
return;
}
// 根据平台调用不同的实现
// #ifdef APP-IOS
this.openUrlInIOS(url);
// #endif
// #ifdef APP-ANDROID
this.openUrlInAndroid(url);
// #endif
// #ifndef APP-PLUS
// 非App环境下直接使用uni.navigateTo打开web-view页面
uni.navigateTo({
url: `/pages/webview/webview?url=${encodeURIComponent(url)}`
});
// #endif
}
// iOS平台实现
// #ifdef APP-IOS
private openUrlInIOS(url: string): void {
try {
const { DispatchQueue } = UTSiOS.UIKit;
const { SFSafariViewController } = UTSiOS.SafariServices;
const urlObject = UTSiOS.URL.URLWithString(url);
if (!urlObject) {
console.error('无效的URL');
return;
}
const vc = new SFSafariViewController(url: urlObject);
// 在主线程上执行UI操作
DispatchQueue.main.async((): void => {
UTSiOS.getCurrentViewController().presentViewController(vc, animated: true, completion: null);
});
} catch (error) {
console.error('iOS打开URL失败:', error);
// 失败后使用系统浏览器打开
plus.runtime.openURL(url);
}
}
// #endif
// Android平台实现
// #ifdef APP-ANDROID
private openUrlInAndroid(url: string): void {
try {
const Intent = UTSAndroid.android.content.Intent;
const Uri = UTSAndroid.android.net.Uri;
// 创建CustomTabsIntent
const CustomTabsIntent = UTSAndroid.androidx.browser.customtabs.CustomTabsIntent;
const builder = new CustomTabsIntent.Builder();
const customTabsIntent = builder.build();
// 打开URL
const uri = Uri.parse(url);
const context = UTSAndroid.getAppContext();
customTabsIntent.launchUrl(context, uri);
} catch (error) {
console.error('Android打开URL失败:', error);
try {
// 如果CustomTabs不可用尝试使用WebView Activity
const Intent = UTSAndroid.android.content.Intent;
const Uri = UTSAndroid.android.net.Uri;
const intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
const context = UTSAndroid.getAppContext();
context.startActivity(intent);
} catch (fallbackError) {
// 所有方法都失败使用plus API
plus.runtime.openURL(url);
}
}
}
// #endif
}

View File

@ -1,48 +0,0 @@
// #ifdef APP-IOS
/**
* iOS平台声明文件
* 用于声明 SafariServices 模块和相关类
*/
declare namespace UTSiOS {
namespace SafariServices {
/**
* SFSafariViewController 类
* 用于在App内显示网页内容
*/
class SFSafariViewController {
constructor(url: UTSiOS.URL);
// 设置配置
static configuration: any;
// 设置代理
setDelegate(delegate: any): void;
// 设置首选的条形颜色
setPreferredBarTintColor(color: any): void;
// 设置首选的控制颜色
setPreferredControlTintColor(color: any): void;
// 设置模态展示样式
setModalPresentationStyle(style: number): void;
}
}
// URL类
class URL {
static URLWithString(string: string): URL;
}
namespace UIKit {
class DispatchQueue {
static readonly main: DispatchQueue;
async(closure: () => void): void;
}
}
// 获取当前视图控制器
function getCurrentViewController(): any;
}
// #endif

View File

@ -1,10 +0,0 @@
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"moduleResolution": "node",
"esModuleInterop": true
}
}