初始化

This commit is contained in:
2026-03-02 13:44:38 +08:00
commit 05b785083c
677 changed files with 58662 additions and 0 deletions

588
config/admin_node.php Normal file
View File

@@ -0,0 +1,588 @@
<?php
/**
* 总后台功能权限
*/
return [
// 数据管理
[
'id' => 'addons\webman\controller\AdminController\updatePassword',
'pid' => 0,
'action' => 'updatePassword',
'method' => '',
'group' => 'all',
'url' => 'ex-admin/addons-webman-controller-AdminController/updatePassword',
'title' => '修改密码',
],
[
'id' => 'addons\webman\controller\AdminController\editInfo',
'pid' => 0,
'action' => 'editInfo',
'method' => '',
'group' => 'all',
'url' => 'ex-admin/addons-webman-controller-AdminController/editInfo',
'title' => '个人信息',
],
[
'id' => 'addons\webman\controller\AdminController\resetPassword',
'pid' => 0,
'action' => 'resetPassword',
'method' => '',
'group' => 'all',
'url' => 'ex-admin/addons-webman-controller-AdminController/resetPassword',
'title' => '重置密码',
],
[
'id' => 'addons\webman\controller\IndexController\index',
'pid' => 0,
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-IndexController/index',
'title' => '数据中心',
],
// 权限管理
[
'id' => 'addons\webman\controller\AdminController-',
'pid' => 0,
'url' => '',
'group' => 'department',
'title' => '权限管理',
'children' => []
],
// 用户管理
[
'id' => 'addons\webman\controller\AdminController\index',
'pid' => 'addons\webman\controller\AdminController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AdminController/index',
'title' => '用户管理',
],
[
'id' => 'addons\webman\controller\AdminController\index-delete',
'pid' => 'addons\webman\controller\AdminController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AdminController/index',
'title' => '删除系统用户',
],
[
'id' => 'addons\webman\controller\AdminController\form-post',
'pid' => 'addons\webman\controller\AdminController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AdminController/form',
'title' => '系统用户添加',
],
[
'id' => 'addons\webman\controller\AdminController\form-put',
'pid' => 'addons\webman\controller\AdminController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AdminController/form',
'title' => '系统用户修改',
],
// 角色管理
[
'id' => 'addons\webman\controller\RoleController\index',
'pid' => 'addons\webman\controller\AdminController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/index',
'title' => '角色管理',
],
[
'id' => 'addons\webman\controller\RoleController\index-delete',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/index',
'title' => '删除系统角色',
],
[
'id' => 'addons\webman\controller\RoleController\form-post',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/form',
'title' => '添加系统角色',
],
[
'id' => 'addons\webman\controller\RoleController\form-put',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/form',
'title' => '编辑系统角色',
],
[
'id' => 'addons\webman\controller\RoleController\data',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'data',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/data',
'title' => '数据权限',
],
[
'id' => 'addons\webman\controller\RoleController\menu-post',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'menu',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/menu',
'title' => '添加菜单权限',
],
[
'id' => 'addons\webman\controller\RoleController\menu-put',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'menu',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/menu',
'title' => '编辑菜单权限',
],
[
'id' => 'addons\webman\controller\RoleController\auth-post',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'auth',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/auth',
'title' => '添加功能权限',
],
[
'id' => 'addons\webman\controller\RoleController\auth-put',
'pid' => 'addons\webman\controller\RoleController\index',
'action' => 'auth',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-RoleController/auth',
'title' => '编辑功能权限',
],
//菜单管理
[
'id' => 'addons\webman\controller\MenuController\index',
'pid' => 'addons\webman\controller\AdminController-',
'action' => 'index',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-MenuController/index',
'title' => '菜单管理',
],
[
'id' => 'addons\webman\controller\MenuController\form-post',
'pid' => 'addons\webman\controller\MenuController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-MenuController/form',
'title' => '添加系统菜单',
],
[
'id' => 'addons\webman\controller\MenuController\form-put',
'pid' => 'addons\webman\controller\MenuController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-MenuController/form',
'title' => '编辑系统菜单',
],
//部门管理
[
'id' => 'addons\webman\controller\DepartmentController\index',
'pid' => 'addons\webman\controller\AdminController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-DepartmentController/index',
'title' => '部门管理',
],
[
'id' => 'addons\webman\controller\DepartmentController\index-delete',
'pid' => 'addons\webman\controller\DepartmentController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-DepartmentController/index',
'title' => '删除部门',
],
[
'id' => 'addons\webman\controller\DepartmentController\form-post',
'pid' => 'addons\webman\controller\DepartmentController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-DepartmentController/form',
'title' => '添加部门',
],
[
'id' => 'addons\webman\controller\DepartmentController\form-put',
'pid' => 'addons\webman\controller\DepartmentController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-DepartmentController/form',
'title' => '编辑部门',
],
//岗位管理
[
'id' => 'addons\webman\controller\PostController\index',
'pid' => 'addons\webman\controller\AdminController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PostController/index',
'title' => '岗位管理',
],
[
'id' => 'addons\webman\controller\PostController\index-delete',
'pid' => 'addons\webman\controller\PostController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PostController/index',
'title' => '删除岗位',
],
[
'id' => 'addons\webman\controller\PostController\form-post',
'pid' => 'addons\webman\controller\PostController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PostController/form',
'title' => '添加岗位',
],
[
'id' => 'addons\webman\controller\PostController\form-put',
'pid' => 'addons\webman\controller\PostController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PostController/form',
'title' => '编辑岗位',
],
//玩家管理
[
'id' => 'addons\webman\controller\PlayerController-',
'pid' => 0,
'url' => '',
'group' => 'department',
'title' => '玩家管理',
'children' => []
],
[
'id' => 'addons\webman\controller\PlayerDeliveryRecordController\index',
'pid' => 'addons\webman\controller\PlayerController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/index',
'title' => '账变记录',
],
[
'id' => 'addons\webman\controller\PlayerController\index',
'pid' => 'addons\webman\controller\PlayerController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/index',
'title' => '玩家列表',
],
[
'id' => 'addons\webman\controller\PlayerController\artificialWithdrawal',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'artificialWithdrawal',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/artificialWithdrawal',
'title' => '人工提现'
],
[
'id' => 'addons\webman\controller\PlayerController\artificialRecharge',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'artificialRecharge',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/artificialRecharge',
'title' => '人工充值'
],
[
'id' => 'addons\webman\controller\PlayerController\index-delete',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/index',
'title' => '删除玩家',
],
[
'id' => 'addons\webman\controller\PlayerController\form-post',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/form',
'title' => '添加玩家',
],
[
'id' => 'addons\webman\controller\PlayerController\form-put',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/form',
'title' => '编辑玩家',
],
[
'id' => 'addons\webman\controller\PlayerController\resetPassword',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'resetPassword',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/resetPassword',
'title' => '重置密码',
],
[
'id' => 'addons\webman\controller\PlayerController\playerWallet',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'playerWallet',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/playerWallet',
'title' => '玩家钱包',
],
[
'id' => 'addons\webman\controller\PlayerController\playerRecord',
'pid' => 'addons\webman\controller\PlayerController\index',
'action' => 'playerRecord',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-PlayerController/playerRecord',
'title' => '钱包记录',
],
//渠道管理
[
'id' => 'addons\webman\controller\ChannelController-',
'pid' => 0,
'url' => '',
'group' => 'department',
'title' => '渠道管理',
'children' => []
],
[
'id' => 'addons\webman\controller\CurrencyController\index',
'pid' => 'addons\webman\controller\ChannelController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-CurrencyController/index',
'title' => '货币列表',
],
[
'id' => 'addons\webman\controller\CurrencyController\form-post',
'pid' => 'addons\webman\controller\CurrencyController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-CurrencyController/form',
'title' => '添加货币',
],
[
'id' => 'addons\webman\controller\CurrencyController\form-put',
'pid' => 'addons\webman\controller\CurrencyController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-CurrencyController/form',
'title' => '编辑货币',
],
[
'id' => 'addons\webman\controller\ChannelController\index',
'pid' => 'addons\webman\controller\ChannelController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-ChannelController/index',
'title' => '渠道列表',
],
[
'id' => 'addons\webman\controller\ChannelController\index-delete',
'pid' => 'addons\webman\controller\ChannelController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-ChannelController/index',
'title' => '删除渠道',
],
[
'id' => 'addons\webman\controller\ChannelController\form-post',
'pid' => 'addons\webman\controller\ChannelController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-ChannelController/form',
'title' => '添加渠道',
],
[
'id' => 'addons\webman\controller\ChannelController\form-put',
'pid' => 'addons\webman\controller\ChannelController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-ChannelController/form',
'title' => '编辑渠道',
],
//客户端管理
[
'id' => 'addons\webman\controller\AnnouncementController-',
'pid' => 0,
'url' => '',
'group' => 'department',
'title' => '客户端管理',
'children' => []
],
[
'id' => 'addons\webman\controller\SystemSettingController\index',
'pid' => 'addons\webman\controller\AnnouncementController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-SystemSettingController/form',
'title' => '系统设置',
],
[
'id' => 'addons\webman\controller\AnnouncementController\index',
'pid' => 'addons\webman\controller\AnnouncementController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AnnouncementController/index',
'title' => '公告列表',
],
[
'id' => 'addons\webman\controller\AnnouncementController\index-delete',
'pid' => 'addons\webman\controller\AnnouncementController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AnnouncementController/index',
'title' => '删除公告',
],
[
'id' => 'addons\webman\controller\AnnouncementController\form-post',
'pid' => 'addons\webman\controller\AnnouncementController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AnnouncementController/form',
'title' => '添加公告',
],
[
'id' => 'addons\webman\controller\AnnouncementController\form-put',
'pid' => 'addons\webman\controller\AnnouncementController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AnnouncementController/form',
'title' => '编辑公告',
],
[
'id' => 'addons\webman\controller\SliderController\index',
'pid' => 'addons\webman\controller\AnnouncementController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-SliderController/index',
'title' => '轮播图列表',
],
[
'id' => 'addons\webman\controller\SliderController\index-delete',
'pid' => 'addons\webman\controller\SliderController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-SliderController/index',
'title' => '删除轮播图',
],
[
'id' => 'addons\webman\controller\SliderController\form-post',
'pid' => 'addons\webman\controller\SliderController\index',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-SliderController/form',
'title' => '添加轮播图',
],
[
'id' => 'addons\webman\controller\SliderController\form-put',
'pid' => 'addons\webman\controller\SliderController\index',
'action' => 'form',
'method' => 'put',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-SliderController/form',
'title' => '编辑轮播图',
],
//系统管理
[
'id' => 'addons\webman\controller\ConfigController-',
'pid' => 0,
'url' => '',
'group' => 'department',
'title' => '系统管理',
'children' => []
],
[
'id' => 'addons\webman\controller\ConfigController\form-get',
'pid' => 'addons\webman\controller\ConfigController-',
'action' => 'form',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-ConfigController/form',
'title' => '查看系统配置',
],
[
'id' => 'addons\webman\controller\ConfigController\form-post',
'pid' => 'addons\webman\controller\ConfigController-',
'action' => 'form',
'method' => 'post',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-ConfigController/form',
'title' => '编辑系统配置',
],
[
'id' => 'addons\webman\controller\AttachmentController\index',
'pid' => 'addons\webman\controller\ConfigController-',
'action' => 'index',
'method' => 'get',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AttachmentController/index',
'title' => '附件列表',
],
[
'id' => 'addons\webman\controller\AttachmentController\index-delete',
'pid' => 'addons\webman\controller\AttachmentController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AttachmentController/index',
'title' => '删除附件',
],
[
'id' => 'addons\webman\controller\AttachmentController\cate',
'pid' => 'addons\webman\controller\AttachmentController\index',
'action' => 'cate',
'method' => '',
'group' => 'department',
'url' => 'ex-admin/addons-webman-controller-AttachmentController/index',
'title' => '附件分类',
],
];

