[色子游戏]玩家-优化样式
This commit is contained in:
@@ -39,6 +39,9 @@ class DicePlayerController extends BaseController
|
||||
$where = $request->more([
|
||||
['username', ''],
|
||||
['name', ''],
|
||||
['status', ''],
|
||||
['coin', ''],
|
||||
['is_up', ''],
|
||||
]);
|
||||
$query = $this->logic->search($where);
|
||||
$data = $this->logic->getList($query);
|
||||
@@ -99,6 +102,26 @@ class DicePlayerController extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 仅更新状态(列表内开关用)
|
||||
* @param Request $request
|
||||
* @return Response
|
||||
*/
|
||||
#[Permission('大富翁-玩家修改', 'dice:player:index:update')]
|
||||
public function updateStatus(Request $request): Response
|
||||
{
|
||||
$id = $request->input('id');
|
||||
$status = $request->input('status');
|
||||
if ($id === null || $id === '') {
|
||||
return $this->fail('缺少 id');
|
||||
}
|
||||
if ($status === null || $status === '') {
|
||||
return $this->fail('缺少 status');
|
||||
}
|
||||
$this->logic->edit($id, ['status' => (int) $status]);
|
||||
return $this->success('修改成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
* @param Request $request
|
||||
|
||||
@@ -16,6 +16,9 @@ use app\dice\model\player\DicePlayer;
|
||||
*/
|
||||
class DicePlayerLogic extends BaseLogic
|
||||
{
|
||||
/** 密码加密盐(可与 config 统一) */
|
||||
private const PASSWORD_SALT = 'dice_player_salt_2024';
|
||||
|
||||
/**
|
||||
* 构造函数
|
||||
*/
|
||||
@@ -24,4 +27,35 @@ class DicePlayerLogic extends BaseLogic
|
||||
$this->model = new DicePlayer();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加数据(密码 md5+salt 加密)
|
||||
*/
|
||||
public function add(array $data): mixed
|
||||
{
|
||||
if (!empty($data['password'])) {
|
||||
$data['password'] = $this->hashPassword($data['password']);
|
||||
}
|
||||
return parent::add($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改数据(仅当传入 password 时用 md5+salt 加密后更新)
|
||||
*/
|
||||
public function edit($id, array $data): mixed
|
||||
{
|
||||
if (isset($data['password']) && $data['password'] !== '') {
|
||||
$data['password'] = $this->hashPassword($data['password']);
|
||||
} else {
|
||||
unset($data['password']);
|
||||
}
|
||||
return parent::edit($id, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 密码加密:md5(salt . password)
|
||||
*/
|
||||
private function hashPassword(string $password): string
|
||||
{
|
||||
return md5(self::PASSWORD_SALT . $password);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,4 +62,34 @@ class DicePlayer extends BaseModel
|
||||
$query->where('name', 'like', '%'.$value.'%');
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态 搜索
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
if ($value !== '' && $value !== null) {
|
||||
$query->where('status', '=', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 平台币 搜索
|
||||
*/
|
||||
public function searchCoinAttr($query, $value)
|
||||
{
|
||||
if ($value !== '' && $value !== null) {
|
||||
$query->where('coin', '=', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 倍率 搜索
|
||||
*/
|
||||
public function searchIs_upAttr($query, $value)
|
||||
{
|
||||
if ($value !== '' && $value !== null) {
|
||||
$query->where('is_up', '=', $value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ class DicePlayerValidate extends BaseValidate
|
||||
];
|
||||
|
||||
/**
|
||||
* 定义场景
|
||||
* 定义场景(update 时密码可选,不填则不修改)
|
||||
*/
|
||||
protected $scene = [
|
||||
'save' => [
|
||||
@@ -49,7 +49,6 @@ class DicePlayerValidate extends BaseValidate
|
||||
'update' => [
|
||||
'username',
|
||||
'name',
|
||||
'password',
|
||||
'status',
|
||||
'coin',
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user