diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index c2ce1d4..5e29955 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -110,6 +110,11 @@
"optionalSubject": true,
"requireSubject": true,
"unSortTypeList": true,
- "useUnSortType": true
+ "useUnSortType": true,
+ "useUniversityType": true,
+ "useRegionInfo": true,
+ "useUniversityLevel": true,
+ "useNatureList": true,
+ "useUniversityRank": true
}
}
diff --git a/manifest.config.ts b/manifest.config.ts
index 4259896..b8fcbd5 100644
--- a/manifest.config.ts
+++ b/manifest.config.ts
@@ -88,6 +88,9 @@ export default defineManifestConfig({
urlCheck: false,
},
usingComponents: true,
+ optimization: {
+ subPackages: true,
+ },
// __usePrivacyCheck__: true,
},
'mp-alipay': {
diff --git a/pages.config.ts b/pages.config.ts
index 259bd04..f94dc90 100644
--- a/pages.config.ts
+++ b/pages.config.ts
@@ -89,94 +89,6 @@ export default defineUniPages({
navigationBarTitleText: '我的',
},
},
- {
- path: 'pages-sub/home/city/index',
- type: 'page',
- style: {
- navigationStyle: 'custom',
- navigationBarTitleText: '城市',
- },
- },
- {
- path: 'pages-sub/home/college/index',
- type: 'page',
- style: {
- navigationBarTitleText: '大学',
- },
- },
- {
- path: 'pages-sub/home/career/index',
- type: 'page',
- style: {
- navigationBarTitleText: '职业',
- },
- },
- {
- path: 'pages-sub/home/distinguish/index',
- type: 'page',
- style: {
- navigationBarTitleText: '大学甄别',
- },
- },
- {
- path: 'pages-sub/home/evaluation/index',
- type: 'page',
- style: {
- navigationBarTitleText: '专业测评',
- },
- },
- {
- path: 'pages-sub/home/expand/index',
- type: 'page',
- style: {
- navigationBarTitleText: '查扩缩招',
- },
- },
- {
- path: 'pages-sub/home/line/index',
- type: 'page',
- style: {
- navigationBarTitleText: '批次线',
- },
- },
- {
- path: 'pages-sub/home/major/index',
- type: 'page',
- style: {
- navigationBarTitleText: '专业',
- },
- },
- {
- path: 'pages-sub/home/rank/index',
- type: 'page',
- style: {
- navigationBarTitleText: '排名',
- },
- },
- {
- path: 'pages-sub/home/inputScore/index',
- type: 'page',
- style: {
- navigationStyle: 'custom',
- navigationBarTitleText: '输入成绩',
- },
- },
- {
- path: 'pages-sub/home/schoolRank/index',
- type: 'page',
- style: {
- navigationStyle: 'custom',
- navigationBarTitleText: '院校排行榜',
- },
- },
- {
- path: 'pages-sub/customerService/index/index',
- type: 'page',
- style: {
- navigationBarTitleText: '在线客服',
- navigationStyle: 'custom',
- },
- },
],
preloadRule: {
'pages/home/index/index': {
diff --git a/src/components-sub/FilterMenu/FilterMenu.vue b/src/components-sub/FilterMenu/FilterMenu.vue
new file mode 100644
index 0000000..0db8c21
--- /dev/null
+++ b/src/components-sub/FilterMenu/FilterMenu.vue
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 清空
+
+
+ 查看结果
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components-sub/FilterMenu/Nature.vue b/src/components-sub/FilterMenu/Nature.vue
new file mode 100644
index 0000000..0ea3b1e
--- /dev/null
+++ b/src/components-sub/FilterMenu/Nature.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
diff --git a/src/components-sub/FilterMenu/Phase.vue b/src/components-sub/FilterMenu/Phase.vue
new file mode 100644
index 0000000..1b219f1
--- /dev/null
+++ b/src/components-sub/FilterMenu/Phase.vue
@@ -0,0 +1,66 @@
+
+
+
+
+ {{ item.name }}
+
+
+
+
+ 普通类一段:批次线442分,线高139分
+ 普通类二段:批次线150分,线高432分
+
+
+
+
+
+
+
diff --git a/src/components-sub/FilterMenu/Region.vue b/src/components-sub/FilterMenu/Region.vue
new file mode 100644
index 0000000..775a11e
--- /dev/null
+++ b/src/components-sub/FilterMenu/Region.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
diff --git a/src/components-sub/FilterMenu/UniType.vue b/src/components-sub/FilterMenu/UniType.vue
new file mode 100644
index 0000000..07816a5
--- /dev/null
+++ b/src/components-sub/FilterMenu/UniType.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
diff --git a/src/components/checkGroup/CheckGroup.vue b/src/components/checkGroup/CheckGroup.vue
new file mode 100644
index 0000000..f27d933
--- /dev/null
+++ b/src/components/checkGroup/CheckGroup.vue
@@ -0,0 +1,73 @@
+
+
+
+ {{ item[labelKey] }}
+
+
+
+
+
+
+
diff --git a/src/components/fab/Fab.vue b/src/components/fab/Fab.vue
index 904680c..bb49bf6 100644
--- a/src/components/fab/Fab.vue
+++ b/src/components/fab/Fab.vue
@@ -4,7 +4,7 @@
@@ -12,9 +12,9 @@
diff --git a/src/pages-sub/components/home/Consultation.vue b/src/components/home/Consultation.vue
similarity index 100%
rename from src/pages-sub/components/home/Consultation.vue
rename to src/components/home/Consultation.vue
diff --git a/src/pages-sub/components/home/HotRank.vue b/src/components/home/HotRank.vue
similarity index 81%
rename from src/pages-sub/components/home/HotRank.vue
rename to src/components/home/HotRank.vue
index b38b070..12e3226 100644
--- a/src/pages-sub/components/home/HotRank.vue
+++ b/src/components/home/HotRank.vue
@@ -18,8 +18,8 @@
class="hot-rank-item flex-none pt-[32rpx] pb-[38rpx] px-[32rpx]"
hover-class="none"
:hover-stop-propagation="false"
- v-for="item in swiperList"
- :key="item.id"
+ v-for="item in unSortTypeList"
+ :key="item.type"
@click="toSchool(item.type)"
>
@@ -51,19 +51,29 @@
diff --git a/src/pages-sub/components/home/SubMenu.vue b/src/components/home/SubMenu.vue
similarity index 100%
rename from src/pages-sub/components/home/SubMenu.vue
rename to src/components/home/SubMenu.vue
diff --git a/src/hooks/useFilterSchool.ts b/src/hooks/useFilterSchool.ts
new file mode 100644
index 0000000..9325737
--- /dev/null
+++ b/src/hooks/useFilterSchool.ts
@@ -0,0 +1,57 @@
+import {
+ getUniversityType,
+ getRegionInfo,
+ getUniversityLevel,
+ getNature,
+} from '@/service/index/api'
+
+export const useUniversityLevel = () => {
+ const phaseList = ref([])
+ getUniversityLevel().then((res) => {
+ if (res.code === 200) {
+ phaseList.value = res.result as { code: number; name: string }[]
+ }
+ })
+
+ return { phaseList }
+}
+
+interface Region {
+ code: string
+ name: string
+ parentcode: string
+ simplename: string
+ pinyin: string
+}
+export const useRegionInfo = () => {
+ const regionList = ref([])
+ getRegionInfo().then((res) => {
+ if (res.code === 200) {
+ regionList.value = res.result as Region[]
+ }
+ })
+
+ return { regionList }
+}
+
+export const useUniversityType = () => {
+ const typeList = ref([])
+ getUniversityType().then((res) => {
+ if (res.code === 200) {
+ typeList.value = res.result as { id: number; name: string }[]
+ }
+ })
+
+ return { typeList }
+}
+
+export const useNatureList = () => {
+ const natureList = ref([])
+ getNature().then((res) => {
+ if (res.code === 200) {
+ natureList.value = res.result as { id: number; name: string }[]
+ }
+ })
+
+ return { natureList }
+}
diff --git a/src/hooks/useUnSortType.ts b/src/hooks/useUnSortType.ts
index 4e2edda..b26d12e 100644
--- a/src/hooks/useUnSortType.ts
+++ b/src/hooks/useUnSortType.ts
@@ -1,11 +1,34 @@
// 高校排名类型
-import { getUnSortType } from '@/service/index/api'
+import { getUnSortType, getUniversityRank } from '@/service/index/api'
type UnSortType = { type: number; name: string }[]
-export let unSortTypeList = ref([])
export const useUnSortType = () => {
+ let unSortTypeList = ref([])
getUnSortType().then((res) => {
unSortTypeList.value = res.result as UnSortType
})
+
+ return { unSortTypeList }
+}
+
+export const useUniversityRank = ({
+ Year,
+ Type,
+ PageSize,
+ PageIndex,
+}: {
+ Year: number
+ Type: number
+ PageSize: number
+ PageIndex: number
+}) => {
+ let universityRankList = ref([])
+ getUniversityRank({ Year, Type, PageSize, PageIndex }).then((res) => {
+ if (res.code === 200) {
+ console.log(res.result)
+ }
+ })
+
+ return { universityRankList }
}
diff --git a/src/layouts/demo.vue b/src/layouts/demo.vue
deleted file mode 100644
index 768d875..0000000
--- a/src/layouts/demo.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/manifest.json b/src/manifest.json
index 35420a2..ec70944 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -59,7 +59,10 @@
"setting": {
"urlCheck": false
},
- "usingComponents": true
+ "usingComponents": true,
+ "optimization": {
+ "subPackages": true
+ }
},
"mp-alipay": {
"usingComponents": true,
diff --git a/src/pages-sub/customerService/index/index.vue b/src/pages-sub/customerService/index/index.vue
index f37bdb1..0491aea 100644
--- a/src/pages-sub/customerService/index/index.vue
+++ b/src/pages-sub/customerService/index/index.vue
@@ -1,3 +1,12 @@
+
+{
+ layout: 'page',
+ style: {
+ navigationStyle: 'custom',
+ },
+}
+
+
@@ -21,7 +30,7 @@
专属客服为您服务
@@ -40,14 +49,14 @@
扫码添加客服企业微信
diff --git a/src/pages-sub/home/autoFill/index.vue b/src/pages-sub/home/autoFill/index.vue
new file mode 100644
index 0000000..9c1acb1
--- /dev/null
+++ b/src/pages-sub/home/autoFill/index.vue
@@ -0,0 +1,52 @@
+
+{
+ layout: 'page',
+ style: {
+ navigationStyle: 'custom',
+ },
+}
+
+
+
+
+
+
+
+ 条件筛选
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages-sub/home/city/index.vue b/src/pages-sub/home/city/index.vue
index 67e85ce..d6f9e87 100644
--- a/src/pages-sub/home/city/index.vue
+++ b/src/pages-sub/home/city/index.vue
@@ -1,3 +1,11 @@
+
+{
+ layout: 'page',
+ style: {
+ navigationStyle: 'custom',
+ },
+}
+
diff --git a/src/pages-sub/home/inputScore/index.vue b/src/pages-sub/home/inputScore/index.vue
index 9f8ad0b..9a8e60f 100644
--- a/src/pages-sub/home/inputScore/index.vue
+++ b/src/pages-sub/home/inputScore/index.vue
@@ -1,3 +1,11 @@
+
+{
+ layout: 'page',
+ style: {
+ navigationStyle: 'custom',
+ },
+}
+
diff --git a/src/pages-sub/home/schoolRank/index.vue b/src/pages-sub/home/schoolRank/index.vue
index 8a6c6ce..f9065fc 100644
--- a/src/pages-sub/home/schoolRank/index.vue
+++ b/src/pages-sub/home/schoolRank/index.vue
@@ -1,3 +1,11 @@
+
+{
+ layout: 'page',
+ style: {
+ navigationStyle: 'custom',
+ },
+}
+
@@ -24,15 +32,15 @@
@@ -42,7 +50,7 @@
'flex',
'items-center',
'justify-center',
- tabIndex === item.type ? 'active' : '',
+ Number(tabIndex) === Number(item.type) ? 'active' : '',
]"
v-for="item in unSortTypeList"
:key="item.type"
@@ -86,7 +94,7 @@
diff --git a/src/service/index/api.ts b/src/service/index/api.ts
index efa4118..c52ed34 100644
--- a/src/service/index/api.ts
+++ b/src/service/index/api.ts
@@ -20,3 +20,30 @@ export const getCountryRules = () => {
export const getUnSortType = () => {
return http.get('/api/v1/base/un_sort_type.json', { staticType: 'static' })
}
+
+export const getUniversityLevel = () => {
+ return http.get('/api/v1/base/un_level.json', { staticType: 'static' })
+}
+
+export const getRegionInfo = () => {
+ return http.get('/api/v1/base/regions.json', { staticType: 'static' })
+}
+
+export const getUniversityType = () => {
+ return http.get('/api/v1/base/universitytype.json', { staticType: 'static' })
+}
+
+// 获取办学性质
+export const getNature = () => {
+ return http.get('/api/v1/base/nature.json', { staticType: 'static' })
+}
+
+export const getUniversityRank = (params: {
+ Type: number
+ Year?: number
+ Name?: string
+ PageIndex: number
+ PageSize: number
+}) => {
+ return http.get('/api/zhiYuan/universityRank', { ...params })
+}
diff --git a/src/static/svg/app-logo.svg b/src/static/images/home/app-logo.svg
similarity index 100%
rename from src/static/svg/app-logo.svg
rename to src/static/images/home/app-logo.svg
diff --git a/src/static/images/customerService/customerService.svg b/src/static/images/home/customerService.svg
similarity index 100%
rename from src/static/images/customerService/customerService.svg
rename to src/static/images/home/customerService.svg
diff --git a/src/store/user.ts b/src/store/user.ts
index 1a7a173..0be46bf 100644
--- a/src/store/user.ts
+++ b/src/store/user.ts
@@ -21,6 +21,9 @@ const initState = {
optionalSubject: [],
cityCode: '',
},
+ userFilterParams: {
+ phase: 0,
+ },
}
export const useUserStore = defineStore(
diff --git a/src/types/auto-import.d.ts b/src/types/auto-import.d.ts
index 81545e6..3b30567 100644
--- a/src/types/auto-import.d.ts
+++ b/src/types/auto-import.d.ts
@@ -90,12 +90,17 @@ declare global {
const useCssVars: typeof import('vue')['useCssVars']
const useId: typeof import('vue')['useId']
const useModel: typeof import('vue')['useModel']
+ const useNatureList: typeof import('../hooks/useFilterSchool')['useNatureList']
const useNavbarWeixin: typeof import('../hooks/useNavbarWeixin')['default']
+ const useRegionInfo: typeof import('../hooks/useFilterSchool')['useRegionInfo']
const useRequest: typeof import('../hooks/useRequest')['default']
const useRules: typeof import('../hooks/useRules')['useRules']
const useSlots: typeof import('vue')['useSlots']
const useTemplateRef: typeof import('vue')['useTemplateRef']
const useUnSortType: typeof import('../hooks/useUnSortType')['useUnSortType']
+ const useUniversityLevel: typeof import('../hooks/useFilterSchool')['useUniversityLevel']
+ const useUniversityRank: typeof import('../hooks/useUnSortType')['useUniversityRank']
+ const useUniversityType: typeof import('../hooks/useFilterSchool')['useUniversityType']
const useUpload: typeof import('../hooks/useUpload')['default']
const useUpload2: typeof import('../hooks/useUpload2')['default']
const watch: typeof import('vue')['watch']
@@ -189,7 +194,6 @@ declare module 'vue' {
readonly toRefs: UnwrapRef
readonly toValue: UnwrapRef
readonly triggerRef: UnwrapRef
- readonly unSortTypeList: UnwrapRef
readonly unref: UnwrapRef
readonly useAttrs: UnwrapRef
readonly useCityInfo: UnwrapRef
@@ -197,12 +201,17 @@ declare module 'vue' {
readonly useCssVars: UnwrapRef
readonly useId: UnwrapRef
readonly useModel: UnwrapRef
+ readonly useNatureList: UnwrapRef
readonly useNavbarWeixin: UnwrapRef
+ readonly useRegionInfo: UnwrapRef
readonly useRequest: UnwrapRef
readonly useRules: UnwrapRef
readonly useSlots: UnwrapRef
readonly useTemplateRef: UnwrapRef
readonly useUnSortType: UnwrapRef
+ readonly useUniversityLevel: UnwrapRef
+ readonly useUniversityRank: UnwrapRef
+ readonly useUniversityType: UnwrapRef
readonly useUpload: UnwrapRef
readonly watch: UnwrapRef
readonly watchEffect: UnwrapRef
diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts
index c8a8297..addd9aa 100644
--- a/src/types/uni-pages.d.ts
+++ b/src/types/uni-pages.d.ts
@@ -5,24 +5,29 @@
interface NavigateToOptions {
url: "/pages/home/index/index" |
- "/pages/index/index" |
"/pages/about/about" |
"/pages/aiService/index/index" |
"/pages/news/index/index" |
"/pages/place/index/index" |
"/pages/ucenter/index/index" |
+ "/pages-sub/customerService/index/index" |
+ "/pages-sub/home/autoFill/index" |
+ "/pages-sub/home/career/index" |
"/pages-sub/home/city/index" |
"/pages-sub/home/college/index" |
- "/pages-sub/home/career/index" |
"/pages-sub/home/distinguish/index" |
"/pages-sub/home/evaluation/index" |
"/pages-sub/home/expand/index" |
+ "/pages-sub/home/inputScore/index" |
"/pages-sub/home/line/index" |
"/pages-sub/home/major/index" |
"/pages-sub/home/rank/index" |
- "/pages-sub/home/inputScore/index" |
"/pages-sub/home/schoolRank/index" |
- "/pages-sub/customerService/index/index";
+ "/components-sub/FilterMenu/FilterMenu" |
+ "/components-sub/FilterMenu/Nature" |
+ "/components-sub/FilterMenu/Phase" |
+ "/components-sub/FilterMenu/Region" |
+ "/components-sub/FilterMenu/UniType";
}
interface RedirectToOptions extends NavigateToOptions {}
diff --git a/vite.config.ts b/vite.config.ts
index f0fec23..88da248 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -55,7 +55,7 @@ export default ({ command, mode }) => {
routeBlockLang: 'json5', // 虽然设了默认值,但是vue文件还是要加上 lang="json5", 这样才能很好地格式化
// homePage 通过 vue 文件的 route-block 的type="home"来设定
// pages 目录为 src/pages,分包目录不能配置在pages目录下
- // subPackages: ['src/pages-sub'], // 是个数组,可以配置多个,但是不能为pages里面的目录
+ subPackages: ['src/pages-sub', 'src/components-sub'], // 是个数组,可以配置多个,但是不能为pages里面的目录
dts: 'src/types/uni-pages.d.ts',
}),
UniLayouts(),