diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index e7f4e30..ef686f5 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -123,6 +123,7 @@
"useNewsList": true,
"newsList": true,
"useLogin": true,
- "useWxInfo": true
+ "useWxInfo": true,
+ "useUniversityInfo": true
}
}
diff --git a/env/.env b/env/.env
index 7e90583..3e9975e 100644
--- a/env/.env
+++ b/env/.env
@@ -2,7 +2,7 @@ VITE_APP_TITLE = '六维志愿'
VITE_APP_PORT = 9000
VITE_UNI_APPID = 'H57F2ACE4'
-VITE_WX_APPID = '__UNI__7AE2402'
+VITE_WX_APPID = 'wx05e75004e657527c'
# h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base
VITE_APP_PUBLIC_BASE=
diff --git a/src/components/checkGroup/CheckGroup.vue b/src/components/checkGroup/CheckGroup.vue
index f27d933..37d4747 100644
--- a/src/components/checkGroup/CheckGroup.vue
+++ b/src/components/checkGroup/CheckGroup.vue
@@ -1,7 +1,7 @@
@@ -11,8 +11,8 @@
:model-value="item[valueKey]"
cell
shape="button"
- custom-class="w-[152rpx]! h-[76rpx] p-0! mr-0!"
- custom-label-class="w-[152rpx]! h-[76rpx]! rounded-[8rpx]! checkbox-item-border bg-[#f7f8fa]!"
+ custom-class="w-auto! h-[76rpx] p-0! mr-0!"
+ custom-label-class="min-w-[152rpx]! h-[76rpx]! rounded-[8rpx]! checkbox-item-border bg-[#f7f8fa]!"
>
{{ item[labelKey] }}
@@ -55,7 +55,7 @@ watch(
{ immediate: true },
)
-const handleChange = (val: string[]) => {
+const handleChange = (val: unknown) => {
emits('change', val)
}
diff --git a/src/components-sub/FilterMenu/FilterMenu.vue b/src/components/filterMenu/FilterMenu.vue
similarity index 100%
rename from src/components-sub/FilterMenu/FilterMenu.vue
rename to src/components/filterMenu/FilterMenu.vue
diff --git a/src/components-sub/FilterMenu/Nature.vue b/src/components/filterMenu/Nature.vue
similarity index 64%
rename from src/components-sub/FilterMenu/Nature.vue
rename to src/components/filterMenu/Nature.vue
index 0ea3b1e..ceb7deb 100644
--- a/src/components-sub/FilterMenu/Nature.vue
+++ b/src/components/filterMenu/Nature.vue
@@ -15,7 +15,12 @@ import { useNatureList } from '@/hooks/useFilterSchool'
const { natureList: infoList } = useNatureList()
const defaultInfo = ref([])
-const handleChange = (val: string[]) => {
- console.log(val)
+const emits = defineEmits(['changeName'])
+
+const handleChange = (val: any) => {
+ const names = infoList.value
+ .filter((item) => val.value.includes(item.id))
+ .map((item) => item.name)
+ emits('changeName', names)
}
diff --git a/src/components-sub/FilterMenu/Phase.vue b/src/components/filterMenu/Phase.vue
similarity index 100%
rename from src/components-sub/FilterMenu/Phase.vue
rename to src/components/filterMenu/Phase.vue
diff --git a/src/components-sub/FilterMenu/Region.vue b/src/components/filterMenu/Region.vue
similarity index 60%
rename from src/components-sub/FilterMenu/Region.vue
rename to src/components/filterMenu/Region.vue
index 775a11e..f9344ce 100644
--- a/src/components-sub/FilterMenu/Region.vue
+++ b/src/components/filterMenu/Region.vue
@@ -17,10 +17,22 @@ defineOptions({
})
const { regionList } = useRegionInfo()
-const regionInfo = ref(['110000', '120000'])
-const handleChange = (val: string[]) => {
- console.log(val)
+const props = defineProps({
+ regionInfo: {
+ type: Array as PropType,
+ default: () => [],
+ },
+})
+
+const emits = defineEmits(['change', 'changeName'])
+
+const handleChange = (val: any) => {
+ const names = regionList.value
+ .filter((item) => val.value.includes(item.code))
+ .map((item) => item.name)
+ emits('changeName', names)
+ emits('change', val)
}
diff --git a/src/components-sub/FilterMenu/UniType.vue b/src/components/filterMenu/UniType.vue
similarity index 62%
rename from src/components-sub/FilterMenu/UniType.vue
rename to src/components/filterMenu/UniType.vue
index 07816a5..16706c3 100644
--- a/src/components-sub/FilterMenu/UniType.vue
+++ b/src/components/filterMenu/UniType.vue
@@ -15,7 +15,13 @@ import { useUniversityType } from '@/hooks/useFilterSchool'
const { typeList: infoList } = useUniversityType()
const defaultInfo = ref([])
-const handleChange = (val: string[]) => {
- console.log(val)
+const emits = defineEmits(['change', 'changeName'])
+
+const handleChange = (val: any) => {
+ const names = infoList.value
+ .filter((item) => val.value.includes(item.id))
+ .map((item) => item.name)
+ emits('changeName', names)
+ emits('change', val)
}
diff --git a/src/components/login/LoginMask.vue b/src/components/login/LoginMask.vue
index fa685c1..e7734cc 100644
--- a/src/components/login/LoginMask.vue
+++ b/src/components/login/LoginMask.vue
@@ -1,7 +1,7 @@
-
+
手机号快捷登录
-
+
@@ -38,9 +38,15 @@
diff --git a/src/hooks/useCityInfoHook.ts b/src/hooks/useCityInfoHook.ts
index 0c2a1e3..19e5e9d 100644
--- a/src/hooks/useCityInfoHook.ts
+++ b/src/hooks/useCityInfoHook.ts
@@ -1,9 +1,4 @@
-import {
- getNewsTop,
- getVolunteerInitialization,
- getNewsDetailInfo,
- getNewsList,
-} from '@/service/index/api'
+import { getNewsTop, getProvinceInitialization, getNewsDetailInfo } from '@/service/index/api'
import { useCityStore } from '@/store/city'
import { useUserStore } from '@/store/user'
import { City, News, NewsDetail } from '@/types/app-type'
@@ -18,7 +13,7 @@ const userStore = useUserStore()
export const cities = []
export const useCityInfo = () => {
- getVolunteerInitialization().then((res) => {
+ getProvinceInitialization().then((res) => {
if (res.result) {
const list = res.result as Province[]
const li = groupByFirstLetter(list)
diff --git a/src/hooks/useUserInfo.ts b/src/hooks/useUserInfo.ts
index 41c27d0..de26ac9 100644
--- a/src/hooks/useUserInfo.ts
+++ b/src/hooks/useUserInfo.ts
@@ -1,4 +1,5 @@
-import { getWxInfo } from '@/service/index/api'
+import { getUniversityInfo, setWxInfo } from '@/service/index/api'
+import { useUserStore } from '@/store'
//uniapp 登陆获取用户信息
export const useLogin = () => {
@@ -18,10 +19,24 @@ export const useLogin = () => {
})
}
-export const useWxInfo = ({ code, OpenId }) => {
- getWxInfo({ code, OpenId }).then((res) => {
+export const useWxInfo = ({ code, openId }) => {
+ setWxInfo({ code, openId }).then((res) => {
if (res.code === 200) {
console.log(res.result)
}
})
}
+
+export const useUniversityInfo = (provinceCode: number) => {
+ const userStore = useUserStore()
+ const universityBaseInfo = ref({})
+ getUniversityInfo({ Cid: userStore.userInfo.estimatedAchievement.id, Id: provinceCode }).then(
+ (res) => {
+ if (res.code === 200) {
+ universityBaseInfo.value = res.result
+ }
+ },
+ )
+
+ return { universityBaseInfo }
+}
diff --git a/src/manifest.json b/src/manifest.json
index 3f4a4a7..2eb65d9 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -55,7 +55,7 @@
},
"quickapp": {},
"mp-weixin": {
- "appid": "__UNI__7AE2402",
+ "appid": "wx05e75004e657527c",
"setting": {
"urlCheck": false
},
diff --git a/src/pages-sub/customerService/index/index.vue b/src/pages-sub/customerService/index/index.vue
index 4ecf520..d246f49 100644
--- a/src/pages-sub/customerService/index/index.vue
+++ b/src/pages-sub/customerService/index/index.vue
@@ -26,7 +26,7 @@
专属客服为您服务
diff --git a/src/pages-sub/home/autoFill/index.vue b/src/pages-sub/home/autoFill/index.vue
index 9c1acb1..4fc5296 100644
--- a/src/pages-sub/home/autoFill/index.vue
+++ b/src/pages-sub/home/autoFill/index.vue
@@ -4,6 +4,7 @@
style: {
navigationStyle: 'custom',
},
+ needLogin: true,
}
@@ -26,7 +27,7 @@
@@ -34,7 +35,7 @@
+
+
+
diff --git a/src/pages-sub/home/college/info.vue b/src/pages-sub/home/college/info.vue
new file mode 100644
index 0000000..3c5adc4
--- /dev/null
+++ b/src/pages-sub/home/college/info.vue
@@ -0,0 +1,55 @@
+
+{
+ layout: 'page',
+ style: {
+ navigationStyle: 'custom',
+ },
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages-sub/home/inputScore/index.vue b/src/pages-sub/home/inputScore/index.vue
index 9a8e60f..69f8b38 100644
--- a/src/pages-sub/home/inputScore/index.vue
+++ b/src/pages-sub/home/inputScore/index.vue
@@ -130,7 +130,7 @@ const navigatorBack = () => {
}
// 输入成绩
-const score = ref(userStore.userInfo.estimatedAchievement.score || '')
+const score = ref(userStore.userInfo.estimatedAchievement.expectedScore || '')
const handleChange = (e: any) => {
const _score = Number(score.value) || 0
if (_score > userStore.userInfo.city.allscore) {
diff --git a/src/pages-sub/home/schoolRank/index.vue b/src/pages-sub/home/schoolRank/index.vue
index 898fff8..47e7bef 100644
--- a/src/pages-sub/home/schoolRank/index.vue
+++ b/src/pages-sub/home/schoolRank/index.vue
@@ -8,8 +8,6 @@
-
-
{
}
const tabsChange = (index, name) => {
tabIndex.value = name
- // 当切换tab或搜索时请调用组件的reload方法,请勿直接调用:queryList方法!!
paging.value.reload()
}
const { unSortTypeList } = useUnSortType()
diff --git a/src/pages-sub/static/images/autoFill/auto-fill.jpg b/src/pages-sub/static/images/autoFill/auto-fill.jpg
new file mode 100644
index 0000000..dea5ed2
Binary files /dev/null and b/src/pages-sub/static/images/autoFill/auto-fill.jpg differ
diff --git a/src/pages-sub/static/images/autoFill/auto-fill.svg b/src/pages-sub/static/images/autoFill/auto-fill.svg
deleted file mode 100644
index 05b623b..0000000
--- a/src/pages-sub/static/images/autoFill/auto-fill.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-
diff --git a/src/pages-sub/static/images/customerService/avatar.jpg b/src/pages-sub/static/images/customerService/avatar.jpg
new file mode 100644
index 0000000..29de425
Binary files /dev/null and b/src/pages-sub/static/images/customerService/avatar.jpg differ
diff --git a/src/pages-sub/static/images/customerService/avatar.svg b/src/pages-sub/static/images/customerService/avatar.svg
deleted file mode 100644
index 7355956..0000000
--- a/src/pages-sub/static/images/customerService/avatar.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/src/pages.json b/src/pages.json
index 9eb50af..f8dc554 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -137,7 +137,8 @@
"layout": "page",
"style": {
"navigationStyle": "custom"
- }
+ },
+ "needLogin": true
},
{
"path": "home/career/index",
@@ -153,7 +154,19 @@
},
{
"path": "home/college/index",
- "type": "page"
+ "type": "page",
+ "style": {
+ "navigationStyle": "custom"
+ },
+ "needLogin": true
+ },
+ {
+ "path": "home/college/info",
+ "type": "page",
+ "layout": "page",
+ "style": {
+ "navigationStyle": "custom"
+ }
},
{
"path": "home/distinguish/index",
@@ -212,31 +225,6 @@
}
}
]
- },
- {
- "root": "components-sub",
- "pages": [
- {
- "path": "FilterMenu/FilterMenu",
- "type": "page"
- },
- {
- "path": "FilterMenu/Nature",
- "type": "page"
- },
- {
- "path": "FilterMenu/Phase",
- "type": "page"
- },
- {
- "path": "FilterMenu/Region",
- "type": "page"
- },
- {
- "path": "FilterMenu/UniType",
- "type": "page"
- }
- ]
}
]
}
\ No newline at end of file
diff --git a/src/pages/home/index/index.vue b/src/pages/home/index/index.vue
index 1fc83fa..970652b 100644
--- a/src/pages/home/index/index.vue
+++ b/src/pages/home/index/index.vue
@@ -19,10 +19,7 @@
-
+
@@ -84,4 +81,18 @@ const onRefresherRefresh = async () => {
font-size: 32rpx;
color: #000;
}
+
+.custom-background {
+ background-image: linear-gradient(
+ 173deg,
+ rgb(177, 221, 250) 0,
+ rgb(177, 221, 250) 13%,
+ rgba(255, 255, 255, 1) 80%,
+ rgba(255, 255, 255, 1) 100%
+ );
+ background-position: 50% 50%;
+ background-origin: padding-box;
+ background-clip: border-box;
+ background-size: auto auto;
+}
diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index a086cf0..e2349d9 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -22,19 +22,24 @@
>
立即登陆
-
+
diff --git a/src/service/index/api.ts b/src/service/index/api.ts
index 91c576f..4fe0984 100644
--- a/src/service/index/api.ts
+++ b/src/service/index/api.ts
@@ -9,7 +9,7 @@ export const sysDictType = (params: any) => {
return http.get('/api/sysDictData/dicStatus', params)
}
-export const getVolunteerInitialization = () => {
+export const getProvinceInitialization = () => {
return http.get('/api/busProvinceInitialization/list')
}
@@ -69,6 +69,30 @@ export const getSessionKey = (params: { JsCode: string }) => {
return http.get('/api/sysWxOpen/wxOpenId', params)
}
-export const getWxInfo = (params: { code: string; OpenId: string }) => {
- return http.get('/api/weChatUserEx/wxInfo', params)
+export const setWxInfo = (params: { code: string; openId: string }) => {
+ return http.post('/api/weChatUserEx/wxInfo', params)
+}
+
+export const getWxUserInfo = () => {
+ return http.get('/api/weChatUserEx/userInfo')
+}
+
+export const getVolunteerInitialization = () => {
+ return http.get('/api/v1/base/volunteerInitialization.json', { staticType: 'static' })
+}
+
+export const getUniversityList = (params: {
+ pageIndex: number
+ pageSize: number
+ name?: string
+ provinceName?: string[]
+ utype?: string[]
+ nature?: string[]
+}) => {
+ return http.post('/api/zhiYuan/university', params)
+}
+
+// 获取大学信息
+export const getUniversityInfo = (params: { Cid: number; Id: number }) => {
+ return http.get('/api/zhiYuan/universityDetail', params)
}
diff --git a/src/static/images/home/home-background.png b/src/static/images/home/home-background.png
deleted file mode 100644
index 84789d2..0000000
Binary files a/src/static/images/home/home-background.png and /dev/null differ
diff --git a/src/store/user.ts b/src/store/user.ts
index c20c7dd..2b4cd10 100644
--- a/src/store/user.ts
+++ b/src/store/user.ts
@@ -16,14 +16,39 @@ const initState = {
},
estimatedAchievement: {
year: 0, // 学期
- score: '', // 成绩
+ expectedScore: '', // 成绩
requireSubject: { code: 0, name: '', simplename: '' },
optionalSubject: [],
- cityCode: '',
+ provinceCode: '',
+
+ className: null,
+ createTime: '',
+ createUserId: 0,
+ createUserName: null,
+
+ id: 0,
+ init: false,
+ isDelete: false,
+ isUpdateScore: 0,
+ isVIP: false,
+
+ provinceName: '',
+ rank: 0,
+ schoolName: null,
+ sp: 0,
+ subjectGroup: '',
+ updateTime: null,
+ updateUserId: null,
+ updateUserName: null,
+ uuid: null,
+ vipCode: null,
+ wxId: 0,
},
userFilterParams: {
phase: 0,
},
+ token: '',
+ openid: '',
}
export const useUserStore = defineStore(
@@ -43,12 +68,35 @@ export const useUserStore = defineStore(
// 设置预估成绩
const setEstimatedAchievement = (val: any) => {
- userInfo.value.estimatedAchievement = val
+ userInfo.value.estimatedAchievement = Object.assign(userInfo.value.estimatedAchievement, val)
+ }
+
+ // 设置用户token
+ const setUserToken = (val: string) => {
+ userInfo.value.token = val
+ }
+
+ const setUserOpenId = (val: string) => {
+ userInfo.value.openid = val
+ }
+
+ const setUserNickName = (val: string) => {
+ userInfo.value.nickname = val
+ }
+
+ const setUserAvatar = (val: string) => {
+ userInfo.value.avatar = val
}
// 清除预估成绩
const clearUserEstimatedAchievement = () => {
- userInfo.value.estimatedAchievement = { ...initState.estimatedAchievement }
+ userInfo.value.estimatedAchievement = Object.assign(userInfo.value.estimatedAchievement, {
+ year: 0, // 学期
+ expectedScore: '', // 成绩
+ requireSubject: { code: 0, name: '', simplename: '' },
+ optionalSubject: [],
+ provinceCode: '',
+ })
}
// 清除用户信息
@@ -70,6 +118,10 @@ export const useUserStore = defineStore(
setUserCity,
setEstimatedAchievement,
clearUserEstimatedAchievement,
+ setUserToken,
+ setUserOpenId,
+ setUserNickName,
+ setUserAvatar,
}
},
{
diff --git a/src/types/app-type.d.ts b/src/types/app-type.d.ts
index 71d25fb..f0fe140 100644
--- a/src/types/app-type.d.ts
+++ b/src/types/app-type.d.ts
@@ -28,10 +28,32 @@ export type ExtraUserInfo = {
city?: City
estimatedAchievement: {
year: number
- score: number | string
+ expectedScore: number | string
requireSubject: Rule
optionalSubject: Rule[]
- cityCode: string
+ provinceCode: string
+
+ className: string | null
+ createTime: string // "YYYY-MM-DD HH:MM:SS"
+ createUserId: number
+ createUserName: string | null
+ id: number
+ init: boolean
+ isDelete: boolean
+ isUpdateScore: number
+ isVIP: boolean
+
+ provinceName: string
+ rank: number
+ schoolName: string | null
+ sp: number
+ subjectGroup: string // "物,化,生"
+ updateTime: string | null // "YYYY-MM-DD HH:MM:SS"
+ updateUserId: number | null
+ updateUserName: string | null
+ uuid: string | null
+ vipCode: string | null
+ wxId: number
}
} & IUserInfo
diff --git a/src/types/auto-import.d.ts b/src/types/auto-import.d.ts
index ec4b004..0c4db87 100644
--- a/src/types/auto-import.d.ts
+++ b/src/types/auto-import.d.ts
@@ -105,6 +105,7 @@ declare global {
const useSlots: typeof import('vue')['useSlots']
const useTemplateRef: typeof import('vue')['useTemplateRef']
const useUnSortType: typeof import('../hooks/useUnSortType')['useUnSortType']
+ const useUniversityInfo: typeof import('../hooks/useUserInfo')['useUniversityInfo']
const useUniversityLevel: typeof import('../hooks/useFilterSchool')['useUniversityLevel']
const useUniversityRank: typeof import('../hooks/useUnSortType')['useUniversityRank']
const useUniversityType: typeof import('../hooks/useFilterSchool')['useUniversityType']
@@ -222,6 +223,7 @@ declare module 'vue' {
readonly useSlots: UnwrapRef
readonly useTemplateRef: UnwrapRef
readonly useUnSortType: UnwrapRef
+ readonly useUniversityInfo: UnwrapRef
readonly useUniversityLevel: UnwrapRef
readonly useUniversityRank: UnwrapRef
readonly useUniversityType: UnwrapRef
diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts
index 27f3b01..b00e3a1 100644
--- a/src/types/uni-pages.d.ts
+++ b/src/types/uni-pages.d.ts
@@ -16,6 +16,7 @@ interface NavigateToOptions {
"/pages-sub/home/career/index" |
"/pages-sub/home/city/index" |
"/pages-sub/home/college/index" |
+ "/pages-sub/home/college/info" |
"/pages-sub/home/distinguish/index" |
"/pages-sub/home/evaluation/index" |
"/pages-sub/home/expand/index" |
@@ -25,12 +26,7 @@ interface NavigateToOptions {
"/pages-sub/home/news/index" |
"/pages-sub/home/news/newsList" |
"/pages-sub/home/rank/index" |
- "/pages-sub/home/schoolRank/index" |
- "/components-sub/FilterMenu/FilterMenu" |
- "/components-sub/FilterMenu/Nature" |
- "/components-sub/FilterMenu/Phase" |
- "/components-sub/FilterMenu/Region" |
- "/components-sub/FilterMenu/UniType";
+ "/pages-sub/home/schoolRank/index";
}
interface RedirectToOptions extends NavigateToOptions {}
diff --git a/vite.config.ts b/vite.config.ts
index 88da248..4de5460 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', 'src/components-sub'], // 是个数组,可以配置多个,但是不能为pages里面的目录
+ subPackages: ['src/pages-sub'], // 是个数组,可以配置多个,但是不能为pages里面的目录
dts: 'src/types/uni-pages.d.ts',
}),
UniLayouts(),