12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { GET_SETTING, UPDATE_SETTING } from "./constant";
- import defaultCover from "@/assets/pic.jpg";
- import { params } from "@/env";
- import axios from "./instance";
- import { SettingResourceType } from "./setting-resource";
- type ServeSetting = {
- settingsId?: string;
- pose?: string;
- cover?: string;
- back?: string;
- backType?: SettingResourceType;
- mapOpen?: boolean;
- openCompass?: boolean
- };
- export type Setting = {
- id?: string;
- pose?: {
- position: SceneLocalPos;
- target: SceneLocalPos;
- };
- cover: string;
- back: string;
- openCompass: boolean
- backType: SettingResourceType;
- mapOpen: boolean;
- };
- const toLocal = (serviceSetting: ServeSetting): Setting => ({
- ...serviceSetting,
- id: serviceSetting.settingsId,
- pose: serviceSetting.pose && JSON.parse(serviceSetting.pose),
- cover: serviceSetting.cover || defaultCover,
- back: serviceSetting.back || "none",
- backType: serviceSetting.backType || SettingResourceType.icon,
- mapOpen: false,
- openCompass: serviceSetting.openCompass
- });
- const toService = (setting: Setting): ServeSetting => ({
- ...setting,
- settingsId: setting.id,
- pose: setting.pose && JSON.stringify(setting.pose),
- cover: setting.cover,
- back: setting.back,
- });
- export const fetchSetting = async () => {
- const data = await axios.get<ServeSetting[]>(GET_SETTING, {
- params: { caseId: params.caseId },
- });
- return toLocal(data[0] || {});
- };
- export const updateSetting = async (setting: Setting) => {
- await axios.post(UPDATE_SETTING, {
- caseId: params.caseId,
- ...toService(setting),
- });
- };
|