feat: 大学甄别

master
xjs 2025-03-12 16:18:13 +08:00
parent d1f2b31260
commit bc778e01cd
33 changed files with 529 additions and 476 deletions

View File

@ -79,8 +79,7 @@ export default defineManifestConfig({
},
},
},
/* 快应用特有相关 */
quickapp: {},
/* 小程序特有相关 */
'mp-weixin': {
appid: VITE_WX_APPID,
@ -91,21 +90,9 @@ export default defineManifestConfig({
optimization: {
subPackages: true,
},
requiredPrivateInfos: ['getLocation'],
// __usePrivacyCheck__: true,
},
'mp-alipay': {
usingComponents: true,
styleIsolation: 'shared',
setting: {
minified: true,
},
},
'mp-baidu': {
usingComponents: true,
},
'mp-toutiao': {
usingComponents: true,
},
uniStatistics: {
enable: false,
},

View File

@ -88,20 +88,10 @@
},
"dependencies": {
"@dcloudio/uni-app": "3.0.0-4020920240930001",
"@dcloudio/uni-app-harmony": "3.0.0-4020920240930001",
"@dcloudio/uni-app-plus": "3.0.0-4020920240930001",
"@dcloudio/uni-components": "3.0.0-4020920240930001",
"@dcloudio/uni-h5": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-alipay": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-baidu": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-jd": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-kuaishou": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-lark": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-qq": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-toutiao": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-weixin": "3.0.0-4020920240930001",
"@dcloudio/uni-mp-xhs": "3.0.0-4020920240930001",
"@dcloudio/uni-quickapp-webview": "3.0.0-4020920240930001",
"@tanstack/vue-query": "^5.62.16",
"abortcontroller-polyfill": "^1.7.8",
"dayjs": "1.11.10",
@ -171,5 +161,8 @@
"vite": "5.2.8",
"vite-plugin-restart": "^0.4.2",
"vue-tsc": "^1.8.27"
},
"minimize": {
"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch --minimize"
}
}

View File

@ -78,4 +78,9 @@ export default defineUniPages({
},
],
},
permission: {
'scope.userLocation': {
desc: '你的位置信息将用于小程序位置接口的效果展示', // 高速公路行驶持续后台定位
},
},
})

View File

