feat(admin): unify native admin pages on a shared modern UI
Add NativeUi helper + native-ui.css (tokens mirror the SPA Naive UI theme) and move the pay center, orders, products, coupons, charge cards, income, withdrawals, tickets, invite codes, VIP, verify, messages and report/ban pages onto shared header, stat cards, cards, filters, badges and empty states. Remove inline styles and dead helpers; split PayChargeCards into sibling traits to stay under the file size limit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
aa692f3c9f
commit
18951b01d6
29 files changed
+2503
-1593
No files matched your search
@@ -23,7 +23,20 @@ const test = require('node:test');
|
||||
const vm = require('node:vm');
|
||||
|
||||
const root = path.resolve(__dirname, '..', '..');
|
||||
const page = fs.readFileSync(path.join(root, 'src/Admin/Native/PayChargeCards.php'), 'utf8');
|
||||
|
||||
// PayChargeCards 已按关注点拆成 flat sibling traits。契约按方法名切片,依赖「类体 + trait 体」
|
||||
// 在同一文本里保持原有相邻顺序,因此这里按固定顺序把壳类与三个 trait 文件拼接后再切片:
|
||||
// 壳类(render_charge_cards_page / 动作 / 数据辅助)
|
||||
// → List(render_list / list_query_args)
|
||||
// → Assets(print_assets 的 <style>/<script>)
|
||||
// → Forms(render_add_form / render_export_form / 依赖显隐助手 / button_set / spinner / page_notice)
|
||||
const read = (rel) => fs.readFileSync(path.join(root, rel), 'utf8');
|
||||
const page = [
|
||||
'src/Admin/Native/PayChargeCards.php',
|
||||
'src/Admin/Native/PayChargeCardsList.php',
|
||||
'src/Admin/Native/PayChargeCardsAssets.php',
|
||||
'src/Admin/Native/PayChargeCardsForms.php',
|
||||
].map(read).join('\n');
|
||||
|
||||
/** 依赖条目:checked / unchecked 不写 val,与 wp_json_encode 的输出保持一致。 */
|
||||
const DEP_ENTRY = /\['key'\s*=>\s*'([^']*)'\s*,\s*'op'\s*=>\s*'([^']*)'(?:\s*,\s*'val'\s*=>\s*'([^']*)')?\]/g;
|
||||
|
||||
@@ -35,7 +35,15 @@ const path = require('node:path');
|
||||
const test = require('node:test');
|
||||
|
||||
const root = path.resolve(__dirname, '..', '..');
|
||||
const page = fs.readFileSync(path.join(root, 'src/Admin/Native/PayChargeCards.php'), 'utf8');
|
||||
|
||||
// PayChargeCards 拆成 flat sibling traits;按原有相邻顺序拼接壳类与 trait 后再扫描/切片。
|
||||
const read = (rel) => fs.readFileSync(path.join(root, rel), 'utf8');
|
||||
const page = [
|
||||
'src/Admin/Native/PayChargeCards.php',
|
||||
'src/Admin/Native/PayChargeCardsList.php',
|
||||
'src/Admin/Native/PayChargeCardsAssets.php',
|
||||
'src/Admin/Native/PayChargeCardsForms.php',
|
||||
].map(read).join('\n');
|
||||
|
||||
/**
|
||||
* 去掉 PHP 注释后的源码(字符串字面量原样保留)。
|
||||
|
||||
@@ -16,7 +16,15 @@ const path = require('node:path');
|
||||
const test = require('node:test');
|
||||
|
||||
const root = path.resolve(__dirname, '..', '..');
|
||||
const page = fs.readFileSync(path.join(root, 'src/Admin/Native/PayChargeCards.php'), 'utf8');
|
||||
|
||||
// PayChargeCards 已拆成 flat sibling traits;按方法名切片需要「类体 + trait 体」仍在同一文本里
|
||||
// 保持原有相邻顺序,故按固定顺序拼接壳类与三个 trait(壳类 → List → Assets → Forms)。
|
||||
const page = [
|
||||
'src/Admin/Native/PayChargeCards.php',
|
||||
'src/Admin/Native/PayChargeCardsList.php',
|
||||
'src/Admin/Native/PayChargeCardsAssets.php',
|
||||
'src/Admin/Native/PayChargeCardsForms.php',
|
||||
].map((rel) => fs.readFileSync(path.join(root, rel), 'utf8')).join('\n');
|
||||
|
||||
const count = (src, pattern) => (src.match(pattern) || []).length;
|
||||
|
||||
|
||||
@@ -27,7 +27,15 @@ const path = require('node:path');
|
||||
const test = require('node:test');
|
||||
|
||||
const root = path.resolve(__dirname, '..', '..');
|
||||
const page = fs.readFileSync(path.join(root, 'src/Admin/Native/PayChargeCards.php'), 'utf8');
|
||||
|
||||
// PayChargeCards 已拆成 flat sibling traits;按方法名切片需要「类体 + trait 体」仍在同一文本里
|
||||
// 保持原有相邻顺序,故按固定顺序拼接壳类与三个 trait(壳类 → List → Assets → Forms)。
|
||||
const page = [
|
||||
'src/Admin/Native/PayChargeCards.php',
|
||||
'src/Admin/Native/PayChargeCardsList.php',
|
||||
'src/Admin/Native/PayChargeCardsAssets.php',
|
||||
'src/Admin/Native/PayChargeCardsForms.php',
|
||||
].map((rel) => fs.readFileSync(path.join(root, rel), 'utf8')).join('\n');
|
||||
|
||||
const count = (src, pattern) => (src.match(pattern) || []).length;
|
||||
|
||||
|
||||
@@ -30,13 +30,21 @@ const root = path.resolve(__dirname, '..', '..');
|
||||
const read = (rel) => fs.readFileSync(path.join(root, rel), 'utf8');
|
||||
|
||||
const helper = read('src/Admin/Native/AdminListPagination.php');
|
||||
// 卡密管理已拆成 flat sibling traits;分页相关逻辑现落在 List trait 内,故把壳类与三个
|
||||
// trait 拼接后再做契约断言(顺序:壳类 → List → Assets → Forms)。
|
||||
const chargeCards = [
|
||||
'src/Admin/Native/PayChargeCards.php',
|
||||
'src/Admin/Native/PayChargeCardsList.php',
|
||||
'src/Admin/Native/PayChargeCardsAssets.php',
|
||||
'src/Admin/Native/PayChargeCardsForms.php',
|
||||
].map(read).join('\n');
|
||||
const pages = {
|
||||
orders: read('src/Admin/Native/PayOrders.php'),
|
||||
products: read('src/Admin/Native/PayProducts.php'),
|
||||
coupons: read('src/Admin/Native/PayCoupons.php'),
|
||||
income: read('src/Admin/Native/PayIncome.php'),
|
||||
withdrawals: read('src/Admin/Native/PayWithdrawals.php'),
|
||||
chargeCards: read('src/Admin/Native/PayChargeCards.php'),
|
||||
chargeCards,
|
||||
};
|
||||
|
||||
const labels = {
|
||||
|
||||
Reference in new issue
Block a user