29
config/app.php Normal file
View File

@@ -0,0 +1,29 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use support\Request;
return [
'debug' => env('APP_DEBUG', true),
'error_reporting' => E_ALL,
'default_timezone' => 'Asia/Shanghai',
'request_class' => Request::class,
'public_path' => base_path() . DIRECTORY_SEPARATOR . 'public',
'runtime_path' => base_path(false) . DIRECTORY_SEPARATOR . 'runtime',
'controller_suffix' => 'Controller',
'controller_reuse' => false,
'currency' => env('currency', 'TWD'),
'env' => env('APP_ENV', 'pro'),
'profit' => 'task', // 分润结算模式(task任务模式每天结算前天, event事件模式实时结算)
];

21
config/autoload.php Normal file
View File

@@ -0,0 +1,21 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];

20
config/bootstrap.php Normal file
View File

@@ -0,0 +1,20 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
support\bootstrap\Session::class,
support\bootstrap\LaravelDb::class,
Webman\ThinkOrm\ThinkOrm::class,
Webman\ThinkCache\ThinkCache::class,
];

502
config/channel_node.php Normal file
View File

@@ -0,0 +1,502 @@
<?php
/**
* 渠道后台功能权限
*/
return [
[
'id' => 'addons\webman\controller\ChannelIndexController\index',
'pid' => 0,
'action' => 'index',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelIndexController/index',
'title' => '数据中心',
],
//用户管理
[
'id' => 'addons\webman\controller\ChannelAdminController-',
'pid' => 0,
'url' => '',
'group' => 'channel',
'title' => '权限管理',
'children' => []
],
[
'id' => 'addons\webman\controller\ChannelAdminController\index',
'pid' => 'addons\webman\controller\ChannelAdminController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAdminController/index',
'title' => '系统用户列表',
],
[
'id' => 'addons\webman\controller\ChannelAdminController\index-delete',
'pid' => 'addons\webman\controller\ChannelAdminController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAdminController/index',
'title' => '删除系统用户',
],
[
'id' => 'addons\webman\controller\ChannelAdminController\resetPassword',
'pid' => 'addons\webman\controller\ChannelAdminController\index',
'action' => 'resetPassword',
'method' => 'post',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAdminController/resetPassword',
'title' => '重置密码',
],
[
'id' => 'addons\webman\controller\ChannelAdminController\form-post',
'pid' => 'addons\webman\controller\ChannelAdminController\index',
'action' => 'form',
'method' => 'post',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAdminController/form',
'title' => '添加系统用户',
],
[
'id' => 'addons\webman\controller\ChannelAdminController\form-put',
'pid' => 'addons\webman\controller\ChannelAdminController\index',
'action' => 'form',
'method' => 'put',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAdminController/form',
'title' => '编辑系统用户',
],
[
'id' => 'addons\webman\controller\ChannelPostController\index',
'pid' => 'addons\webman\controller\ChannelAdminController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPostController/index',
'title' => '岗位列表',
],
[
'id' => 'addons\webman\controller\ChannelPostController\index-delete',
'pid' => 'addons\webman\controller\ChannelPostController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPostController/index',
'title' => '删除岗位',
],
[
'id' => 'addons\webman\controller\ChannelPostController\form-post',
'pid' => 'addons\webman\controller\ChannelPostController\index',
'action' => 'form',
'method' => 'post',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPostController/form',
'title' => '添加岗位',
],
[
'id' => 'addons\webman\controller\ChannelPostController\form-put',
'pid' => 'addons\webman\controller\ChannelPostController\index',
'action' => 'form',
'method' => 'put',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPostController/form',
'title' => '编辑岗位',
],
// 渠道玩家质料修改日志
[
'id' => 'addons\webman\controller\ChannelPlayerEditLogController-',
'pid' => 0,
'url' => '',
'group' => 'channel',
'title' => '日志中心',
'children' => []
],
[
'id' => 'addons\webman\controller\ChannelPlayerEditLogController\index',
'pid' => 'addons\webman\controller\ChannelPlayerEditLogController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerEditLogController/index',
'title' => '玩家质料修改日志',
],
[
'id' => 'addons\webman\controller\ChannelPlayerMoneyEditLogController\index',
'pid' => 'addons\webman\controller\ChannelPlayerEditLogController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerMoneyEditLogController/index',
'title' => '玩家钱包操作日志',
],
//玩家管理
[
'id' => 'addons\webman\controller\ChannelPlayerController-',
'pid' => 0,
'url' => '',
'group' => 'channel',
'title' => '玩家管理',
'children' => []
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\index',
'pid' => 'addons\webman\controller\ChannelPlayerController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/index',
'title' => '玩家列表',
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\form-post',
'pid' => 'addons\webman\controller\ChannelPlayerController\index',
'action' => 'form',
'method' => 'post',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/form',
'title' => '添加玩家',
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\form-put',
'pid' => 'addons\webman\controller\ChannelPlayerController\index',
'action' => 'form',
'method' => 'put',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/form',
'title' => '编辑玩家',
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\index-delete',
'pid' => 'addons\webman\controller\ChannelPlayerController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/index',
'title' => '删除玩家',
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\playerRecord',
'pid' => 'addons\webman\controller\ChannelPlayerController\index',
'action' => 'playerRecord',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/playerRecord',
'title' => '钱包余额-查看记录',
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\playerWallet',
'pid' => 'addons\webman\controller\ChannelPlayerController\index',
'action' => 'playerWallet',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/playerWallet',
'title' => '玩家钱包',
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\artificialWithdrawal',
'pid' => 'addons\webman\controller\ChannelPlayerController\index',
'action' => 'artificialWithdrawal',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/artificialWithdrawal',
'title' => '人工提现',
],
[
'id' => 'addons\webman\controller\ChannelPlayerController\artificialRecharge',
'pid' => 'addons\webman\controller\ChannelPlayerController\index',
'action' => 'artificialRecharge',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerController/artificialRecharge',
'title' => '人工充值',
],
[
'id' => 'addons\webman\controller\ChannelPlayerDeliveryRecordController\index',
'pid' => 'addons\webman\controller\ChannelPlayerController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelPlayerDeliveryRecordController/index',
'title' => '账变记录',
],
//轮播图管理
[
'id' => 'addons\webman\controller\ChannelSliderController-',
'pid' => 0,
'url' => '',
'group' => 'channel',
'title' => '客户端管理',
'children' => []
],
[
'id' => 'addons\webman\controller\ChannelSliderController\index',
'pid' => 'addons\webman\controller\ChannelSliderController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelSliderController/index',
'title' => '轮播图列表',
],
[
'id' => 'addons\webman\controller\ChannelSliderController\index-delete',
'pid' => 'addons\webman\controller\ChannelSliderController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelSliderController/index',
'title' => '删除轮播图',
],
[
'id' => 'addons\webman\controller\ChannelSliderController\form-post',
'pid' => 'addons\webman\controller\ChannelSliderController\index',
'action' => 'form',
'method' => 'post',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelSliderController/form',
'title' => '添加轮播图',
],
[
'id' => 'addons\webman\controller\ChannelSliderController\form-put',
'pid' => 'addons\webman\controller\ChannelSliderController\index',
'action' => 'form',
'method' => 'put',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelSliderController/form',
'title' => '编辑轮播图',
],
[
'id' => 'addons\webman\controller\ChannelMarqueeController\index',
'pid' => 'addons\webman\controller\ChannelSliderController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelMarqueeController/index',
'title' => '跑马灯列表',
],
[
'id' => 'addons\webman\controller\ChannelAnnouncementController\index',
'pid' => 'addons\webman\controller\ChannelSliderController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAnnouncementController/index',
'title' => '公告列表',
],
[
'id' => 'addons\webman\controller\ChannelAnnouncementController\index-delete',
'pid' => 'addons\webman\controller\ChannelAnnouncementController\index',
'action' => 'index',
'method' => 'delete',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAnnouncementController/index',
'title' => '删除公告',
],
[
'id' => 'addons\webman\controller\ChannelAnnouncementController\form-post',
'pid' => 'addons\webman\controller\ChannelAnnouncementController\index',
'action' => 'form',
'method' => 'post',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAnnouncementController/form',
'title' => '添加公告',
],
[
'id' => 'addons\webman\controller\ChannelAnnouncementController\form-put',
'pid' => 'addons\webman\controller\ChannelAnnouncementController\index',
'action' => 'form',
'method' => 'put',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelAnnouncementController/form',
'title' => '编辑公告',
],
//财务管理
[
'id' => 'addons\webman\controller\ChannelRechargeRecordController-',
'pid' => 0,
'url' => '',
'group' => 'channel',
'title' => '财务管理',
'children' => []
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\index',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/index',
'title' => '提现记录',
],
[
'id' => 'addons\webman\controller\ChannelRechargeController\index',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeController/index',
'title' => '充值渠道配置',
],
[
'id' => 'addons\webman\controller\ChannelRechargeController\methodForm-post',
'pid' => 'addons\webman\controller\ChannelRechargeController\index',
'action' => 'methodForm',
'method' => 'post',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeController/methodForm',
'title' => '添加充值方式',
],
[
'id' => 'addons\webman\controller\ChannelRechargeController\methodForm',
'pid' => 'addons\webman\controller\ChannelRechargeController\index',
'action' => 'methodForm',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeController/methodForm',
'title' => '编辑充值方式',
],
[
'id' => 'addons\webman\controller\ChannelRechargeController\form',
'pid' => 'addons\webman\controller\ChannelRechargeController\index',
'action' => 'form',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeController/form',
'title' => '添加充值账户',
],
[
'id' => 'addons\webman\controller\ChannelRechargeController\speedPayList',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'speedPayList',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeController/speedPayList',
'title' => '在线充值',
],
[
'id' => 'addons\webman\controller\ChannelRechargeController\addSpeedPay',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'addSpeedPay',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeController/addSpeedPay',
'title' => '在线充值配置',
],
[
'id' => 'addons\webman\controller\ChannelRechargeRecordController\index',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'index',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeRecordController/index',
'title' => '充值记录',
],
[
'id' => 'addons\webman\controller\ChannelRechargeRecordController\examineList',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'examineList',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeRecordController/examineList',
'title' => '充值审核',
],
[
'id' => 'addons\webman\controller\ChannelRechargeRecordController\reject',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController\examineList',
'action' => 'reject',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeRecordController/reject',
'title' => '审核拒绝',
],
[
'id' => 'addons\webman\controller\ChannelRechargeRecordController\pass',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController\examineList',
'action' => 'pass',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeRecordController/pass',
'title' => '审核通过',
],
[
'id' => 'addons\webman\controller\ChannelRechargeRecordController\rechargeCertificate',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController\examineList',
'action' => 'rechargeCertificate',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeRecordController/rechargeCertificate',
'title' => '查看付款凭证',
],
[
'id' => 'addons\webman\controller\ChannelRechargeRecordController\rechargeSetting',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController\examineList',
'action' => 'rechargeSetting',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelRechargeRecordController/rechargeSetting',
'title' => '查看充值账号配置',
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\examineList',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'examineList',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/examineList',
'title' => '提现审核',
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\viewRechargeList',
'pid' => 'addons\webman\controller\ChannelWithdrawRecordController\examineList',
'action' => 'viewRechargeList',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/viewRechargeList',
'title' => '查看充值记录',
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\viewGameList',
'pid' => 'addons\webman\controller\ChannelWithdrawRecordController\examineList',
'action' => 'viewGameList',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/viewGameList',
'title' => '查看游戏记录',
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\reject',
'pid' => 'addons\webman\controller\ChannelWithdrawRecordController\examineList',
'action' => 'reject',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/reject',
'title' => '审核拒绝',
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\pass',
'pid' => 'addons\webman\controller\ChannelWithdrawRecordController\examineList',
'action' => 'pass',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/pass',
'title' => '审核通过',
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\paymentList',
'pid' => 'addons\webman\controller\ChannelRechargeRecordController-',
'action' => 'paymentList',
'method' => 'get',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/paymentList',
'title' => '提现打款',
],
[
'id' => 'addons\webman\controller\ChannelWithdrawRecordController\payment',
'pid' => 'addons\webman\controller\ChannelWithdrawRecordController\paymentList',
'action' => 'payment',
'method' => '',
'group' => 'channel',
'url' => 'ex-admin/addons-webman-controller-ChannelWithdrawRecordController/payment',
'title' => '提交打款凭证',
]
];

