195 lines
8.4 KiB
PHP
195 lines
8.4 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | 作者:修缘 联系QQ:278896498 QQ群:1054861244
|
||
// | 声明:未经作者许可,禁止倒卖等商业运营,违者必究
|
||
// | 另接php业务,网站制作、代理后台、gm后台、支付对接等
|
||
// +----------------------------------------------------------------------
|
||
// | 创建时间: 2022/1/5 13:08
|
||
// +----------------------------------------------------------------------
|
||
|
||
|
||
namespace app\admin\controller;
|
||
|
||
|
||
use app\common\model\GameConfiguration;
|
||
use app\common\model\GameGm;
|
||
use app\common\validate\GameGmValidate;
|
||
use think\Db;
|
||
use think\facade\Config;
|
||
use think\Request;
|
||
|
||
class GameGmController extends Controller
|
||
{
|
||
|
||
public function index(Request $request, GameGm $model, GameGmValidate $validate)
|
||
{
|
||
if ($request->isPost()) {
|
||
$param = $request->param();
|
||
$validate->scene('password')->check($param) or admin_error($validate->getError());
|
||
|
||
if (!password_verify($param['password'], base64_decode(Config::get('game.gm.password')))) {
|
||
admin_error(lang('gm_password_error'));
|
||
}
|
||
|
||
switch ($param['type']) {
|
||
case 'create_robot' :
|
||
$validate->scene('robot')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
|
||
$result = $model::create_robot((int)$param['server_id'], (int)$param['robot_num']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'clear_robot' :
|
||
$validate->scene('robot')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
|
||
$result = $model::clear_robot((int)$param['server_id'], (int)$param['robot_num']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'open_gold' :
|
||
$validate->scene('open_gold')->check($param) or admin_error($validate->getError());
|
||
|
||
try {
|
||
$result = GameConfiguration::configuration(1,(int)$param['server_id'],(int)$param['quota'],(int)$param['maxQuota']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'close_gold' :
|
||
$validate->scene('close_gold')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = GameConfiguration::configuration(0,(int)$param['server_id']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'not_speek':
|
||
$validate->scene('speek')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::not_speak((int)$param['role_id'], (int)$param['server_id']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'can_speek' :
|
||
$validate->scene('speek')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::can_speak((int)$param['role_id'], (int)$param['server_id']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'add_jade' :
|
||
$validate->scene('add_jade')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::add_jade((int)$param['role_id'], (int)$param['jade_num']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'add_exp' :
|
||
$validate->scene('add_exp')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::add_exp((int)$param['role_id'], (int)$param['exp_num']);
|
||
} catch(\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'add_item' :
|
||
$validate->scene('add_item')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::add_item((int)$param['role_id'], (int)$param['item_id'], (int)$param['item_num']);
|
||
} catch(\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'frozen_ip' :
|
||
$validate->scene('frozen_ip')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::frozen_ip($param['ip_address']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'unfrozen_ip' :
|
||
$validate->scene('frozen_ip')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::unfrozen_ip($param['ip_address']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'frozen_mac' :
|
||
$validate->scene('frozen_mac')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::frozen_mac($param['account']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
|
||
// case 'unfrozen_mac' :
|
||
// $validate->scene('frozen_mac')->check($param) or admin_error($validate->getError());
|
||
// try {
|
||
// $result = $model::unfrozen_mac($param['account']);
|
||
// } catch (\Exception $e) {
|
||
// admin_error($e->getMessage());
|
||
// }
|
||
// break;
|
||
|
||
case 'inform' :
|
||
$validate->scene('inform')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::sys_notice($param);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
|
||
case 'set_comment' :
|
||
$validate->scene('set_comment')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::set_comment($param['server_id'], $param['notice_content']);
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'server_mail' :
|
||
$validate->scene('server_mail')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::send_mail($param,'S');
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
case 'role_mail' :
|
||
$validate->scene('role_mail')->check($param) or admin_error($validate->getError());
|
||
try {
|
||
$result = $model::send_mail($param,'R');
|
||
} catch (\Exception $e) {
|
||
admin_error($e->getMessage());
|
||
}
|
||
break;
|
||
}
|
||
|
||
if (isset($result) && array_key_exists('code', $result) && $result['code'] == 0) {
|
||
admin_success($result['msg'] ?? lang('success'));
|
||
} else {
|
||
admin_error(lang('gm_api_error'));
|
||
}
|
||
|
||
|
||
|
||
}
|
||
$this->assign([
|
||
'item_list' => $model::get_item_list(),
|
||
]);
|
||
return $this->fetch();
|
||
}
|
||
|
||
|
||
} |