WIP on main: 6885e88 Merge branch 'main' of https://gitea.lihaink.cn/sjeam/digital_village_uni
Some checks failed
Auto Merge Main to Other Branches / Merge main into i18n (push) Has been cancelled
Auto Merge Main to Other Branches / Merge main into base-sard-ui (push) Has been cancelled

This commit is contained in:
sjeam 2025-08-28 16:07:07 +08:00
commit 27ee3f56dd
19 changed files with 904 additions and 460 deletions

View File

@ -3,7 +3,7 @@
"type": "commonjs", "type": "commonjs",
"version": "3.0.0", "version": "3.0.0",
"description": "unibest - 最好的 uniapp 开发模板", "description": "unibest - 最好的 uniapp 开发模板",
"update-time": "2025-06-21", "update-time": "2025-08-27",
"author": { "author": {
"name": "feige996", "name": "feige996",
"zhName": "菲鸽", "zhName": "菲鸽",
@ -107,6 +107,7 @@
}, },
"devDependencies": { "devDependencies": {
"@antfu/eslint-config": "^4.15.0", "@antfu/eslint-config": "^4.15.0",
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@commitlint/cli": "^19.8.1", "@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1", "@commitlint/config-conventional": "^19.8.1",
"@dcloudio/types": "^3.4.8", "@dcloudio/types": "^3.4.8",

244
pnpm-lock.yaml generated
View File

@ -104,6 +104,9 @@ importers:
'@antfu/eslint-config': '@antfu/eslint-config':
specifier: ^4.15.0 specifier: ^4.15.0
version: 4.15.0(@unocss/eslint-plugin@66.2.3(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2))(@vue/compiler-sfc@3.5.15)(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2) version: 4.15.0(@unocss/eslint-plugin@66.2.3(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2))(@vue/compiler-sfc@3.5.15)(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2)
'@babel/plugin-proposal-private-property-in-object':
specifier: ^7.21.11
version: 7.21.11(@babel/core@7.26.0)
'@commitlint/cli': '@commitlint/cli':
specifier: ^19.8.1 specifier: ^19.8.1
version: 19.8.1(@types/node@20.17.9)(typescript@5.7.2) version: 19.8.1(@types/node@20.17.9)(typescript@5.7.2)
@ -301,10 +304,6 @@ packages:
'@antfu/utils@8.1.1': '@antfu/utils@8.1.1':
resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
'@babel/code-frame@7.26.2':
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
'@babel/code-frame@7.27.1': '@babel/code-frame@7.27.1':
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -317,14 +316,6 @@ packages:
resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/generator@7.26.2':
resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
engines: {node: '>=6.9.0'}
'@babel/generator@7.27.1':
resolution: {integrity: sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==}
engines: {node: '>=6.9.0'}
'@babel/generator@7.27.5': '@babel/generator@7.27.5':
resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -400,18 +391,10 @@ packages:
resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/helper-string-parser@7.25.9':
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
'@babel/helper-string-parser@7.27.1': '@babel/helper-string-parser@7.27.1':
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.25.9':
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.27.1': '@babel/helper-validator-identifier@7.27.1':
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -428,11 +411,6 @@ packages:
resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/parser@7.26.2':
resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
engines: {node: '>=6.0.0'}
hasBin: true
'@babel/parser@7.27.2': '@babel/parser@7.27.2':
resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==} resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@ -479,6 +457,13 @@ packages:
peerDependencies: peerDependencies:
'@babel/core': ^7.0.0-0 '@babel/core': ^7.0.0-0
'@babel/plugin-proposal-private-property-in-object@7.21.11':
resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-async-generators@7.8.4': '@babel/plugin-syntax-async-generators@7.8.4':
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies: peerDependencies:
@ -903,30 +888,14 @@ packages:
resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/template@7.25.9':
resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
'@babel/template@7.27.2': '@babel/template@7.27.2':
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/traverse@7.25.9':
resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.27.1':
resolution: {integrity: sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.27.4': '@babel/traverse@7.27.4':
resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/types@7.26.0':
resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
engines: {node: '>=6.9.0'}
'@babel/types@7.27.1': '@babel/types@7.27.1':
resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -1809,10 +1778,6 @@ packages:
'@jimp/utils@0.10.3': '@jimp/utils@0.10.3':
resolution: {integrity: sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==} resolution: {integrity: sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==}
'@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
'@jridgewell/gen-mapping@0.3.8': '@jridgewell/gen-mapping@0.3.8':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@ -6448,7 +6413,7 @@ snapshots:
'@ampproject/remapping@2.3.0': '@ampproject/remapping@2.3.0':
dependencies: dependencies:
'@jridgewell/gen-mapping': 0.3.5 '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.25
'@antfu/eslint-config@4.15.0(@unocss/eslint-plugin@66.2.3(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2))(@vue/compiler-sfc@3.5.15)(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2)': '@antfu/eslint-config@4.15.0(@unocss/eslint-plugin@66.2.3(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2))(@vue/compiler-sfc@3.5.15)(eslint@9.29.0(jiti@2.4.2))(typescript@5.7.2)':
@ -6508,12 +6473,6 @@ snapshots:
'@antfu/utils@8.1.1': {} '@antfu/utils@8.1.1': {}
'@babel/code-frame@7.26.2':
dependencies:
'@babel/helper-validator-identifier': 7.25.9
js-tokens: 4.0.0
picocolors: 1.1.1
'@babel/code-frame@7.27.1': '@babel/code-frame@7.27.1':
dependencies: dependencies:
'@babel/helper-validator-identifier': 7.27.1 '@babel/helper-validator-identifier': 7.27.1
@ -6526,14 +6485,14 @@ snapshots:
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.27.1 '@babel/code-frame': 7.27.1
'@babel/generator': 7.27.1 '@babel/generator': 7.27.5
'@babel/helper-compilation-targets': 7.25.9 '@babel/helper-compilation-targets': 7.25.9
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
'@babel/helpers': 7.26.0 '@babel/helpers': 7.26.0
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@babel/template': 7.27.2 '@babel/template': 7.27.2
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
convert-source-map: 2.0.0 convert-source-map: 2.0.0
debug: 4.4.1 debug: 4.4.1
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
@ -6542,22 +6501,6 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/generator@7.26.2':
dependencies:
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.0.2
'@babel/generator@7.27.1':
dependencies:
'@babel/parser': 7.27.2
'@babel/types': 7.27.1
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.1.0
'@babel/generator@7.27.5': '@babel/generator@7.27.5':
dependencies: dependencies:
'@babel/parser': 7.27.5 '@babel/parser': 7.27.5
@ -6568,12 +6511,12 @@ snapshots:
'@babel/helper-annotate-as-pure@7.25.9': '@babel/helper-annotate-as-pure@7.25.9':
dependencies: dependencies:
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9':
dependencies: dependencies:
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6593,7 +6536,7 @@ snapshots:
'@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9
'@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
semver: 6.3.1 semver: 6.3.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6618,15 +6561,15 @@ snapshots:
'@babel/helper-member-expression-to-functions@7.25.9': '@babel/helper-member-expression-to-functions@7.25.9':
dependencies: dependencies:
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/helper-module-imports@7.25.9': '@babel/helper-module-imports@7.25.9':
dependencies: dependencies:
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6635,13 +6578,13 @@ snapshots:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-module-imports': 7.25.9 '@babel/helper-module-imports': 7.25.9
'@babel/helper-validator-identifier': 7.27.1 '@babel/helper-validator-identifier': 7.27.1
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/helper-optimise-call-expression@7.25.9': '@babel/helper-optimise-call-expression@7.25.9':
dependencies: dependencies:
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@babel/helper-plugin-utils@7.27.1': {} '@babel/helper-plugin-utils@7.27.1': {}
@ -6650,7 +6593,7 @@ snapshots:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-annotate-as-pure': 7.25.9
'@babel/helper-wrap-function': 7.25.9 '@babel/helper-wrap-function': 7.25.9
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6659,30 +6602,26 @@ snapshots:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-member-expression-to-functions': 7.25.9
'@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/helper-simple-access@7.25.9': '@babel/helper-simple-access@7.25.9':
dependencies: dependencies:
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/helper-skip-transparent-expression-wrappers@7.25.9': '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
dependencies: dependencies:
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/helper-string-parser@7.25.9': {}
'@babel/helper-string-parser@7.27.1': {} '@babel/helper-string-parser@7.27.1': {}
'@babel/helper-validator-identifier@7.25.9': {}
'@babel/helper-validator-identifier@7.27.1': {} '@babel/helper-validator-identifier@7.27.1': {}
'@babel/helper-validator-option@7.25.9': {} '@babel/helper-validator-option@7.25.9': {}
@ -6690,23 +6629,19 @@ snapshots:
'@babel/helper-wrap-function@7.25.9': '@babel/helper-wrap-function@7.25.9':
dependencies: dependencies:
'@babel/template': 7.27.2 '@babel/template': 7.27.2
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/helpers@7.26.0': '@babel/helpers@7.26.0':
dependencies: dependencies:
'@babel/template': 7.27.2 '@babel/template': 7.27.2
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@babel/parser@7.26.2':
dependencies:
'@babel/types': 7.26.0
'@babel/parser@7.27.2': '@babel/parser@7.27.2':
dependencies: dependencies:
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@babel/parser@7.27.5': '@babel/parser@7.27.5':
dependencies: dependencies:
@ -6716,7 +6651,7 @@ snapshots:
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6743,7 +6678,7 @@ snapshots:
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6751,6 +6686,16 @@ snapshots:
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
'@babel/helper-annotate-as-pure': 7.25.9
'@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0)
transitivePeerDependencies:
- supports-color
'@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)':
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
@ -6857,7 +6802,7 @@ snapshots:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0)
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6903,7 +6848,7 @@ snapshots:
'@babel/helper-compilation-targets': 7.25.9 '@babel/helper-compilation-targets': 7.25.9
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
globals: 11.12.0 globals: 11.12.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6967,7 +6912,7 @@ snapshots:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-compilation-targets': 7.25.9 '@babel/helper-compilation-targets': 7.25.9
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -7014,7 +6959,7 @@ snapshots:
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/helper-validator-identifier': 7.27.1 '@babel/helper-validator-identifier': 7.27.1
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -7260,48 +7205,18 @@ snapshots:
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/types': 7.27.1 '@babel/types': 7.27.6
esutils: 2.0.3 esutils: 2.0.3
'@babel/runtime@7.26.0': '@babel/runtime@7.26.0':
dependencies: dependencies:
regenerator-runtime: 0.14.1 regenerator-runtime: 0.14.1
'@babel/template@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/template@7.27.2': '@babel/template@7.27.2':
dependencies: dependencies:
'@babel/code-frame': 7.27.1 '@babel/code-frame': 7.27.1
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@babel/traverse@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/generator': 7.26.2
'@babel/parser': 7.26.2
'@babel/template': 7.25.9
'@babel/types': 7.26.0
debug: 4.4.1
globals: 11.12.0
transitivePeerDependencies:
- supports-color
'@babel/traverse@7.27.1':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/generator': 7.27.1
'@babel/parser': 7.27.2
'@babel/template': 7.27.2
'@babel/types': 7.27.1
debug: 4.4.1
globals: 11.12.0
transitivePeerDependencies:
- supports-color
'@babel/traverse@7.27.4': '@babel/traverse@7.27.4':
dependencies: dependencies:
@ -7315,11 +7230,6 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/types@7.26.0':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@babel/types@7.27.1': '@babel/types@7.27.1':
dependencies: dependencies:
'@babel/helper-string-parser': 7.27.1 '@babel/helper-string-parser': 7.27.1
@ -7496,8 +7406,8 @@ snapshots:
'@dcloudio/uni-app-uts@3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))': '@dcloudio/uni-app-uts@3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))':
dependencies: dependencies:
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@dcloudio/uni-cli-shared': 3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))
'@dcloudio/uni-console': 3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2)) '@dcloudio/uni-console': 3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4060620250520001 '@dcloudio/uni-i18n': 3.0.0-4060620250520001
@ -7605,8 +7515,8 @@ snapshots:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.27.1 '@babel/code-frame': 7.27.1
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@dcloudio/uni-i18n': 3.0.0-4020820240925001 '@dcloudio/uni-i18n': 3.0.0-4020820240925001
'@dcloudio/uni-shared': 3.0.0-4020820240925001 '@dcloudio/uni-shared': 3.0.0-4020820240925001
'@intlify/core-base': 9.1.9 '@intlify/core-base': 9.1.9
@ -7864,9 +7774,9 @@ snapshots:
'@dcloudio/uni-mp-compiler@3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))': '@dcloudio/uni-mp-compiler@3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))':
dependencies: dependencies:
'@babel/generator': 7.27.1 '@babel/generator': 7.27.5
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@dcloudio/uni-cli-shared': 3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-4060620250520001(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4060620250520001 '@dcloudio/uni-shared': 3.0.0-4060620250520001
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
@ -8922,12 +8832,6 @@ snapshots:
core-js: 3.39.0 core-js: 3.39.0
regenerator-runtime: 0.13.11 regenerator-runtime: 0.13.11
'@jridgewell/gen-mapping@0.3.5':
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/gen-mapping@0.3.8': '@jridgewell/gen-mapping@0.3.8':
dependencies: dependencies:
'@jridgewell/set-array': 1.2.1 '@jridgewell/set-array': 1.2.1
@ -8940,7 +8844,7 @@ snapshots:
'@jridgewell/source-map@0.3.6': '@jridgewell/source-map@0.3.6':
dependencies: dependencies:
'@jridgewell/gen-mapping': 0.3.5 '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.25
'@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/sourcemap-codec@1.5.0': {}
@ -9163,10 +9067,10 @@ snapshots:
'@trivago/prettier-plugin-sort-imports@5.2.1(@vue/compiler-sfc@3.5.15)(prettier@3.5.3)': '@trivago/prettier-plugin-sort-imports@5.2.1(@vue/compiler-sfc@3.5.15)(prettier@3.5.3)':
dependencies: dependencies:
'@babel/generator': 7.26.2 '@babel/generator': 7.27.5
'@babel/parser': 7.26.2 '@babel/parser': 7.27.5
'@babel/traverse': 7.25.9 '@babel/traverse': 7.27.4
'@babel/types': 7.26.0 '@babel/types': 7.27.6
javascript-natural-sort: 0.7.1 javascript-natural-sort: 0.7.1
lodash: 4.17.21 lodash: 4.17.21
prettier: 3.5.3 prettier: 3.5.3
@ -9833,8 +9737,8 @@ snapshots:
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
'@babel/template': 7.27.2 '@babel/template': 7.27.2
'@babel/traverse': 7.27.1 '@babel/traverse': 7.27.4
'@babel/types': 7.27.1 '@babel/types': 7.27.6
'@vue/babel-helper-vue-transform-on': 1.2.5 '@vue/babel-helper-vue-transform-on': 1.2.5
'@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0) '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0)
html-tags: 3.3.1 html-tags: 3.3.1
@ -9850,14 +9754,14 @@ snapshots:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/helper-module-imports': 7.25.9 '@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.27.1 '@babel/helper-plugin-utils': 7.27.1
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@vue/compiler-sfc': 3.5.15 '@vue/compiler-sfc': 3.5.15
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vue/compiler-core@3.4.21': '@vue/compiler-core@3.4.21':
dependencies: dependencies:
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
entities: 4.5.0 entities: 4.5.0
estree-walker: 2.0.2 estree-walker: 2.0.2
@ -9865,7 +9769,7 @@ snapshots:
'@vue/compiler-core@3.5.15': '@vue/compiler-core@3.5.15':
dependencies: dependencies:
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@vue/shared': 3.5.15 '@vue/shared': 3.5.15
entities: 4.5.0 entities: 4.5.0
estree-walker: 2.0.2 estree-walker: 2.0.2
@ -9883,7 +9787,7 @@ snapshots:
'@vue/compiler-sfc@3.4.21': '@vue/compiler-sfc@3.4.21':
dependencies: dependencies:
'@babel/parser': 7.26.2 '@babel/parser': 7.27.5
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
'@vue/compiler-dom': 3.4.21 '@vue/compiler-dom': 3.4.21
'@vue/compiler-ssr': 3.4.21 '@vue/compiler-ssr': 3.4.21
@ -9895,7 +9799,7 @@ snapshots:
'@vue/compiler-sfc@3.5.15': '@vue/compiler-sfc@3.5.15':
dependencies: dependencies:
'@babel/parser': 7.27.2 '@babel/parser': 7.27.5
'@vue/compiler-core': 3.5.15 '@vue/compiler-core': 3.5.15
'@vue/compiler-dom': 3.5.15 '@vue/compiler-dom': 3.5.15
'@vue/compiler-ssr': 3.5.15 '@vue/compiler-ssr': 3.5.15
@ -13039,7 +12943,7 @@ snapshots:
parse-json@5.2.0: parse-json@5.2.0:
dependencies: dependencies:
'@babel/code-frame': 7.26.2 '@babel/code-frame': 7.27.1
error-ex: 1.3.2 error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1 json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4 lines-and-columns: 1.2.4

