first commit

This commit is contained in:
Chris
2026-03-23 20:23:58 +08:00
commit 74d612aca1
3193 changed files with 692056 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
export default {
state: {},
mutations: {},
actions: {},
getters: {}
}

View File

@@ -0,0 +1,39 @@
import { createStore } from 'vuex'
import global from './global'
import ose_card_store from "@/module/ose-card/store/ose_card_store";
import countdown_timer_store from "@/module/conutdown-timer/store/countdown-timer-store"
import user from "@/store/module/user"
import directus from "@/store/module/directus";
import common from "@/store/module/common";
import createPersistedState from "vuex-persistedstate";
const store = createStore({
...global,
modules: {
common,
directus,
ose_card_store,
countdown_timer_store,
user,
},
plugins: [
createPersistedState({
storage:window.sessionStorage,
key:'edit_card_data',
reducer: (state) => state.ose_card_store.edit_card_data
}),
createPersistedState({
storage:window.sessionStorage,
key:'edit_countdown_timer_data',
reducer: (state) => state.countdown_timer_store.edit_countdown_timer_data
}),
createPersistedState({
storage:window.sessionStorage,
key:'user',
reducer: (state) => state.user
})
]
})
export default store

View File

@@ -0,0 +1,11 @@
export default {
namespaced: true,
state: {
loading: false,
},
actions:{
},
mutations: {},
getters: {}
}

View File

@@ -0,0 +1,22 @@
import createDirectusClient from "@/services/directus/client";
export default {
namespaced: true,
state: {
client: createDirectusClient()
},
mutations: {
client(state) {
state.client = createDirectusClient()
}
},
getters: {
// getPathName:(state) => (index) => {
// if(index)
// return "/"+state.current_path.split('/')[index]
// else
// return state.current_path
// }
},
}

View File

@@ -0,0 +1,72 @@
import {readItems,readMe} from '@directus/sdk';
const sessionStorageUser = sessionStorage.getItem('user')?JSON.parse(sessionStorage.getItem('user')):{}
export default {
namespaced: true,
state: {
isLogin: sessionStorageUser.isLogin || false,
module:sessionStorageUser.module || {},
corporate_customer:sessionStorageUser.corporate_customer || null,
user_info:sessionStorageUser.user_info || null,
role:sessionStorageUser.role || null,
current_corporate_customer:sessionStorageUser.current_corporate_customer || null,
current_corporate_customer_name:sessionStorageUser.current_corporate_customer_name || null,
},
actions: {
async login({rootState, commit, dispatch}, {email,password}){
const client = rootState.directus.client
await client.login(email, password);
commit("isLogin",true)
},
async logout({rootState, commit, dispatch}, ){
const client = rootState.directus.client
await client.logout()
commit('isLogin',false)
},
async getUserInfo({rootState, commit, dispatch}){
const client = rootState.directus.client
const result = await client.request(readMe({
fields:["*","corporate_customer.*"]
}))
commit("user_info",result)
commit("current_corporate_customer",result.corporate_customer?result.corporate_customer.id:null)
commit("current_corporate_customer_name",result.corporate_customer?result.corporate_customer.name:'請選擇公司')
commit("role",result.role)
},
async getCorporateList({state,rootState, commit, dispatch}){
const client = rootState.directus.client
const result = await client.request(readItems('corporate_customer'))
commit('corporate_customer',result)
},
async setCorporateCustomerName({rootState, commit, dispatch},id){
commit("current_corporate_customer",id)
rootState.user.corporate_customer.forEach((item)=>{
if(item.id == id)
commit("current_corporate_customer_name",item.name)
})
}
},
mutations: {
user_info(state,val){
state.user_info = val
},
isLogin(state,val){
state.isLogin = val
},
corporate_customer(state,val){
state.corporate_customer = val
},
current_corporate_customer(state,val){
state.current_corporate_customer = val
},
current_corporate_customer_name(state,val){
state.current_corporate_customer_name = val
},
role(state,val){
state.role = val
}
},
getters: {}
}