12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import {
- addRelicsSceneFetch,
- delRelicsSceneFetch,
- relicsInfoFetch,
- relicsScenesFetch,
- updateRelicsFetch,
- updateRelicsScenePosNameFetch,
- } from "@/request";
- import { computed, ref } from "vue";
- import { Relics, RelicsScene, RelicsScenePoint } from "@/request/type";
- import { gHeaders } from "@/request/state";
- export type { RelicsScene, RelicsScenePoint };
- export const relics = ref<Relics>();
- export const scenes = ref<RelicsScene[]>([]);
- export const scenePoints = computed(() =>
- scenes.value.reduce((t, scene) => {
- t.push(...scene.scenePos);
- return t;
- }, [] as RelicsScenePoint[])
- );
- const fileNames = new Array(6).fill(0);
- export const getPointPano = (sceneCode: string, pid: number) =>
- fileNames.map(
- (_, i) =>
- `https://4dkk.4dage.com/scene_view_data/${sceneCode}/images/tiles/4k/${pid}_skybox${i}.jpg`
- );
- const refreshScenes = async (relicsId: number) => {
- scenes.value = await relicsScenesFetch(relicsId);
- };
- export const initRelics = async (relicsId: number) => {
- const data = await Promise.all([
- relicsInfoFetch(relicsId),
- refreshScenes(relicsId),
- ]);
- [relics.value] = data;
- };
- export const updateRelicsName = async (name: string) => {
- await updateRelicsFetch({ ...relics.value!, name });
- relics.value!.name = name;
- };
- export const addScene = async (sceneCode: string) => {
- await addRelicsSceneFetch(relics.value!.relicsId, sceneCode);
- await refreshScenes(relics.value!.relicsId);
- };
- export const delScene = async (scene: RelicsScene) => {
- await delRelicsSceneFetch(relics.value!.relicsId, scene.id);
- await refreshScenes(relics.value!.relicsId);
- };
- export const updateScenePointName = async (
- point: RelicsScenePoint,
- newName: string
- ) => {
- await updateRelicsScenePosNameFetch(point.id, newName);
- if (relics.value) {
- await refreshScenes(relics.value.relicsId);
- }
- };
- export const gotoScene = (scene: RelicsScene) => {
- const params = new URLSearchParams();
- params.set("m", scene.sceneCode);
- params.set("token", gHeaders.token);
- params.set("lang", "zh");
- if (scene.sceneCode.startsWith("KJ")) {
- window.open(`https://test.4dkankan.com/spg.html?` + params.toString());
- } else {
- window.open(`https://uat-laser.4dkankan.com/uat/?` + params.toString());
- }
- };
|