feat: production branch with deploy config for baota panel

- Add deploy/ directory with production env, supervisor, nginx, migration configs
- Include all latest features: admin management, feedback, footer with ICP/beian
- Database: foreign_trade (PostgreSQL), user: foreign_trade
- Frontend: trade.yuzhiran.com, backend proxy via Nginx
This commit is contained in:
TradeMate Dev
2026-05-14 09:19:30 +08:00
parent 23a31f7c00
commit 5a1af9f82f
15 changed files with 1377 additions and 71 deletions
+20 -1
View File
@@ -112,8 +112,27 @@ export const productApi = {
export const adminApi = {
getDashboard: () => request('/admin/dashboard'),
listUsers: (page = 1, size = 20) => request(`/admin/users?page=${page}&size=${size}`),
listUsers: (page = 1, size = 20, role) => {
let url = `/admin/users?page=${page}&size=${size}`
if (role) url += `&role=${role}`
return request(url)
},
updateUserTier: (userId, tier) => request(`/admin/users/${userId}/tier`, 'PATCH', { tier }),
updateUserRole: (userId, role) => request(`/admin/users/${userId}/role`, 'PATCH', { role }),
toggleUserActive: (userId) => request(`/admin/users/${userId}/toggle-active`, 'POST'),
getUserDetail: (userId) => request(`/admin/users/${userId}`),
searchUsers: (q) => request(`/admin/users/search?q=${encodeURIComponent(q)}`),
getUsageStats: () => request('/admin/usage-stats'),
getLogs: (page = 1, size = 50, filters = {}) => {
let url = `/admin/logs?page=${page}&size=${size}`
if (filters.action) url += `&action=${encodeURIComponent(filters.action)}`
if (filters.user_id) url += `&user_id=${encodeURIComponent(filters.user_id)}`
if (filters.date_from) url += `&date_from=${filters.date_from}`
if (filters.date_to) url += `&date_to=${filters.date_to}`
return request(url)
},
getConfig: () => request('/admin/config'),
updateConfig: (key, value) => request(`/admin/config/${key}`, 'PUT', { value }),
}
export const analyticsApi = {