123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { defineStore } from 'pinia'
- import pinia from '~src/store/init'
- import { setStore, getStore, clearStoreAll } from 'hc-vue3-ui'
- export const useAppStore = defineStore('main', {
- state: () => ({
- //主题信息
- theme: getStore('theme') || 'auto', //用户可选择类型:auto,light, dark
- color: getStore('color') || '#409EFF', //主题色
- //用户信息
- tenantId: getStore('tenantId') || '',
- userInfo: getStore('userInfo') || {},
- //项目合同段数据
- projectContract: getStore('projectContract') || [],
- projectInfo: getStore('projectInfo') || {},
- contractInfo: getStore('contractInfo') || {},
- }),
- actions: {
- //主题信息
- setTheme(value) {
- this.theme = value
- setStore('theme', value)
- },
- setColor(value) {
- this.color = value
- setStore('color', value)
- },
- //用户信息
- setTenantId(value) {
- this.tenantId = value
- setStore('tenantId', value)
- },
- setUserInfo(value) {
- this.userInfo = value
- setStore('userInfo', value)
- },
- //项目合同段数据
- setProjectContract(value) {
- this.projectContract = value
- setStore('projectContract', value)
- },
- setProjectInfo(value) {
- this.projectInfo = value
- setStore('projectInfo', value)
- },
- setContractInfo(value) {
- this.contractInfo = value
- setStore('contractInfo', value)
- },
- //清除缓存和token
- clearStoreData() {
- //清除状态
- this.tenantId = null
- this.userInfo = null
- this.projectContract = null
- this.projectInfo = null
- this.contractInfo = null
- //清除所有缓存
- clearStoreAll()
- },
- },
- })
- export default function useUserStoreWidthOut() {
- return useAppStore(pinia)
- }
|