90 lines
3.1 KiB
JavaScript
90 lines
3.1 KiB
JavaScript
import utils from '../services/utils';
|
|
|
|
const checkStorageLocalKey = 'img/checkedStorage';
|
|
const workspacePathLocalKey = 'img/workspaceImgPath';
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
// 当前图片上传中的临时ID
|
|
currImgId: null,
|
|
// 选择的存储图床信息
|
|
checkedStorage: {
|
|
type: 'workspace', // 目前存储类型分三种 token 与 tokenRepo 、workspace
|
|
provider: null, // 对应是何种账号
|
|
sub: '/imgs/{YYYY}-{MM}-{DD}', // 对应 token 中的sub
|
|
sid: null,
|
|
},
|
|
// 当前仓库图片存储位置 key 为path value 为true
|
|
workspaceImagePath: {
|
|
'/imgs/{YYYY}-{MM}-{DD}': true,
|
|
},
|
|
},
|
|
mutations: {
|
|
setCurrImgId: (state, value) => {
|
|
state.currImgId = value;
|
|
},
|
|
clearCurrImg: (state) => {
|
|
state.currImg = null;
|
|
},
|
|
changeCheckedStorage: (state, value) => {
|
|
if (value) {
|
|
state.checkedStorage = {
|
|
type: value.type, // 目前存储类型分两种 token 与 tokenRepo
|
|
provider: value.provider, // 对应是何种账号
|
|
sub: value.sub, // 对应 token 中的sub
|
|
sid: value.sid,
|
|
};
|
|
} else {
|
|
state.checkedStorage = {
|
|
type: null, // 目前存储类型分两种 token 与 tokenRepo
|
|
provider: null, // 对应是何种账号
|
|
sub: null, // 对应 token 中的sub
|
|
sid: null,
|
|
};
|
|
}
|
|
},
|
|
setWorkspaceImgPath: (state, value) => {
|
|
state.workspaceImagePath = value;
|
|
localStorage.setItem(workspacePathLocalKey, JSON.stringify(state.workspaceImagePath));
|
|
},
|
|
addWorkspaceImgPath: (state, value) => {
|
|
state.workspaceImagePath[value] = true;
|
|
state.workspaceImagePath = utils.deepCopy(state.workspaceImagePath);
|
|
localStorage.setItem(workspacePathLocalKey, JSON.stringify(state.workspaceImagePath));
|
|
},
|
|
removeWorkspaceImgPath: (state, value) => {
|
|
delete state.workspaceImagePath[value];
|
|
state.workspaceImagePath = utils.deepCopy(state.workspaceImagePath);
|
|
localStorage.setItem(workspacePathLocalKey, JSON.stringify(state.workspaceImagePath));
|
|
},
|
|
},
|
|
getters: {
|
|
currImgId: state => state.currImgId,
|
|
getCheckedStorage: state => state.checkedStorage,
|
|
getCheckedStorageSub: state => state.checkedStorage.sub,
|
|
getWorkspaceImgPath: state => state.workspaceImagePath,
|
|
},
|
|
actions: {
|
|
setCurrImgId({ commit }, imgId) {
|
|
commit('setCurrImgId', imgId);
|
|
},
|
|
clearImg({ commit }) {
|
|
commit('clearCurrImg');
|
|
},
|
|
changeCheckedStorage({ commit }, checkedStorage) {
|
|
commit('changeCheckedStorage', checkedStorage);
|
|
localStorage.setItem(checkStorageLocalKey, JSON.stringify(checkedStorage));
|
|
},
|
|
setWorkspaceImgPath({ commit }, workspaceImgPath) {
|
|
commit('setWorkspaceImgPath', workspaceImgPath);
|
|
},
|
|
addWorkspaceImgPath({ commit }, workspaceImgPathValue) {
|
|
commit('addWorkspaceImgPath', workspaceImgPathValue);
|
|
},
|
|
removeWorkspaceImgPath({ commit }, workspaceImgPathValue) {
|
|
commit('removeWorkspaceImgPath', workspaceImgPathValue);
|
|
},
|
|
},
|
|
};
|