lxp_Maxcess/stores/configs.ts

32 lines
842 B
TypeScript
Raw Permalink Normal View History

2025-04-09 18:55:14 +08:00
import { defineStore } from 'pinia';
export const useConfig = defineStore('configs', {
state: () : useConfigStates => ({
headers: { top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 },
slogan: { top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 },
SMS: {
SMS_TEXT: '获取验证码',
SMS_OUT: null
}
}),
actions: {
async clearConfig() {
uni.removeStorageSync('configs');
},
async setConfigs(payload : storePayload) {
let nameArr = payload.name.split('.');
let saveKey = '';
let len = nameArr.length;
if (len >= 2) {
let obj = this[nameArr[0]];
for (let i = 1; i < len - 1; i++) {
obj = obj[nameArr[i]];
}
obj[nameArr[len - 1]] = payload.value;
saveKey = nameArr[0];
} else {
this[payload.name] = payload.value;
saveKey = payload.name;
}
},
},
});