diff --git a/.env.development b/.env.development
index c57bc09..ed3017e 100644
--- a/.env.development
+++ b/.env.development
@@ -6,4 +6,4 @@ VITE_APP_TITLE = 超管系统
VITE_APP_ENV = 'development'
# 代理管理系统/开发环境
-VITE_APP_BASE_API = '/ff-api'
+VITE_APP_BASE_API = '/dev-api'
diff --git a/dist.rar b/dist.rar
index 07e7b7f..a7d6ee4 100644
Binary files a/dist.rar and b/dist.rar differ
diff --git a/package.json b/package.json
index 7f5d7d1..3a14115 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"jsencrypt": "3.3.2",
"nprogress": "0.2.0",
"sortablejs": "^1.15.3",
+ "html2canvas": "^1.4.1",
"pinia": "2.1.7",
"vue": "3.4.31",
"vue-cropper": "1.1.1",
diff --git a/src/api/discounts/activity.js b/src/api/discounts/activity.js
new file mode 100644
index 0000000..75a3b5b
--- /dev/null
+++ b/src/api/discounts/activity.js
@@ -0,0 +1,183 @@
+import request from '@/utils/request'
+
+
+// 活动中心列表
+export function listActivityInfo(query) {
+ return request({
+ url: '/discounts/activityInfo/list',
+ method: 'get',
+ params: query
+ })
+ }
+
+
+ //活动分类下拉框列表
+ export function getActivityCategory(query) {
+ return request({
+ url: '/discounts/activityCategory/categorySelectList',
+ method: 'get',
+ params: query
+ })
+ }
+
+ // 新增活动
+export function addActivity(data) {
+ return request({
+ url: '/discounts/activityInfo/addActivity',
+ method: 'post',
+ data: data
+ })
+ }
+
+ // 修改活动
+export function updateActivity(data) {
+ return request({
+ url: '/discounts/activityInfo/updateActivity',
+ method: 'put',
+ data: data
+ })
+ }
+
+// 获取活动详情
+export function getActivityInfo({id}) {
+ return request({
+ url: `/discounts/activityInfo/getActivityInfo/${id}`,
+ method: 'get'
+ })
+ }
+
+//活动列表指定
+ export function activityInfoSetTop({ id, sortNo }) {
+ return request({
+ url: `/discounts/activityInfo/setTop/${id}/${sortNo}`,
+ method: 'put'
+ })
+}
+// 删除活动列表
+export function deleteActivityInfo(id) {
+ return request({
+ url: `/discounts/activityInfo/delete/${id}`,
+ method: 'delete'
+ })
+}
+
+
+// 发布活动
+export function activityInfoPublishActivity(id) {
+ return request({
+ url: `/discounts/activityInfo/publishActivity/${id}`,
+ method: 'put'
+ })
+}
+
+// 关闭活动
+export function activityInfoCloseActivity(id) {
+ return request({
+ url: `/discounts/activityInfo/closeActivity/${id}`,
+ method: 'put'
+ })
+}
+
+// 活动分类列表
+export function getDiscountsActivityCategory(query) {
+ return request({
+ url: '/discounts/activityCategory/list',
+ method: 'get',
+ params: query
+ })
+}
+
+//分类管理是否启用
+export function activityCategorySetOnOrOff(data) {
+ return request({
+ url: '/discounts/activityCategory/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 分类管理排序
+export function activityCategorySetTop({ id, sortNo }) {
+ return request({
+ url: `/discounts/activityCategory/setTop/${id}/${sortNo}`,
+ method: 'put'
+ })
+}
+
+ // 新增分类
+ export function addActivityCategory(data) {
+ return request({
+ url: '/discounts/activityCategory/addActivityCategory',
+ method: 'post',
+ data: data
+ })
+}
+
+ // 修改分类
+export function editActivityCategory(data) {
+ return request({
+ url: '/discounts/activityCategory/editActivityCategory',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除分类
+export function deleteActivityCategory(id) {
+ return request({
+ url: `/discounts/activityCategory/${id}`,
+ method: 'delete'
+ })
+}
+// 获取分类详情
+export function getActivityCategoryInfo({id}) {
+ return request({
+ url: `/discounts/activityCategory/${id}`,
+ method: 'get'
+ })
+ }
+
+ // 活动优惠统计列表
+export function getActivityDiscountReceiveList(query) {
+ return request({
+ url: '/discounts/receive/activityDiscountReceiveList',
+ method: 'get',
+ params: query
+ })
+}
+
+ // 派发奖励
+ export function editDistributeReward(data) {
+ return request({
+ url: '/discounts/activityInfo/distributeReward',
+ method: 'put',
+ data: data
+ })
+}
+
+// 推广记录列表
+export function getExtensionList(query) {
+ return request({
+ url: '/discounts/activityInfo/getExtensionList',
+ method: 'get',
+ params: query
+ })
+}
+
+// 指定代理账号
+export function getChannelLists(query) {
+ return request({
+ url: '/operation/channel/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 集字活动资源
+export function getActivityCombinationCharacter(query) {
+ return request({
+ url: 'discounts/activityCombinationCharacter/list',
+ method: 'get',
+ params: query
+ })
+}
\ No newline at end of file
diff --git a/src/api/discounts/realtimeRebate.js b/src/api/discounts/realtimeRebate.js
new file mode 100644
index 0000000..66cd9dd
--- /dev/null
+++ b/src/api/discounts/realtimeRebate.js
@@ -0,0 +1,149 @@
+import request from '@/utils/request'
+
+// 查询实时返水列表
+export function listRealtimeRebate(query) {
+ return request({
+ url: '/discounts/realtimeRebate/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询基本游戏信息
+export function getGameTypes(query) {
+ return request({
+ url: '/discounts/realtimeRebate/getGameTypes',
+ method: 'get',
+ params: query
+ })
+}
+// 查询基本平台信息
+export function getGameTypesSimp(query) {
+ return request({
+ url: '/discounts/realtimeRebate/getGameTypesSimp',
+ method: 'get',
+ params: query
+ })
+}
+// 查询游戏
+export function getGameTypesGame(data = {}) {
+ return request({
+ url: '/discounts/realtimeRebate/getGameTypesGame',
+ method: 'post',
+ data: data
+ })
+}
+// 查询基本游戏信息
+export function getPlatformTree(query) {
+ return request({
+ url: '/game/platform/tree',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询实时返水币种已绑定的会员层级
+export function getBoundMemberLevel(query) {
+ return request({
+ url: '/discounts/realtimeRebate/getBoundMemberLevel',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询实时返水详细
+export function getRealtimeRebate(id) {
+ return request({
+ url: '/discounts/realtimeRebate/' + id,
+ method: 'get'
+ })
+}
+
+// 新增实时返水
+export function addRealtimeRebate(data) {
+ return request({
+ url: '/discounts/realtimeRebate/addRebate',
+ method: 'post',
+ data: data
+ })
+}
+
+// 启停实时返水
+export function setOnOrOff(data) {
+ return request({
+ url: '/discounts/realtimeRebate/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 修改实时返水
+export function updateRealtimeRebate(data) {
+ return request({
+ url: '/discounts/realtimeRebate',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除实时返水
+export function delRealtimeRebate(id) {
+ return request({
+ url: '/discounts/realtimeRebate/' + id,
+ method: 'delete'
+ })
+}
+
+// 查询可设定返水的VIP等级
+export function getVipLevels(query) {
+ return request({
+ url: '/discounts/realtimeRebate/vip/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 返水设置查询
+export function getRealtimeRebateConfig(query) {
+ return request({
+ url: '/discounts/discountRealtimeRebateSetting/getRebateSetting',
+ method: 'get',
+ params: query
+ })
+}
+
+// 返水设置
+export function setRealtimeRebateConfig(data) {
+ return request({
+ url: '/discounts/discountRealtimeRebateSetting',
+ method: 'put',
+ data: data
+ })
+}
+
+// 返水开关状态查询
+export function getRealtimeRebateStatus(query) {
+ return request({
+ url: '/discounts/discountRealtimeRebateSetting/getSettingStatus',
+ method: 'get',
+ params: query
+ })
+}
+
+// 返水开关状态设置
+export function setRealtimeRebateStatus(data) {
+ return request({
+ url: '/discounts/discountRealtimeRebateSetting/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询返水设置历史记录
+export function getRealtimeRebateHistory(query) {
+ return request({
+ url: '/discounts/discountRealtimeRebateSetting/historyList',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/api/discounts/rewardAudit.js b/src/api/discounts/rewardAudit.js
new file mode 100644
index 0000000..417e3bf
--- /dev/null
+++ b/src/api/discounts/rewardAudit.js
@@ -0,0 +1,125 @@
+import request from '@/utils/request'
+
+
+// 会员申请审核列表
+export function activityRewardAuditList(query) {
+ return request({
+ url: '/discounts/activityRewardAudit/list',
+ method: 'get',
+ params: query
+ })
+ }
+ // 会员申请审核通过审核
+ export function activityRewardAuditPass(data) {
+ return request({
+ url: '/discounts/activityRewardAudit/auditAdopt',
+ method: 'post',
+ data: data
+ })
+ }
+
+ // 会员申请审核拒绝
+ export function activityRewardAuditRefuse(data) {
+ return request({
+ url: '/discounts/activityRewardAudit/auditRefuse',
+ method: 'post',
+ data: data
+ })
+ }
+
+// 全部记录列表
+export function getReceiveInfoList(query) {
+ return request({
+ url: '/discounts/receive/receiveInfoList',
+ method: 'get',
+ params: query
+ })
+}
+
+// 优惠明细
+export function getDiscountDetailList(query) {
+ return request({
+ url: '/discounts/receive/discountDetailList',
+ method: 'get',
+ params: query
+ })
+}
+// 待领取列表
+export function getReceivePendingList(query) {
+ return request({
+ url: '/discounts/receive/receivePendingList',
+ method: 'get',
+ params: query
+ })
+}
+
+// 已领取列表
+export function getReceiveReceivedList(query) {
+ return request({
+ url: '/discounts/receive/receiveReceivedList',
+ method: 'get',
+ params: query
+ })
+}
+
+// 被拒绝列表
+export function getReceiveRejectedList(query) {
+ return request({
+ url: '/discounts/receive/receiveRejectedList',
+ method: 'get',
+ params: query
+ })
+}
+
+// 已过期列表
+export function getReceiveExpiredList(query) {
+ return request({
+ url: '/discounts/receive/receiveExpiredList',
+ method: 'get',
+ params: query
+ })
+}
+
+ // 修改优惠领取记录
+ export function updateReceiveInfo(data) {
+ return request({
+ url: '/discounts/receive/updateReceiveInfo',
+ method: 'post',
+ data: data
+ })
+}
+
+ // 立即派发优惠领取
+ export function dispatchReceive(data) {
+ return request({
+ url: '/discounts/receive/dispatchReceive',
+ method: 'post',
+ data: data
+ })
+}
+
+ // 强制取消优惠领取
+ export function cancleReceive(data) {
+ return request({
+ url: '/discounts/receive/cancleReceive',
+ method: 'post',
+ data: data
+ })
+}
+
+// 待领取列表
+export function getDistributeAuditList(query) {
+ return request({
+ url: '/discounts/activityRewardAudit/distributeAuditList',
+ method: 'get',
+ params: query
+ })
+}
+// 已审核列表
+export function getActivityRewardAuditList(query) {
+ return request({
+ url: '/discounts/activityRewardAudit/auditedList',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/api/discounts/task.js b/src/api/discounts/task.js
new file mode 100644
index 0000000..9974f45
--- /dev/null
+++ b/src/api/discounts/task.js
@@ -0,0 +1,370 @@
+import request from '@/utils/request'
+
+// 根据任务id查询任务详情
+export function getTaskInfo(id) {
+ return request({
+ url: `/discounts/taskCenter/${id}`,
+ method: 'get'
+ })
+}
+
+// 批量修改任务
+export function batchUpdateTask(data) {
+ return request({
+ url: '/discounts/taskCenter/batchUpdate',
+ method: 'put',
+ data: data
+ })
+}
+
+// ---------------------------新人福利----------------------------------- //
+
+// 查询新人福利列表
+export function getNewcomerListInfo(query) {
+ return request({
+ url: '/discounts/newCome/getNewComeListInfo',
+ method: 'get',
+ params: query
+ })
+}
+
+// 新人福利任务是否开启
+export function newcomerSetOnOrOff(data) {
+ return request({
+ url: '/discounts/newCome/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 提示气泡是否开启
+export function newcomerSetTipPop(data) {
+ return request({
+ url: '/discounts/newCome/setTipPop',
+ method: 'put',
+ data: data
+ })
+}
+
+// 设置新人福利列表置顶
+export function newcomerSetTop({ id, sortNo }) {
+ return request({
+ url: `/discounts/newCome/setTop/${id}/${sortNo}`,
+ method: 'put'
+ })
+}
+
+// 修改新人福利
+export function editNewcomer(data) {
+ return request({
+ url: '/discounts/newCome',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询新人福利设置
+export function getNewcomerSetting(query) {
+ return request({
+ url: '/discounts/newCome/getTaskSetting',
+ method: 'get',
+ params: query
+ })
+}
+
+// 新人福利设置
+export function setNewcomerSetting(data) {
+ return request({
+ url: '/discounts/newCome/setTaskSetting',
+ method: 'put',
+ data: data
+ })
+}
+
+// ---------------------------每日任务----------------------------------- //
+
+// 每日任务列表查询
+export function getDailyTaskListInfo(query) {
+ return request({
+ url: '/discounts/taskCenter/daily/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 每日任务开关
+export function dailyTaskSetOnOrOff(data) {
+ return request({
+ url: '/discounts/taskCenter/daily/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 每日任务置顶
+export function dailyTaskSetTop({ id, sortNo }) {
+ return request({
+ url: `/discounts/taskCenter/daily/setTop/${id}/${sortNo}`,
+ method: 'put'
+ })
+}
+
+// 新增每日任务
+export function addDailyTask(data) {
+ return request({
+ url: '/discounts/taskCenter/daily/add',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改每日任务
+export function editDailyTask(data) {
+ return request({
+ url: '/discounts/taskCenter/daily/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询每日任务设置
+export function getDailyTaskSetting(query) {
+ return request({
+ url: '/discounts/taskSetting/daily/getTaskSetting',
+ method: 'get',
+ params: query
+ })
+}
+
+// 保存每日任务设置
+export function setDailyTaskSetting(data) {
+ return request({
+ url: '/discounts/taskSetting/daily/setTaskSetting',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除每日任务
+export function deleteDailyTask(id) {
+ return request({
+ url: `/discounts/taskCenter/daily/${id}`,
+ method: 'delete'
+ })
+}
+
+// ---------------------------每周任务----------------------------------- //
+
+// 查询每周任务列表
+export function getWeeklyTaskListInfo(query) {
+ return request({
+ url: '/discounts/taskCenter/weekly/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 每周任务开关
+export function weeklyTaskSetOnOrOff(data) {
+ return request({
+ url: '/discounts/taskCenter/weekly/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 每周任务置顶
+export function weeklyTaskSetTop({ id, sortNo }) {
+ return request({
+ url: `/discounts/taskCenter/weekly/setTop/${id}/${sortNo}`,
+ method: 'put'
+ })
+}
+
+// 新增每周任务
+export function addWeeklyTask(data) {
+ return request({
+ url: '/discounts/taskCenter/weekly/add',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改每周任务
+export function editWeeklyTask(data) {
+ return request({
+ url: '/discounts/taskCenter/weekly/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询每周任务设置
+export function getWeeklyTaskSetting(query) {
+ return request({
+ url: '/discounts/taskSetting/weekly/getTaskSetting',
+ method: 'get',
+ params: query
+ })
+}
+
+// 保存每周任务设置
+export function setWeeklyTaskSetting(data) {
+ return request({
+ url: '/discounts/taskSetting/weekly/setTaskSetting',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除每周任务
+export function deleteWeeklyTask(id) {
+ return request({
+ url: `/discounts/taskCenter/weekly/${id}`,
+ method: 'delete'
+ })
+}
+
+// ---------------------------三日神秘任务----------------------------------- //
+
+// 查询神秘任务列表
+export function getMysteryTaskListInfo(query) {
+ return request({
+ url: '/discounts/taskCenter/mysteryTask/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 神秘任务开关
+export function mysteryTaskSetOnOrOff(data) {
+ return request({
+ url: '/discounts/taskCenter/mysteryTask/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 神秘任务置顶
+export function mysteryTaskSetTop({ id, sortNo }) {
+ return request({
+ url: `/discounts/taskCenter/mysteryTask/setTop/${id}/${sortNo}`,
+ method: 'put'
+ })
+}
+
+// 新增神秘任务
+export function addMysteryTask(data) {
+ return request({
+ url: '/discounts/taskCenter/mysteryTask/add',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改神秘任务
+export function editMysteryTask(data) {
+ return request({
+ url: '/discounts/taskCenter/mysteryTask/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询神秘任务设置
+export function getMysteryTaskSetting(query) {
+ return request({
+ url: '/discounts/taskSetting/mysteryTask/getTaskSetting',
+ method: 'get',
+ params: query
+ })
+}
+
+// 保存神秘任务设置
+export function setMysteryTaskSetting(data) {
+ return request({
+ url: '/discounts/taskSetting/mysteryTask/setTaskSetting',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除神秘任务
+export function deleteMysteryTask(id) {
+ return request({
+ url: `/discounts/taskCenter/mysteryTask/${id}`,
+ method: 'delete'
+ })
+}
+
+// 神秘任务总开关状态
+export function mysteryTaskGetAllOnOrOff() {
+ return request({
+ url: '/discounts/taskSetting/mysteryTask/getSettingStatus',
+ method: 'get'
+ })
+}
+
+// 神秘任务总开关设置
+export function mysteryTaskSetAllOnOrOff(data) {
+ return request({
+ url: '/discounts/taskSetting/mysteryTask/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// ---------------------------活跃度设置----------------------------------- //
+
+// 活跃度设置列表
+export function getActivityList(query) {
+ return request({
+ url: '/discounts/activityBox/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 活跃度设置开关状态
+export function getActivityStatus() {
+ return request({
+ url: '/discounts/activitySetting/getStatus',
+ method: 'get'
+ })
+}
+
+// 活跃度开关设置
+export function setActivityStatus(data) {
+ return request({
+ url: '/discounts/activitySetting/setOnOrOff',
+ method: 'put',
+ data: data
+ })
+}
+
+// 查询活跃度设置
+export function getActivitySetting(query) {
+ return request({
+ url: '/discounts/activitySetting/getActivitySetting',
+ method: 'get',
+ params: query
+ })
+}
+
+// 保存活跃度设置
+export function setActivitySetting(data) {
+ return request({
+ url: '/discounts/activitySetting/setActivitySetting',
+ method: 'put',
+ data: data
+ })
+}
+
+// 修改活跃度设置
+export function editActivitySetting(data) {
+ return request({
+ url: '/discounts/activityBox',
+ method: 'put',
+ data: data
+ })
+}
\ No newline at end of file
diff --git a/src/api/game/details.js b/src/api/game/details.js
new file mode 100644
index 0000000..10f4b3c
--- /dev/null
+++ b/src/api/game/details.js
@@ -0,0 +1,92 @@
+import request from '@/utils/request'
+
+// 查询会员投注细目列表
+export function listDetails(query) {
+ return request({
+ url: '/game/details/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询会员投注细目详细
+export function getDetails(id) {
+ return request({
+ url: '/game/details/' + id,
+ method: 'get'
+ })
+}
+
+// 新增会员投注细目
+export function addDetails(data) {
+ return request({
+ url: '/game/details',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改会员投注细目
+export function updateDetails(data) {
+ return request({
+ url: '/game/details',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除会员投注细目
+export function delDetails(id) {
+ return request({
+ url: '/game/details/' + id,
+ method: 'delete'
+ })
+}
+
+
+/* ------------------------------- 投注记录start ------------------------------- */
+/**
+ * 投注统计列表
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226082399e0
+ * @param {*} query
+ * @returns
+ */
+export function listStatistics(query) {
+ return request({
+ url: '/game/details/statistics',
+ method: 'get',
+ params: query
+ })
+}
+/* ------------------------------- 投注记录end ------------------------------- */
+
+/* ------------------------------- 会员投注细目start ------------------------------- */
+/**
+ * 投注明细列表
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289
+ * @param {*} query
+ * @returns
+ */
+export function listSummary(query) {
+ return request({
+ url: '/game/details/summary/list',
+ method: 'get',
+ params: query
+ })
+}
+
+/**
+ * 投注明细列表汇总
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226018011e0
+ * @param {*} query
+ * @returns
+ */
+export function totalSummary(query) {
+ return request({
+ url: '/game/details/summary',
+ method: 'get',
+ params: query
+ })
+}
+
+/* ------------------------------- 会员投注细目end ------------------------------- */
diff --git a/src/api/game/game copy.js b/src/api/game/game copy.js
new file mode 100644
index 0000000..8cbad0f
--- /dev/null
+++ b/src/api/game/game copy.js
@@ -0,0 +1,269 @@
+import request from '@/utils/request'
+
+// 查询平台子游戏管理列表
+export function listGame(query) {
+ return request({
+ url: '/game/game/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询平台子游戏管理详细
+export function getGame(id) {
+ return request({
+ url: '/game/game/' + id,
+ method: 'get'
+ })
+}
+
+// 新增平台子游戏管理
+export function addGame(data) {
+ return request({
+ url: '/game/game',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改平台子游戏管理
+export function updateGame(data) {
+ return request({
+ url: '/game/game',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除平台子游戏管理
+export function delGame(id) {
+ return request({
+ url: '/game/game/' + id,
+ method: 'delete'
+ })
+}
+// 游戏图片同步
+export function gameGameSync({id}) {
+ return request({
+ url: `/game/game/sync/${id}`,
+ method: 'get'
+ })
+}
+/**
+ * 列表开关
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226766867e0
+ * @param {*} data
+ * @returns
+ */
+export function updateGameSwitch(data) {
+ return request({
+ url: '/game/game/switch',
+ method: 'put',
+ data: data
+ })
+}
+
+/**
+ * 子游戏置顶和列表交换
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226760893e0
+ * @param {*} id
+ * @param {*} sortNo
+ * @returns
+ */
+export function gameSort({ id, sortNo }) {
+ return request({
+ url: `/game/game/sort/top/${id}/${sortNo}`,
+ method: 'get'
+ })
+}
+
+/* ------------------------------- 热门管理start ------------------------------- */
+/**
+ * 热门管理列表
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/230502710e0
+ * @param {*} query
+ * @returns
+ */
+export function listPopular(query) {
+ return request({
+ url: '/game/popular/list',
+ method: 'get',
+ params: query
+ })
+}
+
+/**
+ * 热门管理置顶和列表交换
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/230512091e0
+ * @param {*} id
+ * @param {*} sortNo
+ * @returns
+ */
+export function popularSort({ id, sortNo }) {
+ return request({
+ url: `/game/popular/sort/top/${id}/${sortNo}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 移除热门管理
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/230543317e0
+ * @param {*} id
+ * @returns
+ */
+export function delPopular(id) {
+ return request({
+ url: '/game/popular/' + id,
+ method: 'delete'
+ })
+}
+/* ------------------------------- 热门管理end ------------------------------- */
+
+
+/* ------------------------------- 系统热门模块start ------------------------------- */
+/**
+ * 系统热门模板列表
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226847441e0
+ * @param {*} query
+ * @returns
+ */
+export function listSystem(query) {
+ return request({
+ url: '/game/details/popular/list',
+ method: 'get',
+ params: query
+ })
+}
+/* ------------------------------- 系统热门模块end ------------------------------- */
+
+
+/* ------------------------------- 类型管理start ------------------------------- */
+/**
+ * 游戏类型管理列表
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226897775e0
+ * @param {*} query
+ * @returns
+ */
+export function listCategory(query) {
+ return request({
+ url: '/game/category/list',
+ method: 'get',
+ params: query
+ })
+}
+
+/**
+ * 类型管理置顶和列表交换
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226940195e0
+ * @param {*} id
+ * @param {*} sortNo
+ * @returns
+ */
+export function categorySort({ id, sortNo }) {
+ return request({
+ url: `/game/category/sort/top/${id}/${sortNo}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 查询类型管理详情
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226948669e0
+ * @param {*} id
+ * @returns
+ */
+export function getCategory(id) {
+ return request({
+ url: '/game/category/' + id,
+ method: 'get'
+ })
+}
+
+/**
+ * 修改类型管理行数设置
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226951731e0
+ * @param {*} data
+ * @returns
+ */
+export function updateCategory(data) {
+ return request({
+ url: '/game/category',
+ method: 'put',
+ data: data
+ })
+}
+
+/**
+ * 新增外部链接
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226955535e0
+ * @param {*} data
+ * @returns
+ */
+export function addLinks(data) {
+ return request({
+ url: '/game/category/add/external/links',
+ method: 'post',
+ data: data
+ })
+}
+
+/**
+ * 修改外部链接
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226993828e0
+ * @param {*} data
+ * @returns
+ */
+export function updateLinks(data) {
+ return request({
+ url: '/game/category/update/external/links',
+ method: 'put',
+ data: data
+ })
+}
+
+/**
+ * 删除外部链接
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226994734e0
+ * @param {*} id
+ * @returns
+ */
+export function delCategory(id) {
+ return request({
+ url: '/game/category/' + id,
+ method: 'delete'
+ })
+}
+
+/**
+ * 类型管理列表开关
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/230951868e0
+ * @param {*} data
+ * @returns
+ */
+export function updateCategorySwitch(data) {
+ return request({
+ url: '/game/category/switch',
+ method: 'put',
+ data: data
+ })
+}
+
+/* ------------------------------- 类型管理end ------------------------------- */
+
+
+/* ------------------------------- 游戏全网排名start ------------------------------- */
+/**
+ * 游戏全网排名列表
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/227024433e0
+ * @param {*} query
+ * @returns
+ */
+export function listRanking(query) {
+ return request({
+ url: '/game/details/ranking/list',
+ method: 'get',
+ params: query
+ })
+}
+/* ------------------------------- 游戏全网排名end ------------------------------- */
diff --git a/src/api/game/kill.js b/src/api/game/kill.js
new file mode 100644
index 0000000..9f874cb
--- /dev/null
+++ b/src/api/game/kill.js
@@ -0,0 +1,24 @@
+import request from '@/utils/request'
+
+/* ------------------------------- 游戏杀率管理start ------------------------------- */
+
+// 查询原生游戏杀率列表
+export function listKill(query) {
+ return request({
+ url: '/game/rate/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 修改原生游戏杀率
+export function updateKill(data) {
+ return request({
+ url: '/game/rate',
+ method: 'put',
+ data: data
+ })
+}
+
+/* ------------------------------- 游戏杀率管理end ------------------------------- */
+
diff --git a/src/api/game/platform.js b/src/api/game/platform.js
new file mode 100644
index 0000000..b20f45e
--- /dev/null
+++ b/src/api/game/platform.js
@@ -0,0 +1,175 @@
+import request from '@/utils/request'
+
+// 查询平台管理列表
+export function listPlatform(query) {
+ return request({
+ url: '/game/platform/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 获取游戏配置详细信息
+export function gameConfig(query) {
+ return request({
+ url: '/game/config',
+ method: 'get',
+ params: query
+ })
+}
+
+// 新增游戏配置
+export function postGameConfig(data) {
+ return request({
+ url: '/game/config',
+ method: 'post',
+ data: data
+ })
+}
+// 获取游戏周转配置详细信息
+export function gameTurnoverConfig(query) {
+ return request({
+ url: '/game/turnover/config',
+ method: 'get',
+ params: query
+ })
+}
+// 新增游戏周转配置
+export function postGameTurnoverConfig(data) {
+ return request({
+ url: '/game/turnover/config',
+ method: 'post',
+ data: data
+ })
+}
+
+// 查询平台管理详细
+export function getPlatform(id) {
+ return request({
+ url: '/game/platform/' + id,
+ method: 'get'
+ })
+}
+
+// 新增平台管理
+export function addPlatform(data) {
+ return request({
+ url: '/game/platform',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改平台管理
+export function updatePlatform(data) {
+ return request({
+ url: '/game/platform',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除平台管理
+export function delPlatform(id) {
+ return request({
+ url: '/game/platform/' + id,
+ method: 'delete'
+ })
+}
+
+
+// 平台图片同步
+export function gamePlatformSync({id}) {
+ return request({
+ url: `/game/platform/sync/${id}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 置顶和列表交换
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226604932e0
+ * @param {*} id
+ * @param {*} sortNo
+ * @returns
+ */
+export function platformSort({id, sortNo}) {
+ return request({
+ url: `/game/platform/sort/top/${id}/${sortNo}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 获取进入游戏限制初始值
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226590282e0
+ * @returns
+ */
+export function getGameConfig() {
+ return request({
+ url: '/game/platform/configKey/batch',
+ headers: {
+ repeatSubmit: false
+ },
+ method: 'post'
+ })
+}
+
+/**
+ * 修改进入游戏限制
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/227838119e0
+ * @param {*} data
+ * @returns
+ */
+export function updateGameConfig(data) {
+ return request({
+ url: '/game/platform/configKey/batch',
+ method: 'put',
+ data: data
+ })
+}
+
+/**
+ * 游戏下拉列表
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226738498e0
+ * @param {*} query
+ * @returns
+ */
+export function platformSelect(query) {
+ return request({
+ url: '/game/platform/select',
+ method: 'get',
+ params: query
+ })
+}
+
+/**
+ * 列表开关
+ * https://apifox.com/apidoc/shared-e7cce3ff-8932-4a55-9381-e9d3d1649289/226750300e0
+ * @param {*} data
+ * @returns
+ */
+export function updatePlatformSwitch(data) {
+ return request({
+ url: '/game/platform/switch',
+ method: 'put',
+ data: data
+ })
+}
+//同步api游戏
+export function getGamePlatformApiSync(query) {
+ return request({
+ url: '/game/platform/api/sync',
+ method: 'get',
+ params: query
+ })
+}
+
+//同步游戏到租户
+export function getGamePlatformTenantSync(query) {
+ return request({
+ url: '/game/platform/tenant/sync',
+ method: 'get',
+ params: query
+ })
+}
\ No newline at end of file
diff --git a/src/api/game/pool.js b/src/api/game/pool.js
new file mode 100644
index 0000000..68a2e04
--- /dev/null
+++ b/src/api/game/pool.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询虚拟彩金池列表
+export function listPool(query) {
+ return request({
+ url: '/game/pool/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询虚拟彩金池详细
+export function getPool(id) {
+ return request({
+ url: '/game/pool/' + id,
+ method: 'get'
+ })
+}
+
+// 新增虚拟彩金池
+export function addPool(data) {
+ return request({
+ url: '/game/pool',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改虚拟彩金池
+export function updatePool(data) {
+ return request({
+ url: '/game/pool',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除虚拟彩金池
+export function delPool(id) {
+ return request({
+ url: '/game/pool/' + id,
+ method: 'delete'
+ })
+}
diff --git a/src/api/game/statistics.js b/src/api/game/statistics.js
new file mode 100644
index 0000000..9fcfde2
--- /dev/null
+++ b/src/api/game/statistics.js
@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 游戏统计列表
+export function listStatistics(query) {
+ return request({
+ url: '/game/details/statistics/list',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/api/siteManagement.js b/src/api/siteManagement.js
index d22623e..b8f6e9b 100644
--- a/src/api/siteManagement.js
+++ b/src/api/siteManagement.js
@@ -128,14 +128,7 @@ export function postSiteQuotaChange(data) {
})
}
-//绑定api租户
-export function postSiteBindApiGame(data) {
- return request({
- url: '/site/bind/api/game',
- method: 'post',
- data: data
- })
-}
+
//登录方法
export function tenantLogin(data) {
return request({
@@ -143,4 +136,38 @@ export function tenantLogin(data) {
method: 'post',
data: data
})
-}
+}
+//更新api租户
+export function postSiteUpdateApiGame(data) {
+ return request({
+ url: '/site/update/api/game',
+ method: 'post',
+ data: data
+ })
+}
+//新增api租户
+export function postSiteBindApiGame(data) {
+ return request({
+ url: '/site/bind/api/game',
+ method: 'post',
+ data: data
+ })
+}
+//查询绑定api租户信息
+export function getSiteBindApiGameInfo(query) {
+ return request({
+ url: '/site/bind/api/game/info',
+ method: 'get',
+ params: query
+ })
+}
+
+//删除api游戏信息
+export function postSiteDeleteApiGame(data) {
+ return request({
+ url: '/site/delete/api/game/info',
+ method: 'post',
+ data: data
+ })
+}
+
diff --git a/src/assets/icons/svg/arrow1.svg b/src/assets/icons/svg/arrow1.svg
new file mode 100644
index 0000000..6dbe116
--- /dev/null
+++ b/src/assets/icons/svg/arrow1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/svg/arrow2.svg b/src/assets/icons/svg/arrow2.svg
new file mode 100644
index 0000000..4a662e8
--- /dev/null
+++ b/src/assets/icons/svg/arrow2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/components/BannerColour/index.vue b/src/components/BannerColour/index.vue
new file mode 100644
index 0000000..b6a9c36
--- /dev/null
+++ b/src/components/BannerColour/index.vue
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+ 展开
+ 收起
+
+
+
+
+ 展开
+ 收起
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/PlatformSelection/index.vue b/src/components/PlatformSelection/index.vue
new file mode 100644
index 0000000..1fa55bb
--- /dev/null
+++ b/src/components/PlatformSelection/index.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/PlatformSelectionTree/index.vue b/src/components/PlatformSelectionTree/index.vue
new file mode 100644
index 0000000..9ee2b5a
--- /dev/null
+++ b/src/components/PlatformSelectionTree/index.vue
@@ -0,0 +1,104 @@
+
+
+