shop-wx/doc/examples/api-example.ts

207 lines
4.0 KiB
TypeScript
Raw Permalink Normal View History

/**
* API
* API
*/
import { http } from '@/http/http';
import type { PageParam, PageResult } from '@/api';
/**
*
*/
export interface User {
/** 用户ID */
id: number;
/** 用户名 */
username: string;
/** 昵称 */
nickname: string;
/** 头像 */
avatar?: string;
/** 邮箱 */
email?: string;
/** 手机号 */
phone?: string;
/** 状态0正常 1禁用 */
status: number;
/** 创建时间 */
createTime: string;
}
/**
*
*/
export interface UserParams extends PageParam {
/** 搜索关键词 */
keyword?: string;
/** 状态 */
status?: number;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
}
/**
*
*/
export interface CreateUserParams {
/** 用户名 */
username: string;
/** 密码 */
password: string;
/** 昵称 */
nickname: string;
/** 邮箱 */
email?: string;
/** 手机号 */
phone?: string;
}
/**
*
*/
export interface UpdateUserParams extends Partial<CreateUserParams> {
/** 用户ID */
id: number;
/** 状态 */
status?: number;
}
/**
* API
*/
// ✅ 正确示例:获取用户列表(分页)
/**
*
* @param params
* @param params.page 1
* @param params.size 10
* @param params.keyword
* @param params.status
* @returns
*/
export function getUserList(params?: UserParams) {
return http.get<PageResult<User[]>>('/api/users', params);
}
// ✅ 正确示例:获取用户详情
/**
*
* @param id ID
* @returns
*/
export function getUserById(id: number) {
return http.get<User>(`/api/users/${id}`);
}
// ✅ 正确示例:创建用户
/**
*
* @param data
* @returns
*/
export function createUser(data: CreateUserParams) {
return http.post<User>('/api/users', data);
}
// ✅ 正确示例:更新用户
/**
*
* @param data
* @returns
*/
export function updateUser(data: UpdateUserParams) {
return http.put<User>(`/api/users/${data.id}`, data);
}
// ✅ 正确示例:删除用户
/**
*
* @param id ID
* @returns
*/
export function deleteUser(id: number) {
return http.delete(`/api/users/${id}`);
}
// ✅ 正确示例:批量删除用户
/**
*
* @param ids ID列表
* @returns
*/
export function batchDeleteUsers(ids: number[]) {
return http.post('/api/users/batch-delete', { ids });
}
// ✅ 正确示例:重置用户密码
/**
*
* @param id ID
* @returns
*/
export function resetUserPassword(id: number) {
return http.post(`/api/users/${id}/reset-password`);
}
// ❌ 错误示例:没有中文注释
export function getUsers(params?: any) {
return http.get('/api/users', params);
}
// ❌ 错误示例:命名不规范
export function users_list() {
return http.get('/api/users');
}
// ❌ 错误示例:没有类型约束
export function createNewUser(data: any) {
return http.post('/api/users', data);
}
/**
* API
*/
// 角色相关 API
export interface Role {
id: number;
name: string;
code: string;
description?: string;
status: number;
}
export function getRoleList() {
return http.get<Role[]>('/api/roles');
}
// 权限相关 API
export interface Permission {
id: number;
name: string;
code: string;
type: number;
parentId?: number;
}
export function getPermissionTree() {
return http.get<Permission[]>('/api/permissions/tree');
}
// 部门相关 API
export interface Department {
id: number;
name: string;
parentId?: number;
sort: number;
status: number;
children?: Department[];
}
export function getDepartmentTree() {
return http.get<Department[]>('/api/departments/tree');
}