From 81d5647205c3d0ed2524566306c993603c091a24 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 10 Jul 2026 22:38:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=AD=E5=BF=83=20credits/?= =?UTF-8?q?settings=20=E6=B8=B2=E6=9F=93=E5=99=A8=E6=95=B4=E5=8C=85?= =?UTF-8?q?=E6=8B=86=E5=88=86=EF=BC=9A=E7=BC=96=E6=8E=92=E5=99=A8=20+=20?= =?UTF-8?q?=E5=AD=90=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user-center-renderers/credits-balance.php | 36 ++++ .../user-center-renderers/credits-signin.php | 43 ++++ .../credits-transactions.php | 76 +++++++ .../user-center-renderers/credits-vip.php | 50 +++++ .../user-center-renderers/profile-credits.php | 172 +--------------- .../profile-settings.php | 186 +----------------- .../settings-bindings.php | 87 ++++++++ .../user-center-renderers/settings-invite.php | 70 +++++++ .../settings-runtime-fields.php | 21 ++ .../settings-security.php | 41 ++++ templates/parts/user-center/README.md | 8 +- 11 files changed, 442 insertions(+), 348 deletions(-) create mode 100644 inc/helpers/user-center-renderers/credits-balance.php create mode 100644 inc/helpers/user-center-renderers/credits-signin.php create mode 100644 inc/helpers/user-center-renderers/credits-transactions.php create mode 100644 inc/helpers/user-center-renderers/credits-vip.php create mode 100644 inc/helpers/user-center-renderers/settings-bindings.php create mode 100644 inc/helpers/user-center-renderers/settings-invite.php create mode 100644 inc/helpers/user-center-renderers/settings-runtime-fields.php create mode 100644 inc/helpers/user-center-renderers/settings-security.php diff --git a/inc/helpers/user-center-renderers/credits-balance.php b/inc/helpers/user-center-renderers/credits-balance.php new file mode 100644 index 00000000..3bdf8561 --- /dev/null +++ b/inc/helpers/user-center-renderers/credits-balance.php @@ -0,0 +1,36 @@ + +
+
+
+
+ + +
+
+ +
+ +
+ + +
+

+ +
+
diff --git a/inc/helpers/user-center-renderers/credits-signin.php b/inc/helpers/user-center-renderers/credits-signin.php new file mode 100644 index 00000000..9ea0576d --- /dev/null +++ b/inc/helpers/user-center-renderers/credits-signin.php @@ -0,0 +1,43 @@ + +
+ +
+ get_recent_signins($user_id, 30); + $signin_dates = array_filter(array_map(static function ($entry) { + return $entry['signin_date'] ?? ''; + }, $signin_log)); +} + +if (empty($signin_dates)) { + return; +} +?> +
+ +
+
diff --git a/inc/helpers/user-center-renderers/credits-transactions.php b/inc/helpers/user-center-renderers/credits-transactions.php new file mode 100644 index 00000000..8b657423 --- /dev/null +++ b/inc/helpers/user-center-renderers/credits-transactions.php @@ -0,0 +1,76 @@ + +
+
+

+ + +

+
+ $user_id, 'page' => $credits_page, 'per_page' => 10]); + } else { + $log = ['items' => [], 'total' => 0]; + } + if (!empty($log['items'])) : + ?> +
+ = 0 ? 'is-positive' : 'is-negative'; + ?> +
+
+ +
+
+
+ + + () + +
+
+ +
+
+
+ + 0 ? '+' : '') . $delta); ?> + + + + +
+
+ +
+ 1) { + aksrt_render_profile_pagination($total_pages, $credits_page, 'credits_page'); + } + ?> + +
+
+ +
+

