|
|
- import Vue from 'vue'
- import Vuex from 'vuex'
- import * as api from '@/api'
-
- Vue.use(Vuex)
-
- const store = new Vuex.Store({
- state: {
- // 存放状态
- configList: [],
- careerList: [],
- qualificationList: [],
- categoryGoodsList: [],
- categoryActivityList: []
- },
- mutations: {
-
- setConfigList(state, data) {
- state.configList = data
- },
- setCareerList(state, data) {
- state.careerList = data
- },
- setQualificationList(state, data) {
- state.qualificationList = data
- },
- setCategoryGoodsList(state, data) {
- state.categoryGoodsList = data
- },
- setCategoryActivityList(state, data) {
- state.categoryActivityList = data
- }
- },
- actions: {
- // 查询配置列表
- async getConfig({ commit }) {
- const res = await api.config.queryConfigList()
- // 要求变成键值对的样子
- const config = res.result.records.reduce((acc, item) => {
- if (!item.paramCode) {
- console.log('paramCode为空', item);
- return acc
- }
- acc[item.paramCode] = item
- return acc
- }, {})
- commit('setConfigList', config)
-
- },
-
- // 查询职业列表
- async getCareer({ commit }) {
- const res = await api.config.queryCareerList()
- // if (res.code === 0) {
- commit('setCareerList', res.result.records)
- // } else {
- // uni.showToast({ title: res.msg, icon: 'error' })
- // }
- },
-
- // 查询学历列表
- async getQualification({ commit }) {
- const res = await api.config.queryQualificationList()
- // if (res.code === 0) {
- commit('setQualificationList', res.result.records)
- // } else {
- // uni.showToast({ title: res.msg, icon: 'error' })
- // }
- },
-
- // 查询商品分类列表
- async getCategoryGoodsList({ commit }) {
- const res = await api.config.queryCategoryGoodsList()
- commit('setCategoryGoodsList', res.result.records)
-
- },
-
- // 查询活动分类列表
- async getCategoryActivityList({ commit }) {
- const res = await api.config.queryCategoryActivityList()
- commit('setCategoryActivityList', res.result.records)
- },
-
- // 初始化数据
- async initData({ dispatch, state }) {
- // 检查是否已初始化
- if (state.configList.length > 0 && state.careerList.length > 0 && state.qualificationList.length > 0 && state.categoryGoodsList.length > 0 && state.categoryActivityList.length > 0) {
-
- console.log('配置数据已初始化,无需重复初始化')
- return
- }
-
- try {
- await Promise.all([
- dispatch('getConfig'),
- dispatch('getCareer'),
- dispatch('getQualification'),
- dispatch('getCategoryGoodsList'),
- dispatch('getCategoryActivityList')
- ])
- console.log('所有配置数据初始化完成')
- } catch (error) {
- console.error('配置数据初始化失败:', error)
- }
- },
-
-
- }
- })
-
- export default store
|