View File

@ -19,33 +19,39 @@ export const cacheTabbarEnable = selectedTabbarStrategy < 2
// selectedTabbarStrategy==3 时tabbarList 不生效 // selectedTabbarStrategy==3 时tabbarList 不生效
export const tabbarList = [ export const tabbarList = [
{ {
iconPath: 'static/tabbar/home.png', iconPath: 'static/images/1-001.png',
selectedIconPath: 'static/tabbar/homeHL.png', selectedIconPath: 'static/images/1-002.png',
pagePath: 'pages/index/index', pagePath: 'pages/index/index',
text: '首页', text: '首页',
icon: 'home', // icon: 'home',
iconType: 'uiLib', // iconType: 'uiLib',
}, },
{ {
iconPath: 'static/tabbar/example.png', iconPath: 'static/images/2-001.png',
selectedIconPath: 'static/tabbar/exampleHL.png', selectedIconPath: 'static/images/2-002.png',
pagePath: 'pages/about/about', pagePath: 'pages/about/about',
text: '关于', text: '关于',
icon: 'i-carbon-code', // icon: 'i-carbon-code',
// 注意 unocss 的图标需要在 页面上引入一下,或者配置到 unocss.config.ts 的 safelist 中 // // 注意 unocss 的图标需要在 页面上引入一下,或者配置到 unocss.config.ts 的 safelist 中
iconType: 'unocss', // iconType: 'unocss',
},
{
pagePath: 'pages/order_addcart/order_addcart',
iconPath: 'static/images/3-001.png',
selectedIconPath: 'static/images/3-002.png',
text: '购物车',
}, },
{ {
pagePath: 'pages/my/index', pagePath: 'pages/my/index',
iconPath: 'static/images/4-001.png',
selectedIconPath: 'static/images/4-002.png',
text: '我的', text: '我的',
icon: 'i-ant-design-user-outlined ',
iconType: 'unocss',
}, },
] ]
const _tabbar = { const _tabbar = {
color: '#999999', color: '#2d2d2d',
selectedColor: '#018d71', selectedColor: '#ff0000',
backgroundColor: '#F8F8F8', backgroundColor: '#F8F8F8',
borderStyle: 'black', borderStyle: 'black',
height: '60px', height: '60px',

View File

@ -15,8 +15,8 @@
} }
}, },
"tabBar": { "tabBar": {
"color": "#999999", "color": "#2d2d2d",
"selectedColor": "#018d71", "selectedColor": "#ff0000",
"backgroundColor": "#F8F8F8", "backgroundColor": "#F8F8F8",
"borderStyle": "black", "borderStyle": "black",
"height": "60px", "height": "60px",
@ -25,26 +25,28 @@
"spacing": "3px", "spacing": "3px",
"list": [ "list": [
{ {
"iconPath": "static/tabbar/home.png", "iconPath": "static/images/1-001.png",
"selectedIconPath": "static/tabbar/homeHL.png", "selectedIconPath": "static/images/1-002.png",
"pagePath": "pages/index/index", "pagePath": "pages/index/index",
"text": "首页", "text": "首页"
"icon": "home",
"iconType": "uiLib"
}, },
{ {
"iconPath": "static/tabbar/example.png", "iconPath": "static/images/2-001.png",
"selectedIconPath": "static/tabbar/exampleHL.png", "selectedIconPath": "static/images/2-002.png",
"pagePath": "pages/about/about", "pagePath": "pages/about/about",
"text": "关于", "text": "关于"
"icon": "i-carbon-code", },
"iconType": "unocss" {
"pagePath": "pages/order_addcart/order_addcart",
"iconPath": "static/images/3-001.png",
"selectedIconPath": "static/images/3-002.png",
"text": "购物车"
}, },
{ {
"pagePath": "pages/my/index", "pagePath": "pages/my/index",
"text": "我的", "iconPath": "static/images/4-001.png",
"icon": "i-ant-design-user-outlined ", "selectedIconPath": "static/images/4-002.png",
"iconType": "unocss" "text": "我的"
} }
] ]
}, },
@ -74,6 +76,15 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{
"path": "pages/index/home",
"type": "page",
"layout": "default",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "首页"
}
},
{ {
"path": "pages/login/login", "path": "pages/login/login",
"type": "page", "type": "page",
@ -95,7 +106,6 @@
"layout": "heardbg", "layout": "heardbg",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"navigationStyle": "custom",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
} }

