123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import { defineStore } from 'pinia';
- import { useTourStore } from './tour';
- import { getApp, useApp } from '/@/hooks/userApp';
- interface AppState {
- panoId: Nullable<string>;
- isLoaded: boolean;
- mode: string;
- flying: boolean;
- floorId: Nullable<string>;
- player: {
- lang: string;
- showVR: boolean;
- showMore: boolean;
- showDescription: boolean;
- showToolbar: boolean;
- showMap: boolean;
- showShare: boolean;
- showUserGuide: boolean;
- showWidgets: boolean;
- };
- router: any;
- controlsBottom: string;
- isTourMode: boolean; // 自由观看模式
- }
- export const useAppStore = defineStore({
- id: 'app',
- state: (): AppState => ({
- isLoaded: false,
- panoId: null,
- mode: 'panorama',
- flying: false,
- floorId: null,
- player: {
- lang: 'zh',
- showVR: false,
- showMore: false,
- showDescription: false,
- showToolbar: true,
- showMap: true,
- showShare: false,
- showUserGuide: false,
- showWidgets: true,
- },
- router: {},
- controlsBottom: '20px',
- isTourMode: true,
- }),
- getters: {},
- actions: {
- setIsTourMode(payload: boolean): void {
- this.isTourMode = payload;
- },
- setMode(payload: string): void {
- console.log('setMode', payload);
- if (payload == this.mode) {
- return;
- }
- this.flying = true;
- useApp().then((sdk) => {
- sdk.Camera[payload]()
- .then(() => {
- this.flying = false;
- })
- .catch(() => {
- this.flying = false;
- });
- });
- if (payload == 'dollhouse') {
- this.setFloor('all');
- }
- this.mode = payload;
- },
- setFloorId(id: string): void {
- this.floorId = id;
- },
- setFlying(payload: boolean): void {
- this.flying = payload;
- },
- setFloor(id: string): void {
- this.floorId = id;
- getApp().Scene.gotoFloor(id);
- },
- showVR(): void {
- this.player.showVR = !this.player.showVR;
- this.player.showWidgets = !this.player.showWidgets;
- getApp().Camera.vr();
- },
- showUserGuide(payload: boolean): void {
- this.player.showUserGuide = payload;
- },
- setControlsBottom(payload: string): void {
- this.controlsBottom = payload;
- },
- setPanoId(id: string) {
- this.panoId = id;
- },
- setPlayerOptions(payload) {
- for (const key in payload) {
- this.player[key] = payload[key];
- if (key == 'showSplit') {
- this.player.showWidgets = !payload[key];
- }
- }
- if (!this.player.showToolbar || this.player.showVR) {
- const tourStore = useTourStore();
- // debugger
- // this.commit('tour/setData', { showTours: false })
- // tourStore.setData({ showTours: false })
- }
- },
- isLoad() {
- this.isLoaded = true;
- },
- unLoad() {
- this.isLoaded = true;
- },
- },
- });
|