2026-04-21 22:07:29 +08:00
|
|
|
import client from './client'
|
|
|
|
|
|
|
|
|
|
export interface App {
|
|
|
|
|
id: string
|
|
|
|
|
tenantId: string
|
|
|
|
|
packageName: string
|
|
|
|
|
name: string
|
|
|
|
|
description?: string
|
|
|
|
|
iconUrl?: string
|
|
|
|
|
appKey: string
|
|
|
|
|
appSecret: string
|
|
|
|
|
createdAt: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface CreateAppRequest {
|
|
|
|
|
packageName: string
|
|
|
|
|
name: string
|
|
|
|
|
description?: string
|
|
|
|
|
iconUrl?: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface FeatureService {
|
|
|
|
|
id: string
|
|
|
|
|
appId: string
|
|
|
|
|
platform: 'ANDROID' | 'IOS' | 'HARMONY'
|
|
|
|
|
serviceType: 'IM' | 'PUSH' | 'UPDATE'
|
|
|
|
|
enabled: boolean
|
2026-04-28 16:08:07 +08:00
|
|
|
config?: string | null
|
2026-04-21 22:07:29 +08:00
|
|
|
createdAt: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const appApi = {
|
|
|
|
|
list: () => client.get<{ data: App[] }>('/apps'),
|
|
|
|
|
|
|
|
|
|
get: (id: string) => client.get<{ data: App }>(`/apps/${id}`),
|
|
|
|
|
|
|
|
|
|
create: (data: CreateAppRequest) => client.post<{ data: App }>('/apps', data),
|
|
|
|
|
|
|
|
|
|
update: (id: string, data: CreateAppRequest) => client.put<{ data: App }>(`/apps/${id}`, data),
|
|
|
|
|
|
|
|
|
|
delete: (id: string) => client.delete(`/apps/${id}`),
|
|
|
|
|
|
|
|
|
|
getServices: (appId: string) =>
|
|
|
|
|
client.get<{ data: FeatureService[] }>(`/apps/${appId}/services`),
|
|
|
|
|
|
|
|
|
|
toggleService: (appId: string, platform: string, serviceType: string, enable: boolean) =>
|
|
|
|
|
client.post<{ data: FeatureService }>(`/apps/${appId}/services/toggle`, null, {
|
|
|
|
|
params: { platform, serviceType, enable },
|
|
|
|
|
}),
|
|
|
|
|
|
2026-04-28 16:08:07 +08:00
|
|
|
updateServiceConfig: (appId: string, platform: string, serviceType: string, allowStrangerMessage: boolean) =>
|
|
|
|
|
client.put<{ data: FeatureService }>(`/apps/${appId}/services/config`, null, {
|
|
|
|
|
params: { platform, serviceType, allowStrangerMessage },
|
|
|
|
|
}),
|
|
|
|
|
|
2026-04-24 20:54:03 +08:00
|
|
|
requestSecretVerify: (appId: string, purpose: 'REVEAL_SECRET' | 'RESET_SECRET') =>
|
|
|
|
|
client.post<{ data: null }>(`/apps/${appId}/request-secret-verify`, null, {
|
|
|
|
|
params: { purpose },
|
|
|
|
|
}),
|
|
|
|
|
|
|
|
|
|
revealSecret: (appId: string, code: string) =>
|
|
|
|
|
client.post<{ data: { appSecret: string } }>(`/apps/${appId}/reveal-secret`, { code }),
|
|
|
|
|
|
|
|
|
|
resetSecret: (appId: string, code: string) =>
|
|
|
|
|
client.post<{ data: { appSecret: string } }>(`/apps/${appId}/reset-secret`, { code }),
|
2026-04-21 22:07:29 +08:00
|
|
|
}
|