123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- import {defineStore} from 'pinia'
- import pinia from "~src/store/init"
- import appConfig from '~src/config/app';
- import authStore from '~src/api/util/auth'
- import appStore from '~uti/storage'
- export const useAppStore = defineStore('main', {
- state: () =>({
- //主题信息
- theme: appStore.getStoreData('theme') || appConfig.theme, //用户可选择类型:auto,light, dark
- themeVal: appStore.getStoreData('themeVal') || '', //实际主题:light, dark
- color: appStore.getStoreData('color') || appConfig.color,
- homeTheme: appStore.getStoreData('homeTheme') || appConfig.homeTheme,
- //用户信息
- token: appStore.getStoreData( 'token') || '',
- refreshToken: appStore.getStoreData('refreshToken') || '',
- tenantId: appStore.getStoreData('tenantId') || '',
- userInfo: appStore.getStoreData('userInfo') || {},
- //菜单信息
- menus: appStore.getStoreData('menus') || [],
- buttons: appStore.getStoreData('buttons') || {},
- //项目合同段数据
- projectContract: appStore.getStoreData('projectContract') || [],
- projectInfo: appStore.getStoreData('projectInfo') || {},
- contractInfo: appStore.getStoreData('contractInfo') || {},
- projectId: appStore.getStoreData('projectId') || '',
- contractId: appStore.getStoreData('contractId') || '',
- //其他配置信息
- bubble: appStore.getStoreData('bubble') || false,
- orderServiceTipModal: appStore.getStoreData('orderServiceTipModal') ?? 1, //0不弹出,1弹出
- shotWebRtc: appStore.getStoreData('shotWebRtc') || 0, //WebRtc截图方式: 0关闭,1开启
- fullScreen: appStore.getStoreData('fullScreen') || 0, //全屏截图:0关闭,1开启
- isCollapse: appStore.getStoreData('isCollapse') || false, //菜单折叠
- isScreenShort: false,
- }),
- getters: {
- //主题信息
- getTheme: state => state.theme,
- getThemeVal: state => state.themeVal,
- getColor: state => state.color,
- getHomeTheme: state => state.homeTheme,
- //用户信息
- getToken: state => state.token,
- getRefreshToken: state => state.refreshToken,
- getTenantId: state => state.tenantId,
- getUserInfo: state => state.userInfo,
- //菜单信息
- getMenus: state => state.menus,
- getButtons: state => state.buttons,
- //项目合同段数据
- getProjectContract: state => state.projectContract,
- getProjectInfo: state => state.projectInfo,
- getContractInfo: state => state.contractInfo,
- getProjectId: state => state.projectId,
- getContractId: state => state.contractId,
- //其他配置信息
- getBubble: state => state.bubble,
- getScreenShort: state => state.isScreenShort,
- getOrderServiceTipModal: state => state.orderServiceTipModal,
- getShotWebRtc: state => state.shotWebRtc,
- getFullScreen: state => state.fullScreen,
- getCollapse: state => state.isCollapse
- },
- actions: {
- //主题信息
- setTheme(value) {
- this.theme = value
- appStore.setStoreData('theme',value)
- },
- setThemeVal(value) {
- this.themeVal = value
- appStore.setStoreData('themeVal',value)
- },
- setColor(value) {
- this.color = value
- appStore.setStoreData('color',value)
- },
- setHomeTheme(value) {
- this.homeTheme = value
- appStore.setStoreData('homeTheme',value)
- },
- //用户信息
- setToken(value){
- this.token = value
- authStore.setToken(value)
- appStore.setStoreData('token',value)
- },
- setRefreshToken(value){
- this.refreshToken = value
- authStore.setRefreshToken(value)
- appStore.setStoreData('refreshToken',value)
- },
- setTenantId(value){
- this.tenantId = value
- appStore.setStoreData('tenantId',value)
- },
- setUserInfo(value){
- this.userInfo = value
- appStore.setStoreData('userInfo',value)
- },
- //菜单信息
- setMenus(value){
- this.menus = value
- appStore.setStoreData('menus',value)
- },
- setButtons(value){
- this.buttons = value
- appStore.setStoreData('buttons',value)
- },
- getButtonsVal(value) {
- return this.buttons[value] || false;
- },
- //项目合同段数据
- setProjectContract(value) {
- this.projectContract = value
- appStore.setStoreData('projectContract',value)
- },
- setProjectInfo(value) {
- this.projectInfo = value
- appStore.setStoreData('projectInfo',value)
- },
- setContractInfo(value) {
- this.contractInfo = value
- appStore.setStoreData('contractInfo',value)
- },
- setProjectId(value) {
- this.projectId = value
- appStore.setStoreData('projectId',value)
- },
- setContractId(value) {
- this.contractId = value
- appStore.setStoreData('contractId',value)
- },
- //其他配置信息
- setBubble(value) {
- this.bubble = value
- appStore.setStoreData('bubble',value)
- },
- setOrderServiceTipModal(value) {
- this.orderServiceTipModal = value
- appStore.setStoreData('orderServiceTipModal',value)
- },
- setScreenShort(value) {
- this.isScreenShort = value
- },
- setShotWebRtc(value) {
- this.shotWebRtc = value
- appStore.setStoreData('shotWebRtc',value)
- },
- setFullScreen(value) {
- this.fullScreen = value
- appStore.setStoreData('fullScreen',value)
- },
- setCollapse(value) { //菜单折叠
- this.isCollapse = value
- appStore.setStoreData('isCollapse',value)
- },
- //清除缓存和token
- clearStoreData() {
- //清除状态
- this.token = null
- this.refreshToken = null
- this.tenantId = null
- this.userInfo = null
- this.menus = null
- this.buttons = null
- this.projectContract = null
- this.projectInfo = null
- this.contractInfo = null
- this.projectId = null
- this.contractId = null
- this.orderServiceTipModal = null
- this.shotWebRtc = null
- this.fullScreen = null
- this.isCollapse = false
- //清除缓存
- appStore.clearAllStore()
- authStore.removeToken()
- authStore.removeRefreshToken()
- },
- }
- })
- export default function useUserStoreWidthOut() {
- return useAppStore(pinia);
- }
|