178 lines
5.5 KiB
TypeScript
Raw Normal View History

import { request } from '@umijs/max';
// ==================== Auth ====================
export async function login(data: { username: string; password: string }) {
return request('/api/v1/auth/login', { method: 'POST', data });
}
export async function logout() {
return request('/api/v1/auth/logout', { method: 'POST' });
}
export async function getUserInfo() {
return request('/api/v1/auth/info', { method: 'GET' });
}
export async function changePassword(data: { oldPassword: string; newPassword: string }) {
return request('/api/v1/auth/password', { method: 'PUT', data });
}
// ==================== Users ====================
export async function listUsers(params: any) {
return request('/api/v1/system/users', { method: 'GET', params });
}
export async function getUser(id: string) {
return request(`/api/v1/system/users/${id}`, { method: 'GET' });
}
export async function createUser(data: any) {
return request('/api/v1/system/users', { method: 'POST', data });
}
export async function updateUser(id: string, data: any) {
return request(`/api/v1/system/users/${id}`, { method: 'PUT', data });
}
export async function deleteUser(id: string) {
return request(`/api/v1/system/users/${id}`, { method: 'DELETE' });
}
export async function updateUserStatus(id: string, status: number) {
return request(`/api/v1/system/users/${id}/status`, { method: 'PUT', data: { status } });
}
// ==================== Roles ====================
export async function listRoles(params?: any) {
return request('/api/v1/system/roles', { method: 'GET', params });
}
export async function createRole(data: any) {
return request('/api/v1/system/roles', { method: 'POST', data });
}
export async function updateRole(id: string, data: any) {
return request(`/api/v1/system/roles/${id}`, { method: 'PUT', data });
}
export async function deleteRole(id: string) {
return request(`/api/v1/system/roles/${id}`, { method: 'DELETE' });
}
export async function setRolePermissions(id: string, menuIds: string[]) {
return request(`/api/v1/system/roles/${id}/permissions`, { method: 'PUT', data: { menuIds } });
}
// ==================== Menus ====================
export async function listMenus() {
return request('/api/v1/system/menus', { method: 'GET' });
}
export async function createMenu(data: any) {
return request('/api/v1/system/menus', { method: 'POST', data });
}
export async function updateMenu(id: string, data: any) {
return request(`/api/v1/system/menus/${id}`, { method: 'PUT', data });
}
export async function deleteMenu(id: string) {
return request(`/api/v1/system/menus/${id}`, { method: 'DELETE' });
}
// ==================== Logs ====================
export async function listLogs(params: any) {
return request('/api/v1/system/logs', { method: 'GET', params });
}
// ==================== Configs ====================
export async function listConfigs() {
return request('/api/v1/system/configs', { method: 'GET' });
}
export async function updateConfig(key: string, value: string) {
return request(`/api/v1/system/configs/${key}`, { method: 'PUT', data: { configValue: value } });
}
// ==================== Products ====================
export async function listProducts(params: any) {
return request('/api/v1/inventory/products', { method: 'GET', params });
}
export async function getProduct(id: string) {
return request(`/api/v1/inventory/products/${id}`, { method: 'GET' });
}
export async function createProduct(data: any) {
return request('/api/v1/inventory/products', { method: 'POST', data });
}
export async function updateProduct(id: string, data: any) {
return request(`/api/v1/inventory/products/${id}`, { method: 'PUT', data });
}
export async function deleteProduct(id: string) {
return request(`/api/v1/inventory/products/${id}`, { method: 'DELETE' });
}
export async function exportProducts() {
return request('/api/v1/inventory/products/export', { method: 'GET', responseType: 'blob' });
}
// ==================== Stocks ====================
export async function getStockSummary() {
return request('/api/v1/inventory/stocks/summary', { method: 'GET' });
}
export async function getStockByColor() {
return request('/api/v1/inventory/stocks/by-color', { method: 'GET' });
}
export async function getStockByLocation() {
return request('/api/v1/inventory/stocks/by-location', { method: 'GET' });
}
// ==================== Stock Checks ====================
export async function listStockChecks(params: any) {
return request('/api/v1/inventory/checks', { method: 'GET', params });
}
export async function getStockCheck(id: string) {
return request(`/api/v1/inventory/checks/${id}`, { method: 'GET' });
}
export async function createStockCheck(data: any) {
return request('/api/v1/inventory/checks', { method: 'POST', data });
}
export async function confirmStockCheck(id: string) {
return request(`/api/v1/inventory/checks/${id}/confirm`, { method: 'POST' });
}
// ==================== Stock Adjusts ====================
export async function listStockAdjusts(params: any) {
return request('/api/v1/inventory/adjusts', { method: 'GET', params });
}
export async function getStockAdjust(id: string) {
return request(`/api/v1/inventory/adjusts/${id}`, { method: 'GET' });
}
export async function createStockAdjust(data: any) {
return request('/api/v1/inventory/adjusts', { method: 'POST', data });
}
export async function approveStockAdjust(id: string, action: number) {
return request(`/api/v1/inventory/adjusts/${id}/approve`, { method: 'POST', data: { action } });
}