+
+ +
diff --git a/inc/helpers/user-center-renderers/credits-vip.php b/inc/helpers/user-center-renderers/credits-vip.php new file mode 100644 index 00000000..53dc27c1 --- /dev/null +++ b/inc/helpers/user-center-renderers/credits-vip.php @@ -0,0 +1,50 @@ + +
+
+
+
+
+ +
+
+ + + + + + +
+
+ +
+ + +
+ +
+ + +
+ + + + +
+
diff --git a/inc/helpers/user-center-renderers/profile-credits.php b/inc/helpers/user-center-renderers/profile-credits.php index 048a14a7..13fe5f36 100644 --- a/inc/helpers/user-center-renderers/profile-credits.php +++ b/inc/helpers/user-center-renderers/profile-credits.php @@ -1,6 +1,6 @@ - - - -
-
-
-
- - -
-
- -
- -
- - -
-

- -
-
- - - -
-
-
-
-
- -
-
- - - - - - -
-
- -
- - -
- -
- - -
- - - - - - -
-
- - - -
- -
- - - get_recent_signins($user_id, 30); - $signin_dates = array_map(function ($entry) { - return $entry['signin_date'] ?? ''; - }, $signin_log); - $signin_dates = array_filter($signin_dates); - } - ?> - -
- -
-
- - - -
-
-

- - -

-
- $user_id, 'page' => $credits_page, 'per_page' => 10 ] ); - } else { - $log = [ 'items' => [], 'total' => 0 ]; - } - if ( ! empty( $log['items'] ) ) : - ?> -
- = 0 ? 'is-positive' : 'is-negative'; - ?> -
-
- -
-
-
- - - () - -
-
- -
-
-
- - 0 ? '+' : '' ) . $delta ); ?> - - - - -
-
- -
- 1 ) { - aksrt_render_profile_pagination( $total_pages, $credits_page, 'credits_page' ); - } - ?> - -
-
- -
-

-
- -
+$dir = __DIR__; +require $dir . '/credits-balance.php'; +require $dir . '/credits-vip.php'; +require $dir . '/credits-signin.php'; +require $dir . '/credits-transactions.php'; diff --git a/inc/helpers/user-center-renderers/profile-settings.php b/inc/helpers/user-center-renderers/profile-settings.php index dc6e74a6..2724276a 100644 --- a/inc/helpers/user-center-renderers/profile-settings.php +++ b/inc/helpers/user-center-renderers/profile-settings.php @@ -1,6 +1,6 @@ - - get_frontend_bindings_data($user_id); - $user_email = $target_user->user_email ?: ''; - $binding_name_map = [ - 'github' => 'GitHub', - 'gitee' => 'Gitee', - 'qq' => 'QQ', - 'google' => 'Google', - ]; - $binding_rows = []; - foreach ( (array) ( $oauth_data['bindings'] ?? [] ) as $binding ) { - $key = $binding['key'] ?? ''; - if ( ! $key ) continue; - $binding_rows[ $key ] = [ - 'key' => $key, - 'name' => $binding_name_map[ $key ] ?? ( $binding['name'] ?? ucfirst( $key ) ), - 'icon' => $binding['icon'] ?? '', - 'is_bound' => true, - 'url' => '', - ]; - } - foreach ( (array) ( $oauth_data['available'] ?? [] ) as $binding ) { - $key = $binding['key'] ?? ''; - if ( ! $key ) continue; - $binding_rows[ $key ] = [ - 'key' => $key, - 'name' => $binding_name_map[ $key ] ?? ( $binding['name'] ?? ucfirst( $key ) ), - 'icon' => $binding['icon'] ?? '', - 'is_bound' => false, - 'url' => $binding['url'] ?? '', - ]; - } - ?> - -
-
- -

-
- - -

-
- - -
- - - - - - - - - -
- - - - - - - - - - - -
- -

- -
- - -
-
- -

-
-
- -
-
- -
- - -
-
- -
- -
-
- -
- - -
-
- -
-
-
- - -
-
- -

-
-
-
-
- -

- -

-
-
- - -- -
-
- -
-
- - 0 - -
-
- - 0 - -
-
- - 0 - -
-
-
-
-

