123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { Canceler } from 'axios';
- import { defineStore } from 'pinia';
- import {
- getMessage,
- getUserInfo,
- NoticeInfo,
- NoticeInfoParams,
- UserInfo,
- } from '@/api/common';
- import { BaseLoginUrl } from '@/constants/constants';
- export interface MainStateType {
- cancelReqToken: Canceler[];
- userInfo: Omit<UserInfo, 'accessToken'>;
- isshoweventlist:Boolean;
- }
- export interface MainActionsType {
- pushReqToken(cancelToken: Canceler): void;
- clearReqToken(): void;
- getUserInfo(ticket: string): Promise<true | undefined>;
- getMessage(params: NoticeInfoParams): Promise<NoticeInfo[] | undefined>;
- setEventListshow(isshow:boolean):void;
- }
- export default defineStore<'main', MainStateType, {}, MainActionsType>('main', {
- state: () => ({
- cancelReqToken: [],
- userInfo: {},
- isshoweventlist:false,
- }),
- actions: {
- async getMessage(params) {
- try {
- const { rows } = await getMessage(params);
- return rows;
- } catch (err) {
- console.log(err);
- }
- },
- setEventListshow(isshow) {
- this.isshoweventlist = isshow;
- },
- async getUserInfo(ticket) {
- try {
- const {
- data: { accessToken, ...userInfo },
- } = await getUserInfo(ticket);
- if (accessToken) {
- // window.localStorage.setItem('Authorization', accessToken);
- }
- this.userInfo = userInfo;
- return true;
- } catch (err) {
- window.location.href = BaseLoginUrl;
- console.log(err);
- }
- },
- pushReqToken(cancelToken) {
- this.cancelReqToken.push(cancelToken);
- },
- clearReqToken() {
- this.cancelReqToken.forEach((cancel) => {
- cancel('axios cancel by router change');
- });
- this.cancelReqToken = [];
- },
- },
- });
|