fix(user): close level parity gaps

This commit is contained in:
kate522 committed 2026-07-30 10:21:48 +08:00
1 parent a57b44bd61
commit d4946ee554
8 files changed
+136 -38

No files matched your search

+23 -3
View File
@@ -9,6 +9,27 @@ defined('ABSPATH') || exit;
class SchemaUsers {
private static function default_level_options(): array {
$options = [];
for ($level = 1; $level <= 10; $level++) {
$options['name_' . $level] = 'LV' . $level;
$options['icon_img_' . $level] = '';
$options['upgrade_integral_' . $level] = $level === 1 ? 0 : ($level - 1) * 500 * $level;
}
return $options;
}
private static function default_integral_options(): array {
return [
'day_max' => 100, 'sign_up' => 20, 'sign_in' => 5, 'followed' => 5,
'post_new' => 5, 'post_like' => 1, 'post_favorite' => 2,
'comment_new' => 2, 'comment_like' => 1, 'bbs_posts_new' => 3,
'bbs_score_extra' => 1, 'bbs_essence' => 2, 'bbs_posts_hot' => 2,
'bbs_plate_new' => 2, 'bbs_plate_hot' => 2, 'bbs_adopt' => 2,
'bbs_comment_hot' => 2,
];
}
public static function build(): array {
return [
'domain' => 'users',
@@ -576,7 +597,6 @@ class SchemaUsers {
['key' => 'user_privacy_comments', 'label' => '隐藏评论', 'type' => 'switch', 'default' => false],
['key' => 'user_privacy_favorites', 'label' => '隐藏收藏', 'type' => 'switch', 'default' => false],
['key' => 'user_privacy_credits', 'label' => '隐藏积分', 'type' => 'switch', 'default' => false],
['key' => 'user_privacy_level', 'label' => '隐藏等级', 'type' => 'switch', 'default' => false],
['key' => 'user_privacy_badge', 'label' => '隐藏徽章', 'type' => 'switch', 'default' => false],
['key' => 'user_privacy_online', 'label' => '隐藏在线状态', 'type' => 'switch', 'default' => false],
['key' => 'user_privacy_last_active', 'label' => '隐藏最后活跃', 'type' => 'switch', 'default' => false],
@@ -621,10 +641,10 @@ class SchemaUsers {
['key' => 'user_level_notify', 'label' => '升级通知', 'type' => 'switch', 'default' => true],
]],
['key' => 'level_opt', 'title' => '升级阈值', 'fields' => [
['key' => 'user_level_opt', 'label' => '等级参数', 'type' => 'json', 'sanitize_type' => 'array', 'default' => [], 'help' => 'name_N / icon_img_N / upgrade_integral_N'],
['key' => 'user_level_opt', 'label' => '等级参数', 'type' => 'json', 'sanitize_type' => 'array', 'default' => self::default_level_options(), 'help' => 'name_N / icon_img_N / upgrade_integral_N'],
]],
['key' => 'integral', 'title' => '经验值得分', 'fields' => [
['key' => 'user_integral_opt', 'label' => '经验值配置', 'type' => 'json', 'sanitize_type' => 'array', 'default' => [], 'help' => 'day_max + 行为得分键'],
['key' => 'user_integral_opt', 'label' => '经验值配置', 'type' => 'json', 'sanitize_type' => 'array', 'default' => self::default_integral_options(), 'help' => 'day_max + 行为得分键'],
]],
],
],