- -
-
-
- -
-
-
-
-
- - - - - - - - - +$dir = __DIR__; +require $dir . '/settings-bindings.php'; +require $dir . '/settings-security.php'; +require $dir . '/settings-invite.php'; +require $dir . '/settings-runtime-fields.php'; diff --git a/inc/helpers/user-center-renderers/settings-bindings.php b/inc/helpers/user-center-renderers/settings-bindings.php new file mode 100644 index 00000000..a23209b6 --- /dev/null +++ b/inc/helpers/user-center-renderers/settings-bindings.php @@ -0,0 +1,87 @@ +get_frontend_bindings_data($user_id) : ['bindings' => [], 'available' => []]; +$binding_name_map = [ + 'github' => 'GitHub', + 'gitee' => 'Gitee', + 'qq' => 'QQ', + 'google' => 'Google', +]; +$binding_rows = []; +foreach ((array) ($oauth_data['bindings'] ?? []) as $binding) { + $key = $binding['key'] ?? ''; + if (!$key) { + continue; + } + $binding_rows[$key] = [ + 'key' => $key, + 'name' => $binding_name_map[$key] ?? ($binding['name'] ?? ucfirst($key)), + 'icon' => $binding['icon'] ?? '', + 'is_bound' => true, + 'url' => '', + ]; +} +foreach ((array) ($oauth_data['available'] ?? []) as $binding) { + $key = $binding['key'] ?? ''; + if (!$key) { + continue; + } + $binding_rows[$key] = [ + 'key' => $key, + 'name' => $binding_name_map[$key] ?? ($binding['name'] ?? ucfirst($key)), + 'icon' => $binding['icon'] ?? '', + 'is_bound' => false, + 'url' => $binding['url'] ?? '', + ]; +} +?> +
+
+ +

+
+ + +

+
+ + +
+ + + + + + + + + +
+ + + + + + + + + + + +
+ +

+ +
diff --git a/inc/helpers/user-center-renderers/settings-invite.php b/inc/helpers/user-center-renderers/settings-invite.php new file mode 100644 index 00000000..96c6cf68 --- /dev/null +++ b/inc/helpers/user-center-renderers/settings-invite.php @@ -0,0 +1,70 @@ + +
+
+ +

+
+
+
+
+ +

+ +

+
+
+ + -- +
+
+ +
+
+ + 0 + +
+
+ + 0 + +
+
+ + 0 + +
+
+
+
+

+ +
+
+
+ +
+
+
+
+
diff --git a/inc/helpers/user-center-renderers/settings-runtime-fields.php b/inc/helpers/user-center-renderers/settings-runtime-fields.php new file mode 100644 index 00000000..f3fe3636 --- /dev/null +++ b/inc/helpers/user-center-renderers/settings-runtime-fields.php @@ -0,0 +1,21 @@ +user_email + : (string) ($user_email ?? ''); +?> + + + + + + diff --git a/inc/helpers/user-center-renderers/settings-security.php b/inc/helpers/user-center-renderers/settings-security.php new file mode 100644 index 00000000..21609bb6 --- /dev/null +++ b/inc/helpers/user-center-renderers/settings-security.php @@ -0,0 +1,41 @@ + +
+
+ +

+
+
+
+
+ +
+ + +
+
+ +
+
+
+ +
+ + +
+
+ +
+
+
diff --git a/templates/parts/user-center/README.md b/templates/parts/user-center/README.md index 1bdb256c..9d6d702b 100644 --- a/templates/parts/user-center/README.md +++ b/templates/parts/user-center/README.md @@ -7,8 +7,12 @@ - aksrt_user_center_resolve_tabs() - aksrt_capture_user_center_view() (profile → form 映射) - 挂载点:header / sidebar / mobile-tabs / panel / account-modals / runtime-config -- 渲染器:inc/helpers/user-center-renderers/profile-*.php - - profile 面板内容文件为 profile-form.php +- 渲染器:inc/helpers/user-center-renderers/ + - profile-form / posts / comments / favorites / header / sidebar / account-modals + - profile-credits.php 编排: + credits-balance / credits-vip / credits-signin / credits-transactions + - profile-settings.php 编排: + settings-bindings / settings-security / settings-invite / settings-runtime-fields 样式归属: - assets/css/routes/user-center.css