@ -14,9 +14,6 @@ importers:
'@dcloudio/uni-app':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-app-harmony':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-app-plus':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
@ -26,36 +23,9 @@ importers:
'@dcloudio/uni-h5':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-alipay':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-baidu':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-jd':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-kuaishou':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-lark':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-qq':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-toutiao':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-weixin':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-xhs':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-quickapp-webview':
specifier: 3.0.0-4020920240930001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@tanstack/vue-query':
specifier: ^5.62.16
version: 5.62.16(vue@3.4.21(typescript@5.7.2))
@ -66,11 +36,11 @@ importers:
specifier: 1.11.10
version: 1.11.10
pinia:
specifier: ^3.0.1
version: 3.0.1(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))
specifier: 2.0.36
version: 2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))
pinia-plugin-persistedstate:
specifier: 3.2.1
version: 3.2.1(pinia@3.0.1(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2)))
version: 3.2.1(pinia@2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2)))
pinyin-pro:
specifier: ^3.26.0
version: 3.26.0
@ -959,9 +929,6 @@ packages:
'@dcloudio/types@3.4.14':
resolution: {integrity: sha512-VolQeZfTh8pQFsr2IlfIVX93blfvGTuBoJuZUc7iWOqtHV8gDrq6fXLhzsVlgZyuhhRZLOxlo33rkEqnY+ucAw==}
'@dcloudio/uni-app-harmony@3.0.0-4020920240930001':
resolution: {integrity: sha512-YHAJSX1DCaLTr7MDc4mOJ/0JfECn2YS9b5EvMyl5WUy8CIDSupOxFpygnpcUHTlyExdQOivp35TerYfLa0BDew==}
'@dcloudio/uni-app-plus@3.0.0-4020920240930001':
resolution: {integrity: sha512-0MQx5lAZ+y8E5/jjkjSfpyZvhUNaqRZbcD7u+cragHjE17PndQo+h7wmyGYgzGQYmuikiD8CX+o+NtTo4Z/TiA==}
@ -1007,30 +974,9 @@ packages:
'@dcloudio/uni-i18n@3.0.0-4020920240930001':
resolution: {integrity: sha512-ltKiciML0ptWRytvbFt1dd4YglEjh4fsUc0D/dY+y5YKNxK7h/V2HT3qkQtP05T1kjEput4KrWNn23fczO3YFg==}
'@dcloudio/uni-mp-alipay@3.0.0-4020920240930001':
resolution: {integrity: sha512-52XHUPmZixd8TZQ9BKrme139Uq5wfYy6DjMdeSQRJ9DJRtVe4WsWxgJ6DoKdPJLtiG1OSljmZOjU5V35WuhsWA==}
'@dcloudio/uni-mp-baidu@3.0.0-4020920240930001':
resolution: {integrity: sha512-2MyZYMQdiU3Xog/f/HdRZLoQk5uVPICfysfnxirjdd4O/umhsRkdwMjq092mmmmkSEdTQIlwiQGK+8d3snLofQ==}
'@dcloudio/uni-mp-compiler@3.0.0-4020920240930001':
resolution: {integrity: sha512-ngbbKTDWCzE8j3Xf5ezBRdV4NiXPTIS9GylIvL1quJVjcWEwbfoSvROTCBxLv+i8unu5+UbtRa1+KdsrUKtFOQ==}
'@dcloudio/uni-mp-jd@3.0.0-4020920240930001':
resolution: {integrity: sha512-L9WncaToo27wZcmLbFFZGkIo7iBKEk53bOy6fntUhECPJe0076q2KUnWyFF8Mq9euOz9KESazBo8u6PyoZkwuA==}
'@dcloudio/uni-mp-kuaishou@3.0.0-4020920240930001':
resolution: {integrity: sha512-y8xmnGZX1cjgx5A3V0g43+0LrNrafb6J7NjdYjjzvlelTalAICofMMxOB/TMY4kIvAcAO8pTrvJ8gsxQTj3Law==}
'@dcloudio/uni-mp-lark@3.0.0-4020920240930001':
resolution: {integrity: sha512-6siEc/tbZLGh3DDZin+3hEWtncUs+Nk6ttEsZgIyNwX+SPTf2pFDj23dZAq3h/Lc89EvIgSjyFOuKJ1yivrLdg==}
'@dcloudio/uni-mp-qq@3.0.0-4020920240930001':
resolution: {integrity: sha512-TD4HUZiXa/3pjhRFJo0uMygMCZZk09pbzmR9FPU/kMQk3pxfgrMrMAY3To9boMULKNJenT1pIVy/QxEXiTyH1Q==}
'@dcloudio/uni-mp-toutiao@3.0.0-4020920240930001':
resolution: {integrity: sha512-eo0a+cwY9mgs/DxMplKpqTyIJmJUJpPr/hT2DPsqnPA8OXAbIKbhJBZbwC2z/EJDduOhzNpCkliHhv4Ahks2vQ==}
'@dcloudio/uni-mp-vite@3.0.0-4020920240930001':
resolution: {integrity: sha512-awTd9X+yZ67shjBVxZ02bJ5ImU4/mODprz2lmYHA19RjjhzfNrDsIYBWAtfWMZ2WP5z1OL7WnZNiwPHWiuh9mQ==}
@ -1040,18 +986,12 @@ packages:
'@dcloudio/uni-mp-weixin@3.0.0-4020920240930001':
resolution: {integrity: sha512-ip/OtXFLlnkztxOXMXPsjktp9rSo+c1OxlCase32xBVn+Jt0GyIFiA6Js9icz5uwIXtt14jWi4mRXfjncUV7QA==}
'@dcloudio/uni-mp-xhs@3.0.0-4020920240930001':
resolution: {integrity: sha512-4+3qaWsqfbIentMmFCSUdf7ngpQXqt/2k/TqT6+6985tfzXUKoi0YrGwnZbf5e6b6RVDMuLMsokm2z7kfSXdXw==}
'@dcloudio/uni-nvue-styler@3.0.0-4020920240930001':
resolution: {integrity: sha512-bmMJKf4FoSQy6PfTfojOeskcc1239V38B3dtG/zFFll7pzBAVi68xYvgF9KgYDBkztTM0PmAukyVNRl1VAFOww==}
'@dcloudio/uni-push@3.0.0-4020920240930001':
resolution: {integrity: sha512-AL03ysBAi8d/VBQ0/UG0EqcC0Fiohb/pkzR88kNLxIn3VouMje3pw3h++zH5Oa/DppP4M47TTMDoGlcAqBpqrg==}
'@dcloudio/uni-quickapp-webview@3.0.0-4020920240930001':
resolution: {integrity: sha512-P0G/u/DSJyEw+Txnpxbg8fMOJE1nNcRLwdTCWe43KefPBQRiRVo4n/tWWxBgV+tnbryqolPivkxLsLDfi358+w==}
'@dcloudio/uni-shared@3.0.0-4020920240930001':
resolution: {integrity: sha512-8EEQAaY+Y9BRCZIqpoaI7ciQFTO/sggxPO1kJNVAkxvJs/GVb4mawPlW9UNsMiWEqRvOJlV7KldCu6eMYlyyfg==}
@ -2109,15 +2049,6 @@ packages:
'@vue/devtools-api@6.6.4':
resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
'@vue/devtools-api@7.7.2':
resolution: {integrity: sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==}
'@vue/devtools-kit@7.7.2':
resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==}
'@vue/devtools-shared@7.7.2':
resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==}
'@vue/language-core@1.8.27':
resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
peerDependencies:
@ -2433,9 +2364,6 @@ packages:
bing-translate-api@4.0.2:
resolution: {integrity: sha512-JJ8XUehnxzOhHU91oy86xEtp8OOMjVEjCZJX042fKxoO19NNvxJ5omeCcxQNFoPbDqVpBJwqiGVquL0oPdQm1Q==}
birpc@0.2.19:
resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
bluebird@3.7.2:
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
@ -2731,10 +2659,6 @@ packages:
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
engines: {node: '>= 0.6'}
copy-anything@3.0.5:
resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
engines: {node: '>=12.13'}
copy-descriptor@0.1.1:
resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
engines: {node: '>=0.10.0'}
@ -3784,9 +3708,6 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
@ -4174,10 +4095,6 @@ packages:
resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
engines: {node: '>= 0.4'}
is-what@4.1.16:
resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
engines: {node: '>=12.13'}
is-windows@1.0.2:
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
engines: {node: '>=0.10.0'}
@ -4797,9 +4714,6 @@ packages:
mitt@1.1.2:
resolution: {integrity: sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==}
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
mixin-deep@1.3.2:
resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
engines: {node: '>=0.10.0'}
@ -5176,12 +5090,15 @@ packages:
peerDependencies:
pinia: ^2.0.0
pinia@3.0.1:
resolution: {integrity: sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==}
pinia@2.0.36:
resolution: {integrity: sha512-4UKApwjlmJH+VuHKgA+zQMddcCb3ezYnyewQ9NVrsDqZ/j9dMv5+rh+1r48whKNdpFkZAWVxhBp5ewYaYX9JcQ==}
peerDependencies:
'@vue/composition-api': ^1.4.0
typescript: '>=4.4.4'
vue: ^2.7.0 || ^3.5.11
vue: ^2.6.14 || ^3.2.0
peerDependenciesMeta:
'@vue/composition-api':
optional: true
typescript:
optional: true
@ -5818,10 +5735,6 @@ packages:
spdx-license-ids@3.0.20:
resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
speakingurl@14.0.1:
resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
engines: {node: '>=0.10.0'}
split-string@3.1.0:
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
engines: {node: '>=0.10.0'}
@ -6000,10 +5913,6 @@ packages:
engines: {node: '>=18.12.0'}
hasBin: true
superjson@2.2.2:
resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
engines: {node: '>=16'}
supports-color@2.0.0:
resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
engines: {node: '>=0.8.0'}
@ -7593,23 +7502,6 @@ snapshots:
'@dcloudio/types@3.4.14': {}
'@dcloudio/uni-app-harmony@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-app-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
debug: 4.3.7
fs-extra: 10.1.0
licia: 1.46.0
postcss-selector-parser: 6.1.2
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vite
- vue
'@dcloudio/uni-app-plus@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-app-uts': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
@ -7875,50 +7767,6 @@ snapshots:
'@dcloudio/uni-i18n@3.0.0-4020920240930001': {}
'@dcloudio/uni-mp-alipay@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-mp-baidu@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21
jimp: 0.10.3
licia: 1.46.0
qrcode-reader: 1.0.4
qrcode-terminal: 0.12.0
ws: 8.18.0
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- bufferutil
- debug
- postcss
- rollup
- supports-color
- ts-node
- utf-8-validate
- vue
'@dcloudio/uni-mp-compiler@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@babel/generator': 7.26.2
@ -7939,99 +7787,6 @@ snapshots:
- ts-node
- vue
'@dcloudio/uni-mp-jd@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/shared': 3.4.21
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-mp-kuaishou@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- bufferutil
- debug
- postcss
- rollup
- supports-color
- ts-node
- utf-8-validate
- vue
'@dcloudio/uni-mp-lark@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-toutiao': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-mp-qq@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/shared': 3.4.21
fs-extra: 10.1.0
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-mp-toutiao@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-mp-vite@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
@ -8080,23 +7835,6 @@ snapshots:
- utf-8-validate
- vue
'@dcloudio/uni-mp-xhs@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/shared': 3.4.21
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-nvue-styler@3.0.0-4020920240930001':
dependencies:
parse-css-font: 4.0.0
@ -8114,22 +7852,6 @@ snapshots:
- ts-node
- vue
'@dcloudio/uni-quickapp-webview@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001
'@dcloudio/uni-shared': 3.0.0-4020920240930001
'@vue/shared': 3.4.21
transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-shared@3.0.0-4020920240930001':
dependencies:
'@vue/shared': 3.4.21
@ -9531,24 +9253,6 @@ snapshots:
'@vue/devtools-api@6.6.4': {}
'@vue/devtools-api@7.7.2':
dependencies:
'@vue/devtools-kit': 7.7.2
'@vue/devtools-kit@7.7.2':
dependencies:
'@vue/devtools-shared': 7.7.2
birpc: 0.2.19
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
speakingurl: 14.0.1
superjson: 2.2.2
'@vue/devtools-shared@7.7.2':
dependencies:
rfdc: 1.4.1
'@vue/language-core@1.8.27(typescript@5.7.2)':
dependencies:
'@volar/language-core': 1.11.1
@ -9918,8 +9622,6 @@ snapshots:
dependencies:
got: 11.8.6
birpc@0.2.19: {}
bluebird@3.7.2: {}
bmp-js@0.1.0: {}
@ -10252,10 +9954,6 @@ snapshots:
cookie@0.7.1: {}
copy-anything@3.0.5:
dependencies:
is-what: 4.1.16
copy-descriptor@0.1.1: {}
core-js-compat@3.39.0:
@ -11528,8 +11226,6 @@ snapshots:
he@1.2.0: {}
hookable@5.5.3: {}
hosted-git-info@2.8.9: {}
hosted-git-info@4.1.0:
@ -11894,8 +11590,6 @@ snapshots:
call-bind: 1.0.7
get-intrinsic: 1.2.4
is-what@4.1.16: {}
is-windows@1.0.2: {}
is-wsl@2.2.0:
@ -12732,8 +12426,6 @@ snapshots:
mitt@1.1.2: {}
mitt@3.0.1: {}
mixin-deep@1.3.2:
dependencies:
for-in: 1.0.2
@ -13141,14 +12833,15 @@ snapshots:
pify@2.3.0: {}
pinia-plugin-persistedstate@3.2.1(pinia@3.0.1(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))):
pinia-plugin-persistedstate@3.2.1(pinia@2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))):
dependencies:
pinia: 3.0.1(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))
pinia: 2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2))
pinia@3.0.1(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2)):
pinia@2.0.36(typescript@5.7.2)(vue@3.4.21(typescript@5.7.2)):
dependencies:
'@vue/devtools-api': 7.7.2
'@vue/devtools-api': 6.6.4
vue: 3.4.21(typescript@5.7.2)
vue-demi: 0.14.10(vue@3.4.21(typescript@5.7.2))
optionalDependencies:
typescript: 5.7.2
@ -13858,8 +13551,6 @@ snapshots:
spdx-license-ids@3.0.20: {}
speakingurl@14.0.1: {}
split-string@3.1.0:
dependencies:
extend-shallow: 3.0.2
@ -14085,10 +13776,6 @@ snapshots:
- supports-color
- typescript
superjson@2.2.2:
dependencies:
copy-anything: 3.0.5
supports-color@2.0.0: {}
supports-color@3.2.3:

