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 @@ + + +