关注前3条加回6~8个小头像、百宝箱同时滚动1~2条、测试封面改真实风景照+分组柔光遮罩(v26110412)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31
guangchang/ceshi/cv/SOURCES.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
# 测试封面风景照(11-04 换,全部 CC0,来自 Openverse:StockSnap / WordPress Photos)
|
||||
t01 https://stocksnap.io/photo/sunrise-morning-CD2134E2DD Sunrise Morning
|
||||
t02 https://stocksnap.io/photo/sunrise-morning-NNEZM4UXE6 Sunrise Morning
|
||||
t03 https://stocksnap.io/photo/sunrise-morning-ZJE4KHCDWE Sunrise Morning
|
||||
t04 https://stocksnap.io/photo/sunrise-morning-FIOJB60WHW Sunrise Morning
|
||||
t05 https://stocksnap.io/photo/sunrise-morning-LS018JTVBT Sunrise Morning
|
||||
t06 https://stocksnap.io/photo/sunrise-mountains-HLQSR4VMVA Sunrise Mountains
|
||||
t07 https://stocksnap.io/photo/sunrise-morning-Y3V6KY127X Sunrise Morning
|
||||
t08 https://stocksnap.io/photo/sunrise-dawn-VSZGUL6UIN Sunrise Dawn
|
||||
t09 https://stocksnap.io/photo/sunrise-sky-V54OB96DMN Sunrise Sky
|
||||
t10 https://stocksnap.io/photo/flowers-peach-FJPQF5LY0H Flowers Peach
|
||||
t11 https://stocksnap.io/photo/lavender-field-G1Z1H18HCQ Lavender Field
|
||||
t12 https://stocksnap.io/photo/lavender-field-T5J75YI5H0 Lavender Field
|
||||
t13 https://stocksnap.io/photo/lavender-flower-WGKUOVFTHP Lavender Flower
|
||||
t14 https://stocksnap.io/photo/lavender-flowers-POJBN5GI7U Lavender Flowers
|
||||
t15 https://stocksnap.io/photo/lavender-field-MA1RNOBHJ6 Lavender Field
|
||||
t16 https://stocksnap.io/photo/lavender-field-R642Q1P0QG Lavender Field
|
||||
t17 https://stocksnap.io/photo/lavender-flower-3502LSPSY6 Lavender Flower
|
||||
t18 https://wordpress.org/photos/photo/6896636407/ French Lavender Flowers
|
||||
t19 https://stocksnap.io/photo/purple-sky-51ZSVLMWRO Purple Sky
|
||||
t20 https://stocksnap.io/photo/purple-sky-8AJACV2YDX Purple Sky
|
||||
t21 https://wordpress.org/photos/photo/44267d07fb/ A vibrant green meadow under a blue sky dotted with fluffy white clouds in Zug, Switzerland. A line of trees borders the meadow in the mid-ground, and a forested hill rises in the background.
|
||||
t22 https://wordpress.org/photos/photo/627668d5c9/ A scenic view of a stone path leading towards a hilltop surrounded by lush green meadows, with a backdrop of majestic mountains and a clear blue sky. The horizon is dotted with distant snow-capped peaks under fluffy white clouds.
|
||||
t23 https://wordpress.org/photos/photo/1156a73ff5/ A peaceful forest clearing framed by towering trees, where sunlight filters through the canopy and opens to a wide green meadow beneath a bright blue sky
|
||||
t24 https://wordpress.org/photos/photo/84665c508b/ A lush green meadow with a solitary tree in the foreground and a majestic flat-topped mountain under a cloudy sky.
|
||||
t25 https://stocksnap.io/photo/forest-path-AXOFGKXCSI Forest Path
|
||||
t26 https://wordpress.org/photos/photo/5536464f83/ Countryside landscape featuring a blue sky, clouds and unworked farm ground
|
||||
t27 https://stocksnap.io/photo/beautiful-landscape-970HTFRR9U Beautiful Landscape
|
||||
t28 https://stocksnap.io/photo/dock-lake-MES5X81ZYI Dock Lake
|
||||
t29 https://stocksnap.io/photo/grass-trees-4OJDSDOEKU Grass Trees
|
||||
t30 https://stocksnap.io/photo/blue-ocean-GJ7GTXIJZ2 Blue Ocean
|
||||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 9.2 KiB |
@@ -320,9 +320,9 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
|
||||
</div>
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="../../js/share-card.js?v=26110411"></script>
|
||||
<script src="meta.js?v=26110411"></script>
|
||||
<script src="tests.js?v=26110411"></script>
|
||||
<script src="../../js/share-card.js?v=26110412"></script>
|
||||
<script src="meta.js?v=26110412"></script>
|
||||
<script src="tests.js?v=26110412"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
@@ -285,7 +285,12 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.csr-i{border-radius:13px;transform:rotate(-4deg)}
|
||||
.csr:nth-child(even) .csr-i{transform:rotate(4deg)}
|
||||
.ck.has-bg .cv>.cbl,.ck.has-bg .cv>.ck-wm{display:none}
|
||||
.ck .cv .ck-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%}
|
||||
.ck .cv .ck-wash{position:absolute;inset:0;pointer-events:none}
|
||||
.ck.gq .ck-wash{background:linear-gradient(180deg,rgba(255,244,234,.86),rgba(255,236,222,.74) 62%,rgba(255,228,211,.35))}
|
||||
.ck.gp .ck-wash{background:linear-gradient(180deg,rgba(246,241,255,.86),rgba(238,230,252,.74) 62%,rgba(234,226,251,.35))}
|
||||
.ck.gg .ck-wash{background:linear-gradient(180deg,rgba(240,250,244,.86),rgba(228,246,236,.74) 62%,rgba(221,243,231,.35))}
|
||||
.ck.gs .ck-wash{background:linear-gradient(180deg,rgba(240,246,255,.86),rgba(230,240,254,.74) 62%,rgba(223,235,253,.35))}
|
||||
.ck .cv .ck-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
|
||||
.csr-i.has-bg{background-size:cover!important;background-position:70% 85%!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
|
||||
.ck .cv .ck-wm{position:absolute;right:-8px;bottom:-6px;width:62px;height:62px;opacity:.22;transform:rotate(-12deg);pointer-events:none}
|
||||
.ck .cv .ck-wm svg{width:100%;height:100%}
|
||||
@@ -862,11 +867,11 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
<div id="sheet" role="dialog" aria-modal="true"><i class="sg"></i><div class="sbd" id="sbd"></div></div>
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="topics.js?v=26110411"></script>
|
||||
<script src="data.js?v=26110411"></script>
|
||||
<script src="feed.js?v=26110411"></script>
|
||||
<script src="ceshi/meta.js?v=26110411"></script>
|
||||
<script src="../js/share-card.js?v=26110411"></script>
|
||||
<script src="topics.js?v=26110412"></script>
|
||||
<script src="data.js?v=26110412"></script>
|
||||
<script src="feed.js?v=26110412"></script>
|
||||
<script src="ceshi/meta.js?v=26110412"></script>
|
||||
<script src="../js/share-card.js?v=26110412"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
@@ -932,7 +937,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
var CMD = null, CMERR = false;
|
||||
/* 头像编码:数字 = av/NNNN.webp(旧代码头像);'av:c012' = av/c012.webp(卡通/可爱卡通);'/…' = 站内绝对路径(内置头像库 /_bridge/avatars/);其余 = assets/img/mom/xxx.jpg */
|
||||
var avP = function (a) { return typeof a === 'number' ? 'av/' + ('000' + a).slice(-4) + '.webp' : a.indexOf('av:') === 0 ? 'av/' + a.slice(3) + '.webp' : a.charAt(0) === '/' ? a : '../assets/img/mom/' + a + '.jpg'; };
|
||||
fetch('cm.json?v=26110411').then(function (r) { return r.json(); }).then(function (j) {
|
||||
fetch('cm.json?v=26110412').then(function (r) { return r.json(); }).then(function (j) {
|
||||
CMD = j; if (openId && NBY[openId]) { renderComments(NBY[openId]); syncBar(NBY[openId]); }
|
||||
}).catch(function () { CMERR = true; if (openId && NBY[openId]) renderComments(NBY[openId]); });
|
||||
function commentsOf(n) {
|
||||
@@ -1200,7 +1205,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
var CS_SEC = { quiz: ['', '查漏补缺,温和掌握孕产育儿知识', 2], psy: ['', '看见情绪,也看见关系', 2], game: ['', '挑战一下,看能拿什么称号', 2], shop: ['', '看看你是哪一类育儿采购玩家', 2] };
|
||||
/* 11-04 用户:「每个测试的背景图要做匹配的图片,不要同样的背景色;按组区分色块、组内统一」→ 每个测试一张插画(ceshi/cv/tNN.webp),
|
||||
色调跟组走:常识小测暖桃 / 趣味心理薰衣草紫 / 趣味闯关薄荷绿 / 好物配置天蓝;画面上半留白放标题。列表行的小方块也换成同一张图。 */
|
||||
var CS_CV_V = 1;
|
||||
var CS_CV_V = 2; /* 同日二改:用户嫌插画乱 → 换真实风景照(按组选色调)+ 同色柔光遮罩 */
|
||||
function csRowHTML(x, done, i) {
|
||||
var d = done[x.id], who = (x.sub || '').split('·')[0].trim();
|
||||
return '<button type="button" class="csr ' + CS_GPAL[x.group] + '" data-test="' + x.id + '"><span class="csr-i s' + (i % 3) + ' has-bg" style="background-image:url(ceshi/cv/' + x.id + '.webp?v=' + CS_CV_V + ')"></span>' +
|
||||
@@ -1252,7 +1257,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
function csCardHTML(x, done, i, hl) {
|
||||
var d = done[x.id], who = (x.sub || '').split('·')[0].trim(), hs = hl ? ckHlLine(x) : '';
|
||||
var top = byHot(TM).slice(0, 3).map(function (y) { return y.id; }).indexOf(x.id);
|
||||
return '<button type="button" class="ck ' + CS_GPAL[x.group] + ' has-bg" data-test="' + x.id + '"><span class="cv"><img class="ck-bg" src="ceshi/cv/' + x.id + '.webp?v=' + CS_CV_V + '" alt="" loading="lazy" decoding="async">' +
|
||||
return '<button type="button" class="ck ' + CS_GPAL[x.group] + ' has-bg" data-test="' + x.id + '"><span class="cv"><img class="ck-bg" src="ceshi/cv/' + x.id + '.webp?v=' + CS_CV_V + '" alt="" loading="lazy" decoding="async"><i class="ck-wash"></i>' +
|
||||
(top >= 0 ? '<i class="ck-top t' + (top + 1) + '">TOP' + (top + 1) + '</i>' : '') +
|
||||
'<i class="ck-wm">' + csTI(x) + '</i><b>' + esc(x.title.replace(/^测一测|/, '')) + '</b><small>' + esc(who) + ' · ' + x.n + ' 题</small><em>' + (d ? '再测一次' : '开始测试') + '</em>' + (d ? '<i class="dn">已测</i>' : '') + hs + '</span>' +
|
||||
'<span class="cnn">' + (hs ? '' : csAvs(3)) + '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12.6 2.5c.4 3-1.6 4.6-3 6.2C8 10.4 7 12 7 14.3A5 5 0 0012 19.5a5 5 0 005-5.2c0-2-1-3.6-1.9-4.6-.2 1.3-.9 2.2-1.9 2.6.6-3.4-.2-7-.6-9.8z" fill="currentColor"/></svg>' + gcTestedText(x.id) + '</span></button>';
|
||||
|
||||
@@ -105,7 +105,7 @@ main{padding:6px 16px 0}
|
||||
</div>
|
||||
<div class="wb"><button type="button" id="write"><svg class="ic" viewBox="0 0 24 24"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 013 3L7 19l-4 1 1-4z"/></svg>写新的故事</button></div>
|
||||
|
||||
<script src="../topics.js?v=26110411"></script>
|
||||
<script src="../topics.js?v=26110412"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||