兜豆兑换入口接入:跳 doudou-duihuan(带 openid/return_url)、余额与可兑件数、本场热门好物;配色改用商城 berry
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
34
index.html
34
index.html
@@ -7,7 +7,7 @@
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<title>兜爸心选 · 孕育陪伴</title>
|
||||
<!-- V:26100136 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<!-- V:26100137 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<link rel="stylesheet" href="mama-box.css">
|
||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
|
||||
<!-- 共享助手:授权/跳商城/位置上报(分享卡片同步,见 docs/h5-auth-standard.md 第四节) -->
|
||||
@@ -358,8 +358,8 @@
|
||||
<!-- 首页 · 兜豆兑换商城入口(2026-10-01):紧跟婴儿房(那张卡写着「攒兜豆把它布置好」),
|
||||
顺着「兜豆」这条线往下接。点击同「我的」页 #meExchCard → openExchange()。 -->
|
||||
<button class="exch-strip ripple" id="homeExch">
|
||||
<span class="es-coin" aria-hidden="true"><svg viewBox="0 0 40 40" width="34" height="34"><circle cx="20" cy="20" r="15" fill="#FFC94D" stroke="#E89B1E" stroke-width="2.2"/><circle cx="20" cy="20" r="10" fill="none" stroke="#FFF1C2" stroke-width="1.4"/><path d="M15.5 16c0-1.4 1.1-2.4 2.6-2.4h2c2.9 0 4.9 2 4.9 4.6v3.6c0 2.6-2 4.6-4.9 4.6h-2c-1.5 0-2.6-1-2.6-2.4z" fill="#fff"/></svg></span>
|
||||
<span class="es-main"><b>兜豆兑换商城</b><span>攒下的兜豆,在这里换成好物</span></span>
|
||||
<span class="es-coin" aria-hidden="true"><svg viewBox="0 0 24 24" width="36" height="36"><ellipse cx="12" cy="12.5" rx="7.4" ry="8.6" fill="#FFB5C4" transform="rotate(-18 12 12.5)"/><path d="M13.8 6.6c-2.6 1.6-3.4 5.8-1.2 9.4" stroke="#fff" stroke-width="1.6" fill="none" stroke-linecap="round" opacity=".85"/><path d="M12 15.6c-1.9-1.1-2.9-2.2-2.9-3.2a1.4 1.4 0 0 1 2.9-.5 1.4 1.4 0 0 1 2.9.5c0 1-1 2.1-2.9 3.2z" fill="#F0607E"/></svg></span>
|
||||
<span class="es-main"><b>兜豆兑好物</b><span id="homeExchSub">攒兜豆,好物免费兑</span></span>
|
||||
<span class="es-go">去兑换<i>›</i></span>
|
||||
</button>
|
||||
|
||||
@@ -920,26 +920,20 @@
|
||||
<div class="page-body no-top">
|
||||
<!-- 兜豆兑换商城主卡(2026-10-01):半压在头部渐变边缘,是「我的」页最跳的一张。
|
||||
点击走 openExchange()(app.js)—— 链接优先取应用后台,取不到再用写死的兜底地址。
|
||||
#meBeans 行在拿到兜豆余额前隐藏(余额接口待兑换商城侧提供)。 -->
|
||||
#meExchSub 未登录写「攒兜豆,好物免费兑」,拿到余额后改成「兜豆 N · 可兑 M 件」(loadDou())。 -->
|
||||
<button class="bean-card ripple" id="meExchCard">
|
||||
<span class="bc-pattern" aria-hidden="true"></span>
|
||||
<span class="bc-coin" aria-hidden="true">
|
||||
<svg viewBox="0 0 64 64" width="64" height="64">
|
||||
<ellipse cx="34" cy="50" rx="20" ry="6" fill="#B8641A" opacity=".18"/>
|
||||
<circle cx="28" cy="30" r="17" fill="#FFC94D"/><circle cx="28" cy="30" r="17" fill="none" stroke="#E89B1E" stroke-width="2.4"/>
|
||||
<circle cx="28" cy="30" r="11.5" fill="none" stroke="#FFF1C2" stroke-width="1.6" opacity=".9"/>
|
||||
<path d="M23 25.5c0-1.6 1.3-2.8 3-2.8h2.4c3.3 0 5.6 2.3 5.6 5.3v4c0 3-2.3 5.3-5.6 5.3H26c-1.7 0-3-1.2-3-2.8z" fill="#fff" opacity=".95"/>
|
||||
<circle cx="46" cy="42" r="10" fill="#FFD966"/><circle cx="46" cy="42" r="10" fill="none" stroke="#E89B1E" stroke-width="2"/>
|
||||
<path d="M46 37.5v9M41.5 42h9" stroke="#fff" stroke-width="2.4" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span class="bc-top">
|
||||
<span class="bc-coin" aria-hidden="true"><svg viewBox="0 0 24 24" width="58" height="58"><ellipse cx="12" cy="12.5" rx="7.4" ry="8.6" fill="#FFB5C4" transform="rotate(-18 12 12.5)"/><path d="M13.8 6.6c-2.6 1.6-3.4 5.8-1.2 9.4" stroke="#fff" stroke-width="1.6" fill="none" stroke-linecap="round" opacity=".85"/><path d="M12 15.6c-1.9-1.1-2.9-2.2-2.9-3.2a1.4 1.4 0 0 1 2.9-.5 1.4 1.4 0 0 1 2.9.5c0 1-1 2.1-2.9 3.2z" fill="#F0607E"/></svg></span>
|
||||
<span class="bc-main">
|
||||
<span class="bc-kick">兜豆兑换</span>
|
||||
<span class="bc-title">兜豆兑好物</span>
|
||||
<span class="bc-sub" id="meExchSub">攒兜豆,好物免费兑</span>
|
||||
</span>
|
||||
<span class="bc-cta">去兑换<i>›</i></span>
|
||||
</span>
|
||||
<span class="bc-main">
|
||||
<span class="bc-kick">兜豆兑换商城</span>
|
||||
<span class="bc-title">攒兜豆,换好物</span>
|
||||
<span class="bc-sub">做任务、开盲盒都能攒</span>
|
||||
<span class="bc-beans hide" id="meBeansRow">我的兜豆 <b id="meBeans">0</b></span>
|
||||
</span>
|
||||
<span class="bc-cta">去兑换<i>›</i></span>
|
||||
<!-- 本场热门好物(/mall/drop,按 heat_30m 取前 3);拉不到数据就整行隐藏 -->
|
||||
<span class="bc-drop hide" id="meExchDrop"><span class="bd-head" id="meExchDropT"></span><span class="bd-goods" id="meExchGoods"></span></span>
|
||||
</button>
|
||||
|
||||
<!-- 授权完善资料:H5 → navigateTo → 小程序授权页(头像/昵称/手机号) → box_app /auth/profile 落库 -->
|
||||
|
||||
86
js/app.js
86
js/app.js
@@ -3,7 +3,7 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
||||
var VER = '26100136';
|
||||
var VER = '26100137';
|
||||
const $ = (s, c) => (c || document).querySelector(s);
|
||||
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
||||
|
||||
@@ -4144,24 +4144,88 @@
|
||||
}
|
||||
}
|
||||
/* ---------- 兜豆兑换商城入口(2026-10-01) ----------
|
||||
两个入口:「我的」页金色主卡 #meExchCard、首页婴儿房下面那条 #homeExch。
|
||||
链接优先取应用后台(APP_BY_ID,identifier 按候选名逐个找),走 jumpApp()
|
||||
—— 与其它 H5 应用同一条路(带 openid/unionid)。后台还没配、兜底地址也空时提示,
|
||||
不静默。⚠️ EXCH_FALLBACK_URL 待兑换商城侧给出正式地址后填上。 */
|
||||
const EXCH_IDS = ['duihuan', 'exchange', 'doudou', 'duihuanshangcheng'];
|
||||
const EXCH_FALLBACK_URL = '';
|
||||
两个入口:「我的」页兜豆卡 #meExchCard、首页婴儿房下面那条 #homeExch。
|
||||
地址/接口由「兜爸商城」侧提供(2026-10-01):正式与预览同一个 URL,后端切生产时 URL 不变。
|
||||
· 跳转走 jumpApp()(query 带 openid/unionid),另带 return_url —— 商城左上角出返回按钮。
|
||||
· 应用后台若配了同名应用(EXCH_IDS 里任一 identifier),以后台 URL 为准。 */
|
||||
const EXCH_IDS = ['doudou-duihuan', 'doudouduihuan', 'duihuan'];
|
||||
const EXCH_URL = 'https://taidong.douba.top/doudou-duihuan/';
|
||||
const DOU_API = EXCH_URL + 'api';
|
||||
function openExchange() {
|
||||
haptic();
|
||||
let app = null;
|
||||
for (const id of EXCH_IDS) { if (APP_BY_ID[id]) { app = APP_BY_ID[id]; break; } }
|
||||
const url = (app && app.url) || EXCH_FALLBACK_URL;
|
||||
if (!url) { toast('兜豆兑换商城即将开放,先攒着兜豆吧'); return; }
|
||||
jumpApp(url, (app && app.identifier) || 'duihuan');
|
||||
const base = (app && app.url) || EXCH_URL;
|
||||
const url = base + (base.indexOf('?') >= 0 ? '&' : '?') + 'return_url=' + encodeURIComponent(location.href);
|
||||
jumpApp(url, (app && app.identifier) || 'doudou-duihuan');
|
||||
}
|
||||
$$('#meExchCard, #homeExch').forEach(function (b) {
|
||||
b.addEventListener('click', openExchange);
|
||||
});
|
||||
|
||||
/* 兜豆余额 + 可兑件数 + 本场热门好物。
|
||||
· /mall/drop 无需登录:拿商品(热门前 3 显示在「我的」页卡片底部);
|
||||
· 有 openid 时 /auth/openid-login 换 token → /dou/summary 拿 balance;
|
||||
· 可兑 M 件 = stock>0 且 price<=balance 且(opens_at 为空或已到点),口径与商城侧约定一致。
|
||||
任何一步失败都静默保留默认文案「攒兜豆,好物免费兑」,不影响页面其它部分。
|
||||
从商城返回(页面重新可见)时再刷一次,兑换后余额能跟上。 */
|
||||
let douToken = '';
|
||||
function setExchSub(t) {
|
||||
$$('#meExchSub, #homeExchSub').forEach(function (el) { el.textContent = t; });
|
||||
}
|
||||
function renderDrop(d) {
|
||||
const box = $('#meExchDrop'); if (!box) return;
|
||||
const now = d && d.server_time ? new Date(d.server_time).getTime() : Date.now();
|
||||
const goods = ((d && d.goods) || []).filter(function (g) {
|
||||
return g.stock > 0 && (!g.opens_at || new Date(g.opens_at).getTime() <= now);
|
||||
})
|
||||
.sort(function (x, y) { return (y.heat_30m || 0) - (x.heat_30m || 0); }).slice(0, 3);
|
||||
if (!goods.length) { box.classList.add('hide'); return; }
|
||||
const dr = d.drop || {};
|
||||
$('#meExchDropT').textContent = (dr.title || '本场好物') + (dr.open && dr.left != null ? ' · 剩 ' + dr.left + ' 件' : '');
|
||||
const wrap = $('#meExchGoods'); wrap.textContent = '';
|
||||
goods.forEach(function (g) {
|
||||
const it = document.createElement('span'); it.className = 'bd-it';
|
||||
const im = document.createElement('img'); im.alt = ''; im.loading = 'lazy';
|
||||
im.src = /^https?:/.test(g.img || '') ? g.img : EXCH_URL + String(g.img || '').replace(/^\//, '');
|
||||
const nm = document.createElement('span'); nm.className = 'bd-nm'; nm.textContent = g.name || '';
|
||||
const pr = document.createElement('b'); pr.textContent = g.price + ' 兜豆';
|
||||
it.append(im, nm, pr); wrap.appendChild(it);
|
||||
});
|
||||
box.classList.remove('hide');
|
||||
}
|
||||
function loadDou() {
|
||||
const oid = hashParam('openid'), uid = hashParam('unionid');
|
||||
const dropP = fetch(DOU_API + '/mall/drop').then(function (r) { return r.ok ? r.json() : null; }).catch(function () { return null; });
|
||||
dropP.then(renderDrop);
|
||||
if (!oid) return;
|
||||
const tokP = douToken ? Promise.resolve(douToken) :
|
||||
fetch(DOU_API + '/auth/openid-login', {
|
||||
method: 'POST', headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ openid: oid, unionid: uid || null, app_id: 'doudou-duihuan' })
|
||||
}).then(function (r) { return r.ok ? r.json() : null; }).then(function (j) { return (douToken = (j && j.token) || ''); });
|
||||
tokP.then(function (tok) {
|
||||
if (!tok) return null;
|
||||
return fetch(DOU_API + '/dou/summary', { headers: { Authorization: 'Bearer ' + tok } })
|
||||
.then(function (r) { if (r.status === 401) douToken = ''; return r.ok ? r.json() : null; });
|
||||
}).then(function (sum) {
|
||||
if (!sum || typeof sum.balance !== 'number') return;
|
||||
return dropP.then(function (d) {
|
||||
const now = d && d.server_time ? new Date(d.server_time).getTime() : Date.now();
|
||||
const n = ((d && d.goods) || []).filter(function (g) {
|
||||
return g.stock > 0 && g.price <= sum.balance && (!g.opens_at || new Date(g.opens_at).getTime() <= now);
|
||||
}).length;
|
||||
/* 0 兜豆时「兜豆 0 · 可兑 0 件」读着像在劝退 —— 保留引导文案;有豆但一件都不够时给句鼓励 */
|
||||
if (!sum.balance) setExchSub('攒兜豆,好物免费兑');
|
||||
else if (!d) setExchSub('兜豆 ' + sum.balance);
|
||||
else setExchSub('兜豆 ' + sum.balance + (n ? ' · 可兑 ' + n + ' 件' : ' · 再攒攒就能兑'));
|
||||
});
|
||||
}).catch(function () {});
|
||||
}
|
||||
loadDou();
|
||||
document.addEventListener('visibilitychange', function () {
|
||||
if (document.visibilityState === 'visible') loadDou();
|
||||
});
|
||||
|
||||
/* 商城入口:「我的」页服务卡与首页商城主卡。
|
||||
⚠️ 2026-09-19:底 tab #tabMall 已经改回「宝宝来信」(见下面的 #tabLetter 绑定),
|
||||
不再走 goMall —— 所以这里只留两颗真正的商城入口。 */
|
||||
|
||||
65
mama-box.css
65
mama-box.css
@@ -2881,8 +2881,8 @@ a.skip:focus{left:16px;top:16px}
|
||||
.bx-gl:not(.all){padding:9px 10px}
|
||||
|
||||
/* ================= 「我的」页改版(2026-10-01)=================
|
||||
配色:头部蜜桃 → 珊瑚柔光渐变(和首页 hero 同一家族);兜豆兑换卡用奶油金,
|
||||
是全页唯一的「金色」,一眼就是主角;孕期卡回到白底 + 珊瑚进度(上一版深绿和全站暖色打架);
|
||||
配色:头部蜜桃 → 珊瑚柔光渐变(和首页 hero 同一家族);兜豆兑换卡用兑换商城自己的
|
||||
奶白 → 粉 + berry(见下),是全页最跳的一张;孕期卡回到白底 + 珊瑚进度(上一版深绿和全站暖色打架);
|
||||
心选商城 / 常用服务都是白卡,退到背景里。
|
||||
⚠️ 本段写在文件末尾,靠层叠覆盖上面的旧规则(.me-top / .me-card / .preg-card …),
|
||||
旧规则的注释讲的是旧版的取舍,看这里为准。 */
|
||||
@@ -2909,31 +2909,40 @@ a.skip:focus{left:16px;top:16px}
|
||||
.me-v2 .me-info p b{color:#FFF3B0;font-size:15px}
|
||||
.me-v2 .me-chev{color:rgba(255,255,255,.8)}
|
||||
|
||||
/* 兜豆兑换商城主卡:半压在头部底边上 */
|
||||
/* 兜豆兑换卡:半压在头部底边上。配色跟兑换商城走(商城侧给的视觉:berry #D9577A / 深 #B83F62,
|
||||
点缀金 #FFC857,深棕字 #4A3530,底 #FFF8F1),图标就是商城那颗粉色兜豆(内联,不多一次请求)。 */
|
||||
#screen-me .page-body.no-top{margin-top:-40px}
|
||||
.bean-card{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;gap:12px;text-align:left;
|
||||
padding:16px 16px 16px 12px;border-radius:24px;color:#6B3E12;
|
||||
.bean-card{position:relative;overflow:hidden;width:100%;display:block;text-align:left;
|
||||
padding:14px 14px 14px 10px;border-radius:24px;color:#4A3530;
|
||||
background:
|
||||
radial-gradient(140px 100px at 100% 0%, rgba(255,255,255,.7), rgba(255,255,255,0) 70%),
|
||||
linear-gradient(118deg,#FFF7E2 0%,#FFE7B0 55%,#FFD27E 100%);
|
||||
box-shadow:0 14px 30px rgba(196,120,40,.24),inset 0 0 0 1px rgba(255,255,255,.7);transition:transform .18s var(--ease)}
|
||||
radial-gradient(150px 110px at 100% 0%, rgba(255,200,87,.38), rgba(255,200,87,0) 70%),
|
||||
linear-gradient(118deg,#FFF8F1 0%,#FFEAF0 55%,#FFD6E2 100%);
|
||||
box-shadow:0 14px 30px rgba(184,63,98,.20),inset 0 0 0 1px rgba(255,255,255,.75);transition:transform .18s var(--ease)}
|
||||
.bean-card:active{transform:scale(.985)}
|
||||
.bc-pattern{position:absolute;inset:0;pointer-events:none;opacity:.5;
|
||||
background-image:radial-gradient(circle at 1px 1px, rgba(214,150,60,.35) 1px, transparent 1.4px);background-size:12px 12px;
|
||||
-webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 100%);mask-image:linear-gradient(100deg,transparent 35%,#000 100%)}
|
||||
.bc-coin{flex:0 0 64px;position:relative;filter:drop-shadow(0 4px 6px rgba(200,120,20,.25))}
|
||||
.bc-pattern{position:absolute;inset:0;pointer-events:none;opacity:.55;
|
||||
background-image:radial-gradient(circle at 1px 1px, rgba(217,87,122,.28) 1px, transparent 1.4px);background-size:12px 12px;
|
||||
-webkit-mask-image:linear-gradient(100deg,transparent 40%,#000 100%);mask-image:linear-gradient(100deg,transparent 40%,#000 100%)}
|
||||
.bc-top{display:flex;align-items:center;gap:10px;position:relative}
|
||||
.bc-coin{flex:0 0 58px;filter:drop-shadow(0 5px 6px rgba(217,87,122,.25))}
|
||||
.bc-coin svg{display:block}
|
||||
.bc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;position:relative}
|
||||
.bc-kick{font-size:11.5px;font-weight:800;color:#B8641A;letter-spacing:.5px}
|
||||
.bc-title{font-size:19px;font-weight:900;letter-spacing:-.3px;color:#5A300C}
|
||||
.bc-sub{font-size:12px;color:#8C6034}
|
||||
.bc-beans{margin-top:3px;font-size:12px;color:#8C6034}
|
||||
.bc-beans b{font-size:15px;color:#D2691E;font-weight:900}
|
||||
.bc-beans.hide{display:none}
|
||||
.bc-cta{flex:0 0 auto;position:relative;display:flex;align-items:center;gap:2px;padding:9px 13px;border-radius:99px;
|
||||
font-size:13.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#F7845E,#E85A3C);
|
||||
box-shadow:0 6px 14px rgba(232,90,60,.35)}
|
||||
.bc-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
|
||||
.bc-kick{font-size:10.5px;font-weight:800;color:#fff;background:#D9577A;padding:2px 8px;border-radius:99px;letter-spacing:.5px}
|
||||
.bc-title{font-size:19px;font-weight:900;letter-spacing:-.3px;color:#4A3530}
|
||||
.bc-sub{font-size:12.5px;font-weight:700;color:#B83F62}
|
||||
.bc-cta{flex:0 0 auto;display:flex;align-items:center;gap:2px;padding:9px 13px;border-radius:99px;
|
||||
font-size:13.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#E8708F,#D9577A 60%,#B83F62);
|
||||
box-shadow:0 6px 14px rgba(184,63,98,.35)}
|
||||
.bc-cta i,.ms-go i,.es-go i{font-style:normal;font-size:16px;line-height:1;margin-left:1px}
|
||||
.bc-drop{display:block;position:relative;margin:12px 0 0 4px;padding:10px;border-radius:16px;background:rgba(255,255,255,.72)}
|
||||
.bc-drop.hide{display:none}
|
||||
.bd-head{display:block;font-size:11.5px;font-weight:800;color:#B83F62;margin-bottom:8px}
|
||||
.bd-head::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#E8344E;margin-right:6px;vertical-align:1px;
|
||||
box-shadow:0 0 0 3px rgba(232,52,78,.18)}
|
||||
.bd-goods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
|
||||
.bd-it{display:flex;flex-direction:column;gap:3px;min-width:0}
|
||||
.bd-it img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:#FFF1F4}
|
||||
.bd-nm{font-size:11.5px;color:#4A3530;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.bd-it b{font-size:11.5px;font-weight:900;color:#D9577A}
|
||||
|
||||
/* 孕期信息卡:白底 + 珊瑚进度 */
|
||||
#screen-me .preg-card{color:var(--ink);
|
||||
@@ -2977,12 +2986,12 @@ a.skip:focus{left:16px;top:16px}
|
||||
|
||||
/* 首页 · 兜豆兑换商城入口条(婴儿房下面) */
|
||||
.exch-strip{width:100%;display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px 14px;border-radius:20px;text-align:left;
|
||||
background:radial-gradient(120px 80px at 100% 0%, rgba(255,255,255,.7), rgba(255,255,255,0) 70%),linear-gradient(118deg,#FFF7E2,#FFE3A6 70%,#FFD48A);
|
||||
box-shadow:0 10px 22px rgba(196,120,40,.18),inset 0 0 0 1px rgba(255,255,255,.7)}
|
||||
.es-coin{flex:0 0 auto;filter:drop-shadow(0 3px 4px rgba(200,120,20,.25))}
|
||||
background:radial-gradient(120px 80px at 100% 0%, rgba(255,200,87,.35), rgba(255,200,87,0) 70%),linear-gradient(118deg,#FFF8F1,#FFEAF0 60%,#FFD6E2);
|
||||
box-shadow:0 10px 22px rgba(184,63,98,.16),inset 0 0 0 1px rgba(255,255,255,.75)}
|
||||
.es-coin{flex:0 0 auto;filter:drop-shadow(0 3px 4px rgba(217,87,122,.25))}
|
||||
.es-coin svg{display:block}
|
||||
.es-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
|
||||
.es-main b{font-size:15px;font-weight:900;color:#5A300C}
|
||||
.es-main span{font-size:12px;color:#8C6034;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.es-main b{font-size:15px;font-weight:900;color:#4A3530}
|
||||
.es-main span{font-size:12px;font-weight:700;color:#B83F62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.es-go{flex:0 0 auto;display:flex;align-items:center;padding:7px 12px;border-radius:99px;font-size:13px;font-weight:800;color:#fff;
|
||||
background:linear-gradient(135deg,#F7845E,#E85A3C);box-shadow:0 5px 12px rgba(232,90,60,.3)}
|
||||
background:linear-gradient(135deg,#E8708F,#D9577A 60%,#B83F62);box-shadow:0 5px 12px rgba(184,63,98,.3)}
|
||||
|
||||
Reference in New Issue
Block a user