From 9dbb25287d04b4b129adb8a05e7561992600cbad Mon Sep 17 00:00:00 2001 From: 170-carry Date: Thu, 30 Apr 2026 18:59:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E5=B8=81=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/src/api/legacy/gm.ts | 23 + apps/src/api/legacy/pay.ts | 10 + apps/src/router/routes/modules/gm.ts | 30 + apps/src/views/gm/gold-operation-review.vue | 305 +++++++++ apps/src/views/gm/gold-operation.vue | 590 ++++++++++++++++++ .../components/pay-factory-config-modal.vue | 231 +++++++ apps/src/views/operate/pay-factory.vue | 16 +- apps/src/views/operate/user-manage.vue | 52 +- apps/src/views/statistics/datav.vue | 40 +- scripts/sql/20260430_gm_gold_operation.sql | 214 +++++++ 10 files changed, 1440 insertions(+), 71 deletions(-) create mode 100644 apps/src/api/legacy/gm.ts create mode 100644 apps/src/router/routes/modules/gm.ts create mode 100644 apps/src/views/gm/gold-operation-review.vue create mode 100644 apps/src/views/gm/gold-operation.vue create mode 100644 apps/src/views/operate/components/pay-factory-config-modal.vue create mode 100644 scripts/sql/20260430_gm_gold_operation.sql diff --git a/apps/src/api/legacy/gm.ts b/apps/src/api/legacy/gm.ts new file mode 100644 index 0000000..b83f0e4 --- /dev/null +++ b/apps/src/api/legacy/gm.ts @@ -0,0 +1,23 @@ +import type { LegacyPageResult } from '#/api/legacy/system'; + +import { requestClient } from '#/api/request'; + +export async function submitGmGoldOperation(data: Record) { + return requestClient.post>('/gm/gold-operation', data); +} + +export async function pageGmGoldOperation(params: Record) { + return requestClient.get>>( + '/gm/gold-operation/page', + { + params, + }, + ); +} + +export async function reviewGmGoldOperation(data: Record) { + return requestClient.post>( + '/gm/gold-operation/review', + data, + ); +} diff --git a/apps/src/api/legacy/pay.ts b/apps/src/api/legacy/pay.ts index 972b71d..0465f04 100644 --- a/apps/src/api/legacy/pay.ts +++ b/apps/src/api/legacy/pay.ts @@ -106,6 +106,16 @@ export async function updatePayFactory(data: Record) { return requestClient.post('/sys-pay-factory/update', data); } +export async function getPayFactoryConfig(params: Record) { + return requestClient.get>('/sys-pay-factory/config', { + params, + }); +} + +export async function savePayFactoryConfig(data: Record) { + return requestClient.post('/sys-pay-factory/config/save', data); +} + export async function addPayFactoryAssociatedChannels( data: Array>, ) { diff --git a/apps/src/router/routes/modules/gm.ts b/apps/src/router/routes/modules/gm.ts new file mode 100644 index 0000000..6706374 --- /dev/null +++ b/apps/src/router/routes/modules/gm.ts @@ -0,0 +1,30 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'lucide:shield', + order: 49.4, + title: 'GM操作', + }, + name: 'GmOperation', + path: '/gm/operation', + redirect: '/gm/operation/gold-operation', + children: [ + { + name: 'GmGoldOperation', + path: 'gold-operation', + component: () => import('#/views/gm/gold-operation.vue'), + meta: { title: '金币操作' }, + }, + { + name: 'GmGoldOperationReview', + path: 'gold-operation-review', + component: () => import('#/views/gm/gold-operation-review.vue'), + meta: { title: '金币操作审核' }, + }, + ], + }, +]; + +export default routes; diff --git a/apps/src/views/gm/gold-operation-review.vue b/apps/src/views/gm/gold-operation-review.vue new file mode 100644 index 0000000..4e1f499 --- /dev/null +++ b/apps/src/views/gm/gold-operation-review.vue @@ -0,0 +1,305 @@ + + + + + diff --git a/apps/src/views/gm/gold-operation.vue b/apps/src/views/gm/gold-operation.vue new file mode 100644 index 0000000..9b0104e --- /dev/null +++ b/apps/src/views/gm/gold-operation.vue @@ -0,0 +1,590 @@ + + +