支付宝下单和其他细节优化
This commit is contained in:
@@ -7,6 +7,8 @@ import { fetchIndustryTree, fetchJobCategoryTree, fetchRegionTree } from '@/api/
|
||||
import type { IndustryItem, JobCategoryItem, RegionItem } from '@/api/common'
|
||||
import { fetchJobIntention, saveJobIntention } from '@/api/jobs'
|
||||
import type { JobIntention } from '@/api/jobs'
|
||||
import { fetchUserInfo } from '@/api/auth'
|
||||
import type { UserInfo } from '@/api/auth'
|
||||
|
||||
/** 职位列表页缓存数据(从详情页返回时恢复用) */
|
||||
export interface JobListCache {
|
||||
@@ -79,6 +81,18 @@ export interface RootState {
|
||||
* 由 loadJobIntention action 从接口加载,saveJobIntention action 保存后更新
|
||||
*/
|
||||
jobIntention: JobIntention
|
||||
|
||||
/**
|
||||
* 用户个人信息 — 登录后从 /user/manage/info 接口获取
|
||||
* 多个页面可直接从 store 读取
|
||||
*/
|
||||
userInfo: UserInfo | null
|
||||
|
||||
/**
|
||||
* 设置弹窗 — 控制显示/隐藏及初始 Tab
|
||||
*/
|
||||
showSettings: boolean
|
||||
settingsTab: string
|
||||
}
|
||||
|
||||
export default createStore<RootState>({
|
||||
@@ -100,6 +114,9 @@ export default createStore<RootState>({
|
||||
industryIds: [],
|
||||
employmentType: 0,
|
||||
},
|
||||
userInfo: null,
|
||||
showSettings: false,
|
||||
settingsTab: 'account',
|
||||
},
|
||||
getters: {
|
||||
getAppName: (state) => state.appName,
|
||||
@@ -151,6 +168,15 @@ export default createStore<RootState>({
|
||||
employmentType: data.employmentType ?? 0,
|
||||
}
|
||||
},
|
||||
SET_USER_INFO(state, data: UserInfo | null) {
|
||||
state.userInfo = data
|
||||
},
|
||||
SET_SHOW_SETTINGS(state, show: boolean) {
|
||||
state.showSettings = show
|
||||
},
|
||||
SET_SETTINGS_TAB(state, tab: string) {
|
||||
state.settingsTab = tab
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
updateAppName({ commit }, name: string) {
|
||||
@@ -201,6 +227,7 @@ export default createStore<RootState>({
|
||||
commit('SET_AUTHENTICATED', false)
|
||||
commit('SET_SHOW_LOGIN', false)
|
||||
commit('SET_LOGIN_REDIRECT', '')
|
||||
commit('SET_USER_INFO', null)
|
||||
// 清除 Jobs 页面缓存数据
|
||||
commit('SET_JOB_LIST_CACHE', null)
|
||||
commit('SET_JOB_INTENTION', {
|
||||
@@ -263,6 +290,21 @@ export default createStore<RootState>({
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 加载用户个人信息到 store
|
||||
* 登录状态下调用,多个页面可直接读取 store.state.userInfo
|
||||
*/
|
||||
async loadUserInfo({ commit }) {
|
||||
try {
|
||||
const res = await fetchUserInfo()
|
||||
if (res.code === '0' && res.data) {
|
||||
commit('SET_USER_INFO', res.data)
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('[store] 加载用户信息失败', err)
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 保存求职意向:已登录时调接口保存并更新 store,未登录时仅更新 store
|
||||
* @param data 求职意向数据
|
||||
|
||||
Reference in New Issue
Block a user