32 lines
842 B
TypeScript
32 lines
842 B
TypeScript
|
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;
|
||
|
}
|
||
|
},
|
||
|
},
|
||
|
});
|