19
config/container.php Normal file
View File

@@ -0,0 +1,19 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
$builder = new \DI\ContainerBuilder();
$builder->addDefinitions(config('dependence', []));
$builder->useAutowiring(true);
$builder->useAnnotations(true);
return $builder->build();

37
config/database.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'default' => env('DB_CONNECTION', 'mysql'),
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => [
\PDO::ATTR_TIMEOUT => 3
],
]
]
];

14
config/def_avatar.php Normal file
View File

@@ -0,0 +1,14 @@
<?php
return [
1 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nan1.png',
2 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nan2.png',
3 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nan3.png',
5 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nan4.png',
6 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nan5.png',
7 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nv1.png',
8 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nv2.png',
9 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nv3.png',
10 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nv4.png',
11 => env('APP_URL', 'http://127.0.0.1:8787') . '/def_avatar/nv5.png',
];

15
config/dependence.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [];

3
config/event.php Normal file
View File

@@ -0,0 +1,3 @@
<?php
return [];

18
config/exception.php Normal file
View File

@@ -0,0 +1,18 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'' => support\exception\Handler::class,
'api' => \app\exception\ApiHandler::class,
];

251
config/game_platform.php Normal file
View File

@@ -0,0 +1,251 @@
<?php
return [
'LUCKY365' => [
'api_domain' => 'https://api365.sungaming.games',
'domain' => 'https://game.lucky365.cc',
'app_id' => 'BB428C0141FE47578AD3DFAB1F075F72',
'app_secret' => '8C060E85E1F947A39F9E03AC7AF26846',
'admin_url' => 'https://www.lkagent.cc/',
'admin_user' => 'L365API3051MYS',
],
'MEGA888' => [
'api_domain' => 'https://mgapi-ali.yidaiyiluclub.com/mega-cloud/api/',
'domain' => 'https://www.weimen99f.net',
'app_id' => 'Mega1-4961',
'app_secret' => 'Wp1yT/dlinuMXbq0g+6OlrFQhgA=',
'sn' => 'ld00',
'admin_url' => 'https://k3.mega166.com',
'admin_user' => 'Mega14961s1',
],
'JILI' => [
'api_domain' => 'https://wb-api-2.jiscc77s.com/api1/',
'domain' => 'https://play.mking11.com/',
'app_id' => 'ON9_samsung88_MYR',
'app_secret' => 'df4a08fcd94b48c7a8f5c5e6c5abda0e560a5a66',
'admin_url' => 'https://wb-api4.jlfafafa3.com/',
'admin_user' => 'ON9_samsung88_MYR',
],
'BIGGAMING' => [
'api_domain' => 'http://n1api.trarot.com/open-cloud/api/',
'domain' => 'https://www.weimen99f.net',
'app_id' => '181837',
'app_secret' => '54E260D5AB1B4B1A9EF84DC392B998F9',
'sn' => 'ty15',
'admin_url' => 'http://ty158266.bgvip66.com',
'admin_user' => 'Samsung88',
'admin_pass' => 'Abcd1234',
],
'KISS918' => [
'api_domain' => 'http://api.918kiss.com:9991/',
'record_api' => 'http://api.918kiss.com:9919/',
'domain' => '',
'app_id' => 'a06kiss',
'auth' => 'feXZAjPKxYsBBExSaabu',
'app_secret' => '7a958AFsf6W296WF3Ugf',
'admin_url' => 'aiu.918kiss.com',
'admin_user' => 'a06kiss',
],
'PRAGMATIC' => [
'api_domain' => 'https://api-2133.ppgames.net',
'domain' => '',
'name' => 'Samsung88',
'secure_login' => 'pvd_samsung88',
'provider_id' => 'PragmaticPlay',
'app_secret' => '0cAcD962C0544f12',
'admin_url' => 'https://backoffice-2133.ppgames.net/',
'admin_user' => 'samsung88_admin',
],
'JDB' => [
'api_domain' => 'http://api.jdb1688.net',
'domain' => '',
'dc' => 'COLR',
'iv' => 'bb6c659d4b3177c5',
'key' => 'e2a648e621621dd1',
'admin_url' => 'https://agent.jdb1688.net',
'admin_user' => 'samsung88',
'admin_psw' => 'Abcd1234',
'platform_game_type' => [
'CB',
'FH',
'LK',
'OT',
'SL',
]
],
'MARIOCLUB' => [
'api_domain' => 'https://api.marioclub88.online',
'domain' => 'https://play.mking11.com/',
'app_id' => 'ALMYR',
'app_secret' => 'da725f16bb1274b8abd11d8f5d3b919b80809e0986eb024dacecdc5d8c310483',
'admin_url' => 'https://ag.marioclub88.info/',
'admin_user' => 'ALMYR',
],
'JOKER' => [
'api_domain' => 'https://w.apiext88.net',
'domain' => 'https://www.weimen99f.net',
'app_id' => 'FP17',
'provider_code' => 'JOKER',
'app_secret' => '1di6o3at6apks',
'admin_url' => 'https://www.partnerbo888a.net',
'admin_user' => 'FP17M',
'platform_game_type' => [
'FH',
'LK',
'OT',
'SL',
]
],
'ASIAGAMING' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'AG',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'http://mdbo.1199119.com/',
'admin_user' => 'awin16868usd',
'platform_game_type' => [
'FH',
'LC',
'SL'
]
],
'TFGAMING' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'TF',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'tfas.r4espt.com',
'admin_user' => 'win168ausdusdo01',
'platform_game_type' => [
'ES',
'SB',
]
],
'IBC' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'IB',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'https://ibsbo.gsoft688.com/Account/Login.aspx',
'admin_user' => 'M77',
'platform_game_type' => [
'ES',
'SB',
]
],
'PLAYSTAR' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'ps',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'https://pssgadmin.always988.com/',
'admin_user' => 'pvwin168ausdcs01',
'platform_game_type' => [
'FH',
'SL',
]
],
'AWC68' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'S6',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'https://gciag.usplaynet.com',
'admin_user' => 'testwin186usd',
'platform_game_type' => [
'FH',
'LC',
'OT',
'SL'
]
],
'GAMEPLAY' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'G8',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'https://gpbo.gsoft688.com/Account/Login.aspx',
'admin_user' => 'W88_A1',
'platform_game_type' => [
'SL',
'LK',
'LC',
'APP'
]
],
'NEXTSPIN' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'NS',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'http://bo.88golddragon.com/',
'admin_user' => 'W88_A1',
'platform_game_type' => [
'FH',
'SL',
]
],
'WMCASINO' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'WC',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'https://hp8.pokp02.net/',
'admin_user' => 'd08usdapi',
'platform_game_type' => [
'LC',
]
],
'SPADEGAMING' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'SG',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'http://backoffice.hugedolphin.com/login.jsp',
'admin_user' => 'd08usdapi',
'platform_game_type' => [
'FH',
'SL',
]
],
'FUNKYGAME' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'FK',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'http://bo.funkygames.io/',
'admin_user' => 'WIN168AUSD',
'platform_game_type' => [
'FH',
'LK',
'OT',
'SL',
]
],
'R5' => [
'api_domain' => 'gsmd.336699bet.com',
'domain' => '',
'app_id' => 'd08u',
'provider_code' => 'R5',
'app_secret' => 'ec88090da0e6fab55d3c778116128330',
'admin_url' => 'http://bo.klonostek.com',
'admin_user' => 'cp_opwin168ausd',
'platform_game_type' => [
'FH',
'LK',
'OT',
'SL',
]
],
'bankruptcy_money' => 5
];

