// 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 } 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>({ url: '/admin/app-users/page', params }) } export const getAppUserApi = (id: number) => { return request.get({ url: `/admin/app-users/${id}` }) } export const listAppUserBanRecordsApi = (id: number) => { return request.get({ url: `/admin/app-users/${id}/ban-records` }) } export const listAppUserWatchHistoryApi = (id: number, limit = 50) => { return request.get({ url: `/admin/app-users/${id}/watch-history`, params: { limit } }) } export const pageWatchHistoryApi = (params: WatchHistoryPageParams) => { return request.get>({ url: '/admin/watch-history/page', params }) } /** normal / limited / banned,封禁与限制会立即吊销该用户全部会话 */ export const updateAppUserStatusApi = (id: number, status: string, reason?: string) => { return request.put({ url: `/admin/app-users/${id}/status`, params: { status, reason } }) }