fix: 修复当 server_token 为长数字时,后台会转化成科学计数法,后端验证失败

This commit is contained in:
xboard 2024-04-18 01:27:52 +08:00
parent f72df9df27
commit 09fb03a1ce

View File

@ -7,25 +7,31 @@ use Illuminate\Database\Eloquent\Model;
class Setting extends Model
{
protected $table = 'v2_settings';
protected $guarded = [];
protected $guarded = [];
protected $casts = [
'key' => 'string',
'value' => 'string',
];
public function getValueAttribute($value)
{
if ($value === null) {
// 如果值为 null你可能想要处理这种情况例如返回一个默认值
return null; // 或者返回你期望的默认值
return null;
}
if (!is_string($value)) {
if (is_array($value)) {
return $value;
}
if (is_numeric($value) && !preg_match('/[^\d.]/', $value)) {
return $value;
}
$decodedValue = json_decode($value, true);
if (json_last_error() === JSON_ERROR_NONE) {
return $decodedValue;
}
// 如果不是有效的 JSON 数据,则保持为字符串
return $value;
}
}