10
config/jp-sms.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
return [
'appkey' => 'Ybz2h8',
'appcode' => '1000',
'appsecret' => 'iny93x',
'domain' => 'http://47.242.85.7:9090',
'batchSend' => '/sms/batch/v2',
'balance' => '/sms/balance/v1',
];

64
config/log.php Normal file
View File

@@ -0,0 +1,64 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'default' => [
'handlers' => [
[
'class' => Monolog\Handler\RotatingFileHandler::class,
'constructor' => [
runtime_path() . '/logs/webman.log',
7, //$maxFiles
Monolog\Logger::DEBUG,
],
'formatter' => [
'class' => Monolog\Formatter\LineFormatter::class,
'constructor' => [null, 'Y-m-d H:i:s', true],
],
]
],
],
'game_log' => [
'handlers' => [
[
'class' => Monolog\Handler\RotatingFileHandler::class,
'constructor' => [
runtime_path() . '/logs/game_log.log',
7, //$maxFiles
Monolog\Logger::DEBUG,
],
'formatter' => [
'class' => Monolog\Formatter\LineFormatter::class,
'constructor' => [null, 'Y-m-d H:i:s', true],
],
]
],
],
'pay_log' => [
'handlers' => [
[
'class' => Monolog\Handler\RotatingFileHandler::class,
'constructor' => [
runtime_path() . '/logs/pay_log.log',
7, //$maxFiles
Monolog\Logger::DEBUG,
],
'formatter' => [
'class' => Monolog\Formatter\LineFormatter::class,
'constructor' => [null, 'Y-m-d H:i:s', true],
],
]
],
],
];