View File

@ -58,7 +58,7 @@ const subMenus = [
{
id: 7,
name: '专业测评',
path: '/pages-sub/home/evaluation/index',
path: '/pages/evaluation/index/index',
icon: '/static/images/home/evaluation.svg',
},
//

View File

@ -62,14 +62,13 @@
"usingComponents": true,
"optimization": {
"subPackages": true
}
},
"requiredPrivateInfos": [
"getLocation"
]
},
"mp-alipay": {
"usingComponents": true,
"styleIsolation": "shared",
"setting": {
"minified": true
}
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true

View File

@ -4,12 +4,6 @@
style: {
navigationStyle: 'custom',
},
usingComponents: {
LEchart: '../uni_modules/lime-echart/components/l-echart/l-echart',
},
componentPlaceholder: {
LEchart: 'view',
},
}
</route>
@ -85,15 +79,15 @@
<view class="flex flex-col mt-[22rpx]">
<view class="text-[24rpx] text-[#636363]">
位次区间:
<text class="text-[#1580FF]">21559-22548</text>
<text class="text-[#1580FF]">{{ betweenRanks.scoreRange }}</text>
</view>
<view class="text-[24rpx] text-[#636363]">
建议位次:
<text class="text-[#1580FF]">22204</text>
<text class="text-[#1580FF]">{{ betweenRanks.ranges }}</text>
</view>
<view class="text-[24rpx] text-[#636363]">
同分人数:
<text class="text-[#1580FF]">690</text>
<text class="text-[#1580FF]">{{ betweenRanks.ranges }}</text>
</view>
</view>
</view>
@ -128,8 +122,8 @@ import DropMenuItem from '@/pages-evaluation-sub/components/drop-menu/DropMenuIt
import Region from './components/Region.vue'
import UniType from './components/UniType.vue'
import CheckGroup from '@/pages-evaluation-sub/components/check-group/CheckGroup.vue'
import LEchart from '@/pages-evaluation-sub/uni_modules/lime-echart/components/l-echart/l-echart.vue'
// import lEchart from '@/pages-evaluation-sub/uni_modules/lime-echart/components/l-echart/l-echart.vue'
const echarts = require('../uni_modules/lime-echart/static/echarts.min')
import { getScoreSection } from '@/service/index/api'
@ -184,12 +178,22 @@ const handleUniTypeChange = (val) => {
const betweenScores = ref('')
const noData = ref(false)
const betweenRanks = ref({
currentCount: 0,
ranges: '',
scoreRange: '',
})
const getScoreSectionData = () => {
getScoreSection(searchParams.value).then((resp) => {
if (resp.code === 200) {
const _result = resp.result as {
betweenScores: string
betwenRanks: {
currentCount: number
ranges: ''
scoreRange: ''
}
list: {
type: number
score: number
@ -203,6 +207,7 @@ const getScoreSectionData = () => {
checkYearList.value = _result.configList.yearList
betweenScores.value = _result.betweenScores
noData.value = _result.list.length === 0
betweenRanks.value = _result.betwenRanks
if (!noData.value) {
const xAxisData = _result.list.map((item) => item.score)
@ -212,7 +217,6 @@ const getScoreSectionData = () => {
const currentCount = _result.list.filter(
(item) => item.score === Number(searchParams.value.Score),
)[0].currentCount
console.log(echart.value, echarts)
initRankAreaEchart({
echart,

View File

@ -0,0 +1,97 @@
<template>
<view>
<view
class="action-sheet-mask"
:class="{ 'action-sheet-mask-show': show }"
@click="handleClose"
@touchmove.prevent
></view>
<view class="action-sheet pb-safe" :class="{ 'action-sheet-show': show }" @touchmove.prevent>
<view class="action-sheet-header" v-if="title">
<text class="action-sheet-title">{{ title }}</text>
</view>
<view class="action-sheet-content">
<slot></slot>
</view>
<view class="action-sheet-footer" v-if="$slots.footer">
<slot name="footer"></slot>
</view>
</view>
</view>
</template>
<script lang="ts" setup>
defineProps<{
show: boolean
title?: string
}>()
const emit = defineEmits<{
(e: 'update:show', value: boolean): void
}>()
const handleClose = () => {
emit('update:show', false)
}
</script>
<style lang="scss" scoped>
.action-sheet-mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
&-show {
opacity: 1;
visibility: visible;
}
}
.action-sheet {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #fff;
transform: translateY(100%);
transition: all 0.3s ease;
z-index: 1000;
border-radius: 24rpx 24rpx 0 0;
&-show {
transform: translateY(0);
}
&-header {
padding: 24rpx 32rpx;
text-align: center;
position: relative;
border-bottom: 2rpx solid #f5f5f5;
}
&-title {
font-size: 32rpx;
font-weight: 500;
color: #333;
}
&-content {
max-height: 75vh;
overflow-y: auto;
min-height: 500rpx;
}
&-footer {
padding: 24rpx 32rpx;
border-top: 2rpx solid #f5f5f5;
box-shadow: 0rpx -8rpx 8rpx 0rpx rgba(225, 225, 225, 0.2);
}
}
</style>

View File

@ -0,0 +1,56 @@
<template>
<view
class="overlay"
:class="{ 'overlay-show': show }"
:style="{
'background-color': backgroundColor,
'z-index': zIndex,
}"
@click="handleClick"
@touchmove.prevent
>
<slot></slot>
</view>
</template>
<script lang="ts" setup>
withDefaults(
defineProps<{
show: boolean
backgroundColor?: string
zIndex?: number
lockScroll?: boolean
}>(),
{
backgroundColor: 'rgba(0, 0, 0, 0.7)',
zIndex: 1000,
lockScroll: true,
},
)
const emit = defineEmits<{
(e: 'click'): void
}>()
const handleClick = (event: Event) => {
emit('click')
}
</script>
<style lang="scss" scoped>
.overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
&-show {
opacity: 1;
visibility: visible;
}
}
</style>

View File

@ -0,0 +1,41 @@
<template>
<view
class="flex items-center rounded-[48rpx] bg-[#F7F7F7]! px-[24rpx] py-[12rpx] w-[350rpx] ml-[32rpx]"
>
<view class="i-carbon-search text-[#d9d9d9]"></view>
<input
v-model="searchValue"
type="number"
:placeholder="placeholder"
confirm-type="done"
class="text-start ml-20rpx"
@confirm="handleConfirm"
/>
</view>
</template>
<script setup lang="ts">
const props = defineProps({
placeholder: {
type: String,
default: '',
},
value: {
type: String,
default: '',
},
})
const emit = defineEmits(['update:value', 'confirm'])
const searchValue = computed({
get() {
return props.value
},
set(value) {
emit('update:value', value)
},
})
const handleConfirm = (e) => {
emit('confirm', e.detail.value)
}
</script>

View File

@ -188,14 +188,7 @@ const handleClickLeft = () => {
height: 100%;
}
@font-face {
font-family: 'iconfont';
src: url('data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAAKYAAsAAAAABlAAAAJMAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACCcApcdgE2AiQDCAsGAAQgBYRnBzYbmQXIHpIkBQQKkYCABBEPz2/t/XN3twEbowBkQTxQEQ1RKaKSxEOi0agkJKF5Qvj/f037IFKwlZ2dWU2tJu0EhPwHkBwgOVAclKcvAQpI/v/fz/08XECy+YBymmPQiwIcSmhAY4uSFcgJ+IaxC1zCYwLtRjWSnZ2rGgQWBowLxCPrVBBYllQqNTQ0VISaBXEHtTRNUwW4jb4f/xYEC0kqMzDx6CGrQuKXxKc6Zf7POYQgQHs5kIwjYwEoxK3G/DpRwbi0dlNwKKjAL4lf6vw/R2zVWvTPIwuiCnp2wCRUZ3yJX5pJFVDfByyAFR2AblMAX/OR3t7+zOJi8GyyfzC1uQXLZvtnk/0zyfTy+PvH0/Xp5OzR98/H797/+/fDu3d/3739+/fd+/+nmxvLc5vrS+sry2vz84tLs9Mzc4vzs9NTM/Ozc1OzM3MzU/Mz0wvTU4vTk0tTE8uTEyuT4yv/G0E3XUxv7wwNbu/s9G8fbO9v7+3sb+3ubW4dbO4dbO3vbu4dbO3JzqPFtRE4gEGAX0NBkL+hpCZALkEp5FKUQqE0NHlXJIGrDNAOcEQBCHU+kXT5QNblC7kEv1EK9Y9SB/8o7YYu2m0YXrJLouNIjQJhH+QbVkVZrUQ+YuqzUJdzxPMHhdIj0+hg4o0D8ogj5r5bSoQUxjADz+A8hBDQFEYwh3mommXTul7Vm5ZtqAqJHIdoKCDYDyQ3mCqUG1YKn5+C0s0yiJ/qKVAQedKAhg6Y3mEHJBQaWKnvLVMiiEIxGAY8Aw6HIAhAJmEIzIIOUjLTTAB1taL1QvNq+fYN7QDjcc2okeioaOmy5LFXt3QAAAAA')
format('woff2');
}
.back-text {
font-family: 'iconfont' !important;
font-size: 48rpx;
font-style: normal;
-webkit-font-smoothing: antialiased;

View File

@ -1,6 +1,6 @@
<template>
<view style="display: none">
<!-- 这是一个虚拟组件不需要实际渲染内容 -->
<view v-if="slot.default">
<slot></slot>
</view>
</template>
@ -16,6 +16,7 @@ const props = defineProps<{
}>()
const { addColumn } = useTableInject()
const slot = useSlots()
onMounted(() => {
addColumn({
@ -23,6 +24,7 @@ onMounted(() => {
label: props.label,
width: props.width,
align: props.align,
slot: slot,
})
})
</script>

View File

@ -5,6 +5,7 @@ export type Column = {
label: string
width?: string
align?: 'left' | 'center' | 'right'
slot?: any
}
type TableContext = {

View File

@ -30,6 +30,7 @@ import { useCityStore } from '@/store/city'
import { useUserStore } from '@/store/user'
import { City } from '@/types/app-type'
import Navbar from '@/pages-sub/components/navbar/Navbar.vue'
import { getUserCity } from '@/service/index/api'
const cityStore = useCityStore()
const userStore = useUserStore()
@ -50,6 +51,28 @@ const chooseCity = (city: City) => {
}
navigatorBack()
}
const getUserLocation = () => {
uni.getLocation({
type: 'wgs84',
success: (res) => {
const { latitude, longitude } = res
console.log('当前位置的经度:' + res.longitude)
console.log('当前位置的纬度:' + res.latitude)
},
fail: () => {
uni.showToast({
title: '获取位置权限失败',
icon: 'none',
})
},
})
}
//
onMounted(() => {
getUserLocation()
})
</script>
<style lang="scss">

View File

@ -29,7 +29,7 @@
</WXXTable>
</scroll-view>
<wd-action-sheet v-model="show" title="">
<ActionSheet v-model:show="show" title="">
<view class="px-[32rpx]">
<CustomPickerView :list="pickList" v-model:modelValue="pickValue" />
</view>
@ -37,7 +37,7 @@
<view class="cancel-btn" @click="show = false">取消</view>
<view class="submit-btn" @click="handleConfirm"></view>
</view>
</wd-action-sheet>
</ActionSheet>
</view>
</template>
@ -47,6 +47,7 @@ import WXXTableCol from '@/pages-sub/components/table/TableCol.vue'
import { getAdmissionMark } from '@/service/index/api'
import { useUserStore } from '@/store'
import CustomPickerView from '@/pages-sub/components/CustomPickerView.vue'
import ActionSheet from '@/pages-sub/components/ActionSheet.vue'
const props = defineProps({
id: {

View File

@ -30,15 +30,17 @@
</WXXTable>
</scroll-view>
<wd-action-sheet v-model="show" title="">
<ActionSheet v-model:show="show" title="">
<view class="px-[32rpx]">
<CustomPickerView :list="pickList" v-model:modelValue="pickValue" />
</view>
<view class="flex items-center justify-between px-[32rpx]">
<view class="cancel-btn" @click="show = false">取消</view>
<view class="submit-btn" @click="handleConfirm"></view>
</view>
</wd-action-sheet>
<template #footer>
<view class="flex items-center justify-between px-[32rpx]">
<view class="cancel-btn" @click="show = false">取消</view>
<view class="submit-btn" @click="handleConfirm"></view>
</view>
</template>
</ActionSheet>
</view>
</template>
@ -47,6 +49,7 @@ import WXXTable from '@/pages-sub/components/table/Table.vue'
import WXXTableCol from '@/pages-sub/components/table/TableCol.vue'
import { getPlanProList } from '@/service/index/api'
import CustomPickerView from '@/pages-sub/components/CustomPickerView.vue'
import ActionSheet from '@/pages-sub/components/ActionSheet.vue'
import { useUserStore } from '@/store'
const props = defineProps({

View File

@ -28,7 +28,7 @@
</WXXTable>
</scroll-view>
<wd-action-sheet v-model="show" title="">
<ActionSheet v-model:show="show" title="">
<view class="px-[32rpx]">
<CustomPickerView :list="pickList" v-model:modelValue="pickValue" v-if="pickType === 1" />
</view>
@ -46,7 +46,7 @@
<view class="cancel-btn" @click="show = false">取消</view>
<view class="submit-btn" @click="handleConfirm"></view>
</view>
</wd-action-sheet>
</ActionSheet>
</view>
</template>
@ -57,6 +57,7 @@ import { getPlanProList } from '@/service/index/api'
import { useUserStore } from '@/store'
import Region from '@/pages-sub/home/components/Region.vue'
import CustomPickerView from '@/pages-sub/components/CustomPickerView.vue'
import ActionSheet from '@/pages-sub/components/ActionSheet.vue'
const props = defineProps({
id: {

View File

@ -25,17 +25,13 @@
:bordered="false"
left-arrow
@click-left="navigatorBack"
contentClass="justify-start"
>
<template #title>
<wd-input
type="text"
v-model="searchValue"
placeholder="院校名称"
<SearchInput
v-model:value="searchValue"
@confirm="handleChange"
no-border
prefixIcon="search"
custom-class="rounded-[48rpx] bg-[#F7F7F7]! flex items-center border-none! px-[24rpx] py-[12rpx]"
custom-input-class="h-full flex items-center"
placeholder="院校名称"
/>
</template>
</Navbar>
@ -97,6 +93,8 @@ import Region from '@/pages-sub/home/components/Region.vue'
import UniType from '@/pages-sub/home/components/UniType.vue'
import Nature from '@/pages-sub/home/components/Nature.vue'
import Navbar from '@/pages-sub/components/navbar/Navbar.vue'
import SearchInput from '@/pages-sub/components/input/SearchInput.vue'
import { getUniversityList } from '@/service/index/api'
const searchValue = ref('')

View File

@ -1,6 +1,6 @@
<template>
<wd-action-sheet
v-model="localShow"
<ActionSheet
v-model:show="localShow"
title="筛选"
@close="close"
custom-header-class="text-[36rpx]! text-[#303030]! font-medium!"
@ -55,6 +55,7 @@
<button
plain
class="border-[#f5f5f5]! flex-auto bg-[#f5f5f5]! rounded-[8rpx]! text-[#1580FF]! text-[32rpx]! font-normal! mr-[22rpx]"
@click="close"
>
清空
</button>
@ -66,7 +67,7 @@
</view>
</view>
</view>
</wd-action-sheet>
</ActionSheet>
</template>
<script lang="ts" setup>
@ -74,6 +75,7 @@ import Phase from './Phase.vue'
import Region from './Region.vue'
import UniType from './UniType.vue'
import Nature from './Nature.vue'
import ActionSheet from '@/pages-sub/components/ActionSheet.vue'
const props = defineProps({
show: {

View File

@ -1,5 +1,5 @@
<template>
<wd-overlay :show="show">
<Overlay :show="show">
<view class="w-[90%] bg-white wrapper flex flex-col rounded-[16rpx]">
<view class="relative flex items-center w-full justify-center py-[26rpx] title">
<text class="text-[36rpx] text-[#303030] font-bold text-center">
@ -15,10 +15,12 @@
<slot></slot>
</view>
</view>
</wd-overlay>
</Overlay>
</template>
<script setup lang="ts">
import Overlay from '@/pages-sub/components/Overlay.vue'
defineProps({
show: {
type: Boolean,

View File

@ -5,6 +5,7 @@
:default-value="defaultInfo"
value-key="id"
label-key="name"
v-bind="$attrs"
/>
</template>

View File

@ -5,6 +5,7 @@
:default-value="defaultInfo"
value-key="id"
label-key="name"
v-bind="$attrs"
/>
</template>

View File

@ -1,5 +1,138 @@
<!-- 大学甄别 -->
<template></template>
<route lang="json5" type="page">
{
layout: 'page',
style: {
navigationStyle: 'custom',
},
}
</route>
<script lang="ts" setup></script>
<template>
<view class="h-screen flex flex-col">
<view class="relative">
<Navbar
safeAreaInsetTop
bg-color="transparent"
:bordered="false"
left-arrow
title="大学甄别"
@click-left="navigatorBack"
/>
<view class="custom-background h-[200rpx] w-full absolute top-0 left-0 z-[-1]"></view>
</view>
<view
@click="handleShow"
class="px-[24rpx] py-[8rpx] bg-[#f8f8f8] rounded-[8rpx] flex justify-between items-center text-[24rpx] w-max mx-[32rpx] mt-[40rpx]"
>
{{ searchParams.locationName || '请选择省份' }}
<view class="i-carbon-chevron-down"></view>
</view>
<view class="flex flex-col px-[32rpx]">
<view class="flex items-center justify-between input-wrapper-class">
<input
v-model="searchParams.collegeName"
placeholder="请输入院校名称"
confirm-type="done"
class="flex-auto"
/>
<view class="text-[#1580FF] text-[24rpx] search-text" @click="handleConfirm"></view>
</view>
</view>
<view class="h-[16rpx] bg-[#F8F8F8] my-[40rpx]"></view>
<scroll-view scroll-y class="flex flex-col flex-1 pb-safe px-[32rpx] w-auto">
<WXXTable :data="tableData">
<WXXTableCol prop="universityName" label="院校名称" width="37%">123</WXXTableCol>
<WXXTableCol prop="locationName" label="办学地点" width="35%"></WXXTableCol>
<WXXTableCol prop="type" label="院校鉴别" width="28%"></WXXTableCol>
</WXXTable>
</scroll-view>
<ActionSheet v-model:show="show" title="">
<template>
<view class="py-[32rpx] flex flex-col items-center justify-center">
<text class="text-[#303030] text-[36rpx] font-bold mb-[18rpx]">省份</text>
<Region
@change="handleRegionChangeCode"
@change-name="handleRegionChangeName"
:defaultValue="searchParams.locationCode ? [searchParams.locationCode] : []"
:max="1"
/>
</view>
</template>
<template #footer>
<view class="flex items-center justify-between gap-[22rpx]">
<view class="cancel-btn" @click="show = false">取消</view>
<view class="submit-btn" @click="handleConfirm"></view>
</view>
</template>
</ActionSheet>
</view>
</template>
<script lang="ts" setup>
import Navbar from '@/pages-sub/components/navbar/Navbar.vue'
import ActionSheet from '@/pages-sub/components/ActionSheet.vue'
import WXXTable from '@/pages-sub/components/table/Table.vue'
import WXXTableCol from '@/pages-sub/components/table/TableCol.vue'
import Region from '@/pages-sub/home/components/Region.vue'
import { useUserStore } from '@/store'
import { verifyUniversity } from '@/service/index/api'
const userStore = useUserStore()
const searchParams = ref({
locationCode: userStore.userInfo.estimatedAchievement.provinceCode || '370000',
locationName: userStore.userInfo.estimatedAchievement.provinceName || '山东省',
collegeName: '',
})
const show = ref(false)
const handleShow = () => {
show.value = true
}
const handleRegionChangeName = (val) => {
searchParams.value.locationName = val.join(',')
}
const handleRegionChangeCode = (val) => {
searchParams.value.locationCode = val.length > 0 ? val[0] : ''
getUniversityList()
}
const navigatorBack = () => {
uni.navigateBack()
}
const tableData = ref([])
const getUniversityList = () => {
verifyUniversity({
keyword: searchParams.value.collegeName,
provinceName: searchParams.value.locationName,
}).then((res) => {
if (res.code === 200) {
let result = res.result as any[]
tableData.value = result
}
})
}
const handleConfirm = () => {
show.value = false
getUniversityList()
}
onLoad(() => {
getUniversityList()
})
</script>
<style lang="scss" scoped>
@import '@/pages-evaluation-sub/styles/navbar-background.scss';
@import '@/pages-sub/home/styles/search-input.scss';
@import '@/pages-sub/home/styles/picker-view-btn.scss';
</style>

View File

@ -156,16 +156,5 @@ onBeforeMount(() => {
<style lang="scss" scoped>
@import '@/pages-sub/home/styles/navbar-background.scss';
.input-wrapper-class {
border-radius: 8rpx;
border: 2rpx solid #ededed;
padding: 10rpx 24rpx;
margin-top: 48rpx;
.search-text {
border-left: 2rpx solid #ededed;
padding-left: 24rpx;
}
}
@import '@/pages-sub/home/styles/search-input.scss';
</style>

View File

@ -20,28 +20,27 @@
>
预估总分
</text>
<wd-input
custom-class="mt-[24rpx] rounded-[16rpx] bg-white flex items-center px-[32rpx] py-[24rpx]"
custom-input-class="h-full flex items-center"
type="number"
v-model="score"
placeholder="请输入分数"
@input="handleChange"
inputmode="numeric"
:focus="true"
:no-border="true"
<view class="mt-[24rpx] rounded-[16rpx] bg-white flex items-center px-[32rpx] py-[24rpx]">
<input
v-model="score"
placeholder="请输入分数"
@confirm="handleChange"
input-mode="numeric"
type="number"
:focus="true"
class="flex-1"
confirm-type="done"
/>
<text class="" :selectable="false" :decode="false"></text>
</view>
<view
class="mt-[24rpx] rounded-[16rpx] bg-white flex items-center px-[32rpx] py-[24rpx] justify-between"
@click="show = true"
>
<template #suffix>
<text class="" :selectable="false" :decode="false"></text>
</template>
</wd-input>
<wd-picker
custom-class="mt-[16rpx]"
:columns="termList"
value-key="code"
label-key="name"
v-model="term"
/>
<view>{{ term }}</view>
<view class="i-carbon-chevron-down rotate-270"></view>
</view>
</view>
<view class="mt-[32rpx] px-[32rpx]" hover-class="none" v-if="requireSubjectList.length > 0">
@ -75,7 +74,7 @@
({{ optionalSubjectList.length }}{{ requireSubjectList.length > 0 ? 2 : 3 }})
</text>
</view>
<CheckboxGroup v-model="optionalSubject" :max="3" checked-color="#1580FF">
<CheckboxGroup v-model="optionalSubject" :max="3">
<Checkbox
v-for="item in optionalSubjectList"
:key="item.code"
@ -95,6 +94,21 @@
保存
</button>
<view class="bg-white pb-safe" hover-class="none"></view>
<ActionSheet v-model:show="show" title="">
<view class="px-[32rpx]">
<CustomPickerView
:list="termList"
v-model:modelValue="term"
value-key="code"
label-key="name"
/>
</view>
<view class="flex items-center justify-between px-[32rpx]">
<view class="cancel-btn" @click="show = false">取消</view>
<view class="submit-btn" @click="handleConfirm"></view>
</view>
</ActionSheet>
</view>
</template>
@ -105,6 +119,8 @@ import CheckboxGroup from '@/pages-sub/components/check-group/CheckboxGroup.vue'
import Checkbox from '@/pages-sub/components/check-group/Checkbox.vue'
import RadioGroup from '@/pages-sub/components/radio-group/RadioGroup.vue'
import Radio from '@/pages-sub/components/radio-group/Radio.vue'
import CustomPickerView from '@/pages-sub/components/CustomPickerView.vue'
import ActionSheet from '@/pages-sub/components/ActionSheet.vue'
import {
useRules,
@ -114,6 +130,12 @@ import {
const userStore = useUserStore()
const show = ref(false)
const handleConfirm = () => {
show.value = false
}
//
const term = ref(userStore.userInfo.estimatedAchievement.year)
const termList = ref<{ name: string; code: number }[]>(userStore.userInfo.city.lizations)
@ -183,6 +205,8 @@ const saveScore = () => {
</script>
<style lang="scss" scoped>
@import '@/pages-sub/home/styles/picker-view-btn.scss';
:deep(.custom-checkbox) {
.checkbox {
width: 152rpx;
@ -199,13 +223,6 @@ const saveScore = () => {
}
}
:deep(.checkbox-group) {
display: flex;
flex-wrap: wrap;
gap: 32rpx;
justify-content: center;
background-color: #f8f8f8;
}
:deep(.checkbox-active) {
background-color: rgba(21, 128, 255, 0.1) !important;
border-color: #1580ff !important;

View File

@ -49,7 +49,7 @@
</scroll-view>
</view>
<wd-action-sheet v-model="show" title="">
<ActionSheet v-model:show="show" title="">
<view class="px-[32rpx]">
<CustomPickerView
v-model:modelValue="provinceCode"
@ -62,7 +62,7 @@
<view class="cancel-btn" @click="show = false">取消</view>
<view class="submit-btn" @click="handleConfirm"></view>
</view>
</wd-action-sheet>
</ActionSheet>
</view>
</template>
@ -71,6 +71,7 @@ import { getMajorUniversityList } from '@/service/index/api'
import ProgressBar from '../../components/ProgressBar.vue'
import CustomPickerView from '@/pages-sub/components/CustomPickerView.vue'
import { useUserStore } from '@/store'
import ActionSheet from '@/pages-sub/components/ActionSheet.vue'
const userStore = useUserStore()

View File

@ -16,18 +16,10 @@
left-arrow
title="查职业"
@click-left="navigatorBack"
content-class="justify-start"
>
<template #title>
<wd-input
type="text"
v-model="searchValue"
placeholder="搜索专业"
@confirm="handleChange"
no-border
prefixIcon="search"
custom-class="rounded-[48rpx]! bg-[#F7F7F7]! flex items-center border-none! px-[24rpx] py-[12rpx] ml-[32rpx]!"
custom-input-class="h-full flex items-center"
/>
<SearchInput placeholder="搜索专业" @confirm="handleChange"></SearchInput>
</template>
</Navbar>
@ -55,6 +47,7 @@
import MajorList from './components/MajorList.vue'
import zTabs from '@/pages-sub/uni_modules/z-tabs/components/z-tabs/z-tabs.vue'
import Navbar from '@/pages-sub/components/navbar/Navbar.vue'
import SearchInput from '@/pages-sub/components/input/SearchInput.vue'
const searchValue = ref('')
@ -62,7 +55,9 @@ const navigatorBack = () => {
uni.navigateBack()
}
const handleChange = () => {}
const handleChange = (value: string) => {
searchValue.value = value
}
const tabsList = ['普通本科', '职教本科', '高职专科']
const currentTab = ref(0)

View File

@ -1,5 +0,0 @@
<template>
<text>查位次</text>
</template>
<script lang="ts" setup></script>

View File

@ -0,0 +1,11 @@
.input-wrapper-class {
border-radius: 8rpx;
border: 2rpx solid #ededed;
padding: 10rpx 24rpx;
margin-top: 48rpx;
.search-text {
border-left: 2rpx solid #ededed;
padding-left: 24rpx;
}
}

View File

@ -103,6 +103,11 @@
}
]
},
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
},
"subPackages": [
{
"root": "pages-sub",
@ -183,7 +188,11 @@
},
{
"path": "home/distinguish/index",
"type": "page"
"type": "page",
"layout": "page",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "home/evaluation/index",
@ -246,10 +255,6 @@
"navigationStyle": "custom"
}
},
{
"path": "home/rank/index",
"type": "page"
},
{
"path": "home/schoolRank/index",
"type": "page",
@ -286,12 +291,6 @@
"layout": "page",
"style": {
"navigationStyle": "custom"
},
"usingComponents": {
"LEchart": "../uni_modules/lime-echart/components/l-echart/l-echart"
},
"componentPlaceholder": {
"LEchart": "view"
}
}
]

View File

@ -191,3 +191,14 @@ export const getScoreSection = (params: {
}) => {
return http.get('/api/ScoreSection/scoreSection/V2', params)
}
export const verifyUniversity = (params: { keyword: string; provinceName: string }) => {
return http.get('/api/zhiYuan/fackUniversitys', params)
}
export const getUserCity = (params: { lat: number; lng: number; username: string }) => {
return http.get('https://secure.geonames.org/findNearbyPlaceNameJSON', {
haPrefix: true,
...params,
})
}

View File

@ -27,7 +27,6 @@ interface NavigateToOptions {
"/pages-sub/home/major/info" |
"/pages-sub/home/news/index" |
"/pages-sub/home/news/newsList" |
"/pages-sub/home/rank/index" |
"/pages-sub/home/schoolRank/index" |
"/login-sub/index" |
"/pages-evaluation-sub/index" |

View File

@ -7,7 +7,13 @@ const userStore = useUserStore()
export const http = <T>(options: CustomRequestOptions) => {
// 1. 返回 Promise 对象
return new Promise<IResData<T>>((resolve, reject) => {
options.url = `${options.query?.staticType === 'static' ? staticBaseUrl : baseUrl}${options.url}`
if (options.query?.staticType === 'static') {
options.url = `${staticBaseUrl}${options.url}`
} else if (options.query?.haPrefix) {
} else {
options.url = `${baseUrl}${options.url}`
}
// options.url = `${options.query?.staticType === 'static' ? staticBaseUrl : baseUrl}${options.url}`
uni.request({
...options,
dataType: 'json',