| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { defineStore } from 'pinia';
- import { MediaTypeEnum } from '@/interface';
- import { mobileRouterName } from '@/router';
- export type AppRootState = {
- muted: boolean;
- navList: { routeName: string; name: string }[];
- allTrack: {
- /** 1开启;2关闭 */
- audio: number;
- /** 1开启;2关闭 */
- video: number;
- id: string;
- mediaName: string;
- type: MediaTypeEnum;
- track?: MediaStreamTrack;
- stream?: MediaStream;
- streamid: string;
- trackid: string;
- canvasDom?: fabric.Image;
- initScale?: number;
- hidden?: boolean;
- }[];
- };
- export const useAppStore = defineStore('app', {
- state: (): AppRootState => {
- return {
- muted: true,
- navList: [
- { routeName: mobileRouterName.h5, name: '频道' },
- { routeName: mobileRouterName.h5Rank, name: '排行' },
- { routeName: mobileRouterName.h5Profile, name: '我的' },
- ],
- allTrack: [],
- };
- },
- actions: {
- setMuted(res: AppRootState['muted']) {
- this.muted = res;
- },
- setAllTrack(res: AppRootState['allTrack']) {
- this.allTrack = res;
- },
- getTrackInfo() {
- const res = { audio: 0, video: 0 };
- this.allTrack.forEach((item) => {
- // if (item.stream) {
- if (item.audio === 1) {
- res.audio += 1;
- }
- if (item.video === 1) {
- res.video += 1;
- }
- // }
- });
- return res;
- },
- },
- });
|