You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.0 KiB
111 lines
2.0 KiB
import request from '@/utils/request';
|
|
import { AxiosPromise } from 'axios';
|
|
import { UserVO, UserBanDTO, UserUnbanDTO, UserQuery } from '@/api/im/user/types';
|
|
|
|
/**
|
|
* 查询用户列表
|
|
* @param query
|
|
* @returns {*}
|
|
*/
|
|
|
|
export const listUser = (query?: UserQuery): AxiosPromise<UserVO[]> => {
|
|
return request({
|
|
url: '/im/user/list',
|
|
method: 'get',
|
|
params: query
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 查询用户详细
|
|
* @param id
|
|
*/
|
|
export const getUser = (id: string | number): AxiosPromise<UserVO> => {
|
|
return request({
|
|
url: '/im/user/' + id,
|
|
method: 'get'
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 封禁用户
|
|
* @param data
|
|
*/
|
|
export const ban = (data: UserBanDTO) => {
|
|
return request({
|
|
url: '/im/user/ban',
|
|
method: 'put',
|
|
data: data
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 解封用户
|
|
* @param data
|
|
*/
|
|
export const unban = (data: UserUnbanDTO) => {
|
|
return request({
|
|
url: '/im/user/unban',
|
|
method: 'put',
|
|
data: data
|
|
});
|
|
};
|
|
|
|
export const findUserByName = (name?: string): AxiosPromise<UserVO[]> => {
|
|
return request({
|
|
url: '/im/user/findByName?name=' + name,
|
|
method: 'get'
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 按天统计用户注册数量
|
|
* @param days 统计天数
|
|
*/
|
|
export const getDailyRegistrationCount = (days?: number): AxiosPromise<any[]> => {
|
|
return request({
|
|
url: '/im/user/dailyRegistrationCount',
|
|
method: 'get',
|
|
params: { days }
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 获取总用户数量
|
|
*/
|
|
export const getTotalUserCount = (): AxiosPromise<number> => {
|
|
return request({
|
|
url: '/im/user/totalCount',
|
|
method: 'get'
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 获取活跃用户统计(日活、周活、月活)
|
|
*/
|
|
export const getActiveUserStats = (): AxiosPromise<any> => {
|
|
return request({
|
|
url: '/im/user/activeStats',
|
|
method: 'get'
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 获取标签列表
|
|
*/
|
|
export const getLabelList = (): AxiosPromise<any> => {
|
|
return request({
|
|
url: '/im/userLabel/labelOptions',
|
|
method: 'post'
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 获取群组列表
|
|
*/
|
|
export const getGroupList = (): AxiosPromise<any> => {
|
|
return request({
|
|
url: '/im/userGroup/selectList',
|
|
method: 'post'
|
|
});
|
|
};
|
|
|