feat(P4): precompute移植+app.js sources双向回填+回归1003/1003+验收体积/文件/data.json
Deploy to GitHub Pages / deploy (push) Failing after 16s
Regression / regression (push) Failing after 15m2s

This commit is contained in:
aurora-admin
2026-09-12 14:18:41 +08:00
parent 16f365a045
commit c65a69c34e
401 changed files with 22932 additions and 140 deletions
+25
View File
@@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Aurora Admin · SkeletonPro(普通 H5)</title>
<link rel="stylesheet" href="../.design_library/aurora-admin/colors_and_type.css" />
<link rel="stylesheet" href="SkeletonPro.css" />
<style>body{margin:0;padding:24px;background: var(--au-color-page-bg);} .aa-card{background: var(--au-color-card-bg);border: 1px solid var(--au-color-border);border-radius:8px;padding:16px;max-width:420px;}</style>
</head>
<body>
<div class="aa-card">
<div class="aa-skeleton is-active" role="status" aria-busy="true" id="app"></div>
</div>
<script>
var root = document.getElementById('app');
var html = '<div class="aa-skeleton-block" role="status" aria-busy="true"></div>';
html += '<div class="aa-skeleton-row" role="status" aria-busy="true"><div class="aa-skeleton-avatar" aria-busy="true"></div><div class="aa-skeleton-lines" role="status" aria-busy="true">' +
'<div class="aa-skeleton-line" aria-busy="true" style="width:40%"></div><div class="aa-skeleton-line" aria-busy="true" style="width:80%"></div></div></div>';
for (var i = 0; i < 2; i++) html += '<div class="aa-skeleton-line" aria-busy="true" style="width:100%"></div>';
root.innerHTML = html;
</script>
</body>
</html>
+22
View File
@@ -0,0 +1,22 @@
import React from 'react';
import './SkeletonPro.css';
export default function SkeletonPro({ rows = 3, avatar = false, block = false, active = true }) {
return (
<div className={'aa-skeleton' + (active ? ' is-active' : '')}>
{avatar ? (
<div className="aa-skeleton-row">
<div className="aa-skeleton-avatar" />
<div className="aa-skeleton-lines">
<div className="aa-skeleton-line" style={{ width: '40%' }} />
<div className="aa-skeleton-line" style={{ width: '80%' }} />
</div>
</div>
) : null}
{block ? <div className="aa-skeleton-block" /> : null}
{Array.from({ length: rows }).map((_, i) => (
<div key={i} className="aa-skeleton-line" style={{ width: (i % 2 === 0 ? 100 : 70) + '%' }} />
))}
</div>
);
}
+30
View File
@@ -0,0 +1,30 @@
<template>
<div class="aa-skeleton" :class="{ 'is-active': active }">
<div v-if="avatar" class="aa-skeleton-row">
<div class="aa-skeleton-avatar"></div>
<div class="aa-skeleton-lines">
<div class="aa-skeleton-line" style="width:40%"></div>
<div class="aa-skeleton-line" style="width:80%"></div>
</div>
</div>
<div v-if="block" class="aa-skeleton-block"></div>
<div v-for="i in rows" :key="i" class="aa-skeleton-line" :style="{ width: lineWidth(i) }"></div>
</div>
</template>
<script>
export default {
name: 'AaSkeletonPro',
props: {
rows: { type: Number, default: 3 },
avatar: { type: Boolean, default: false },
block: { type: Boolean, default: false },
active: { type: Boolean, default: true }
},
methods: {
lineWidth: function (i) { return (i % 2 === 0 ? 100 : 70) + '%'; }
}
};
</script>
<style src="./SkeletonPro.css"></style>
+24
View File
@@ -0,0 +1,24 @@
<template>
<div class="aa-skeleton" :class="{ 'is-active': active }">
<div v-if="avatar" class="aa-skeleton-row">
<div class="aa-skeleton-avatar"></div>
<div class="aa-skeleton-lines">
<div class="aa-skeleton-line" style="width:40%"></div>
<div class="aa-skeleton-line" style="width:80%"></div>
</div>
</div>
<div v-if="block" class="aa-skeleton-block"></div>
<div v-for="i in rows" :key="i" class="aa-skeleton-line" :style="{ width: (i % 2 === 0 ? 100 : 70) + '%' }"></div>
</div>
</template>
<script setup>
defineProps({
rows: { type: Number, default: 3 },
avatar: { type: Boolean, default: false },
block: { type: Boolean, default: false },
active: { type: Boolean, default: true }
});
</script>
<style src="./SkeletonPro.css"></style>