1.优化接口返回中间信息ui_text(中文)ui_text_en(英文)
2.修复BUG色子点数权重配置-权重配比-顺时针/逆时针显示错误
This commit is contained in:
@@ -48,7 +48,12 @@
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="显示文本" min-width="100" align="center">
|
||||
<template #default="{ row }">
|
||||
<ElInput v-model="row.ui_text" size="small" placeholder="显示文本" />
|
||||
<ElInput v-model="row.ui_text" size="small" placeholder="显示文本(中文)" />
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="显示文本(英文)" min-width="120" align="center">
|
||||
<template #default="{ row }">
|
||||
<ElInput v-model="row.ui_text_en" size="small" placeholder="显示文本(英文)" />
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="真实结算" min-width="110" align="center">
|
||||
@@ -114,7 +119,12 @@
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="显示信息" min-width="140" align="center">
|
||||
<template #default="{ row }">
|
||||
<ElInput v-model="row.ui_text" size="small" placeholder="显示信息" />
|
||||
<ElInput v-model="row.ui_text" size="small" placeholder="显示信息(中文)" />
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="显示信息(英文)" min-width="160" align="center">
|
||||
<template #default="{ row }">
|
||||
<ElInput v-model="row.ui_text_en" size="small" placeholder="显示信息(英文)" />
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
<ElTableColumn label="实际中奖" min-width="120" align="center">
|
||||
@@ -185,6 +195,7 @@
|
||||
id: number
|
||||
grid_number: number
|
||||
ui_text: string
|
||||
ui_text_en: string
|
||||
real_ev: number
|
||||
tier: string
|
||||
remark: string
|
||||
@@ -217,10 +228,11 @@
|
||||
id: Number(raw.id) ?? 0,
|
||||
grid_number: Number(raw.grid_number) ?? 0,
|
||||
ui_text: String(raw.ui_text ?? ''),
|
||||
ui_text_en: String((raw as any).ui_text_en ?? ''),
|
||||
real_ev: Number(raw.real_ev) ?? 0,
|
||||
tier: String(raw.tier ?? ''),
|
||||
remark: String(raw.remark ?? ''),
|
||||
weight: toWeight(raw.weight)
|
||||
weight: toWeight((raw as any).weight)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,6 +341,7 @@
|
||||
id: r.id,
|
||||
grid_number: r.grid_number,
|
||||
ui_text: r.ui_text,
|
||||
ui_text_en: r.ui_text_en,
|
||||
real_ev: r.real_ev,
|
||||
tier: r.tier,
|
||||
remark: r.remark
|
||||
|
||||
@@ -16,7 +16,10 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="前端显示文本" prop="ui_text">
|
||||
<el-input v-model="formData.ui_text" placeholder="请输入前端显示文本" />
|
||||
<el-input v-model="formData.ui_text" placeholder="请输入前端显示文本(中文)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="前端显示文本(英文)" prop="ui_text_en">
|
||||
<el-input v-model="formData.ui_text_en" placeholder="请输入前端显示文本(英文)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="真实资金结算" prop="real_ev">
|
||||
<el-input-number v-model="formData.real_ev" placeholder="请输入真实资金结算" />
|
||||
@@ -111,6 +114,7 @@
|
||||
const rules = reactive<FormRules>({
|
||||
grid_number: [{ required: true, message: '色子点数必需填写', trigger: 'blur' }],
|
||||
ui_text: [{ required: true, message: '前端显示文本必需填写', trigger: 'blur' }],
|
||||
ui_text_en: [{ max: 255, message: '前端显示文本(英文)长度需小于 255 字符', trigger: 'blur' }],
|
||||
real_ev: [{ required: true, message: '真实资金结算必需填写', trigger: 'blur' }],
|
||||
tier: [{ required: true, message: '所属档位必需填写', trigger: 'blur' }],
|
||||
weight: [{ type: 'number', min: 0, max: 10000, message: '大奖权重 0~10000', trigger: 'blur' }]
|
||||
@@ -128,6 +132,7 @@
|
||||
id: null,
|
||||
grid_number: null,
|
||||
ui_text: '',
|
||||
ui_text_en: '',
|
||||
real_ev: '',
|
||||
tier: '',
|
||||
remark: '',
|
||||
|
||||
@@ -88,6 +88,27 @@ class GameController extends BaseController
|
||||
$list = array_values(array_filter($list, function ($row) {
|
||||
return (string) ($row['tier'] ?? '') !== 'BIGWIN';
|
||||
}));
|
||||
|
||||
$lang = $request->header('lang', 'zh');
|
||||
if (!is_string($lang) || $lang === '') {
|
||||
$lang = 'zh';
|
||||
}
|
||||
$langLower = strtolower($lang);
|
||||
$isEn = $langLower === 'en' || str_starts_with($langLower, 'en-');
|
||||
|
||||
if ($isEn) {
|
||||
foreach ($list as $index => $row) {
|
||||
$uiEn = '';
|
||||
if (is_array($row) && array_key_exists('ui_text_en', $row) && $row['ui_text_en'] !== null) {
|
||||
$uiEn = (string) $row['ui_text_en'];
|
||||
}
|
||||
if ($uiEn !== '') {
|
||||
$row['ui_text'] = $uiEn;
|
||||
}
|
||||
$list[$index] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
return $this->success($list);
|
||||
}
|
||||
|
||||
@@ -123,6 +144,37 @@ class GameController extends BaseController
|
||||
try {
|
||||
$logic = new PlayStartLogic();
|
||||
$data = $logic->run($userId, (int)$direction);
|
||||
|
||||
$lang = $request->header('lang', 'zh');
|
||||
if (!is_string($lang) || $lang === '') {
|
||||
$lang = 'zh';
|
||||
}
|
||||
$langLower = strtolower($lang);
|
||||
$isEn = $langLower === 'en' || str_starts_with($langLower, 'en-');
|
||||
|
||||
if (is_array($data) && array_key_exists('reward_config_id', $data)) {
|
||||
$rewardConfigId = (int) $data['reward_config_id'];
|
||||
if ($rewardConfigId > 0) {
|
||||
$configRow = DiceRewardConfig::getCachedById($rewardConfigId);
|
||||
if ($configRow !== null) {
|
||||
$uiText = '';
|
||||
$uiTextEn = '';
|
||||
if (array_key_exists('ui_text', $configRow) && $configRow['ui_text'] !== null) {
|
||||
$uiText = (string) $configRow['ui_text'];
|
||||
}
|
||||
if (array_key_exists('ui_text_en', $configRow) && $configRow['ui_text_en'] !== null) {
|
||||
$uiTextEn = (string) $configRow['ui_text_en'];
|
||||
}
|
||||
if ($isEn && $uiTextEn !== '') {
|
||||
$data['ui_text'] = $uiTextEn;
|
||||
} else {
|
||||
$data['ui_text'] = $uiText;
|
||||
}
|
||||
$data['ui_text_en'] = $uiTextEn;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $this->success($data);
|
||||
} catch (ApiException $e) {
|
||||
return $this->fail($e->getMessage(), ReturnCode::BUSINESS_ERROR);
|
||||
|
||||
@@ -161,7 +161,7 @@ class DiceRewardConfigLogic extends BaseLogic
|
||||
}
|
||||
$id = (int) $row['id'];
|
||||
$data = [];
|
||||
foreach (['grid_number', 'ui_text', 'real_ev', 'tier', 'remark'] as $field) {
|
||||
foreach (['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'remark'] as $field) {
|
||||
if (array_key_exists($field, $row)) {
|
||||
$data[$field] = $row[$field];
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ use support\think\Cache;
|
||||
* @property $id ID
|
||||
* @property $grid_number 色子点数
|
||||
* @property $ui_text 前端显示文本
|
||||
* @property $ui_text_en 前端显示文本(英文)
|
||||
* @property $real_ev 真实资金结算
|
||||
* @property $tier 所属档位
|
||||
* @property $weight 权重(仅 BIGWIN 使用,0-10000)
|
||||
@@ -65,6 +66,17 @@ class DiceRewardConfig extends BaseModel
|
||||
return $inst['list'] ?? [];
|
||||
}
|
||||
|
||||
public static function getCachedById(int $id): ?array
|
||||
{
|
||||
$list = self::getCachedList();
|
||||
foreach ($list as $row) {
|
||||
if (isset($row['id']) && (int) $row['id'] === $id) {
|
||||
return $row;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新从数据库加载并写入缓存(按档位+权重抽 grid_number,含 by_tier、by_tier_grid)
|
||||
*/
|
||||
|
||||
@@ -20,6 +20,7 @@ class DiceRewardConfigValidate extends BaseValidate
|
||||
protected $rule = [
|
||||
'grid_number' => 'require|integer|between:5,30',
|
||||
'ui_text' => 'require',
|
||||
'ui_text_en' => 'max:255',
|
||||
'real_ev' => 'require',
|
||||
'tier' => 'require',
|
||||
'type' => 'number',
|
||||
@@ -36,8 +37,8 @@ class DiceRewardConfigValidate extends BaseValidate
|
||||
];
|
||||
|
||||
protected $scene = [
|
||||
'save' => ['grid_number', 'ui_text', 'real_ev', 'tier', 'type'],
|
||||
'update' => ['grid_number', 'ui_text', 'real_ev', 'tier', 'type', 'weight'],
|
||||
'batch_update' => ['grid_number', 'ui_text', 'real_ev', 'tier', 'remark'],
|
||||
'save' => ['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'type'],
|
||||
'update' => ['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'type', 'weight'],
|
||||
'batch_update' => ['grid_number', 'ui_text', 'ui_text_en', 'real_ev', 'tier', 'remark'],
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user