v26110443 首页「孕N周专属福利」加后台开关(giftEnabled,默认开;js/ugc.js 读同一接口,关时藏 .shelf.gift2)
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
||||
var VER = '26110416';
|
||||
var VER = '26110443';
|
||||
const $ = (s, c) => (c || document).querySelector(s);
|
||||
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
||||
|
||||
|
||||
@@ -236,5 +236,5 @@
|
||||
}
|
||||
/* feed.js 首页默认不加载(index.html 只引了 topics.js),这里按需拉一次 */
|
||||
if (window.GC_FEED) init();
|
||||
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110416'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
|
||||
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110443'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
|
||||
})();
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
(function () {
|
||||
var sec = document.getElementById('gcHome');
|
||||
if (!sec) return;
|
||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110416';
|
||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110443';
|
||||
document.head.appendChild(l);
|
||||
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110416';
|
||||
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110443';
|
||||
s.onload = function () { if (sec.querySelector('.g4-foot')) merge(); else sec.addEventListener('gc4-ready', merge, { once: true }); }; /* v4 要先拉 feed.js 才渲染 */
|
||||
document.body.appendChild(s);
|
||||
|
||||
|
||||
17
js/ugc.js
17
js/ugc.js
@@ -5,17 +5,20 @@
|
||||
· 带 data-guard 引入本脚本的页面(广场页 / 测试页 / 我的投稿 / 两个老测试)直接回首页;
|
||||
· 别的脚本读 window.__mbUgc(true/false),等结果用 window.__mbUgcReady(Promise),中途变了会发 mb-ugc 事件。
|
||||
上一次拿到的值存本机 mmbox.ugc.v1,先按它渲染、接口回来再校正;接口不通就沿用上一次的值(从没拿到过 = 关)。
|
||||
11-05 同一个接口顺带读 giftEnabled(用户:「首页底部孕 N 周专属福利加个开关,可以关闭隐藏」):
|
||||
false → <html> 带 .gift-off,藏首页 .shelf.gift2 整块;默认/从没拿到 = 显示,缓存 mmbox.gift.v1。
|
||||
本文件在 <root>/js/ugc.js,必须同步 <script> 引入(要靠 document.currentScript 算首页地址)。 */
|
||||
(function () {
|
||||
var K = 'mmbox.ugc.v1', de = document.documentElement, me = document.currentScript, on = false;
|
||||
try { on = localStorage.getItem(K) === '1'; } catch (e) {}
|
||||
var K = 'mmbox.ugc.v1', KG = 'mmbox.gift.v1', de = document.documentElement, me = document.currentScript, on = false;
|
||||
try { on = localStorage.getItem(K) === '1'; de.classList.toggle('gift-off', localStorage.getItem(KG) === '0'); } catch (e) {}
|
||||
var guard = !!(me && me.hasAttribute('data-guard'));
|
||||
var home = me ? new URL('../', me.src).pathname : '/';
|
||||
|
||||
var st = document.createElement('style');
|
||||
st.textContent =
|
||||
'html.ugc-off #gcHome,html.ugc-off #meFavCard,html.ugc-off .kit-e.e-qz,html.ugc-off #tx-cm,html.ugc-off .tc-in{display:none!important}' +
|
||||
'html.ugc-off .kit-g{grid-template-columns:repeat(2,1fr)!important}';
|
||||
'html.ugc-off .kit-g{grid-template-columns:repeat(2,1fr)!important}' +
|
||||
'html.gift-off .shelf.gift2{display:none!important}';
|
||||
(document.head || de).appendChild(st);
|
||||
|
||||
function apply(v) { on = !!v; window.__mbUgc = on; de.classList.toggle('ugc-off', !on); }
|
||||
@@ -27,7 +30,13 @@
|
||||
var t = setTimeout(function () { res(null); }, 4000);
|
||||
fetch('/api/mp/public/mama-box/config', { cache: 'no-store' })
|
||||
.then(function (r) { return r.json(); })
|
||||
.then(function (j) { clearTimeout(t); res(!!(j && j.result && j.result.ugcEnabled)); })
|
||||
.then(function (j) {
|
||||
clearTimeout(t);
|
||||
var g = !(j && j.result && j.result.giftEnabled === false);
|
||||
de.classList.toggle('gift-off', !g);
|
||||
try { localStorage.setItem(KG, g ? '1' : '0'); } catch (e) {}
|
||||
res(!!(j && j.result && j.result.ugcEnabled));
|
||||
})
|
||||
.catch(function () { clearTimeout(t); res(null); });
|
||||
}).then(function (v) {
|
||||
if (v === null) v = on; else try { localStorage.setItem(K, v ? '1' : '0'); } catch (e) {}
|
||||
|
||||
Reference in New Issue
Block a user