新增会员相关参数配置

新增上传超时配置
pull/423/MERGE
Karson 2023-06-09 14:48:06 +08:00
parent 9b0db19326
commit 11290c1724
3 changed files with 26 additions and 8 deletions

View File

@ -29,7 +29,7 @@ class User extends Model
*/
public function getUrlAttr($value, $data)
{
return "/u/" . $data['id'];
return str_replace("{uid}", $data['id'], config('fastadmin.user_home_url') ?: "/u/{uid}");
}
/**
@ -41,11 +41,9 @@ class User extends Model
public function getAvatarAttr($value, $data)
{
if (!$value) {
//如果不需要启用首字母头像,请使用
//$value = '/assets/img/avatar.png';
$value = letter_avatar($data['nickname']);
$value = config('fastadmin.user_letter_avatar') ? letter_avatar($data['nickname']) : '/assets/img/avatar.png';
}
return $value;
return cdnurl($value, true);
}
/**
@ -120,9 +118,16 @@ class User extends Model
if ($user && $score != 0) {
$before = $user->score;
$after = $user->score + $score;
$level = self::nextlevel($after);
$data = ['score' => $after];
$levelrule = config('fastadmin.user_level_rule');
if (in_array($levelrule, ['auto', 'up'])) {
$level = self::nextlevel($after);
if ($levelrule == 'auto' || $level > $user['level']) {
$data['level'] = $level;
}
}
//更新会员信息
$user->save(['score' => $after, 'level' => $level]);
$user->save($data);
//写入日志
ScoreLog::create(['user_id' => $user_id, 'score' => $score, 'before' => $before, 'after' => $after, 'memo' => $memo]);
}
@ -139,7 +144,8 @@ class User extends Model
*/
public static function nextlevel($score = 0)
{
$lv = array(1 => 0, 2 => 30, 3 => 100, 4 => 500, 5 => 1000, 6 => 2000, 7 => 3000, 8 => 5000, 9 => 8000, 10 => 10000);
$lv = config('fastadmin.user_level_dict');
$lv = $lv ?: [];
$level = 1;
foreach ($lv as $key => $value) {
if ($score >= $value) {

View File

@ -270,6 +270,14 @@ return [
'user_register_captcha' => 'mobile',
//是否启用发送前验证码(用于短信和邮件发送)
'user_api_captcha' => true,
//会员主页URL规则
'user_home_url' => '/u/{uid}',
//是否启用会员字母头像
'user_letter_avatar' => true,
//是否启用会员等级规则none/auto/up
'user_level_rule' => '',
//会员等级积分字典
'user_level_dict' => [1 => 0, 2 => 30, 3 => 100, 4 => 500, 5 => 1000, 6 => 2000, 7 => 3000, 8 => 5000, 9 => 8000, 10 => 10000],
//登录验证码
'login_captcha' => true,
//登录失败超过10次则1天后重试

View File

@ -26,6 +26,10 @@ return [
* 是否支持批量上传
*/
'multiple' => false,
/**
* 上传超时时长这里仅用于JS上传超时控制
*/
'timeout' => 60000,
/**
* 是否支持分片上传
*/