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/BannerIcon/index.vue b/src/components/BannerIcon/index.vue new file mode 100644 index 0000000..bfd81ea --- /dev/null +++ b/src/components/BannerIcon/index.vue @@ -0,0 +1,242 @@ + + + + + \ No newline at end of file diff --git a/src/components/CurrencySelect/index.vue b/src/components/CurrencySelect/index.vue index cbb86cf..4af8c48 100644 --- a/src/components/CurrencySelect/index.vue +++ b/src/components/CurrencySelect/index.vue @@ -29,7 +29,7 @@ const selectedValue = defineModel(); const currencyList = ref([]); const isFinish = ref(false); // 列表未完成,下拉框禁用 const isError = ref(false); // 列表拉取失败 -const localList = getLocalStorage('currencyList')?.filter(v => v.status == 0) || []; // 本地缓存 +const localList = getLocalStorage('currencySelect')?.filter(v => v.status == 0) || []; // 本地缓存 if (localList.length) { currencyList.value = localList; diff --git a/src/components/PlatformSelection/Platforms.vue b/src/components/PlatformSelection/Platforms.vue new file mode 100644 index 0000000..17793ca --- /dev/null +++ b/src/components/PlatformSelection/Platforms.vue @@ -0,0 +1,298 @@ + + + + + \ 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/Platforms.vue b/src/components/PlatformSelectionTree/Platforms.vue new file mode 100644 index 0000000..6d9e180 --- /dev/null +++ b/src/components/PlatformSelectionTree/Platforms.vue @@ -0,0 +1,298 @@ + + + + + \ 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 @@ + + + \ No newline at end of file diff --git a/src/components/TableSearchDate/index.vue b/src/components/TableSearchDate/index.vue index c7848c1..bc22491 100644 --- a/src/components/TableSearchDate/index.vue +++ b/src/components/TableSearchDate/index.vue @@ -124,7 +124,7 @@ const disabledDate = (time) => { return time.getTime() >= Date.now(); } function getTimeFnTop(date) { - return dayjs(date).format('YYYY-MM-DD HH:mm:ss'); + return dayjs(date).format('YYYY-MM-DD HH:mm:ss.SSS'); } // 快捷日期区间选择 const timeTypeChange = (val) => { @@ -143,7 +143,7 @@ const timeTypeChange = (val) => { case 'week': dateRange.value = [ dayjs().subtract(6, 'day').startOf('day').format('YYYY-MM-DD HH:mm:ss'), - dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss') + dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss.SSS') ] break case 'month': @@ -172,7 +172,7 @@ const dateRangeChange = (dataValue) => { } if (!isNaN(start)){ dateRange.value[0] = dayjs(start).format('YYYY-MM-DD HH:mm:ss '); - dateRange.value[1] = dayjs(end).format('YYYY-MM-DD HH:mm:ss'); + dateRange.value[1] = dayjs(end).format('YYYY-MM-DD HH:mm:ss.SSS'); } } @@ -184,7 +184,7 @@ const dateRangeChange = (dataValue) => { // 生成日期区间 const getTimeFn = (startTime) => { - return [startTime.format('YYYY-MM-DD HH:mm:ss'), dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss')]; + return [startTime.format('YYYY-MM-DD HH:mm:ss'), dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss.SSS')]; } // 父组件重置 diff --git a/src/components/UploadIcon/index.vue b/src/components/UploadIcon/index.vue new file mode 100644 index 0000000..77e9b8f --- /dev/null +++ b/src/components/UploadIcon/index.vue @@ -0,0 +1,232 @@ + + + + + + + \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index e44ef68..a7249ba 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -1,6 +1,6 @@ import Cookies from 'js-cookie' -const TokenKey = 'Agent-Token' +const TokenKey = 'Super-Token' export function getToken() { return Cookies.get(TokenKey) diff --git a/src/views/components/DashboardCard.vue b/src/views/components/DashboardCard.vue index b6e31c3..abe3135 100644 --- a/src/views/components/DashboardCard.vue +++ b/src/views/components/DashboardCard.vue @@ -14,7 +14,7 @@
{{ card.title }}{{ card.percentage }}
- {{ card.value }} + {{ card.value }}
@@ -104,92 +104,92 @@ } ]); const handleClick = (e) => { - const type = e.target.dataset.type - let path = ''; - let typeDay = ''; - let activeName = ''; - let timeType = ''; - if (type == 'first') { - path = '/member/member'; - typeDay = 'day'; - timeType = 3; - }else if (type == 'proxy') { - path = '/agent/agent-info'; - typeDay = 'day'; - timeType = ''; - }else if (type == 'totalCharge') { - path = '/member/member'; - typeDay = ''; - timeType = 3; - }else if (type == 'totalAgent') { - path = '/agent/agent-info'; - typeDay = ''; - timeType = ''; - }else if (type == 'differenceRecharge') { - path = '/finance/recharge-order'; - typeDay = 'day'; - timeType = ''; - }else if (type == 'differenceWithdrawal') { - path = '/finance/withdrawal'; - typeDay = 'day'; - timeType = ''; - activeName = 'allWithdrawal'; - }else if (type == 'betOnNoteOrder') { - path = '/game/details'; - typeDay = 'day'; - timeType = ''; - activeName = 'details'; - }else if (type == 'discountParticipants') { - path = '/discounts/discount-details'; - typeDay = 'day'; - timeType = ''; - activeName = ''; - } - else if (type == 'discountTask') { - path = '/discounts/task'; - typeDay = ''; - timeType = ''; - activeName = ''; - }else if (type == 'discountActivity') { - path = '/discounts/activity-center'; - typeDay = ''; - timeType = ''; - activeName = ''; - } - proxy.$router.push({ - path: path, - query: { - activeName: activeName, - operateTimeType: typeDay, - timeType:timeType, - currencyType:props.currencyType, - } - }); + // const type = e.target.dataset.type + // let path = ''; + // let typeDay = ''; + // let activeName = ''; + // let timeType = ''; + // if (type == 'first') { + // path = '/member/member'; + // typeDay = 'day'; + // timeType = 3; + // }else if (type == 'proxy') { + // path = '/agent/agent-info'; + // typeDay = 'day'; + // timeType = ''; + // }else if (type == 'totalCharge') { + // path = '/member/member'; + // typeDay = ''; + // timeType = 3; + // }else if (type == 'totalAgent') { + // path = '/agent/agent-info'; + // typeDay = ''; + // timeType = ''; + // }else if (type == 'differenceRecharge') { + // path = '/finance/recharge-order'; + // typeDay = 'day'; + // timeType = ''; + // }else if (type == 'differenceWithdrawal') { + // path = '/finance/withdrawal'; + // typeDay = 'day'; + // timeType = ''; + // activeName = 'allWithdrawal'; + // }else if (type == 'betOnNoteOrder') { + // path = '/game/details'; + // typeDay = 'day'; + // timeType = ''; + // activeName = 'details'; + // }else if (type == 'discountParticipants') { + // path = '/discounts/discount-details'; + // typeDay = 'day'; + // timeType = ''; + // activeName = ''; + // } + // else if (type == 'discountTask') { + // path = '/discounts/task'; + // typeDay = ''; + // timeType = ''; + // activeName = ''; + // }else if (type == 'discountActivity') { + // path = '/discounts/activity-center'; + // typeDay = ''; + // timeType = ''; + // activeName = ''; + // } + // proxy.$router.push({ + // path: path, + // query: { + // activeName: activeName, + // operateTimeType: typeDay, + // timeType:timeType, + // currencyType:props.currencyType, + // } + // }); } // proxy.t('利润')+(props?.cardData?.profit||0)+' '+ const goPage = (cardClass) => { - let path = ''; - let typeDay = ''; - if (cardClass == 'orange'){ - path = '/member/member'; - typeDay = 'day'; - }else if (cardClass == 'blue'){ - path = '/member/member'; - typeDay = ''; - }else if (cardClass == 'yellow'){ - path = '/game/details'; - typeDay = 'day'; - }else if (cardClass == 'purple'){ - path = '/discounts/discount-details'; - typeDay = 'day'; - } - proxy.$router.push({ - path: path, - query: { - activeName: 'details', - operateTimeType: typeDay - } - }); + // let path = ''; + // let typeDay = ''; + // if (cardClass == 'orange'){ + // path = '/member/member'; + // typeDay = 'day'; + // }else if (cardClass == 'blue'){ + // path = '/member/member'; + // typeDay = ''; + // }else if (cardClass == 'yellow'){ + // path = '/game/details'; + // typeDay = 'day'; + // }else if (cardClass == 'purple'){ + // path = '/discounts/discount-details'; + // typeDay = 'day'; + // } + // proxy.$router.push({ + // path: path, + // query: { + // activeName: 'details', + // operateTimeType: typeDay + // } + // }); } @@ -249,7 +249,7 @@ margin-top: 10px; } :deep(.card-subtitle a){ - text-decoration: underline!important; + /* text-decoration: underline!important; */ } .percentage { font-size: 14px; diff --git a/src/views/components/OperationCard.vue b/src/views/components/OperationCard.vue index 6ebe76f..2e099c5 100644 --- a/src/views/components/OperationCard.vue +++ b/src/views/components/OperationCard.vue @@ -226,16 +226,16 @@ import { el } from 'element-plus/es/locales.mjs'; } const handleTap = (tab) => { //跳转 - let path = '/chart/operationalStatistics'; - let query = { }; - router.replace({ path, query }); + // let path = '/chart/operationalStatistics'; + // let query = { }; + // router.replace({ path, query }); } const operationList = ref([]); const homeOperationLists = () => { if (!props.isLoading)return; loadings.value = false; let obj = { - tenantId:props.tenantId, + tenantId:props.tenantId == 0 ? '' : props.tenantId, operationType:tabPosition.value, currencyCode:props.currencyType, startDate:dateRange.value[0], diff --git a/src/views/components/RecentlyCard.vue b/src/views/components/RecentlyCard.vue index c1d509f..5ecc250 100644 --- a/src/views/components/RecentlyCard.vue +++ b/src/views/components/RecentlyCard.vue @@ -81,7 +81,7 @@ const homeNumberLists = () => { if (!props.isLoading)return; let obj = { - tenantId:props.tenantId, + tenantId:props.tenantId == '0'?'':props.tenantId, platformCode: platformCode.value, numberType: activeName.value, currencyCode: props.currencyType diff --git a/src/views/index.vue b/src/views/index.vue index 3b539cd..ea059c1 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -4,7 +4,7 @@
- +
@@ -51,21 +51,31 @@ const homeOperationReportResponses = ref([]); const isLoading = ref(false); const getSiteSelects = () => { getSiteSelect().then(response => { - siteSelect.value = response.data.map((item,index) => { - if (index == 0){ - tenantId.value = item.tenantId; - } - return { - ...item, - label: item.siteName, - value: item.tenantId, - } - }); + siteSelect.value = [ + { + label: '全部', + value: '0', // 或者你自己定义的全局ID,比如 'all' + }, + ...response.data.map((item, index) => { + if (index === 0) { + tenantId.value = item.tenantId; + } + return { + ...item, + label: item.siteName, + value: item.tenantId, + }; + }), + ]; getHomeIndexs(); }) } const getHomeIndexs = async () => { - getHomeIndex({currencyCode:currencyType.value,tenantId:tenantId.value}).then((res) => { + let obj = { + currencyCode:currencyType.value, + tenantId:tenantId.value == '0'?'':tenantId.value, + } + getHomeIndex(obj).then((res) => { cardData.value = res.data.homePageResponse; homeOperationReportResponses.value = res.data.homeOperationReportResponses; isLoading.value = true; diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue index bb87da1..23b6b27 100644 --- a/src/views/monitor/operlog/index.vue +++ b/src/views/monitor/operlog/index.vue @@ -169,7 +169,9 @@ {{ form.operParam }} - {{ form.jsonResult }} + +
{{ form.jsonResult }}
+
@@ -242,7 +244,7 @@ function getList() { /** 操作日志类型字典翻译 */ function typeFormat(row, column) { - return proxy.selectDictLabel(sys_oper_type.value, row.businessType); + return proxy.selectDictLabel(sys_oper_type.value || {}, row.businessType); } /** 搜索按钮操作 */ @@ -308,3 +310,5 @@ function handleExport() { getList(); + diff --git a/src/views/operations/apiBill/index.vue b/src/views/operations/apiBill/index.vue index 966abbe..298ffed 100644 --- a/src/views/operations/apiBill/index.vue +++ b/src/views/operations/apiBill/index.vue @@ -104,6 +104,7 @@ import CustomSelect from '@/components/CustomSelect'; import AddSiteDialog from "./components/AddSiteDialog"; // 新增站点弹窗 import ModifyDialog from "./components/ModifyDialog"; import { getLocalStorage } from "@/utils/auth"; +import dayjs from 'dayjs'; import Crontab from '@/components/Crontab' import { onMounted } from "vue"; const router = useRouter(); @@ -132,7 +133,7 @@ queryParams: { pageNum: 1, pageSize: 10, searchType:'siteName', - month: '', + month: dayjs().subtract(1, "month").format("YYYY-MM"), }, }); // 批量操作 diff --git a/src/views/operations/apiMember/index.vue b/src/views/operations/apiMember/index.vue index 677b100..0e838e9 100644 --- a/src/views/operations/apiMember/index.vue +++ b/src/views/operations/apiMember/index.vue @@ -6,7 +6,7 @@ - + diff --git a/src/views/operations/gameManage/category/components/AddLink.vue b/src/views/operations/gameManage/category/components/AddLink.vue new file mode 100644 index 0000000..c524686 --- /dev/null +++ b/src/views/operations/gameManage/category/components/AddLink.vue @@ -0,0 +1,138 @@ + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/category/components/RowsSetting.vue b/src/views/operations/gameManage/category/components/RowsSetting.vue new file mode 100644 index 0000000..256ad94 --- /dev/null +++ b/src/views/operations/gameManage/category/components/RowsSetting.vue @@ -0,0 +1,186 @@ + + + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/category/index.vue b/src/views/operations/gameManage/category/index.vue new file mode 100644 index 0000000..578b1f0 --- /dev/null +++ b/src/views/operations/gameManage/category/index.vue @@ -0,0 +1,210 @@ + + + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/game/AddDialog.vue b/src/views/operations/gameManage/game/AddDialog.vue new file mode 100644 index 0000000..e2285d3 --- /dev/null +++ b/src/views/operations/gameManage/game/AddDialog.vue @@ -0,0 +1,243 @@ + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/game/index.vue b/src/views/operations/gameManage/game/index.vue new file mode 100644 index 0000000..7512922 --- /dev/null +++ b/src/views/operations/gameManage/game/index.vue @@ -0,0 +1,288 @@ + + + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/index.vue b/src/views/operations/gameManage/index.vue new file mode 100644 index 0000000..2e89a21 --- /dev/null +++ b/src/views/operations/gameManage/index.vue @@ -0,0 +1,43 @@ + + + + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/platform/components/AddDialog.vue b/src/views/operations/gameManage/platform/components/AddDialog.vue new file mode 100644 index 0000000..088603f --- /dev/null +++ b/src/views/operations/gameManage/platform/components/AddDialog.vue @@ -0,0 +1,581 @@ + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/platform/components/GameRestrictions.vue b/src/views/operations/gameManage/platform/components/GameRestrictions.vue new file mode 100644 index 0000000..f4dad31 --- /dev/null +++ b/src/views/operations/gameManage/platform/components/GameRestrictions.vue @@ -0,0 +1,243 @@ + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/platform/components/bettingConfiguration.vue b/src/views/operations/gameManage/platform/components/bettingConfiguration.vue new file mode 100644 index 0000000..6cc4678 --- /dev/null +++ b/src/views/operations/gameManage/platform/components/bettingConfiguration.vue @@ -0,0 +1,325 @@ + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/platform/index.vue b/src/views/operations/gameManage/platform/index.vue new file mode 100644 index 0000000..d89a90b --- /dev/null +++ b/src/views/operations/gameManage/platform/index.vue @@ -0,0 +1,294 @@ + + + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/popular/index.vue b/src/views/operations/gameManage/popular/index.vue new file mode 100644 index 0000000..0fed3ee --- /dev/null +++ b/src/views/operations/gameManage/popular/index.vue @@ -0,0 +1,213 @@ + + + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/ranking/index.vue b/src/views/operations/gameManage/ranking/index.vue new file mode 100644 index 0000000..d753e2c --- /dev/null +++ b/src/views/operations/gameManage/ranking/index.vue @@ -0,0 +1,140 @@ + + + + + \ No newline at end of file diff --git a/src/views/operations/gameManage/system/index.vue b/src/views/operations/gameManage/system/index.vue new file mode 100644 index 0000000..6cfaae8 --- /dev/null +++ b/src/views/operations/gameManage/system/index.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/src/views/operations/tenantNotice/allAnnouncements/list.vue b/src/views/operations/tenantNotice/allAnnouncements/list.vue index f47d146..ce1554c 100644 --- a/src/views/operations/tenantNotice/allAnnouncements/list.vue +++ b/src/views/operations/tenantNotice/allAnnouncements/list.vue @@ -1,7 +1,7 @@