12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import { UPLOAD_FILE, UPLOAD_HEADS, CASE_INFO, AUTH_PWD, CASE_FIRE_INFO } from "./constant";
- import { axios } from "./instance";
- import { jsonToForm } from "@/utils";
- import { params } from "@/env";
- type UploadFile = LocalFile | string;
- export const blobToFile = (blob: Blob, suffix = ".png") =>
- new File([blob], `aaa${suffix}`);
- export const uploadFile = async (file: UploadFile, suffix = ".png") => {
- if (typeof file === "string") {
- return file;
- } else {
- const uploadFile =
- file.blob instanceof File ? file.blob : blobToFile(file.blob, suffix);
- const url = await axios<string>({
- method: "POST",
- url: UPLOAD_FILE,
- data: jsonToForm({ file: uploadFile }),
- headers: { ...UPLOAD_HEADS },
- });
- return url;
- }
- };
- export enum FireStatus {
- incomplete = 0,
- complete = 1,
- }
- export type FireProject = {
- "id": number,
- "caseId": number,
- "commandTime": string,
- "alarmTime": string,
- "alarmName": string,
- "inquestDept": string,
- "assignDept": string,
- "assignType": string,
- "times": string[],
- "inquestAddress": string,
- "tbStatus": number,
- "createTime": string,
- "updateTime": string
- };
- export interface Case {
- caseTitle: string;
- latAndLong: string;
- mapUrl: string;
- showScenes: boolean
- caseNum: string;
- caseCategory: string;
- caseRegion: string;
- caseAddress: string;
- homicideCase: number;
- criminalCase: number;
- tmProject?: FireProject;
- }
- export const getCaseInfo = async () => {
- const [caseInfo, fireInfo] = await Promise.all([
- axios.get<Case>(CASE_INFO, { params: { caseId: params.caseId } }),
- axios.get<FireProject>(CASE_FIRE_INFO, { params: { caseId: params.caseId } })
- ])
- caseInfo.tmProject = fireInfo
- return caseInfo
- }
- // 校验密码
- export const authSharePassword = (randCode: string) =>
- axios<boolean>(AUTH_PWD, { params: { randCode, caseId: params.caseId } });
|