admin.php 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  1. <?php
  2. use App\Http\Controllers\admin\ActivityReward;
  3. use App\Http\Controllers\admin\ActivityUser;
  4. use App\Http\Controllers\admin\Backflow;
  5. use App\Http\Controllers\admin\Home;
  6. use Illuminate\Support\Facades\Route;
  7. use App\Http\Controllers\admin\Admin;
  8. use App\Http\Controllers\admin\Upload;
  9. use App\Http\Controllers\admin\Wallet;
  10. use App\Http\Controllers\admin\Withdraw;
  11. use App\Http\Controllers\admin\Room;
  12. use App\Http\Controllers\admin\User;
  13. use App\Http\Controllers\admin\Balance;
  14. use App\Http\Controllers\admin\Config;
  15. use App\Http\Controllers\admin\TelegramChannel;
  16. use App\Services\TelegramChannelService;
  17. use App\Http\Controllers\admin\Sync;
  18. use App\Http\Controllers\admin\Menu;
  19. use App\Http\Controllers\admin\Role;
  20. use App\Http\Controllers\admin\Game;
  21. use App\Http\Controllers\admin\GameplayRule;
  22. use App\Http\Controllers\admin\Issue;
  23. use App\Http\Controllers\admin\Keyboard;
  24. use App\Http\Controllers\admin\Lottery;
  25. use App\Http\Controllers\admin\Bet;
  26. use App\Http\Controllers\admin\Rebate;
  27. use App\Http\Controllers\admin\PaymentOrder;
  28. use App\Http\Controllers\admin\PcIssue;
  29. use App\Http\Controllers\admin\Order;
  30. use App\Http\Controllers\admin\Operation;
  31. use App\Http\Controllers\admin\Banner;
  32. use App\Http\Controllers\admin\LhcOrder;
  33. use App\Http\Controllers\admin\LhcNumber;
  34. use App\Http\Controllers\admin\LhcLottery;
  35. use App\Http\Controllers\admin\Sport;
  36. use App\Http\Controllers\admin\Level;
  37. use App\Http\Controllers\admin\YueBao;
  38. use App\Http\Controllers\admin\RechargeChannel;
  39. use App\Http\Controllers\admin\UserFeedback;
  40. use App\Http\Controllers\admin\SportGame;
  41. use App\Http\Controllers\admin\SportGameOrder;
  42. use App\Http\Controllers\admin\JisuGame;
  43. use App\Http\Controllers\admin\JisuGameOrder;
  44. use App\Http\Controllers\admin\JisuLottery;
  45. use App\Http\Controllers\admin\Egame;
  46. use App\Http\Controllers\admin\Online;
  47. use App\Http\Controllers\admin\Funds;
  48. use App\Http\Controllers\admin\ManualAudit;
  49. use App\Http\Controllers\admin\WalletFreeze;
  50. use App\Http\Controllers\admin\ThirdPartyDeposit;
  51. use App\Http\Controllers\admin\ThirdGameOrder;
  52. use App\Http\Controllers\admin\Agent as AgentAdmin;
  53. use App\Http\Controllers\admin\PaymentConfiguration;
  54. use App\Http\Controllers\admin\AppConfiguration;
  55. use App\Http\Controllers\admin\ShareEarning;
  56. use App\Http\Controllers\admin\SharingManagement;
  57. use App\Http\Controllers\admin\Announcement;
  58. use App\Http\Controllers\admin\SiteMessage;
  59. use App\Http\Controllers\admin\Maintenance;
  60. use App\Http\Controllers\admin\Reporting;
  61. use App\Http\Controllers\admin\RewardGrantSettings;
  62. use App\Http\Controllers\admin\RewardRules;
  63. use App\Http\Controllers\admin\Realtime;
  64. Route::post('/login', [Admin::class, 'login']);
  65. Route::get('/image', [Lottery::class, 'generate']);
  66. // Route::get('/batch', [Withdraw::class, 'batch']);
  67. // 计划任务 URL 需带 ?token=CRON_TOKEN
  68. Route::prefix('/sync')->middleware('cron.token')->group(function () {
  69. Route::get('/collect', [Sync::class, 'collect']);
  70. Route::get('/recharge', [Sync::class, 'recharge']);
  71. Route::get('/settle', [Sync::class, 'settle']);
  72. Route::get('/five', [Sync::class, 'five']);
  73. Route::get('/close', [Sync::class, 'close']);
  74. Route::get('/cd', [Sync::class, 'cd']);
  75. Route::get('/exchange', [Sync::class, 'exchange']);
  76. });
  77. // 后台实时推送:Echo 私有频道授权(控制器内校验后台 JWT,失败返回 401/403;每次连接按频道各调用一次,不走 api 限流)
  78. Route::post('/broadcasting/auth', [Realtime::class, 'auth'])->withoutMiddleware('throttle:api');
  79. Route::get('/fake', [Bet::class, 'fake'])->middleware('cron.token');
  80. Route::middleware(['admin.jwt'])->group(function () {
  81. Route::middleware(['check.button.uri'])->group(function () {
  82. Route::get('/site/config', [\App\Http\Controllers\admin\SiteConfiguration::class, 'show']);
  83. Route::post('/site/config', [\App\Http\Controllers\admin\SiteConfiguration::class, 'save'])
  84. ->middleware('operations.admin')->defaults('permission_uri', 'admin/site/config/save');
  85. // 联系我们:多个邮箱 + 多个域名
  86. Route::get('/contact/config', [\App\Http\Controllers\admin\ContactConfiguration::class, 'show']);
  87. Route::post('/contact/config', [\App\Http\Controllers\admin\ContactConfiguration::class, 'save'])
  88. ->middleware('operations.admin')->defaults('permission_uri', 'admin/contact/config/save');
  89. Route::prefix('/promotion')->group(function () {
  90. Route::get('/', [\App\Http\Controllers\admin\Promotion::class, 'index']);
  91. Route::get('/options', [\App\Http\Controllers\admin\Promotion::class, 'options'])->defaults('permission_uri', 'admin/promotion');
  92. Route::get('/detail', [\App\Http\Controllers\admin\Promotion::class, 'detail'])->defaults('permission_uri', 'admin/promotion');
  93. Route::post('/submit', [\App\Http\Controllers\admin\Promotion::class, 'submit']);
  94. Route::post('/status', [\App\Http\Controllers\admin\Promotion::class, 'status'])->defaults('permission_uri', 'admin/promotion/submit');
  95. Route::get('/records', [\App\Http\Controllers\admin\Promotion::class, 'records']);
  96. Route::get('/first-deposit-restriction', [\App\Http\Controllers\admin\Promotion::class, 'firstDepositRestriction'])->defaults('permission_uri', 'admin/promotion');
  97. Route::post('/first-deposit-restriction', [\App\Http\Controllers\admin\Promotion::class, 'firstDepositRestriction'])->defaults('permission_uri', 'admin/promotion/submit');
  98. Route::get('/first-deposit-links', [\App\Http\Controllers\admin\Promotion::class, 'firstDepositLinks'])->defaults('permission_uri', 'admin/promotion');
  99. Route::post('/first-deposit-links', [\App\Http\Controllers\admin\Promotion::class, 'firstDepositLinks'])->defaults('permission_uri', 'admin/promotion/submit');
  100. });
  101. Route::prefix('/reporting')->group(function () {
  102. Route::get('/options', [Reporting::class, 'options'])->defaults('permission_uri', 'admin/reporting/summary');
  103. Route::get('/leaderboard', [Reporting::class, 'leaderboard']);
  104. Route::get('/fund-flow', [Reporting::class, 'funds']);
  105. Route::get('/summary', [Reporting::class, 'summary']);
  106. Route::get('/details', [Reporting::class, 'details'])->defaults('permission_uri', 'admin/reporting/summary');
  107. Route::get('/orders', [Reporting::class, 'orders'])->defaults('permission_uri', 'admin/reporting/summary');
  108. Route::get('/events', [Reporting::class, 'events'])->defaults('permission_uri', 'admin/reporting/summary');
  109. Route::get('/settings', [Reporting::class, 'settings'])->defaults('permission_uri', 'admin/reporting/summary');
  110. Route::post('/settings', [Reporting::class, 'settings'])->middleware('operations.admin');
  111. Route::get('/payment-reconciliation', [Reporting::class, 'payments'])->middleware('operations.admin');
  112. Route::post('/payment-reconciliation', [Reporting::class, 'payments'])->middleware('operations.admin');
  113. Route::post('/order-reconciliation', [Reporting::class, 'orderTime'])->middleware('operations.admin');
  114. Route::get('/data-quality', [Reporting::class, 'quality'])->middleware('operations.admin');
  115. });
  116. // 公司营业报表:按月上传 Excel(入股代理在代理后台下载)。
  117. // operations.admin:超级管理员,或角色勾选了 admin/companyReport 模块的按钮;没建按钮时不对其他管理员开放。
  118. Route::prefix('/companyReport')->middleware('operations.admin')->group(function () {
  119. Route::get('/', [\App\Http\Controllers\admin\CompanyReport::class, 'index']);
  120. Route::post('/create', [\App\Http\Controllers\admin\CompanyReport::class, 'create']);
  121. Route::post('/update', [\App\Http\Controllers\admin\CompanyReport::class, 'update']);
  122. Route::get('/download', [\App\Http\Controllers\admin\CompanyReport::class, 'download'])->defaults('permission_uri', 'admin/companyReport');
  123. });
  124. Route::prefix('/maintenance')->middleware('operations.admin')->group(function () {
  125. Route::get('/', [Maintenance::class, 'index']);
  126. Route::get('/options', [Maintenance::class, 'options'])->defaults('permission_uri', 'admin/maintenance');
  127. Route::get('/detail', [Maintenance::class, 'detail'])->defaults('permission_uri', 'admin/maintenance');
  128. Route::post('/submit', [Maintenance::class, 'submit']);
  129. Route::post('/status', [Maintenance::class, 'status'])->defaults('permission_uri', 'admin/maintenance/submit');
  130. Route::get('/logs', [Maintenance::class, 'logs']);
  131. });
  132. Route::prefix('/message')->group(function () {
  133. Route::get('/', [SiteMessage::class, 'index']);
  134. Route::get('/options', [SiteMessage::class, 'options'])->defaults('permission_uri', 'admin/message');
  135. Route::get('/recipients/users', [SiteMessage::class, 'users'])->defaults('permission_uri', 'admin/message/send');
  136. Route::get('/recipients/agents', [SiteMessage::class, 'agents'])->middleware('agent.admin')->defaults('permission_uri', 'admin/message/send');
  137. Route::get('/detail', [SiteMessage::class, 'detail'])->defaults('permission_uri', 'admin/message');
  138. Route::post('/send', [SiteMessage::class, 'send']);
  139. Route::post('/delete', [SiteMessage::class, 'delete']);
  140. Route::get('/logs', [SiteMessage::class, 'logs']);
  141. });
  142. Route::prefix('/announcement')->group(function () {
  143. Route::get('/', [Announcement::class, 'index']);
  144. Route::get('/options', [Announcement::class, 'options'])->defaults('permission_uri', 'admin/announcement');
  145. Route::get('/detail', [Announcement::class, 'detail'])->defaults('permission_uri', 'admin/announcement');
  146. Route::post('/submit', [Announcement::class, 'submit']);
  147. Route::post('/status', [Announcement::class, 'status'])->defaults('permission_uri', 'admin/announcement/submit');
  148. Route::post('/delete', [Announcement::class, 'delete']);
  149. Route::get('/logs', [Announcement::class, 'logs']);
  150. });
  151. Route::prefix('/agent')->middleware('agent.admin')->group(function () {
  152. Route::get('/pageConfig', [\App\Http\Controllers\admin\AgentPageConfiguration::class, 'show'])->defaults('permission_uri', 'admin/agent');
  153. Route::post('/pageConfig', [\App\Http\Controllers\admin\AgentPageConfiguration::class, 'save'])->defaults('permission_uri', 'admin/agent/update');
  154. Route::get('/applications', [\App\Http\Controllers\admin\AgentApplication::class, 'index'])->defaults('permission_uri', 'admin/agent');
  155. Route::post('/applicationAudit', [\App\Http\Controllers\admin\AgentApplication::class, 'audit'])->defaults('permission_uri', 'admin/agent/update');
  156. Route::get('/', [AgentAdmin::class, 'index']);
  157. Route::get('/show', [AgentAdmin::class, 'show']);
  158. Route::post('/create', [AgentAdmin::class, 'store']);
  159. Route::post('/update', [AgentAdmin::class, 'update']);
  160. Route::post('/domains', [AgentAdmin::class, 'domains']);
  161. Route::post('/adjust', [AgentAdmin::class, 'adjust']);
  162. Route::get('/balance-logs', [AgentAdmin::class, 'balanceLogs'])->defaults('permission_uri', 'admin/agent');
  163. Route::get('/quota', [AgentAdmin::class, 'quota']);
  164. Route::get('/login-logs', [AgentAdmin::class, 'loginLogs']);
  165. Route::get('/withdrawals', [AgentAdmin::class, 'withdrawals']);
  166. Route::post('/withdrawals/audit', [AgentAdmin::class, 'auditWithdrawal']);
  167. Route::get('/reports', [AgentAdmin::class, 'reports']);
  168. Route::get('/commissions', [AgentAdmin::class, 'commissions']);
  169. Route::get('/profit-commission-profiles', [AgentAdmin::class, 'profitCommissionProfiles']);
  170. Route::post('/profit-commission-profiles', [AgentAdmin::class, 'saveProfitCommissionProfile']);
  171. Route::post('/profit-commission-profiles/delete', [AgentAdmin::class, 'deleteProfitCommissionProfile']);
  172. Route::get('/settings', [AgentAdmin::class, 'settings'])->defaults('permission_uri', 'admin/agent/settings');
  173. Route::post('/settings', [AgentAdmin::class, 'saveSettings'])->defaults('permission_uri', 'admin/agent/settings/save');
  174. Route::get('/plan-applications', [AgentAdmin::class, 'planApplications'])->defaults('permission_uri', 'admin/agent/plan-applications');
  175. Route::post('/plan-applications/audit', [AgentAdmin::class, 'auditPlanApplication'])->defaults('permission_uri', 'admin/agent/plan-applications/audit');
  176. Route::get('/recharges', [AgentAdmin::class, 'recharges'])->defaults('permission_uri', 'admin/agent/recharges');
  177. Route::post('/recharges/audit', [AgentAdmin::class, 'auditRecharge'])->defaults('permission_uri', 'admin/agent/recharges/audit');
  178. Route::get('/payment-orders', [AgentAdmin::class, 'paymentOrders'])->defaults('permission_uri', 'admin/agent/payment-orders');
  179. Route::post('/payment-orders/pay-data', [AgentAdmin::class, 'paymentOrderPayData'])->defaults('permission_uri', 'admin/agent/payment-orders/pay-data');
  180. Route::post('/payment-orders/audit', [AgentAdmin::class, 'auditPaymentOrder'])->defaults('permission_uri', 'admin/agent/payment-orders/audit');
  181. Route::post('/payment-orders/reject', [AgentAdmin::class, 'rejectPaymentOrder'])->defaults('permission_uri', 'admin/agent/payment-orders/reject');
  182. Route::post('/payment-orders/query', [AgentAdmin::class, 'queryPaymentOrder'])->defaults('permission_uri', 'admin/agent/payment-orders/query');
  183. Route::get('/profit-entries', [AgentAdmin::class, 'profitEntries'])->defaults('permission_uri', 'admin/agent/commissions');
  184. Route::get('/equity-orders', [AgentAdmin::class, 'equityOrders'])->defaults('permission_uri', 'admin/agent/equity-orders');
  185. Route::get('/domain-pool', [\App\Http\Controllers\admin\AgentDomainPool::class, 'index'])->defaults('permission_uri', 'admin/agent/domain-pool');
  186. Route::get('/domain-pool/options', [\App\Http\Controllers\admin\AgentDomainPool::class, 'options'])->defaults('permission_uri', 'admin/agent/domain-pool');
  187. Route::post('/domain-pool/create', [\App\Http\Controllers\admin\AgentDomainPool::class, 'create'])->defaults('permission_uri', 'admin/agent/domain-pool/create');
  188. Route::post('/domain-pool/update', [\App\Http\Controllers\admin\AgentDomainPool::class, 'update'])->defaults('permission_uri', 'admin/agent/domain-pool/update');
  189. Route::post('/domain-pool/delete', [\App\Http\Controllers\admin\AgentDomainPool::class, 'delete'])->defaults('permission_uri', 'admin/agent/domain-pool/delete');
  190. Route::post('/equity-orders/cancel', [AgentAdmin::class, 'cancelEquityOrder'])->defaults('permission_uri', 'admin/agent/equity-orders/cancel');
  191. });
  192. Route::get('/menu/mineMenu', [Menu::class, 'mineMenu']); // 我的菜单
  193. Route::post('/menu/check', [Menu::class, 'check']); // 接口权限
  194. Route::get('/menu/tree', [Menu::class, 'tree']); // 菜单按钮树
  195. Route::prefix('/backflow')->group(function () {
  196. Route::get('/', [Backflow::class, 'index']);
  197. Route::post("/grant", [Backflow::class, 'grant']);
  198. Route::get('/grant-settings', [RewardGrantSettings::class, 'backflow'])->defaults('permission_uri', 'admin/backflow/grant');
  199. Route::post('/grant-settings', [RewardGrantSettings::class, 'saveBackflow'])->defaults('permission_uri', 'admin/backflow/grant');
  200. Route::get('/rules', [RewardRules::class, 'backflow'])->defaults('permission_uri', 'admin/backflow/grant');
  201. Route::post('/rules', [RewardRules::class, 'saveBackflow'])->defaults('permission_uri', 'admin/backflow/grant');
  202. });
  203. Route::prefix('/ActivityUser')->group(function () {
  204. Route::get('/', [ActivityUser::class, 'index']);
  205. Route::post("/gift", [ActivityUser::class, 'gift']);
  206. Route::post("/finish", [ActivityUser::class, 'finish']);
  207. });
  208. Route::prefix('/ActivityReward')->group(function () {
  209. Route::get('/', [ActivityReward::class, 'index']);
  210. Route::get('/options', [ActivityReward::class, 'options']);
  211. Route::post('/submit', [ActivityReward::class, 'store']);
  212. Route::post('/delete', [ActivityReward::class, 'destroy']);
  213. });
  214. Route::prefix('/pcIssue')->group(function () {
  215. Route::get('/', [PcIssue::class, 'index']);
  216. Route::post('/preDraw', [PcIssue::class, 'preDraw']);
  217. });
  218. Route::prefix('/home')->group(function () {
  219. Route::get("/", [Home::class, 'index']);
  220. Route::get('/third-game-balance', [Home::class, 'thirdGameBalance'])->defaults('permission_uri', 'admin/home');
  221. });
  222. Route::prefix("/paymentOrder")->group(function () {
  223. Route::get('/', [PaymentOrder::class, 'index']);
  224. Route::get('/check', [PaymentOrder::class, 'check']);
  225. Route::post('/audit', [PaymentOrder::class, 'audit']);
  226. Route::post('/setPayData', [PaymentOrder::class, 'setPayData']);
  227. Route::post('/manualAudit', [PaymentOrder::class, 'manualAudit']);
  228. Route::post('/reject', [PaymentOrder::class, 'reject']);
  229. Route::post('/setIsLocked', [PaymentOrder::class, 'setIsLocked']);
  230. Route::get('/unProcessed', [PaymentOrder::class, 'unProcessed']);
  231. });
  232. Route::prefix('/rebate')->group(function () {
  233. Route::get('/', [Rebate::class, 'index']);
  234. Route::post('/submit', [Rebate::class, 'store']);
  235. Route::get('/grant-settings', [RewardGrantSettings::class, 'rebate'])->defaults('permission_uri', 'admin/rebate/submit');
  236. Route::post('/grant-settings', [RewardGrantSettings::class, 'saveRebate'])->defaults('permission_uri', 'admin/rebate/submit');
  237. Route::get('/rules', [RewardRules::class, 'rebate'])->defaults('permission_uri', 'admin/rebate/submit');
  238. Route::post('/rules', [RewardRules::class, 'saveRebate'])->defaults('permission_uri', 'admin/rebate/submit');
  239. });
  240. Route::post("/setPassword", [Admin::class, 'setPassword']);
  241. Route::get('/index', [Admin::class, 'index']);
  242. Route::post('/submit', [Admin::class, 'store']);
  243. Route::post('/delete', [Admin::class, 'destroy']);
  244. // 关键字回复路由
  245. Route::prefix('/keyboard')->group(function () {
  246. Route::get('/', [Keyboard::class, 'index']);
  247. Route::post('/submit', [Keyboard::class, 'store']);
  248. Route::post('/delete', [Keyboard::class, 'destroy']);
  249. });
  250. // 期数路由
  251. Route::prefix('/issue')->group(function () {
  252. Route::get('/', [Issue::class, 'index']);
  253. Route::get('/abnormal', [Issue::class, 'abnormal']);
  254. Route::post('/submit', [Issue::class, 'store']);
  255. Route::post('/betting', [Issue::class, 'betting']);
  256. Route::post('/close', [Issue::class, 'close']);
  257. Route::post('/failure', [Issue::class, 'failure']);
  258. Route::post('/lotteryDraw', [Issue::class, 'lotteryDraw']); // 开奖
  259. Route::post('/delete', [Issue::class, 'destroy']); // 删除
  260. });
  261. // 投注记录
  262. Route::prefix('/bet')->group(function () {
  263. Route::get('/', [Bet::class, 'index']);
  264. });
  265. // 玩法规则路由
  266. Route::prefix('/gameplayRule')->group(function () {
  267. Route::get('/', [GameplayRule::class, 'index']);
  268. Route::post('/submit', [GameplayRule::class, 'store'])->defaults('require_active_button', true);
  269. Route::get('/cache', [GameplayRule::class, 'info']); // 游戏规则缓存读取
  270. Route::post('/delete', [GameplayRule::class, 'destroy'])->defaults('require_active_button', true);
  271. });
  272. Route::prefix('/withdraw')->group(function () {
  273. Route::get('/', [Withdraw::class, 'index']);
  274. Route::get('/rmb', [Withdraw::class, 'rmb']);
  275. Route::post('setStatus', [Withdraw::class, 'setStatus']);
  276. Route::post('/setNote', [Withdraw::class, 'setNote']);
  277. Route::post('/setRmbNote', [Withdraw::class, 'setRmbNote']);
  278. Route::post('/setIsLocked', [Withdraw::class, 'setIsLocked']);
  279. });
  280. Route::prefix('/game')->group(function () {
  281. Route::get('/', [Game::class, 'index']);
  282. Route::post('/update', [Game::class, 'update']);
  283. Route::post('/delete', [Game::class, 'destroy']);
  284. });
  285. Route::prefix('/room')->group(function () {
  286. Route::get('/', [Room::class, 'index']);
  287. Route::get('/details', [Room::class, 'details']);
  288. Route::post('/setScore', [Room::class, 'setScore']);
  289. Route::post('/completed', [Room::class, 'completed']);
  290. });
  291. Route::prefix('/config')->group(function () {
  292. Route::get('/usdt', [Config::class, 'usdt'])->defaults('permission_uri', 'admin/config/getAll');
  293. Route::post('/usdt', [Config::class, 'saveUsdt'])->defaults('permission_uri', 'admin/config/set');
  294. Route::get('/pcConfig', [Config::class, 'pcConfig']);
  295. Route::post('/pc28Switch', [Config::class, 'pc28Switch']);
  296. Route::get('/gameList', [Config::class, 'gameList']);
  297. Route::get('/sportList', [Config::class, 'sportList']);
  298. Route::get('/getAll', [Config::class, 'getAll']);
  299. Route::get('/get', [Config::class, 'get']);
  300. Route::post('/set', [Config::class, 'set']);
  301. Route::post('/sendChannelMessage', [Config::class, 'sendChannelMessage']);
  302. Route::get('/', [Config::class, 'index']);
  303. Route::post('/submit', [Config::class, 'store']); //
  304. Route::post('/delete', [Config::class, 'destroy']); // 删除
  305. Route::post('/setField', [Config::class, 'setField']);
  306. });
  307. Route::prefix('/telegramBot')->group(function () {
  308. Route::get('/list', [TelegramChannel::class, 'bots'])
  309. ->defaults('permission_uri', TelegramChannelService::VIEW)->defaults('require_active_button', true);
  310. Route::post('/save', [TelegramChannel::class, 'saveBot'])
  311. ->defaults('permission_uri', TelegramChannelService::MANAGE)->defaults('require_active_button', true);
  312. Route::get('/privateMenu', [TelegramChannel::class, 'privateMenu'])
  313. ->defaults('permission_uri', TelegramChannelService::VIEW)->defaults('require_active_button', true);
  314. Route::post('/privateMenu', [TelegramChannel::class, 'savePrivateMenu'])
  315. ->defaults('permission_uri', TelegramChannelService::MANAGE)->defaults('require_active_button', true);
  316. Route::post('/privateWebhook', [TelegramChannel::class, 'registerPrivateWebhook'])
  317. ->defaults('permission_uri', TelegramChannelService::MANAGE)->defaults('require_active_button', true);
  318. Route::post('/delete', [TelegramChannel::class, 'deleteBot'])
  319. ->defaults('permission_uri', TelegramChannelService::MANAGE)->defaults('require_active_button', true);
  320. });
  321. Route::prefix('/telegramChannelMessage')->group(function () {
  322. Route::get('/list', [TelegramChannel::class, 'messages'])
  323. ->defaults('permission_uri', TelegramChannelService::VIEW)->defaults('require_active_button', true);
  324. Route::post('/create', [TelegramChannel::class, 'createMessage'])
  325. ->defaults('permission_uri', TelegramChannelService::PUBLISH)->defaults('require_active_button', true);
  326. Route::post('/cancel', [TelegramChannel::class, 'cancelMessage'])
  327. ->defaults('permission_uri', TelegramChannelService::PUBLISH)->defaults('require_active_button', true);
  328. });
  329. Route::prefix('/telegramChannel')->group(function () {
  330. Route::get('/list', [TelegramChannel::class, 'index'])->defaults('require_active_button', true);
  331. Route::get('/detail', [TelegramChannel::class, 'detail'])
  332. ->defaults('permission_uri', TelegramChannelService::VIEW)->defaults('require_active_button', true);
  333. Route::post('/save', [TelegramChannel::class, 'save'])->defaults('require_active_button', true);
  334. Route::post('/setDefault', [TelegramChannel::class, 'setDefault'])
  335. ->defaults('permission_uri', TelegramChannelService::MANAGE)->defaults('require_active_button', true);
  336. Route::post('/delete', [TelegramChannel::class, 'delete'])
  337. ->defaults('permission_uri', TelegramChannelService::MANAGE)->defaults('require_active_button', true);
  338. Route::post('/publish', [TelegramChannel::class, 'publish'])->defaults('require_active_button', true);
  339. });
  340. Route::prefix('/balance')->group(function () {
  341. Route::get('/log', [Balance::class, 'log']);
  342. });
  343. Route::prefix('/funds')->group(function () {
  344. Route::get('/summary', [Funds::class, 'summary']);
  345. });
  346. Route::prefix('/paymentConfig')->middleware('operations.admin')->group(function () {
  347. Route::get('/options', [PaymentConfiguration::class, 'options']);
  348. Route::get('/direct', [PaymentConfiguration::class, 'directList']);
  349. Route::post('/direct/save', [PaymentConfiguration::class, 'directSave']);
  350. Route::post('/direct/status', [PaymentConfiguration::class, 'directStatus']);
  351. Route::post('/direct/delete', [PaymentConfiguration::class, 'directDelete']);
  352. Route::get('/gateways', [PaymentConfiguration::class, 'gatewayList']);
  353. Route::post('/gateways/save', [PaymentConfiguration::class, 'gatewaySave']);
  354. Route::post('/gateways/status', [PaymentConfiguration::class, 'gatewayStatus']);
  355. Route::post('/gateways/delete', [PaymentConfiguration::class, 'gatewayDelete']);
  356. Route::get('/collections', [PaymentConfiguration::class, 'collectionList']);
  357. Route::post('/collections/save', [PaymentConfiguration::class, 'collectionSave']);
  358. Route::post('/collections/status', [PaymentConfiguration::class, 'collectionStatus']);
  359. Route::post('/collections/delete', [PaymentConfiguration::class, 'collectionDelete']);
  360. Route::get('/logs', [PaymentConfiguration::class, 'logs']);
  361. });
  362. Route::prefix('/appConfig')->middleware('operations.admin')->group(function () {
  363. Route::get('/display', [AppConfiguration::class, 'display']);
  364. Route::post('/display/save', [AppConfiguration::class, 'saveDisplay']);
  365. Route::get('/packages', [AppConfiguration::class, 'packages']);
  366. Route::post('/packages/save', [AppConfiguration::class, 'savePackage']);
  367. Route::post('/packages/status', [AppConfiguration::class, 'packageStatus']);
  368. Route::post('/packages/delete', [AppConfiguration::class, 'deletePackage']);
  369. Route::get('/downloadStats', [AppConfiguration::class, 'downloadStats']);
  370. Route::get('/iosReviews', [AppConfiguration::class, 'iosReviews']);
  371. Route::post('/iosReviews/save', [AppConfiguration::class, 'saveIosReview']);
  372. Route::post('/iosReviews/status', [AppConfiguration::class, 'iosReviewStatus']);
  373. Route::post('/iosReviews/delete', [AppConfiguration::class, 'deleteIosReview']);
  374. Route::get('/logs', [AppConfiguration::class, 'logs']);
  375. });
  376. Route::prefix('/shareEarning')->middleware('operations.admin')->group(function () {
  377. Route::get('/members', [ShareEarning::class, 'memberList']);
  378. Route::get('/members/promoters', [ShareEarning::class, 'promoterDetails']);
  379. Route::get('/members/registrations', [ShareEarning::class, 'registrationDetails']);
  380. Route::get('/summary', [ShareEarning::class, 'summary']);
  381. Route::get('/settings', [ShareEarning::class, 'settings']);
  382. Route::post('/settings/save', [ShareEarning::class, 'saveSettings']);
  383. Route::get('/levels', [SharingManagement::class, 'levels']);
  384. Route::post('/levels/save', [SharingManagement::class, 'saveLevel']);
  385. Route::post('/levels/delete', [SharingManagement::class, 'deleteLevel']);
  386. Route::get('/claims', [SharingManagement::class, 'claims']);
  387. Route::get('/claims/options', [SharingManagement::class, 'claimOptions'])->defaults('permission_uri', 'admin/shareEarning/claims');
  388. Route::get('/claims/detail', [SharingManagement::class, 'claimDetail']);
  389. Route::post('/claims/audit', [SharingManagement::class, 'auditClaim']);
  390. Route::get('/rateRules', [SharingManagement::class, 'rateRules']);
  391. Route::post('/rateRules/save', [SharingManagement::class, 'saveRateRules']);
  392. Route::get('/blacklists', [ShareEarning::class, 'blacklists']);
  393. Route::post('/blacklists/save', [ShareEarning::class, 'saveBlacklist']);
  394. Route::post('/blacklists/status', [ShareEarning::class, 'blacklistStatus']);
  395. Route::post('/blacklists/delete', [ShareEarning::class, 'deleteBlacklist']);
  396. });
  397. Route::prefix('/manualAudit')->group(function () {
  398. Route::get('/', [ManualAudit::class, 'index']);
  399. Route::get('/detail', [ManualAudit::class, 'detail']);
  400. Route::post('/topUp', [ManualAudit::class, 'topUp']);
  401. Route::post('/debit', [ManualAudit::class, 'debit']);
  402. Route::post('/freeze', [WalletFreeze::class, 'freeze']);
  403. Route::post('/unfreeze', [WalletFreeze::class, 'unfreeze']);
  404. });
  405. Route::get('/walletFreeze', [WalletFreeze::class, 'index']);
  406. Route::prefix('/thirdPartyDeposit')->group(function () {
  407. Route::get('/', [ThirdPartyDeposit::class, 'index']);
  408. Route::get('/detail', [ThirdPartyDeposit::class, 'detail']);
  409. });
  410. Route::prefix('/thirdGame')->group(function () {
  411. Route::get('/orders', [ThirdGameOrder::class, 'index']);
  412. });
  413. Route::prefix('/wallet')->group(function () {
  414. Route::get('/', [Wallet::class, 'index']);
  415. Route::post('/topUp', [Wallet::class, 'topUp']);
  416. Route::post('/verifyRecharge', [Wallet::class, 'verifyRecharge']);
  417. Route::get('/getPendingTasks', [Wallet::class, 'getPendingTasks']);
  418. Route::get('/getChangeTypes', [Wallet::class, 'getChangeTypes']);
  419. Route::post('/debiting', [Wallet::class, 'debiting']);
  420. Route::post('/orderDebiting', [Wallet::class, 'orderDebiting']);
  421. Route::post('/orderTopUp', [Wallet::class, 'orderTopUp']);
  422. Route::get("/bankList", [Wallet::class, 'bankList']);
  423. Route::get("/address", [Wallet::class, 'address']);
  424. Route::get("/withdrawChannel", [Wallet::class, 'withdrawChannel']);
  425. Route::get("/getChannel", [Wallet::class, 'getChannel']);
  426. });
  427. Route::prefix('/rechargeBonus')->group(function () {
  428. Route::get('/list', [\App\Http\Controllers\admin\RechargeBonus::class, 'index']);
  429. Route::post('/save', [\App\Http\Controllers\admin\RechargeBonus::class, 'save']);
  430. Route::post('/status', [\App\Http\Controllers\admin\RechargeBonus::class, 'status'])->defaults('permission_uri', 'admin/rechargeBonus/save');
  431. });
  432. Route::prefix('/menuBadge')->group(function () {
  433. Route::get('/list', [\App\Http\Controllers\admin\MenuBadge::class, 'index']);
  434. Route::post('/save', [\App\Http\Controllers\admin\MenuBadge::class, 'save']);
  435. Route::post('/status', [\App\Http\Controllers\admin\MenuBadge::class, 'status'])->defaults('permission_uri', 'admin/menuBadge/save');
  436. Route::post('/delete', [\App\Http\Controllers\admin\MenuBadge::class, 'delete']);
  437. });
  438. Route::prefix('/rechargeChannel')->group(function () {
  439. Route::get('/logoOptions', [RechargeChannel::class, 'logoOptions'])->defaults('permission_uri', 'admin/rechargeChannel/list');
  440. Route::post('/saveLogo', [RechargeChannel::class, 'saveLogo'])->defaults('permission_uri', 'admin/rechargeChannel/update');
  441. Route::post('/delete', [RechargeChannel::class, 'delete']);
  442. Route::get("/options", [RechargeChannel::class, 'options']);
  443. Route::get("/list", [RechargeChannel::class, 'list']);
  444. Route::get('/logs', [RechargeChannel::class, 'logs'])->defaults('permission_uri', 'admin/rechargeChannel/list');
  445. Route::post("/update", [RechargeChannel::class, 'update']);
  446. Route::get("/groupList", [RechargeChannel::class, 'groupList']);
  447. Route::post("/updateGroup", [RechargeChannel::class, 'updateGroup']);
  448. Route::post('/deleteGroup', [RechargeChannel::class, 'deleteGroup']);
  449. Route::get("/getChannel", [RechargeChannel::class, 'getChannel']);
  450. });
  451. Route::prefix('/paymentCompany')->group(function () {
  452. Route::get('/list', [\App\Http\Controllers\admin\PaymentCompany::class, 'list']);
  453. Route::post('/status', [\App\Http\Controllers\admin\PaymentCompany::class, 'status']);
  454. Route::get('/config', [\App\Http\Controllers\admin\PaymentCompany::class, 'config'])->middleware('operations.admin');
  455. Route::post('/config/save', [\App\Http\Controllers\admin\PaymentCompany::class, 'saveConfig'])->middleware('operations.admin');
  456. });
  457. Route::prefix('/user')->group(function () {
  458. Route::get('/', [User::class, 'index']);
  459. Route::get('/address', [User::class, 'address']);
  460. Route::post('/merge', [User::class, 'merge']);
  461. Route::post('/setNote', [User::class, 'setNote']);
  462. Route::post('/banned', [User::class, 'banned']);
  463. Route::get('/loginLog', [User::class, 'loginLog']);
  464. Route::get('/registerTrend', [User::class, 'registerTrend']);
  465. Route::get('/registerDomain', [User::class, 'registerDomain']);
  466. Route::post('/setRechargeChannelGroup', [User::class, 'setRechargeChannelGroup']);
  467. Route::post('/bindSuperior', [User::class, 'bindSuperior']);
  468. Route::post('/setPassword', [User::class, 'setPassword']);
  469. Route::post('/freeze', [WalletFreeze::class, 'freeze']);
  470. Route::post('/unfreeze', [WalletFreeze::class, 'unfreeze']);
  471. Route::get('/daily-report', [\App\Http\Controllers\admin\MemberDailyReport::class, 'index']);
  472. Route::get('/thirdGame/detail', [User::class, 'thirdGameDetail']);
  473. Route::post('/thirdGame/recycle', [User::class, 'recycleThirdGameBalance']);
  474. Route::get('/thirdGame/recycleRecords', [User::class, 'thirdGameRecycleRecords']);
  475. Route::post('/thirdGame/recycleResolve', [User::class, 'resolveThirdGameRecycle']);
  476. });
  477. Route::prefix('/online')->group(function () {
  478. Route::get('/users', [Online::class, 'users']);
  479. Route::get('/newUserSummary', [Online::class, 'newUserSummary']);
  480. Route::get('/platformCount', [Online::class, 'platformCount']);
  481. });
  482. Route::prefix('/userFeedback')->group(function () {
  483. Route::get('/list', [UserFeedback::class, 'list']);
  484. });
  485. Route::prefix('/menu')->group(function () {
  486. Route::get('/', [Menu::class, 'index']);
  487. Route::post('/submit', [Menu::class, 'store']);
  488. Route::post('/delete', [Menu::class, 'destroy']);
  489. Route::get('/all', [Menu::class, 'all']);
  490. });
  491. Route::prefix('/role')->group(function () {
  492. Route::get('/', [Role::class, 'index']);
  493. Route::post('/submit', [Role::class, 'store']);
  494. Route::post('/delete', [Role::class, 'destroy']);
  495. Route::get('/all', [Role::class, 'all']);
  496. });
  497. Route::prefix('/order')->group(function () {
  498. Route::post('/refund', [Order::class, 'refund']);
  499. Route::get('/list', [Order::class, 'list']);
  500. Route::get('/info', [Order::class, 'info']);
  501. });
  502. Route::prefix('/operation')->group(function () {
  503. Route::get('/exchangeList', [Operation::class, 'exchangeList']);
  504. Route::get('/index', [Operation::class, 'index']);
  505. });
  506. Route::prefix('/banner')->group(function () {
  507. Route::get('/index', [Banner::class, 'index']);
  508. Route::post('/update', [Banner::class, 'update']);
  509. Route::post('/status', [Banner::class, 'status'])->defaults('permission_uri', 'admin/banner/update');
  510. Route::get('/delete', [Banner::class, 'delete']);
  511. });
  512. Route::prefix('/lhcOrder')->group(function () {
  513. Route::get('/list', [LhcOrder::class, 'list']);
  514. Route::get('/info', [LhcOrder::class, 'info']);
  515. Route::post('/refund', [LhcOrder::class, 'refund']);
  516. });
  517. Route::prefix('/lhcNumber')->group(function () {
  518. Route::get('/list', [LhcNumber::class, 'list']);
  519. Route::post('/setOdds', [LhcNumber::class, 'setOdds']);
  520. });
  521. Route::prefix('/lhcLottery')->group(function () {
  522. Route::get('/list', [LhcLottery::class, 'list']);
  523. Route::post('/setAdvanceCode', [LhcLottery::class, 'setAdvanceCode']);
  524. });
  525. Route::prefix('/sport')->group(function () {
  526. Route::get('/list', [Sport::class, 'list']);
  527. Route::get('/info', [Sport::class, 'info']);
  528. Route::post('/setStatus', [Sport::class, 'setStatus']);
  529. Route::post('/setOddsLocked', [Sport::class, 'setOddsLocked']);
  530. Route::post('/getFixtures', [Sport::class, 'getFixtures']);
  531. Route::post('/setValuesLocked', [Sport::class, 'setValuesLocked']);
  532. Route::post('/setOdds', [Sport::class, 'setOdds']);
  533. Route::get('/oddsList', [Sport::class, 'oddsList']);
  534. });
  535. Route::prefix('/level')->group(function () {
  536. Route::get('/list', [Level::class, 'list']);
  537. Route::post('/update', [Level::class, 'update']);
  538. Route::get('/delete', [Level::class, 'delete']);
  539. });
  540. Route::prefix('/yuebao')->group(function () {
  541. Route::get('/item', [YueBao::class, 'item']);
  542. Route::get('/log', [YueBao::class, 'log']);
  543. Route::get('/config', [YueBao::class, 'config']);
  544. Route::post('/config', [YueBao::class, 'saveConfig']);
  545. });
  546. // 模拟管理:只有这里能看到后台模拟会员(users.user_type = 2)的数据。查看类接口按所在菜单的“查看”权限校验,写接口各有按钮权限。
  547. Route::prefix('/simulation')->group(function () {
  548. Route::get('/overview', [\App\Http\Controllers\admin\Simulation::class, 'overview'])->defaults('permission_uri', 'admin/simulation/overview');
  549. Route::get('/members', [\App\Http\Controllers\admin\Simulation::class, 'members'])->defaults('permission_uri', 'admin/simulation/members');
  550. Route::post('/members', [\App\Http\Controllers\admin\Simulation::class, 'createMembers'])->defaults('permission_uri', 'admin/simulation/members/create');
  551. Route::get('/members/detail', [\App\Http\Controllers\admin\Simulation::class, 'memberDetail'])->defaults('permission_uri', 'admin/simulation/members');
  552. Route::post('/members/banned', [\App\Http\Controllers\admin\Simulation::class, 'memberBanned']);
  553. Route::post('/members/login', [\App\Http\Controllers\admin\Simulation::class, 'memberLogin']);
  554. Route::post('/members/logout', [\App\Http\Controllers\admin\Simulation::class, 'memberLogout']);
  555. Route::get('/members/login-logs', [\App\Http\Controllers\admin\Simulation::class, 'loginLogs'])->defaults('permission_uri', 'admin/simulation/members');
  556. Route::get('/funds/recharges', [\App\Http\Controllers\admin\Simulation::class, 'recharges'])->defaults('permission_uri', 'admin/simulation/funds');
  557. Route::post('/funds/recharge', [\App\Http\Controllers\admin\Simulation::class, 'recharge']);
  558. Route::get('/funds/withdrawals', [\App\Http\Controllers\admin\Simulation::class, 'withdrawals'])->defaults('permission_uri', 'admin/simulation/funds');
  559. Route::post('/funds/withdraw', [\App\Http\Controllers\admin\Simulation::class, 'withdraw']);
  560. Route::post('/funds/withdraw/audit', [\App\Http\Controllers\admin\Simulation::class, 'withdrawAudit']);
  561. Route::post('/funds/adjust', [\App\Http\Controllers\admin\Simulation::class, 'adjust']);
  562. Route::get('/funds/ledger', [\App\Http\Controllers\admin\Simulation::class, 'ledger'])->defaults('permission_uri', 'admin/simulation/funds');
  563. Route::get('/funds/freezes', [\App\Http\Controllers\admin\Simulation::class, 'freezes'])->defaults('permission_uri', 'admin/simulation/funds');
  564. Route::post('/funds/freeze', [\App\Http\Controllers\admin\Simulation::class, 'freeze']);
  565. Route::post('/funds/unfreeze', [\App\Http\Controllers\admin\Simulation::class, 'unfreeze']);
  566. Route::get('/bets/options', [\App\Http\Controllers\admin\Simulation::class, 'betOptions'])->defaults('permission_uri', 'admin/simulation/bets');
  567. Route::get('/bets/lottery', [\App\Http\Controllers\admin\Simulation::class, 'lotteryBets'])->defaults('permission_uri', 'admin/simulation/bets');
  568. Route::post('/bets/lottery', [\App\Http\Controllers\admin\Simulation::class, 'lotteryBet']);
  569. Route::get('/bets/sport', [\App\Http\Controllers\admin\Simulation::class, 'sportBets'])->defaults('permission_uri', 'admin/simulation/bets');
  570. Route::post('/bets/sport', [\App\Http\Controllers\admin\Simulation::class, 'sportBet']);
  571. Route::post('/bets/sport/settle', [\App\Http\Controllers\admin\Simulation::class, 'sportSettle']);
  572. Route::post('/bets/sport/cancel', [\App\Http\Controllers\admin\Simulation::class, 'sportCancel']);
  573. Route::get('/bets/third', [\App\Http\Controllers\admin\Simulation::class, 'thirdBets'])->defaults('permission_uri', 'admin/simulation/bets');
  574. Route::post('/bets/third', [\App\Http\Controllers\admin\Simulation::class, 'thirdBet'])->defaults('permission_uri', 'admin/simulation/bets/third');
  575. Route::get('/tasks/templates', [\App\Http\Controllers\admin\Simulation::class, 'templates'])->defaults('permission_uri', 'admin/simulation/tasks');
  576. Route::post('/tasks/templates', [\App\Http\Controllers\admin\Simulation::class, 'saveTemplate']);
  577. Route::post('/tasks/templates/delete', [\App\Http\Controllers\admin\Simulation::class, 'deleteTemplate']);
  578. Route::get('/tasks/runs', [\App\Http\Controllers\admin\Simulation::class, 'runs'])->defaults('permission_uri', 'admin/simulation/tasks');
  579. Route::post('/tasks/runs', [\App\Http\Controllers\admin\Simulation::class, 'startRun']);
  580. Route::post('/tasks/runs/status', [\App\Http\Controllers\admin\Simulation::class, 'runStatus']);
  581. Route::post('/tasks/quick-start', [\App\Http\Controllers\admin\Simulation::class, 'quickStart']);
  582. Route::get('/tasks/events', [\App\Http\Controllers\admin\Simulation::class, 'events'])->defaults('permission_uri', 'admin/simulation/tasks');
  583. Route::get('/reports/users', [\App\Http\Controllers\admin\Simulation::class, 'reportUsers'])->defaults('permission_uri', 'admin/simulation/reports');
  584. Route::get('/reports/funds', [\App\Http\Controllers\admin\Simulation::class, 'reportFunds'])->defaults('permission_uri', 'admin/simulation/reports');
  585. Route::get('/reports/home', [\App\Http\Controllers\admin\Simulation::class, 'reportHome'])->defaults('permission_uri', 'admin/simulation/reports');
  586. Route::get('/reports/games', [\App\Http\Controllers\admin\Simulation::class, 'reportGames'])->defaults('permission_uri', 'admin/simulation/reports');
  587. Route::get('/reports/fund-flow', [\App\Http\Controllers\admin\Simulation::class, 'reportFundFlow'])->defaults('permission_uri', 'admin/simulation/reports');
  588. Route::get('/reports/options', [\App\Http\Controllers\admin\Simulation::class, 'reportOptions'])->defaults('permission_uri', 'admin/simulation/reports');
  589. Route::get('/reports/details', [\App\Http\Controllers\admin\Simulation::class, 'reportDetails'])->defaults('permission_uri', 'admin/simulation/reports');
  590. Route::get('/reports/orders', [\App\Http\Controllers\admin\Simulation::class, 'reportOrders'])->defaults('permission_uri', 'admin/simulation/reports');
  591. Route::get('/reports/events', [\App\Http\Controllers\admin\Simulation::class, 'reportEvents'])->defaults('permission_uri', 'admin/simulation/reports');
  592. Route::get('/reports/registrations', [\App\Http\Controllers\admin\Simulation::class, 'reportRegistrations'])->defaults('permission_uri', 'admin/simulation/reports');
  593. Route::get('/reports/domains', [\App\Http\Controllers\admin\Simulation::class, 'reportDomains'])->defaults('permission_uri', 'admin/simulation/reports');
  594. Route::post('/reports/refresh', [\App\Http\Controllers\admin\Simulation::class, 'reportRefresh']);
  595. Route::get('/logs/audits', [\App\Http\Controllers\admin\Simulation::class, 'audits'])->defaults('permission_uri', 'admin/simulation/logs');
  596. Route::get('/logs/events', [\App\Http\Controllers\admin\Simulation::class, 'events'])->defaults('permission_uri', 'admin/simulation/logs');
  597. Route::get('/settings', [\App\Http\Controllers\admin\Simulation::class, 'settings'])->defaults('permission_uri', 'admin/simulation/settings');
  598. Route::post('/settings', [\App\Http\Controllers\admin\Simulation::class, 'saveSettings'])->middleware('operations.admin')->defaults('permission_uri', 'admin/simulation/settings/save');
  599. Route::get('/reset/preview', [\App\Http\Controllers\admin\Simulation::class, 'resetPreview'])->middleware('operations.admin')->defaults('permission_uri', 'admin/simulation/reset');
  600. Route::post('/reset', [\App\Http\Controllers\admin\Simulation::class, 'reset'])->middleware('operations.admin');
  601. });
  602. Route::prefix('/sportGame')->group(function () {
  603. Route::get('/list', [SportGame::class, 'list']);
  604. Route::post('/setOdds', [SportGame::class, 'setOdds']);
  605. });
  606. Route::prefix('/sportGameOrder')->group(function () {
  607. Route::get('/list', [SportGameOrder::class, 'list']);
  608. Route::get('/info', [SportGameOrder::class, 'info']);
  609. Route::post('/refund', [SportGameOrder::class, 'refund']);
  610. });
  611. Route::prefix('/jisuGame')->group(function () {
  612. Route::get('/list', [JisuGame::class, 'list'])->defaults('lottery_odds_permission', 'read');
  613. Route::post('/setOdds', [JisuGame::class, 'setOdds'])->defaults('lottery_odds_permission', 'write');
  614. Route::post('/saveTemplate', [JisuGame::class, 'saveTemplate'])->defaults('lottery_odds_permission', 'write');
  615. });
  616. Route::prefix('/jisuGameOrder')->group(function () {
  617. Route::get('/list', [JisuGameOrder::class, 'list']);
  618. Route::get('/info', [JisuGameOrder::class, 'info']);
  619. Route::post('/refund', [JisuGameOrder::class, 'refund']);
  620. });
  621. Route::prefix('/jisuLottery')->group(function () {
  622. Route::get('/list', [JisuLottery::class, 'list']);
  623. Route::post('/setAdvanceCode', [JisuLottery::class, 'setAdvanceCode']);
  624. });
  625. Route::prefix('/egame')->group(function () {
  626. Route::get('/items', [Egame::class, 'items']);
  627. Route::get('/options', [Egame::class, 'options']);
  628. Route::post('/update', [Egame::class, 'update']);
  629. Route::post('/setStatus', [Egame::class, 'setStatus']);
  630. Route::post('/delete', [Egame::class, 'delete']);
  631. });
  632. });
  633. // 后台实时推送:Echo 连接参数与断线补发(登录即可,频道按列表按钮权限过滤)
  634. Route::get('/realtime/config', [Realtime::class, 'config']);
  635. Route::get('/realtime/replay', [Realtime::class, 'replay']);
  636. Route::prefix('/upload')->group(function () {
  637. Route::post('/uploadFile', [Upload::class, 'store']);
  638. Route::post('/uploadVideo', [Upload::class, 'video']);
  639. });
  640. });