feat(P4): precompute移植+app.js sources双向回填+回归1003/1003+验收体积/文件/data.json
This commit is contained in:
@@ -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>
|
||||
@@ -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>
|
||||
);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user