新建store存储地区和职业picker选项
This commit is contained in:
39
src/store/pickerOptionsStore.ts
Normal file
39
src/store/pickerOptionsStore.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { create } from "zustand";
|
||||
|
||||
import { UserService } from "@/services/userService";
|
||||
|
||||
export interface PickerOptionState {
|
||||
cities: any[];
|
||||
professions: any[];
|
||||
getCities: () => Promise<any>;
|
||||
getProfessions: () => Promise<any>;
|
||||
}
|
||||
|
||||
export const usePickerOption = create<PickerOptionState>((set) => ({
|
||||
cities: [],
|
||||
professions: [],
|
||||
getCities: async () => {
|
||||
try {
|
||||
const res = await UserService.getCities();
|
||||
set({ cities: res });
|
||||
return res;
|
||||
} catch (e) {
|
||||
console.log("获取城市列表失败:", e);
|
||||
throw e;
|
||||
}
|
||||
},
|
||||
getProfessions: async () => {
|
||||
try {
|
||||
const res = await UserService.getProfessions();
|
||||
set({ professions: res });
|
||||
return res;
|
||||
} catch (e) {
|
||||
console.log("获取职业失败:", e);
|
||||
throw e;
|
||||
}
|
||||
},
|
||||
}));
|
||||
|
||||
export const useCities = () => usePickerOption((state) => state.cities);
|
||||
export const useProfessions = () =>
|
||||
usePickerOption((state) => state.professions);
|
||||
Reference in New Issue
Block a user