28
config/middleware.php Normal file
View File

@@ -0,0 +1,28 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use app\middleware\AppVersionMiddleware;
use app\middleware\Lang;
use app\middleware\SiteAuthMiddleware;
return [
// api应用中间件
'api' => [
// ApiSignMiddleware::class
// AccessControl::class,
SiteAuthMiddleware::class,
Lang::class,
AppVersionMiddleware::class
],
];

11
config/one_pay.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
return [
'merchantId' => 'AliWin',
'key' => 'KFfWS8j5Lu1gfef4akclTxSb0',
'api_key' => 'HHIgy4B7uL8QU5XcSwFVALERY',
'domain' => 'https://api.one1pay.asia/',
'notifyUrl' => 'https://api.sumsung888.top/external/one-recharge-notify',
'payoutNotifyUrl' => 'https://api.sumsung888.top/external/one-withdrawal-notify',
'returnUrl' => 'https://api.sumsung888.top/external/onepay-query'
];

View File

@@ -0,0 +1,68 @@
<?php
return [
'enable' => true,
/**
* 配置 driver
* 数组配置驱动 \Wengg\WebmanApiSign\Driver\ArrayDriver::class
* 数据库配置驱动 \Wengg\WebmanApiSign\Driver\DatabaseDriver::class (使用的是 ThinkORM)
* 如需要自定义驱动,继承 \Wengg\WebmanApiSign\Driver\BaseDriver::class
*/
'driver' => \Wengg\WebmanApiSign\Driver\ArrayDriver::class,
'encrypt' => 'sha256', //加密sign方式,
'timeout' => 0, //timestamp超时时间秒0不限制
'table' => 'app_sign', //表名
/**
* 防重放请求是否开启 true只能请求一次时间是上面 timeout内
* replay 主要借助与 timeout + noncestr随机值进行验证, 一定的时间内noncestr如果重复那就判定重放请求
* noncestr 建议生成随机唯一UUID 或者你使用 13位时间戳+18位随机数。1678159075243(13位)+随机数(18位)
*/
'replay' => false,
/**
* 如果使用 DatabaseDriver 需要缓存查询后的数据
* 设置缓存时间即可缓存对应的app_id数据
* db_cache_time => null 关闭缓存
*/
'db_cache_time' => 604800, // null 关闭缓存
//字段对照,可从(header,get,post)获取的值
'fields' => [
'app_id' => 'appId', //app_id
'app_key' => 'appKey', //app_key rsa加密才需要传appKey为前端随机生成的app_secret秘钥用于加密sign和报文数据
'timestamp' => 'timestamp', //时间戳
'noncestr' => 'nonceStr', //随机字符串
'signature' => 'signature', //签名字符串
],
//driver为ArrayDriver时生效对应table
'app_sign' => [
[
'app_id' => '1661408635', //应用id
'app_name' => '默认', //应用名称
'status' => 1, //状态0=禁用1=启用
'expired_at' => null, //过期时间例如2023-01-01 00:00:00null不限制
'app_secret' => 'D81668E7B3F24F4DAB32E5B88EAE27AC', //应用秘钥 不启用RSA使用
'encrypt_body' => 0, //状态0=禁用1=启用 算法aes-128-cbc 是否加密body传入加密后的报文字符串启用RSA需要使用自动生成的app_secret进行对称加密否则使用固定的app_secret进行对称加密
'rsa_status' => 0, //状态0=禁用1=启用 启用RSA主要用rsa加密随机生成的app_secret而不使用固定app_secret
/**
* sign私钥 RS256加密
*/
'private_key' => <<<EOD
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
EOD,
/**
* sign公钥 RS256加密
*/
'public_key' => <<<EOD
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
EOD
],
],
];

View File

@@ -0,0 +1,3 @@
<?php
return [];

View File

@@ -0,0 +1,4 @@
<?php
return [
'enable' => true,
];

View File

@@ -0,0 +1,17 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
\ExAdmin\webman\ServiceProvider::class
];

View File

@@ -0,0 +1,6 @@
<?php
return [
\ExAdmin\webman\command\AdminInstall::class,
\ExAdmin\webman\command\PluginComposer::class,
];

View File

@@ -0,0 +1,39 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
| based disks are available to your application. Just store away!
|
*/
'default' => env('FILESYSTEM_DRIVER', 'local'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Here you may configure as many filesystem "disks" as you wish, and you
| may even configure multiple disks of the same driver. Defaults have
| been setup for each driver as an example of the required options.
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
*/
'disks' => [
'local' => [
'driver' => \addons\webman\filesystem\driver\Local::class,
'root' => public_path('storage'),
'url' => env('APP_URL','http://127.0.0.1:8787').'/storage',
'visibility' => 'public',
],
],
];

View File

@@ -0,0 +1,20 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'' => [
\ExAdmin\webman\middleware\RequestMiddleware::class
]
];

View File

@@ -0,0 +1,11 @@
<?php
return [
'ex_admin_consumer' => [
'handler' => Webman\RedisQueue\Process\Consumer::class,
'count' => 8, // 可以设置多进程同时消费
'constructor' => [
// 消费者类目录
'consumer_dir' => base_path() . '/addons/webman/grid/Jobs'
]
]
];

View File

@@ -0,0 +1,11 @@
<?php
if(plugin()->webman){
plugin()->webman->route();
}

View File

@@ -0,0 +1,72 @@
<?php
return [
'enable' => true,
'jwt' => [
// 算法类型 HS256、HS384、HS512、RS256、RS384、RS512、ES256、ES384、Ed25519
'algorithms' => 'HS256',
// access令牌秘钥
'access_secret_key' => '2022d3d3LmJq',
// access令牌过期时间单位秒。默认 15天
'access_exp' => 1296000,
// refresh令牌秘钥
'refresh_secret_key' => '2022KTxigxc9o50c',
// refresh令牌过期时间单位秒。默认 30 天
'refresh_exp' => 2592000,
// refresh 令牌是否禁用,默认不禁用 false
'refresh_disable' => false,
// 令牌签发者
'iss' => 'webman.tinywan.cn',
// 某个时间点后才能访问单位秒。30 表示当前时间30秒后才能使用
'nbf' => 0,
// 时钟偏差冗余时间,单位秒。建议这个余地应该不大于几分钟。
'leeway' => 60,
// 单设备登录
'is_single_device' => true,
// 缓存令牌时间,单位:秒。默认 15 天
'cache_token_ttl' => 1296000,
// 缓存令牌前缀
'cache_token_pre' => 'JWT:TOKEN:',
'cache_refresh_token_pre' => 'JWT:REFRESH_TOKEN:',
// 用户信息模型
'user_model' => function($uid){
return [];
},
/**
* access令牌私钥
*/
'access_private_key' => <<<EOD
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
EOD,
/**
* access令牌公钥
*/
'access_public_key' => <<<EOD
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
EOD,
/**
* refresh令牌私钥
*/
'refresh_private_key' => <<<EOD
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
EOD,
/**
* refresh令牌公钥
*/
'refresh_public_key' => <<<EOD
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
EOD,
],
];

View File