386
src/pages/index/home.vue Normal file
View File

@ -0,0 +1,386 @@
<!-- 使用 type="home" 属性设置首页其他页面不需要设置默认为page推荐使用json5更强大且允许注释 -->
<route lang="json5" type="page">
{
layout: 'default',
style: {
// 'custom' 'default'
navigationStyle: 'custom',
navigationBarTitleText: '首页',
},
}
</route>
<template>
<view class="">
<view class="pt-3 background_home">
<!-- 顶部搜索栏 -->
<wd-search hide-cancel placeholder-left placeholder="请输入内容"></wd-search>
<!-- 横幅广告 -->
<view class="relative h-40 p-2">
<wd-img
radius="10rpx"
:width="'100%'"
:height="'100%'"
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/>
<!-- <view
class="absolute bottom-4 left-0 right-0 text-center text-white bg-black bg-opacity-50 py-2"
>
<text class="text-xl">新鲜蔬菜自然生态健康美味</text>
<text class="block text-sm">同城一小时新鲜送到家</text>
</view> -->
</view>
</view>
<wd-grid class="p-2" bg-color="rgba(0, 0, 0, 0)">
<view
v-for="item in [
{ name: '乡村振兴', icon: 'home', color: 'green' },
{ name: '公益助力', icon: 'heart', color: 'blue' },
{ name: '县域好货', icon: 'gift', color: 'orange' },
{ name: '品质保障', icon: 'secured', color: 'red' },
]"
>
<wd-grid-item use-slot>
<wd-tag
custom-class="space"
bg-color="rgba(0, 0, 0, 0)"
color="#595959"
mark
use-icon-slot
>
<text>{{ item.name }}</text>
<template #icon>
<wd-icon size="32rpx" color="#595959" :name="item.icon" />
</template>
</wd-tag>
</wd-grid-item>
</view>
</wd-grid>
<wd-card>
<wd-grid :gutter="10" :column="4" custom-class=" ">
<view
@click="more"
v-for="item in [
{ name: '村庄服务', icon: '/static/icons/village_service.png', color: 'green' },
{ name: '农资服务', icon: '/static/icons/agriculture_service.png', color: 'blue' },
{ name: '农技课堂', icon: '/static/icons/agriculture_course.png', color: 'orange' },
{ name: '乡村电商', icon: '/static/icons/rural_ecommerce.png', color: 'red' },
]"
>
<wd-grid-item use-slot>
<view class="detail-box" style="border: none; padding: 0; margin: 0">
<wd-img radius="10rpx" :width="'100rpx'" :height="'100rpx'" :src="item.icon" />
<view class="pt-2 pb-2 text-center text-gray-500 font-size-3">{{ item.name }}</view>
</view>
</wd-grid-item>
</view>
</wd-grid>
</wd-card>
<wd-row class="pe-2 ps-2">
<wd-col :span="12">
<view class="detail-box m-1" style="" @click="moreVillage">
<wd-card custom-class="card-content">
<template #title>
<view class="title">
<view>寻美乡村</view>
<view class="title-tip">
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button>
</view>
</view>
</template>
<view class="pb-2">回归自然 从新开始</view>
<view style="height: 200rpx">
<wd-img
radius="10rpx"
:width="'100%'"
:height="'100%'"
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/>
</view>
</wd-card>
</view>
</wd-col>
<wd-col :span="12">
<view class="detail-box m-1" style="" @click="moreTourism">
<wd-card custom-class="card-content">
<template #title>
<view class="title">
<view>优选榜单</view>
<view class="title-tip">
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button>
</view>
</view>
</template>
<view class="pb-2">优选精品 榜单集萃</view>
<view style="height: 200rpx">
<wd-grid :column="2">
<view
v-for="item in [
{
name: '村庄服务',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
color: 'green',
price: '320',
line_price: '320',
},
{
name: '农资服务',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
]"
>
<wd-grid-item use-slot>
<view class="detail-box" style="border: none; padding: 0; margin: 0">
<wd-img
radius="10rpx"
:width="'140rpx'"
:height="'140rpx'"
:src="item.icon"
/>
<view class="text-sm text-gray-500 pt-1">
<wd-text
size="18rpx"
:text="item.price"
mode="price"
type="error"
prefix="¥"
/>
<wd-text
size="16rpx"
:text="item.line_price"
mode="price"
decoration="line-through"
prefix="¥"
/>
</view>
</view>
</wd-grid-item>
</view>
</wd-grid>
</view>
</wd-card>
</view>
</wd-col>
<wd-col :span="12">
<view class="detail-box m-1" style="" @click="more">
<wd-card custom-class="card-content">
<template #title>
<view class="title">
<view>区域特产</view>
<view class="title-tip">
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button>
</view>
</view>
</template>
<view class="pb-2">区特臻品 质纯味美</view>
<view style="height: 200rpx">
<wd-img
radius="10rpx"
:width="'100%'"
:height="'100%'"
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/>
</view>
</wd-card>
</view>
</wd-col>
<wd-col :span="12">
<view class="detail-box m-1" style="" @click="more">
<wd-card custom-class="card-content">
<template #title>
<view class="title">
<view>助农产销</view>
<view class="title-tip">
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button>
</view>
</view>
</template>
<view class="pb-2">助农兴产 丰产畅销</view>
<view style="height: 200rpx">
<wd-grid :column="2">
<view
v-for="item in [
{
name: '助农兴产',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
color: 'green',
price: '320',
line_price: '320',
},
{
name: '助农畅销',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
]"
>
<wd-grid-item use-slot>
<view class="detail-box" style="border: none; padding: 0; margin: 0">
<wd-img
radius="10rpx"
:width="'140rpx'"
:height="'140rpx'"
:src="item.icon"
/>
<view class="pt-2 pb-2 text-center text-black font-size-3">
{{ item.name }}
</view>
</view>
</wd-grid-item>
</view>
</wd-grid>
</view>
</wd-card>
</view>
</wd-col>
</wd-row>
<wd-cell-group custom-class="background-none pe-2 ps-2">
<wd-cell size="large">
<template #title>
<view>
<view class="title">热门发布</view>
</view>
</template>
<view class="custom-text font-size-3 text-gray-500">
查看更多
<!-- <wd-icon name="arrow-right" size="24rpx" /> -->
</view>
</wd-cell>
</wd-cell-group>
<view class="pe-2 ps-2">
<wd-grid :gutter="10" :column="5" custom-class=" ">
<wd-button
v-for="item in [
{
name: '农产品',
id: 1,
},
{
name: '农资供应',
id: 2,
},
{
name: '土地流转',
id: 3,
},
{
name: '技术服务',
id: 4,
},
{
name: '乡村旅游',
id: 5,
},
]"
:type="item.id === currentTab ? 'primary' : 'none'"
size="small"
@click="changeTab(item)"
>
{{ item.name }}
</wd-button>
</wd-grid>
</view>
<wd-row class="pe-2 ps-2">
<wd-col :span="12">
<view class="detail-box m-1" style="" @click="goToShop()">
<wd-card custom-class="card-content">
<view style="height: 200rpx">
<wd-img
radius="10rpx"
:width="'100%'"
:height="'100%'"
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/>
</view>
<view class="pt-2 font-size-4 font-bold">xxx蔬菜基地</view>
<view class="pt-2 font-size-3">我们这里的食物很新鲜</view>
<view class="pt-2 pb-2">
<wd-tag custom-class="space">标签</wd-tag>
<wd-tag custom-class="space" type="primary">标签</wd-tag>
<wd-tag custom-class="space" type="danger">标签</wd-tag>
<wd-tag custom-class="space" type="warning">标签</wd-tag>
<wd-tag custom-class="space" type="success">标签</wd-tag>
</view>
</wd-card>
</view>
</wd-col>
</wd-row>
<view class="p-1"></view>
</view>
</template>
<script lang="ts" setup>
// import { toLogin } from '@/libs/login.js'
const currentTab = ref(1)
function changeTab(e) {
console.log(e)
currentTab.value = e.id
}
function moreVillage() {
console.log('查看乡村')
uni.navigateTo({
url: '/pages-village-sub/home/index',
})
}
function moreTourism() {
console.log('查看旅游')
uni.navigateTo({
url: '/pages-tourism-sub/home/index',
})
}
function more() {
console.log('数字乡村详情')
uni.navigateTo({
url: '/pages/index/detail',
})
}
function goToShop() {
// if (this.isLogin) {
let urls = 'https://shop.lihaink.cn/'
uni.navigateTo({
url: `/pages/web_view/index?local_url=${urls}&title=区域特产`,
})
// } else {
// this.openAuto()
// }
}
//
function openAuto() {
toLogin()
}
</script>
<style lang="scss" scoped>
.section {
width: 100%;
padding: 0 24rpx;
box-sizing: border-box;
&-slot {
padding: 4px;
}
}
</style>

