67 lines
1.8 KiB
TypeScript
67 lines
1.8 KiB
TypeScript
// Author: fruit.com.cn
|
|
|
|
import request from '@/axios'
|
|
import type { AppUserBanRecord, AppUserItem, PageResult, WatchHistoryItem } from './types'
|
|
|
|
export interface AppUserPageParams {
|
|
pageIndex?: number
|
|
pageSize?: number
|
|
/** uid / 昵称 / 手机号 / 邮箱 */
|
|
keyword?: string
|
|
status?: string
|
|
countryCode?: string
|
|
registerSource?: string
|
|
/** 客户端平台:ANDROID / IOS / WEB */
|
|
platform?: string
|
|
}
|
|
|
|
export interface WatchHistoryPageParams {
|
|
pageIndex?: number
|
|
pageSize?: number
|
|
keyword?: string
|
|
userId?: number
|
|
dramaTitle?: string
|
|
dramaId?: number
|
|
episodeId?: number
|
|
/** 客户端平台:ANDROID / IOS / WEB */
|
|
platform?: string
|
|
source?: string
|
|
finished?: boolean
|
|
startTime?: string
|
|
endTime?: string
|
|
}
|
|
|
|
export const pageAppUsersApi = (params: AppUserPageParams) => {
|
|
return request.get<PageResult<AppUserItem>>({ url: '/admin/app-users/page', params })
|
|
}
|
|
|
|
export const getAppUserApi = (id: number) => {
|
|
return request.get<AppUserItem>({ url: `/admin/app-users/${id}` })
|
|
}
|
|
|
|
export const listAppUserBanRecordsApi = (id: number) => {
|
|
return request.get<AppUserBanRecord[]>({ url: `/admin/app-users/${id}/ban-records` })
|
|
}
|
|
|
|
export const listAppUserWatchHistoryApi = (id: number, limit = 50) => {
|
|
return request.get<WatchHistoryItem[]>({
|
|
url: `/admin/app-users/${id}/watch-history`,
|
|
params: { limit }
|
|
})
|
|
}
|
|
|
|
export const pageWatchHistoryApi = (params: WatchHistoryPageParams) => {
|
|
return request.get<PageResult<WatchHistoryItem>>({
|
|
url: '/admin/watch-history/page',
|
|
params
|
|
})
|
|
}
|
|
|
|
/** normal / limited / banned,封禁与限制会立即吊销该用户全部会话 */
|
|
export const updateAppUserStatusApi = (id: number, status: string, reason?: string) => {
|
|
return request.put<void>({
|
|
url: `/admin/app-users/${id}/status`,
|
|
params: { status, reason }
|
|
})
|
|
}
|