@@ -0,0 +1,64 @@
<?php
return [
'enable' => true,
/**
* 日志相关
*/
'log' => [
/**
* 日志是否启用,建议启用
*/
'enable' => false,
/**
* 日志的 channel
*/
'channel' => 'default',
/**
* 日志的级别
*/
'level' => 'info',
/**
* 日志格式
* 启用 custom 时无实际作用
* @link \GuzzleHttp\MessageFormatter::format()
*/
'format' => \GuzzleHttp\MessageFormatter::CLF,
/**
* 自定义日志
*
* 返回 WebmanTech\LaravelHttpClient\Guzzle\Log\CustomLogInterface 时使用 @see WebmanTech\LaravelHttpClient\Guzzle\Log\Middleware::__invoke()
* 返回 null 时使用 guzzle 的 @see GuzzleHttp\Middleware::log()
* 返回 callable 时使用自定义 middleware @link https://docs.guzzlephp.org/en/stable/handlers-and-middleware.html#middleware
*
* 建议使用 CustomLogInterface 形式,支持慢请求、请求时长、更多配置
*/
'custom' => function (array $config) {
/**
* @see \WebmanTech\LaravelHttpClient\Guzzle\Log\CustomLog::$config
*/
$config = [
'log_channel' => $config['channel'],
];
return new \WebmanTech\LaravelHttpClient\Guzzle\Log\CustomLog($config);
}
],
/**
* guzzle 全局的 options
* @link https://laravel.com/docs/8.x/http-client#guzzle-options
*/
'guzzle' => [
'debug' => false,
'timeout' => 10,
],
/**
* 扩展 Http 功能,一般可用于快速定义 api 信息
* @link https://laravel.com/docs/8.x/http-client#macros
*/
'macros' => [
/*'httpbin' => function() {
return Http::baseUrl('https://httpbin.org')
->asJson();
}*/
],
];

View File

@@ -0,0 +1,20 @@
<?php
return [
'enable' => true,
'build_dir' => BASE_PATH . DIRECTORY_SEPARATOR . 'build',
'phar_filename' => 'webman.phar',
'bin_filename' => 'webman.bin',
'signature_algorithm'=> Phar::SHA256, //set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.
'private_key_file' => '', // The file path for certificate or OpenSSL private key file.
'exclude_pattern' => '#^(?!.*(composer.json|/.github/|/.idea/|/.git/|/.setting/|/runtime/|/vendor-bin/|/build/|/vendor/webman/admin/))(.*)$#',
'exclude_files' => [
'.env', 'LICENSE', 'composer.json', 'composer.lock', 'start.php', 'webman.phar', 'webman.bin'
]
];

View File

@@ -0,0 +1,4 @@
<?php
return [
'enable' => true,
];

View File

@@ -0,0 +1,17 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
Webman\Event\BootStrap::class,
];

View File

@@ -0,0 +1,7 @@
<?php
use Webman\Event\EventListCommand;
return [
EventListCommand::class
];

View File

@@ -0,0 +1,12 @@
<?php
return [
'enable' => true,
'exception' => [
// 是否记录异常到日志
'enable' => true,
// 不会记录到日志的异常类
'dontReport' => [
support\exception\BusinessException::class
]
]
];

View File

@@ -0,0 +1,21 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use Webman\Log\Middleware;
return [
'' => [
Middleware::class
]
];

View File

@@ -0,0 +1,10 @@
<?php
return [
'enable' => true,
'websocket' => 'websocket://0.0.0.0:3132',
'api' => 'http://127.0.0.1:3233',
'app_key' => '20f94408fc4c52845f162e92a253c7a3',
'app_secret' => '3151f8648a6ccd9d4515386f34127e28',
'channel_hook' => 'http://127.0.0.1:8787/plugin/webman/push/hook',
'auth' => '/plugin/webman/push/auth'
];

View File

@@ -0,0 +1,21 @@
<?php
use Webman\Push\Server;
return [
'server' => [
'handler' => Server::class,
'listen' => config('plugin.webman.push.app.websocket'),
'count' => 1, // 必须是1
'reloadable' => false, // 执行reload不重启
'constructor' => [
'api_listen' => config('plugin.webman.push.app.api'),
'app_info' => [
config('plugin.webman.push.app.app_key') => [
'channel_hook' => config('plugin.webman.push.app.channel_hook'),
'app_secret' => config('plugin.webman.push.app.app_secret'),
],
]
]
]
];

View File

@@ -0,0 +1,87 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use support\Request;
use Webman\Route;
use Webman\Push\Api;
/**
* 推送js客户端文件
*/
Route::get('/plugin/webman/push/push.js', function (Request $request) {
return response()->file(base_path().'/vendor/webman/push/src/push.js');
});
/**
* 私有频道鉴权这里应该使用session辨别当前用户身份然后确定该用户是否有权限监听channel_name
*/
Route::post(config('plugin.webman.push.app.auth'), function (Request $request) {
$pusher = new Api(str_replace('0.0.0.0', '127.0.0.1', config('plugin.webman.push.app.api')), config('plugin.webman.push.app.app_key'), config('plugin.webman.push.app.app_secret'));
$channel_name = $request->post('channel_name');
$session = $request->session();
// 这里应该通过session和channel_name判断当前用户是否有权限监听channel_name
$has_authority = true;
if ($has_authority) {
return response($pusher->socketAuth($channel_name, $request->post('socket_id')));
} else {
return response('Forbidden', 403);
}
});
/**
* 当频道上线以及下线时触发的回调
* 频道上线:是指某个频道从没有连接在线到有连接在线的事件
* 频道下线:是指某个频道的所有连接都断开触发的事件
*/
Route::post(parse_url(config('plugin.webman.push.app.channel_hook'), PHP_URL_PATH), function (Request $request) {
// 没有x-pusher-signature头视为伪造请求
if (!$webhook_signature = $request->header('x-pusher-signature')) {
return response('401 Not authenticated', 401);
}
$body = $request->rawBody();
// 计算签名,$app_secret 是双方使用的密钥,是保密的,外部无从得知
$expected_signature = hash_hmac('sha256', $body, config('plugin.webman.push.app.app_secret'), false);
// 安全校验如果签名不一致可能是伪造的请求返回401状态码
if ($webhook_signature !== $expected_signature) {
return response('401 Not authenticated', 401);
}
// 这里存储这上线 下线的channel数据
$payload = json_decode($body, true);
$channels_online = $channels_offline = [];
foreach ($payload['events'] as $event) {
if ($event['name'] === 'channel_added') {
$channels_online[] = $event['channel'];
} else if ($event['name'] === 'channel_removed') {
$channels_offline[] = $event['channel'];
}
}
// 业务根据需要处理上下线的channel例如将在线状态写入数据库通知其它channel等
// 上线的所有channel
echo 'online channels: ' . implode(',', $channels_online) . "\n";
// 下线的所有channel
echo 'offline channels: ' . implode(',', $channels_offline) . "\n";
return 'OK';
});

View File

@@ -0,0 +1,4 @@
<?php
return [
'enable' => true,
];

View File

@@ -0,0 +1,7 @@
<?php
use Webman\RedisQueue\Command\MakeConsumerCommand;
return [
MakeConsumerCommand::class
];

View File

@@ -0,0 +1,32 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'default' => [
'handlers' => [
[
'class' => Monolog\Handler\RotatingFileHandler::class,
'constructor' => [
runtime_path() . '/logs/redis-queue/queue.log',
7, //$maxFiles
Monolog\Logger::DEBUG,
],
'formatter' => [
'class' => Monolog\Formatter\LineFormatter::class,
'constructor' => [null, 'Y-m-d H:i:s', true],
],
]
],
]
];

View File

@@ -0,0 +1,11 @@
<?php
return [
'consumer' => [
'handler' => Webman\RedisQueue\Process\Consumer::class,
'count' => 8, // 可以设置多进程同时消费
'constructor' => [
// 消费者类目录
'consumer_dir' => app_path() . '/queue/redis'
]
]
];

View File

@@ -0,0 +1,13 @@
<?php
return [
'default' => [
'host' => 'redis://127.0.0.1:6379',
'options' => [
'auth' => null, // 密码,字符串类型,可选参数
'db' => 1, // 数据库
'prefix' => '', // key 前缀
'max_attempts' => 5, // 消费失败后,重试次数
'retry_seconds' => 5, // 重试间隔,单位秒
]
],
];

View File