View File

@ -12,27 +12,25 @@
<template> <template>
<view class=""> <view class="">
<view class="pt-3 background_home"> <view class="pt-3 background_home p-2">
<!-- 顶部搜索栏 --> <!-- 顶部搜索栏 -->
<wd-search hide-cancel placeholder-left placeholder="请输入内容"></wd-search> <wd-search hide-cancel placeholder-left placeholder="请输入内容"></wd-search>
<wd-swiper
:list="[
// 'https://unpkg.com/wot-design-uni-assets@1.0.3/VID_115503.mp4',
// 'https://unpkg.com/wot-design-uni-assets@1.0.3/VID_150752.mp4',
// 'https://unpkg.com/wot-design-uni-assets@1.0.3/VID_155516.mp4',
]"
autoplay
:indicator="{ type: 'dots-bar' }"
v-model:current="current"
@click="handleClick"
@change="onChange"
></wd-swiper>
<!-- 横幅广告 --> <!-- 横幅广告 -->
<view class="relative h-40 p-2">
<wd-img
radius="10rpx"
:width="'100%'"
:height="'100%'"
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/>
<!-- <view
class="absolute bottom-4 left-0 right-0 text-center text-white bg-black bg-opacity-50 py-2"
>
<text class="text-xl">新鲜蔬菜自然生态健康美味</text>
<text class="block text-sm">同城一小时新鲜送到家</text>
</view> -->
</view>
</view> </view>
<wd-grid class="p-2" bg-color="rgba(0, 0, 0, 0)"> <!-- <wd-grid class="p-2" bg-color="rgba(0, 0, 0, 0)">
<view <view
v-for="item in [ v-for="item in [
{ name: '乡村振兴', icon: 'home', color: 'green' }, { name: '乡村振兴', icon: 'home', color: 'green' },
@ -43,7 +41,7 @@
> >
<wd-grid-item use-slot> <wd-grid-item use-slot>
<wd-tag <wd-tag
custom-class="space" custom-class="space m-2"
bg-color="rgba(0, 0, 0, 0)" bg-color="rgba(0, 0, 0, 0)"
color="#595959" color="#595959"
mark mark
@ -56,44 +54,87 @@
</wd-tag> </wd-tag>
</wd-grid-item> </wd-grid-item>
</view> </view>
</wd-grid> </wd-grid> -->
<view class="p-2">
<wd-card> <wd-card>
<wd-grid :gutter="10" :column="4" custom-class=" "> <wd-grid :gutter="2" :column="5">
<view <view
@click="more" @click="more"
v-for="item in [ v-for="item in [
{ name: '村庄服务', icon: '/static/icons/village_service.png', color: 'green' }, { name: '特产产品', icon: '/static/icons/village_service.png', color: 'green' },
{ name: '农资服务', icon: '/static/icons/agriculture_service.png', color: 'blue' }, { name: '特色美食', icon: '/static/icons/agriculture_service.png', color: 'blue' },
{ name: '农技课堂', icon: '/static/icons/agriculture_course.png', color: 'orange' }, { name: '当季产品', icon: '/static/icons/agriculture_course.png', color: 'orange' },
{ name: '乡村电商', icon: '/static/icons/rural_ecommerce.png', color: 'red' }, { name: '美丽乡村', icon: '/static/icons/rural_ecommerce.png', color: 'red' },
{ name: '景区景色', icon: '/static/icons/rural_ecommerce.png', color: 'red' },
]" ]"
> >
<wd-grid-item use-slot> <wd-grid-item use-slot>
<view class="detail-box" style="border: none; padding: 0; margin: 0"> <view class="detail-box" style="border: none; padding: 0; margin: 0">
<wd-img radius="10rpx" :width="'100rpx'" :height="'100rpx'" :src="item.icon" /> <wd-img radius="10rpx" :width="'100rpx'" :height="'100rpx'" :src="item.icon" />
<view class="pt-2 pb-2 text-center text-gray-500 font-size-3">{{ item.name }}</view> <view class="ps-2 pt-2 pb-2 text-center text-gray-500 font-size-3">
{{ item.name }}
</view>
</view> </view>
</wd-grid-item> </wd-grid-item>
</view> </view>
</wd-grid> </wd-grid>
</wd-card> </wd-card>
</view>
<wd-row class="pe-2 ps-2"> <view class="p-2">
<wd-col :span="12"> <wd-card custom-class="background-none">
<view class="detail-box m-1" style="" @click="moreVillage">
<wd-card custom-class="card-content">
<template #title> <template #title>
<view class="title"> <view class="title">
<view>寻美乡村</view> <view>
<view class="title-tip"> <text class="text-xl text-sm font-size-4">当季产品</text>
<text class="ps-2 text-xl text-sm font-size-3 color-gray-500">
好物上新季特产抢先购
</text>
</view>
<wd-button type="primary" size="small"> <wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text> <wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button> </wd-button>
</view> </view>
</view>
</template> </template>
<view class="pb-2">回归自然 从新开始</view> </wd-card>
</view>
<view class="p-1">
<scroll-view scroll-x="true" class="scroll-view-container">
<view
class="p-1"
style="display: inline-block; width: 300rpx"
@click="goToShop('https://shop.lihaink.cn/')"
v-for="item in [
{
name: '农产品',
id: 1,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '农资供应',
id: 2,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '土地流转',
id: 3,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '技术服务',
id: 4,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
]"
>
<wd-card custom-class="card-content">
<view style="height: 200rpx"> <view style="height: 200rpx">
<wd-img <wd-img
radius="10rpx" radius="10rpx"
@ -102,61 +143,15 @@
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg" src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/> />
</view> </view>
</wd-card> <view class="ps-2 pt-2 font-size-4 font-bold">xxx蔬菜基地</view>
</view> <view class="ps-2 pt-2 font-size-3">我们这里的食物很新鲜</view>
</wd-col> <view class="ps-2 pt-2 pb-2">
<wd-col :span="12"> <view class="text-sm text-gray-500 text-left">
<view class="detail-box m-1" style="" @click="moreTourism"> <wd-text size="20rpx" color="red" :text="item.price" mode="price" prefix="¥" />
<wd-card custom-class="card-content"> <wd-text size="20rpx" color="red" text="券后价" mode="text" prefix=" " />
<template #title>
<view class="title">
<view>优选榜单</view>
<view class="title-tip">
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button>
</view>
</view>
</template>
<view class="pb-2">优选精品 榜单集萃</view>
<view style="height: 200rpx">
<wd-grid :column="2">
<view
v-for="item in [
{
name: '村庄服务',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
color: 'green',
price: '320',
line_price: '320',
},
{
name: '农资服务',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
]"
>
<wd-grid-item use-slot>
<view class="detail-box" style="border: none; padding: 0; margin: 0">
<wd-img
radius="10rpx"
:width="'140rpx'"
:height="'140rpx'"
:src="item.icon"
/>
<view class="text-sm text-gray-500 pt-1">
<wd-text <wd-text
size="18rpx" size="18rpx"
:text="item.price" color="gray"
mode="price"
type="error"
prefix="¥"
/>
<wd-text
size="16rpx"
:text="item.line_price" :text="item.line_price"
mode="price" mode="price"
decoration="line-through" decoration="line-through"
@ -164,145 +159,146 @@
/> />
</view> </view>
</view> </view>
</wd-grid-item>
</view>
</wd-grid>
</view>
</wd-card> </wd-card>
</view> </view>
</wd-col> </scroll-view>
<wd-col :span="12"> </view>
<view class="detail-box m-1" style="" @click="more">
<wd-card custom-class="card-content"> <view class="p-2">
<wd-card custom-class="background-none">
<template #title> <template #title>
<view class="title"> <view class="title">
<view>区域特产</view> <view>
<view class="title-tip"> <text class="text-xl text-sm font-size-4">美丽乡村</text>
<text class="ps-2 text-xl text-sm font-size-3 color-gray-500">
美丽乡村风貌展示厅
</text>
</view>
<wd-button type="primary" size="small"> <wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text> <wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button> </wd-button>
</view> </view>
</view>
</template> </template>
</wd-card>
</view>
<view class="pb-2">区特臻品 质纯味美</view> <view class="pe-2 ps-2">
<view style="height: 200rpx"> <view class=" " style="" @click="more">
<wd-card custom-class="card-content">
<view class="relative" style="height: 380rpx">
<wd-img <wd-img
radius="10rpx" radius="10rpx"
:width="'100%'" :width="'100%'"
:height="'100%'" :height="'100%'"
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg" src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/> />
</view>
</wd-card>
</view>
</wd-col>
<wd-col :span="12">
<view class="detail-box m-1" style="" @click="more">
<wd-card custom-class="card-content">
<template #title>
<view class="title">
<view>助农产销</view>
<view class="title-tip">
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
<wd-icon name="arrow-right" size="24rpx" />
</wd-button>
</view>
</view>
</template>
<view class="pb-2">助农兴产 丰产畅销</view>
<view style="height: 200rpx">
<wd-grid :column="2">
<view <view
v-for="item in [ class="m-2 p-2 absolute bottom-0 text-center left-0 right-0 text-white bg-gray-300 bg-opacity-5"
{ style="backdrop-filter: blur(2rpx); border-radius: 10rpx"
name: '助农兴产',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
color: 'green',
price: '320',
line_price: '320',
},
{
name: '助农畅销',
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
]"
> >
<wd-grid-item use-slot> <text class="block font-size-4 text-left">三江区街道</text>
<view class="detail-box" style="border: none; padding: 0; margin: 0"> <text class="block font-size-3 text-left">
<wd-img 因举办古韵悠然的传统民俗文化节热度飙升在这里你能感受到乡村文化的深厚底蕴和无穷魅力
radius="10rpx" </text>
:width="'140rpx'"
:height="'140rpx'"
:src="item.icon"
/>
<view class="pt-2 pb-2 text-center text-black font-size-3">
{{ item.name }}
</view> </view>
</view> </view>
</wd-grid-item>
</view>
</wd-grid>
</view>
</wd-card> </wd-card>
</view> </view>
</wd-col>
</wd-row>
<wd-cell-group custom-class="background-none pe-2 ps-2">
<wd-cell size="large">
<template #title>
<view>
<view class="title">热门发布</view>
</view> </view>
</template>
<view class="custom-text font-size-3 text-gray-500"> <view class="p-2">
查看更多 <scroll-view scroll-x="true" class="scroll-view-container">
<!-- <wd-icon name="arrow-right" size="24rpx" /> -->
</view>
</wd-cell>
</wd-cell-group>
<view class="pe-2 ps-2">
<wd-grid :gutter="10" :column="5" custom-class=" ">
<wd-button <wd-button
v-for="item in [ v-for="item in [
{ {
name: '农产品', name: '农产品',
id: 1, id: 1,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
}, },
{ {
name: '农资供应', name: '农资供应',
id: 2, id: 2,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
}, },
{ {
name: '土地流转', name: '土地流转',
id: 3, id: 3,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
}, },
{ {
name: '技术服务', name: '技术服务',
id: 4, id: 4,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
}, },
{ {
name: '乡村旅游', name: '乡村旅游',
id: 5, id: 5,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
}, },
]" ]"
:type="item.id === currentTab ? 'primary' : 'none'" :type="item.id === currentTab ? 'primary' : 'warning'"
size="small" size="large"
@click="changeTab(item)" @click="changeTab(item)"
:custom-style="`background-image: url('${item.icon}'); background-size: cover;border-radius: 10rpx;`"
> >
{{ item.name }} {{ item.name }}
</wd-button> </wd-button>
</wd-grid> </scroll-view>
</view> </view>
<wd-row class="pe-2 ps-2">
<wd-col :span="12"> <view class="p-2">
<view class="detail-box m-1" style="" @click="goToShop('https://shop.lihaink.cn/')"> <wd-card custom-class="background-none">
<template #title>
<view class="title">
<view>
<text class="text-xl text-sm font-size-4">特产好物</text>
<text class="ps-2 text-xl text-sm font-size-3 color-gray-500">
精选好物不容错过
</text>
</view>
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
</wd-button>
</view>
</template>
</wd-card>
</view>
<view class="p-1">
<wd-row class=" ">
<wd-col
:span="12"
v-for="item in [
{
name: '农产品',
id: 1,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '农资供应',
id: 2,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '土地流转',
id: 3,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '技术服务',
id: 4,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
]"
>
<view class="p-1" style="" @click="goToShop('https://shop.lihaink.cn/')">
<wd-card custom-class="card-content"> <wd-card custom-class="card-content">
<view style="height: 200rpx"> <view style="height: 200rpx">
<wd-img <wd-img
@ -312,19 +308,152 @@
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg" src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/> />
</view> </view>
<view class="pt-2 font-size-4 font-bold">xxx蔬菜基地</view> <view class="ps-2 pt-2 font-size-4 font-bold">xxx蔬菜基地</view>
<view class="pt-2 font-size-3">我们这里的食物很新鲜</view> <view class="ps-2 pt-2 font-size-3">我们这里的食物很新鲜</view>
<view class="pt-2 pb-2"> <view class="ps-2 pt-2 pb-2">
<wd-tag custom-class="space">标签</wd-tag> <view class="text-sm text-gray-500 text-left">
<wd-tag custom-class="space" type="primary">标签</wd-tag> <wd-text size="20rpx" color="red" :text="item.price" mode="price" prefix="¥" />
<wd-tag custom-class="space" type="danger">标签</wd-tag> <wd-text size="20rpx" color="red" text="券后价" mode="text" prefix=" " />
<wd-tag custom-class="space" type="warning">标签</wd-tag> <wd-text
<wd-tag custom-class="space" type="success">标签</wd-tag> size="18rpx"
color="gray"
:text="item.line_price"
mode="price"
decoration="line-through"
prefix="¥"
/>
</view>
</view> </view>
</wd-card> </wd-card>
</view> </view>
</wd-col> </wd-col>
</wd-row> </wd-row>
</view>
<view class="p-2">
<wd-card custom-class="background-none">
<template #title>
<view class="title">
<view>
<text class="text-xl text-sm font-size-4">热门咨询</text>
<text class="ps-2 text-xl text-sm font-size-3 color-gray-500">
热门咨询一键掌握新鲜事
</text>
</view>
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
</wd-button>
</view>
</template>
</wd-card>
</view>
<view class="p-2" style="" @click="more">
<wd-card custom-class="card-content">
<view class="content p-2" style="align-items: normal">
<view style="width: 280rpx; height: 200rpx">
<wd-img
:width="'100%'"
:height="'100%'"
radius="10rpx"
src="https://bpic.588ku.com/back_pic/06/38/31/7363f87dd4223eb.jpg"
alt="joy"
/>
</view>
<view class="ps-2 flex-content-column">
<view class="ps-1 font-size-3 font-bold">零失败手把手教你种出又大又圆的土豆</view>
<view class="p-1 font-size-3" style="align-items: end">
<text class="pe-2 font-size-3">2025-8-23</text>
<wd-tag custom-class="space font-size-3" type="danger" round>建党知识</wd-tag>
</view>
</view>
</view>
</wd-card>
</view>
<view class="p-2">
<wd-card custom-class="background-none">
<template #title>
<view class="title">
<view>
<text class="text-xl text-sm font-size-4">景区旅游</text>
<text class="ps-2 text-xl text-sm font-size-3 color-gray-500">
好玩儿路线一网打尽
</text>
</view>
<wd-button type="primary" size="small">
<wd-text text="更多" color="#ffffff" size="24rpx"></wd-text>
</wd-button>
</view>
</template>
</wd-card>
</view>
<view class="p-1">
<wd-row class=" ">
<wd-col
:span="12"
v-for="item in [
{
name: '农产品',
id: 1,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '农资供应',
id: 2,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '土地流转',
id: 3,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
{
name: '技术服务',
id: 4,
icon: 'https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg',
price: '320',
line_price: '320',
},
]"
>
<view class="p-1" style="" @click="goToShop('https://shop.lihaink.cn/')">
<wd-card custom-class="card-content">
<view style="height: 200rpx">
<wd-img
radius="10rpx"
:width="'100%'"
:height="'100%'"
src="https://img95.699pic.com/photo/50384/2866.jpg_wh860.jpg"
/>
</view>
<view class="ps-2 pt-2 font-size-4 font-bold">xxx蔬菜基地</view>
<view class="ps-2 pt-2 font-size-3">我们这里的食物很新鲜</view>
<view class="ps-2 pt-2 pb-2">
<view class="text-sm text-gray-500 text-left">
<wd-text size="20rpx" color="red" :text="item.price" mode="price" prefix="¥" />
<wd-text size="20rpx" color="red" text="券后价" mode="text" prefix=" " />
<wd-text
size="18rpx"
color="gray"
:text="item.line_price"
mode="price"
decoration="line-through"
prefix="¥"
/>
</view>
</view>
</wd-card>
</view>
</wd-col>
</wd-row>
</view>
<view class="p-1"></view> <view class="p-1"></view>
</view> </view>
@ -332,6 +461,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// import { toLogin } from '@/libs/login.js' // import { toLogin } from '@/libs/login.js'
const currentTab = ref(1) const currentTab = ref(1)
function changeTab(e) { function changeTab(e) {
console.log(e) console.log(e)
@ -357,16 +487,16 @@ function more() {
url: '/pages/index/detail', url: '/pages/index/detail',
}) })
} }
function goToShop(url) { function goToShop() {
// if (this.isLogin) { // if (this.isLogin) {
let urls = 'https://shop.lihaink.cn/'
uni.navigateTo({ uni.navigateTo({
url: `/pages/web_view/index?local_url=${url}&title=区域特产`, url: `/pages/web_view/index?local_url=${urls}&title=区域特产`,
}) })
// } else { // } else {
// this.openAuto() // this.openAuto()
// } // }
} }
// //
function openAuto() { function openAuto() {
toLogin() toLogin()

View File

@ -3,20 +3,21 @@
layout: 'heardbg', layout: 'heardbg',
style: { style: {
navigationBarTitleText: '', navigationBarTitleText: '',
navigationStyle: 'custom',
navigationBarTextStyle: 'white', navigationBarTextStyle: 'white',
}, },
} }
</route> </route>
<!-- navigationStyle: 'custom', -->
<template> <template>
<CustomNavbar :title="title"> <CustomNavbar :title="title">
<template #right> <template #right>
<!-- <wd-icon name="home" @click="handleSearch" /> --> <!-- <wd-icon name="home" @click="handleSearch" /> -->
</template> </template>
</CustomNavbar> </CustomNavbar>
<view class="content"> <!-- <view class="content"> -->
<web-view class="web-view" :webview-styles="webviewStyles" :src="local_url"></web-view> <web-view class="web-view" :webview-styles="webviewStyles" :src="local_url"></web-view>
</view> <!-- </view> -->
</template> </template>
<!-- :style="{ width: windowW + 'px', height: windowH + 'px' }" --> <!-- :style="{ width: windowW + 'px', height: windowH + 'px' }" -->
<script> <script>
@ -76,7 +77,7 @@ export default defineComponent({
.content { .content {
position: relative; position: relative;
width: 100%; width: 100%;
height: calc(100vh - 44px); /* 占满整个视口高度并减去导航栏的高度 */ /* height: calc(100vh - 44px); */
overflow: hidden; /* 移除滚动条 */ overflow: hidden; /* 移除滚动条 */
} }

BIN
src/static/images/1-001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/static/images/1-002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/static/images/2-001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/static/images/2-002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/static/images/3-001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/static/images/3-002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/static/images/4-001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/static/images/4-002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
src/static/images/5-001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
src/static/images/5-002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -27,10 +27,15 @@ page {
--wot-card-margin: 0 var(--wot-size-side-padding, 20rpx); //card 统一边距 --wot-card-margin: 0 var(--wot-size-side-padding, 20rpx); //card 统一边距
--wot-size-side-padding: 0px; //统一去边距
--wot-grid-item-padding: 0px;
// background-color: var(--wot-grid-item-bg, var(--wot-color-white, rgb(255, 255, 255))); // background-color: var(--wot-grid-item-bg, var(--wot-color-white, rgb(255, 255, 255)));
// --wot-segmented-item-bg-color: #70CD6AFF; //wd-segmentedb 背景颜色 // --wot-segmented-item-bg-color: #70CD6AFF; //wd-segmentedb 背景颜色
} }
.wd-card {
margin-bottom: 0px !important;
}
.wd-search { .wd-search {
background-color: transparent !important; background-color: transparent !important;
} }
@ -46,8 +51,8 @@ page {
.scroll-view-container { .scroll-view-container {
white-space: nowrap; // 防止内容换行 white-space: nowrap; // 防止内容换行
padding: 20rpx; // padding: 20rpx;
height: 80rpx; height: auto;
overflow-x: auto; // 允许水平滚动 overflow-x: auto; // 允许水平滚动
.wd-button { .wd-button {
margin-right: 20rpx !important; // 添加间距以防止按钮粘连 margin-right: 20rpx !important; // 添加间距以防止按钮粘连
@ -64,6 +69,7 @@ page {
.background-none { .background-none {
--wot-color-white: rgba(0, 0, 0, 0) !important; --wot-color-white: rgba(0, 0, 0, 0) !important;
background: rgba(0, 0, 0, 0) !important; background: rgba(0, 0, 0, 0) !important;
box-shadow: none !important;
} }
// .wd-grid-item__content { // .wd-grid-item__content {
// padding: 0px !important; // padding: 0px !important;