share.ts
1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { ViewTypeEnum } from "@/enums/external/viewEnum"
import { defHttp } from "@/utils/external/http/axios"
import { isShareMode } from "@/views/share/hook"
enum Api {
  TOKEN = '/auth/login/public',
  CHECK = '/share/check',
  SHARE_CONTENT = '/share'
}
/**
 * @description 获取token
 * @param publicId string
 */
export const getPublicToken = (publicId: string) => {
  return defHttp.post<Record<'token' | 'refreshToken', string>>({
    url: Api.TOKEN,
    data: { publicId }
  }, { joinPrefix: false, withShareToken: isShareMode() })
}
/**
 * @description 检查时候需要访问令牌
 * @param id string
 */
export const checkSharePageNeedAccessToken = (id: string) => {
  return defHttp.get<{ data: boolean }>({
    url: `${Api.CHECK}/${ViewTypeEnum.LARGE_SCREEN}/${id}`
  }, { withShareToken: isShareMode() })
}
/**
 * @description 获取分享的数据内容
 * @param options 
 */
export const getShareContentData = (options: Record<'id' | 'accessCredentials', string>) => {
  const { accessCredentials } = options
  return defHttp.get<{ data: any }>({
    url: `${Api.SHARE_CONTENT}/${ViewTypeEnum.LARGE_SCREEN}/share_data/${options.id}`,
    params: accessCredentials ? { accessCredentials } : {}
  }, { withShareToken: isShareMode() })
}