@@ -0,0 +1,11 @@
<?php
return [
'enable' => true,
'default' => '--',
'language' => ['zh-CN'],
'db-country' => null,
'db-city' => null,
'db-asn' => null,
];

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDmA8qKaS3+AIkj
t2IsdFQw8kKHVARk2aPBxkV3qIhpaFpvs/uDA5NkGVR/uFFFsSAOGx6JCsdZRQv7
byR0NUjyM8iKeHKnSwQwfjuUZkhDd/mVem0RX7GaJJjTqCPYdsZUo1XqCjgHHNUr
drx7FoUMUz6Jr9fsYhVL5huDflsQbAFx5JoHY2xQ1ZEahYbV5dZp2Np0s3JsF7rf
/WtvUYxg/Mk+8coroMi8OPE/+2PUxxFVyyheNjMIYAvMMQxb3+NowNL8lpz8ZmQa
mlWgxDp4d9h+DQWyL+vyJKpqH9azKjlBLsDhPpD/gS7wzyfsuLfePC2rkhrt8zbF
cDPX0B81AgMBAAECggEBALuDLbPmiQMABsziLBuXfick6E2QlcBtmM1YyLsC3qon
00orDQhCev7ok3VHmqHZAwvc2ejYq6k/28PPWIWQBvbEdmFEThvJ0RGDZyjUtWaj
QQm184JtY8kIuroZ4ZcPRSIswdZ5HDHYNIQpWQBzXGWu21W9z6Y6U6g7YASzlqNs
DZ3fLXxSRi+r2/TN/gQTFhygvseeTOI76ULiSsB7gocQxpp5tLtBznXqEu74OWoR
wH+cwvrxaNnx+zGIJsIGYpaJSZmOvkgAJQ6GTGT65l71O/DX2syOsMFI1k5y7Gjb
9jOIivtjbzfP4qFBRKpH2jI56o7/SFenzNe/Iv9DVUECgYEA9Bt0LxUuEEdpjwea
+WM1DcLIRuls85S+sSwe72t4mw22b2H7Ta0iP3YXQ2DN+duzXWxsfr2N0XGUDuw3
n+WhHqLTA21WFBTdorr0FvgeHPRRnlHS7kjD4AMZS4/wlMhc571fZc2KrJfL/gIr
htWbLudaI7b4ZNm8oZtjKsh2jXECgYEA8TiS/MGm05xuq1Gucp/YkUNkEVhpjZeI
0m7DHxaOrE322v2HnhyvlZDR+gioStS/EjLbaJ8eJlbjMVmRlrGvIhbzUM77unhF
hQLFvEYNEMuUUbVqb3qqJOD+HnO3KDdXTSguhhTuoRxkpbPSrZ9Y5BEAWMDlLBsG
sq6+j173HAUCgYBFtFk24Jtotpuj5g4QzI1nwokiBqG/5GeXe/vRbiTgUcgYgiga
hCfVa0k1Sj1G7b+IG9/XSRVoC0C2CinQFOgvMVuEDQKZdWPchfoRXQRsTC/KP581
v71/CCN++jk+owA0hFTrYwgIRMhRXhlDxVcsy49nx2WilrJQi2iD3P5NYQKBgQDA
rh0TEqhsbY8k/5jl7HK0De2XwVSHClz7IghwA7exQJGHeW5jyKwkP0rKezHanDeH
lOIXnsoZe9v8ZnxZr9Kh20095ifDWiDFz2IdMqNrIAJ4hf3f0E6qKKIztuC9mf79
HbST25KFVMW8anhFwXviqQXq3yHv6iKeheCnawbd9QKBgQCuD0vgx+8/6sKpowx3
n11zi1pPv3gEUmAW9ivL/xHHKZbymTZkjPHiRVv6ddlQiLigRnArvyQnhKCSwiVi
T/G8hR2axKuEJw0Z6feKRj590ZN2OrbDgEXz45OOvMMktFY+wjJsa9Qouj4Od5br
6mIaRJhf1EUlYdMKMJo2f2Te8w==
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5gPKimkt/gCJI7diLHRU
MPJCh1QEZNmjwcZFd6iIaWhab7P7gwOTZBlUf7hRRbEgDhseiQrHWUUL+28kdDVI
8jPIinhyp0sEMH47lGZIQ3f5lXptEV+xmiSY06gj2HbGVKNV6go4BxzVK3a8exaF
DFM+ia/X7GIVS+Ybg35bEGwBceSaB2NsUNWRGoWG1eXWadjadLNybBe63/1rb1GM
YPzJPvHKK6DIvDjxP/tj1McRVcsoXjYzCGALzDEMW9/jaMDS/Jac/GZkGppVoMQ6
eHfYfg0Fsi/r8iSqah/Wsyo5QS7A4T6Q/4Eu8M8n7Li33jwtq5Ia7fM2xXAz19Af
NQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -0,0 +1,30 @@
<?php
use Symfony\Component\Lock\Store\FlockStore;
use Symfony\Component\Lock\Store\RedisStore;
return [
'enable' => true,
'storage' => 'redis', // file/redis 建议使用 redisfile 不支持 ttl
'storage_configs' => [
'file' => [
'class' => FlockStore::class,
'construct' => [
'lockPath' => runtime_path() . '/lock',
],
],
'redis' => [
'class' => RedisStore::class,
'construct' => function () {
return [
'redis' => \support\Redis::connection('default')->client(),
];
},
],
],
'default_config' => [
'ttl' => 300, // 默认锁超时时间
'auto_release' => true, // 是否自动释放,建议设置为 true
'prefix' => 'lock_', // 锁前缀
],
];

48
config/process.php Normal file
View File

@@ -0,0 +1,48 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use process\CommissionSettlement;
use process\MegaPlayGameRecord;
use process\SyncPlayGameRecord;
use process\SendBroadcast;
use Workerman\Worker;
return [
// File update detection and automatic reload
'monitor' => [
'handler' => process\Monitor::class,
'reloadable' => false,
'constructor' => [
// Monitor these directories
'monitorDir' => array_merge([
app_path(),
config_path(),
base_path() . '/addons',
base_path() . '/process',
base_path() . '/support',
base_path() . '/plugin',
base_path() . '/resource',
base_path() . '/.env',
], glob(base_path() . '/plugin/*/app'), glob(base_path() . '/plugin/*/config'), glob(base_path() . '/plugin/*/api')),
// Files with these suffixes will be monitored
'monitorExtensions' => [
'php', 'html', 'htm', 'env'
],
'options' => [
'enable_file_monitor' => !Worker::$daemonize && DIRECTORY_SEPARATOR === '/',
'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',
]
]
],
];

22
config/redis.php Normal file
View File

@@ -0,0 +1,22 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'default' => [
'host' => '127.0.0.1',
'password' => null,
'port' => 6379,
'database' => 1,
],
];

115
config/route.php Normal file
View File

