feat: new

This commit is contained in:
ex_zhangwenlei@exiot.cmcc
2024-01-08 00:48:54 +08:00
parent 18c5429b58
commit bea54865ea
30 changed files with 1149 additions and 373 deletions

View File

@@ -1,68 +1,108 @@
import { defineStore } from 'pinia';
import { IPrizeConfig } from '@/types/prizeConfig';
import {defaultPrizeList} from './data';
import { defaultPrizeList } from './data';
export const usePrizeConfig = defineStore('prize', {
state() {
return {
prizeConfig:{
prizeList:defaultPrizeList,
}
};
},
getters: {
// 获取全部配置
getPrizeConfigAll(state) {
return state.prizeConfig;
state() {
return {
prizeConfig: {
prizeList: defaultPrizeList,
currentPrize: {
id: '001',
name: '一等奖',
sort: 1,
isAll: true,
count: 1,
picture: {
id: '0',
name: '一等奖',
url: 'https://24years.top/resource/image/image1.png'
},
desc: '一等奖',
isShow: true,
isUsed: false,
frequency: 1,
} as IPrizeConfig
}
};
},
// 获取奖品列表
getPrizeConfig(state) {
return state.prizeConfig.prizeList;
getters: {
// 获取全部配置
getPrizeConfigAll(state) {
return state.prizeConfig;
},
// 获取奖品列表
getPrizeConfig(state) {
return state.prizeConfig.prizeList;
},
// 根据id获取配置
getPrizeConfigById(state) {
return (id: number | string) => {
return state.prizeConfig.prizeList.find(item => item.id === id);
}
},
// 获取当前奖项
getCurrentPrize(state) {
return state.prizeConfig.currentPrize;
},
},
// 根据id获取配置
getPrizeConfigById(state) {
return (id: number|string) => {
return state.prizeConfig.prizeList.find(item => item.id === id);
}
},
},
actions: {
// 设置奖项
setPrizeConfig(prizeList:IPrizeConfig[]) {
this.prizeConfig.prizeList = prizeList;
},
// 添加奖项
addPrizeConfig(prizeConfigItem: IPrizeConfig) {
this.prizeConfig.prizeList.push(prizeConfigItem);
},
// 删除奖项
deletePrizeConfig(prizeConfigItemId: number|string) {
this.prizeConfig.prizeList = this.prizeConfig.prizeList.filter(item => item.id!== prizeConfigItemId);
},
// 更新奖项数据
updatePrizeConfig(prizeConfigItem: IPrizeConfig) {
const index = this.prizeConfig.prizeList.findIndex(item => item.id === prizeConfigItem.id);
this.prizeConfig.prizeList[index] = prizeConfigItem;
},
// 删除全部奖项
deleteAllPrizeConfig() {
this.prizeConfig.prizeList = [];
},
// 重置所有配置
resetDefault() {
this.prizeConfig = {
prizeList:defaultPrizeList,
actions: {
// 设置奖项
setPrizeConfig(prizeList: IPrizeConfig[]) {
this.prizeConfig.prizeList = prizeList;
},
// 添加奖项
addPrizeConfig(prizeConfigItem: IPrizeConfig) {
this.prizeConfig.prizeList.push(prizeConfigItem);
},
// 删除奖项
deletePrizeConfig(prizeConfigItemId: number | string) {
this.prizeConfig.prizeList = this.prizeConfig.prizeList.filter(item => item.id !== prizeConfigItemId);
},
// 更新奖项数据
updatePrizeConfig(prizeConfigItem: IPrizeConfig) {
const index = this.prizeConfig.prizeList.findIndex(item => item.id === prizeConfigItem.id);
this.prizeConfig.prizeList[index] = prizeConfigItem;
},
// 删除全部奖项
deleteAllPrizeConfig() {
this.prizeConfig.prizeList = [];
},
// 设置当前奖项
setCurrentPrize(prizeConfigItem: IPrizeConfig) {
this.prizeConfig.currentPrize = prizeConfigItem;
},
// 重置所有配置
resetDefault() {
this.prizeConfig = {
prizeList: defaultPrizeList,
currentPrize: {
id: '001',
name: '一等奖',
sort: 1,
isAll: true,
count: 1,
picture: {
id: '0',
name: '一等奖',
url: 'https://24years.top/resource/image/image1.png'
},
desc: '一等奖',
isShow: true,
isUsed: false,
frequency: 1,
},
}
}
},
},
persist: {
enabled: true,
strategies: [
{
// 如果要存储在localStorage
storage: localStorage,
key: 'personConfig',
},
],
},
persist: {
enabled: true,
strategies: [
{
// 如果要存储在localStorage中
storage: localStorage,
key: 'personConfig',
},
],
},
});