@@ -0,0 +1,115 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use app\api\controller\v1\AnnouncementController;
use app\api\controller\v1\GameController;
use app\api\controller\v1\IndexController;
use app\api\controller\v1\PlayerController;
use app\api\controller\v1\VersionController;
use app\api\controller\v1\PromoterController;
use Webman\Route;
use app\api\controller\v1\QrcodeController;
use app\external\ExternalApiController;
Route::options('[{path:.+}]', function () {
return response('');
});
Route::group('/api', function () {
Route::group('/v1', function () {
// 获取版本更新信息
Route::post('/get-app-update', [VersionController::class, 'getAppUpdate']);
// 渠道信息
Route::post('/channel-info', [IndexController::class, 'channelInfo']);
//手机号注册
Route::post('/phone-register', [PlayerController::class, 'phoneRegister']);
//发送验证码
Route::post('/send-msg', [PlayerController::class, 'sendMsg']);
//忘记密码
Route::post('/forget-password', [PlayerController::class, 'forgetPassword']);
// 玩家登录
Route::post('/login', [PlayerController::class, 'login']);
// 获取用户信息
Route::post('/player-info', [PlayerController::class, 'playerInfo']);
// 编辑昵称
Route::post('/edit-player-name', [PlayerController::class, 'editPlayerName']);
// 用户银行卡列表
Route::post('/bank-card-list', [IndexController::class, 'bankCardList']);
// 添加银行卡
Route::post('/add-bank-card', [IndexController::class, 'addBankCard']);
// 修改银行卡
Route::post('/edit-bank-card', [IndexController::class, 'editBankCard']);
// 银行卡列表
Route::post('/bank-list', [IndexController::class, 'bankList']);
// 删除银行卡
Route::post('/delete-bank-card', [IndexController::class, 'deleteBankCard']);
// 充值列表
Route::post('/recharge-list', [PlayerController::class, 'rechargeList']);
// 充值项列表
Route::post('/recharge-setting-list', [PlayerController::class, 'rechargeSettingList']);
// 充值配置详情
Route::post('/recharge-info', [PlayerController::class, 'rechargeInfo']);
// 登出
Route::post('/logout', [IndexController::class, 'logout']);
// 玩家充值
Route::post('/player-recharge', [IndexController::class, 'playerRecharge']);
// 數據中心
Route::post('/gift-center', [PlayerController::class, 'giftCenter']);
// cash out列表
Route::post('/cash-out-list', [IndexController::class, 'cashOutList']);
// cash in列表
Route::post('/cash-in-list', [IndexController::class, 'cashInList']);
// 玩家提现
Route::post('/withdrawal', [IndexController::class, 'playerWithdrawal']);
// 登录游戏返回游戏地址
Route::post('/login-game', [GameController::class, 'loginGame']);
// 上传充值凭证
Route::post('/upload-certificate', [IndexController::class, 'uploadCertificate']);
//se支付
Route::post('/se-recharge-list', [PlayerController::class, 'seRechargeList']);
Route::post('/se-recharge', [PlayerController::class, 'seRecharge']);
//完成充值
Route::post('/complete-recharge', [PlayerController::class, 'completeRecharge']);
Route::post('/se-withdrawal', [PlayerController::class, 'seWithdrawal']);
Route::post('/gametest', [GameController::class, 'gametest']);
// 游戏记录
Route::post('/game-record', [PlayerController::class, 'gameRecord']);
//获取奖品列表
Route::post('/prize-list', [GameController::class, 'getPrizeList']);
//抽奖
Route::post('/lottery', [GameController::class, 'lottery']);
//抽奖记录
Route::post('/draw-records', [GameController::class, 'getDrawRecords']);
//充提记录
Route::post('/deposit-withdrawal-records', [PlayerController::class, 'depositWithdrawalRecord']);
});
});
// 外部API
Route::group('/external', function () {
Route::get('/login', [ExternalApiController::class, 'login']);
Route::get('/download', [ExternalApiController::class, 'download']);
//skl支付回调
Route::post('/skl-recharge-notify', [ExternalApiController::class, 'sklRechargeNotify']);
//skl提现回调
Route::post('/skl-withdrawal-notify', [ExternalApiController::class, 'sklWithdrawalNotify']);
//skl支付跳转
Route::get('/skl-query/', [ExternalApiController::class, 'sklQuery']);
});
Route::disableDefaultRoute();

10
config/se-pay.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
return [
'merchantId' => 'SPMSAM88',
'MD5' => '52HDSG5Y62T56268D526VSDT5C252Y6R',
'domain' => 'https://public.wangspay.com/',
'notifyUrl' => 'https://ss-api.liulao.top/external/se-recharge-notify',
'payoutNotifyUrl' => 'https://ss-api.liulao.top/external/se-withdrawal-notify',
'returnUrl' => 'https://ss-api.liulao.top/external/sepay-query'
];

31
config/server.php Normal file
View File

@@ -0,0 +1,31 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'listen' => env('APP_LISTEN','http://0.0.0.0:8786'),
'transport' => 'tcp',
'context' => [],
'name' => 'ggl',
'count' => cpu_count() * 4,
'user' => '',
'group' => '',
'reusePort' => false,
'event_loop' => '',
'stop_timeout' => 2,
'pid_file' => runtime_path() . '/webman.pid',
'status_file' => runtime_path() . '/webman.status',
'stdout_file' => runtime_path() . '/logs/stdout.log',
'log_file' => runtime_path() . '/logs/workerman.log',
'max_package_size' => 10 * 1024 * 1024
];

65
config/session.php Normal file
View File

@@ -0,0 +1,65 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use Webman\Session\FileSessionHandler;
use Webman\Session\RedisSessionHandler;
use Webman\Session\RedisClusterSessionHandler;
return [
'type' => 'file', // or redis or redis_cluster
'handler' => FileSessionHandler::class,
'config' => [
'file' => [
'save_path' => runtime_path() . '/sessions',
],
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
'auth' => '',
'timeout' => 2,
'database' => '',
'prefix' => 'redis_session_',
],
'redis_cluster' => [
'host' => ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7001'],
'timeout' => 2,
'auth' => '',
'prefix' => 'redis_session_',
]
],
'session_name' => 'PHPSID',
'auto_update_timestamp' => false,
'lifetime' => 7*24*60*60,
'cookie_lifetime' => 365*24*60*60,
'cookie_path' => '/',
'domain' => '',
'http_only' => true,
'secure' => false,
'same_site' => '',
'gc_probability' => [1, 1000],
];

10
config/skl_pay.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
return [
'merchantId' => 'ggl-ds',
'api_key' => 'v2.local.FTKkFQnfL0lB4x2KQ_P9ptA7TS-NWUWD4xlkGdVQC4tWZaqOoX-CvK9Wzbqy2AAH0pYyjnzJaL85wWuFA_tRrxAMFQGzPFlwNEocjwdzDDeU5UxyJYLOeuF_I_tccJbWoopXm902wHdSrzDfvwgOVrp23J5TwxO4D9vuHXoNPbDsjumVy71eJ_0bOGW80rK1ucHZa8o4sXut4WgTg6sThivARBgdoc5c6f9nlxErixjNWFj4TaAa77SJfc3hGPmUDD5vPa0IygoLY2lCjcVVUtvpIzqIW_twvawWVB5wcpDJaMRP9IlxF53lxNR27pR2-_5y-VfCrsFYhlBqcs-8iUbct6L6Y0XrqgCxaarip9W7xBNkssdRUp4KRSsxAoe6tveASXqtPCQ.bnVsbA',
'domain' => 'https://apiv1.skl99.net',
'notifyUrl' => 'https://gglapi.golucky88.com/external/skl-recharge-notify',
'payoutNotifyUrl' => 'https://gglapi.golucky88.com/external/skl-withdrawal-notify',
'returnUrl' => 'https://gglapi.golucky88.com/external/skl-query'
];

10
config/sms.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
return [
'open_country_code' => [886],
'default_code' => 8888,
"userId" => "dengshikeji2",
"account" => "dengshikeji2",
"password" => "dengshikeji2",
'aliwy_url' => 'http://smsapi.weiqucloud.com/sms/httpSmsInterface2',
];

23
config/static.php Normal file
View File

@@ -0,0 +1,23 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
/**
* Static file settings
*/
return [
'enable' => true,
'middleware' => [ // Static file Middleware
//app\middleware\StaticFile::class,
],
];

22
config/thinkcache.php Normal file
View File

@@ -0,0 +1,22 @@
<?php
return [
'default' => 'file',
'stores' => [
'file' => [
'type' => 'File',
// 缓存保存目录
'path' => runtime_path() . '/cache/',
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
],
'redis' => [
'type' => 'redis',
'host' => '127.0.0.1',
'port' => 6379,
'prefix' => '',
'expire' => 0,
],
],
];

36
config/thinkorm.php Normal file
View File

@@ -0,0 +1,36 @@
<?php
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'test',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => '123456',
// 数据库连接端口
'hostport' => '3306',
// 数据库连接参数
'params' => [
// 连接超时3秒
\PDO::ATTR_TIMEOUT => 3,
],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
// 断线重连
'break_reconnect' => true,
// 关闭SQL监听日志
'trigger_sql' => true,
// 自定义分页类
'bootstrap' => ''
],
],
];

25
config/translation.php Normal file
View File

@@ -0,0 +1,25 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
/**
* Multilingual configuration
*/
return [
// Default language
'locale' => 'zh_CN',
// Fallback language
'fallback_locale' => ['zh_CN', 'en', 'Ma_my'],
// Folder where language files are stored
'path' => base_path() . '/resource/translations',
];

9
config/tw-sms.php Normal file
View File

@@ -0,0 +1,9 @@
<?php
return [
'domain' => 'https://smsapi.mitake.com.tw',
'username' => '42913099',
'password' => '701001',
'sm_send_api' => '/api/mtk/SmSend',
'sm_query_api' => '/api/mtk/SmQuery',
];

22
config/view.php Normal file
View File

@@ -0,0 +1,22 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use support\view\Raw;
use support\view\Twig;
use support\view\Blade;
use support\view\ThinkPHP;
return [
'handler' => Raw::class
];