logo和配置修改
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
{{define "analytics"}}
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript">
|
||||
(function(m,e,t,r,i,k,a){
|
||||
m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
||||
m[i].l=1*new Date();
|
||||
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
|
||||
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
|
||||
})(window, document,'script','https://mc.yandex.ru/metrika/tag.js?id={{if .isNavPage}}112390883{{else}}112387687{{end}}', 'ym');
|
||||
|
||||
ym({{if .isNavPage}}112390883{{else}}112387687{{end}}, 'init', {ssr:true, webvisor:true, clickmap:true, ecommerce:"dataLayer", referrer: document.referrer, url: location.href, accurateTrackBounce:true, trackLinks:true});
|
||||
</script>
|
||||
<!-- /Yandex.Metrika counter -->
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id={{if .isNavPage}}G-SY26Y2MSHS{{else}}G-TZQS2NZ3TN{{end}}"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', '{{if .isNavPage}}G-SY26Y2MSHS{{else}}G-TZQS2NZ3TN{{end}}');
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -1,39 +0,0 @@
|
||||
{{define "coinDialog"}}
|
||||
<link rel="stylesheet" href="/static/css/coinDialog.css?v=5">
|
||||
<div class="coin-dialog-mask" id="coinDialog">
|
||||
<div class="coin-dialog-stack">
|
||||
<div class="coin-dialog-card" role="dialog" aria-modal="true" aria-labelledby="coinDialogTitle">
|
||||
<img class="coin-dialog-icon" src="/static/images/figma-dialogs/coin-unlock.svg" alt="金币" />
|
||||
<div class="coin-dialog-title" id="coinDialogTitle">使用金币解锁本集</div>
|
||||
<div class="coin-dialog-desc">解锁后可永久观看本集内容。</div>
|
||||
<div class="coin-dialog-balance">
|
||||
<div class="coin-dialog-balance-col">
|
||||
<div class="coin-dialog-balance-label">当前余额</div>
|
||||
<div class="coin-dialog-balance-value"><span data-coin-balance>0</span> 金币</div>
|
||||
</div>
|
||||
<div class="coin-dialog-balance-col coin-dialog-balance-col--end">
|
||||
<div class="coin-dialog-balance-label">本次消耗</div>
|
||||
<div class="coin-dialog-balance-cost"><span data-coin-cost>0</span> 金币</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="coin-dialog-hint">后续付费剧集仍需逐集确认</div>
|
||||
<div class="coin-dialog-actions">
|
||||
<a
|
||||
class="coin-dialog-download"
|
||||
href="{{if .appConfig.AppAddr}}{{.appConfig.AppAddr}}{{else}}/download-app/{{end}}"
|
||||
{{if .appConfig.AppAddr}}target="_blank" rel="sponsored nofollow noopener noreferrer"{{end}}
|
||||
>下载app 免费看</a>
|
||||
<button class="coin-dialog-cta" type="button" data-coin-dialog-pay aria-busy="false">
|
||||
<span class="coin-dialog-cta-label"><span class="coin-dialog-cta-label-pc"><span data-coin-cost>0</span>金币 解锁</span><span class="coin-dialog-cta-label-h5">支付 <span data-coin-cost>0</span> 金币并播放</span></span>
|
||||
<span class="coin-dialog-cta-loading">解锁中…</span>
|
||||
</button>
|
||||
</div>
|
||||
<a class="coin-dialog-recharge" href="/deposit/coin/">金币不足?去充值</a>
|
||||
</div>
|
||||
<button class="coin-dialog-close" type="button" aria-label="关闭" data-coin-dialog-close>
|
||||
<img src="/static/images/figma-dialogs/dialog-close.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/static/js/pages/coinDialog.js?v=2"></script>
|
||||
{{end}}
|
||||
@@ -38,7 +38,7 @@
|
||||
{{if .appConfig.DetailBannerList}}
|
||||
<div class="content-ad-stack" aria-label="广告">
|
||||
{{range $ad := .appConfig.DetailBannerList}}
|
||||
<a {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-ad-id="{{$ad.ID}}" data-creative-id="{{$ad.ID}}" data-ad-slot-key="detail_banner" data-ad-slot-name="详情横幅广告" data-ad-type="banner" data-advertising-name="{{$ad.Title}}">
|
||||
<a {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-creative-id="{{$ad.ID}}">
|
||||
<img class="lazy" src="/static/images/placeholder.png?v=2" data-src="{{$ad.Images}}" alt="{{$ad.Title}}" title="{{$ad.Title}}" />
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
@@ -13,18 +13,14 @@
|
||||
data-dialog-ad-item
|
||||
data-dialog-ad-index="{{$index}}"
|
||||
data-dialog-ad-id="{{$dialog.ID}}"
|
||||
data-ad-id="{{$dialog.ID}}"
|
||||
data-creative-id="{{$dialog.ID}}"
|
||||
data-ad-slot-key="dialog_ad"
|
||||
data-ad-slot-name="弹窗广告"
|
||||
data-ad-type="popup"
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
aria-label="{{if $dialog.Title}}{{$dialog.Title}}{{else}}广告{{end}}"
|
||||
hidden
|
||||
>
|
||||
{{if $dialog.Link}}
|
||||
<a class="dialog-ad-media" href="{{$dialog.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="{{if $dialog.Title}}{{$dialog.Title}}{{else}}查看广告{{end}}" data-ad-id="{{$dialog.ID}}" data-creative-id="{{$dialog.ID}}" data-ad-slot-key="dialog_ad" data-ad-slot-name="弹窗广告" data-ad-type="popup" data-advertising-name="{{$dialog.Title}}">
|
||||
<a class="dialog-ad-media" href="{{$dialog.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="{{if $dialog.Title}}{{$dialog.Title}}{{else}}查看广告{{end}}" data-creative-id="{{$dialog.ID}}">
|
||||
<img class="dialog-ad-image" src="/static/images/placeholder.png?v=2" data-dialog-ad-src="{{$dialog.Images}}" alt="{{$dialog.Title}}" title="{{$dialog.Title}}" decoding="async" />
|
||||
</a>
|
||||
{{else}}
|
||||
@@ -32,7 +28,7 @@
|
||||
<img class="dialog-ad-image" src="/static/images/placeholder.png?v=2" data-dialog-ad-src="{{$dialog.Images}}" alt="{{$dialog.Title}}" title="{{$dialog.Title}}" decoding="async" />
|
||||
</div>
|
||||
{{end}}
|
||||
<button class="dialog-ad-close" type="button" data-dialog-ad-close data-ad-close data-ad-id="{{$dialog.ID}}" data-advertising-id="{{$dialog.ID}}" data-advertising-key="dialog_ad" data-advertising-name="{{$dialog.Title}}" aria-label="关闭广告">
|
||||
<button class="dialog-ad-close" type="button" data-dialog-ad-close aria-label="关闭广告">
|
||||
<img src="/static/images/figma-dialog-ad/close.svg" width="36" height="36" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
<div class="download-app-dialog-stack">
|
||||
<div class="download-app-dialog-card" role="dialog" aria-modal="true" aria-labelledby="downloadAppDialogTitle">
|
||||
<picture class="download-app-dialog-brand">
|
||||
<source media="(max-width: 767px)" srcset="/static/images/figma-dialogs/download-logo-mobile.svg" />
|
||||
<img src="/static/images/figma-dialogs/download-logo-pc.svg" alt="黄果短剧" title="黄果短剧 App" />
|
||||
<source media="(max-width: 767px)" srcset="/static/images/figma-dialogs/download-logo-mobile.svg?v=3" />
|
||||
<img src="/static/images/figma-dialogs/download-logo-pc.svg?v=3" alt="黄果短剧" title="黄果短剧 App" />
|
||||
</picture>
|
||||
<div class="download-app-dialog-title" id="downloadAppDialogTitle">扫码下载「黄果短剧 App」</div>
|
||||
<div class="download-app-dialog-desc">海量短剧,随时畅看</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{{define "footer"}}
|
||||
<link rel="stylesheet" href="/static/css/footer.css?v=12" />
|
||||
<footer class="home-mobile-footer">
|
||||
<img class="home-mobile-footer-logo" src="/static/images/logo.png" width="127" height="40" alt="黄果短剧" title="黄果短剧" />
|
||||
<img class="home-mobile-footer-logo" src="/static/images/logo.png?v=3" width="127" height="40" alt="黄果短剧" title="黄果短剧" />
|
||||
<div class="home-mobile-footer-legal">
|
||||
<p>黄果短剧- 全网更新最快最全的短剧!一直致力于免费为广大色友提供最优质的短剧内容,欢迎分享给你的小伙伴们~</p>
|
||||
<p>© 2005-2026 黄果短剧 品牌. All rights reserved.</p>
|
||||
@@ -21,12 +21,12 @@
|
||||
<span aria-hidden="true"><img src="/static/images/figma-home/mobile/footer-youtube.svg" width="38" height="38" alt="" /></span>
|
||||
<span aria-hidden="true"><img src="/static/images/figma-home/mobile/footer-instagram.svg" width="38" height="38" alt="" /></span>
|
||||
{{if .appConfig.TGGroup}}
|
||||
<a href="{{.appConfig.TGGroup}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="Telegram" data-nav-key="social_telegram" data-nav-name="Telegram"><img src="/static/images/figma-home/mobile/footer-telegram.svg" width="38" height="38" alt="" /></a>
|
||||
<a href="{{.appConfig.TGGroup}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="Telegram"><img src="/static/images/figma-home/mobile/footer-telegram.svg" width="38" height="38" alt="" /></a>
|
||||
{{else}}
|
||||
<span aria-hidden="true"><img src="/static/images/figma-home/mobile/footer-telegram.svg" width="38" height="38" alt="" /></span>
|
||||
{{end}}
|
||||
{{if .appConfig.TwitterAddr}}
|
||||
<a href="{{.appConfig.TwitterAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="X" data-nav-key="social_x" data-nav-name="X"><img src="/static/images/figma-home/mobile/footer-x.svg" width="38" height="38" alt="" /></a>
|
||||
<a href="{{.appConfig.TwitterAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="X"><img src="/static/images/figma-home/mobile/footer-x.svg" width="38" height="38" alt="" /></a>
|
||||
{{else}}
|
||||
<span aria-hidden="true"><img src="/static/images/figma-home/mobile/footer-x.svg" width="38" height="38" alt="" /></span>
|
||||
{{end}}
|
||||
@@ -43,8 +43,8 @@
|
||||
{{if or .footer.Brand.Title .footer.Brand.Content}}
|
||||
<div class="footer-brand">
|
||||
{{if .footer.Brand.Title}}
|
||||
<a class="footer-brand-lockup" href="/" data-nav-key="home" data-nav-name="首页">
|
||||
<img class="footer-logo" src="/static/images/logo.png" alt="{{.footer.Brand.Title}}" title="{{.footer.Brand.Title}}" />
|
||||
<a class="footer-brand-lockup" href="/">
|
||||
<img class="footer-logo" src="/static/images/logo.png?v=3" alt="{{.footer.Brand.Title}}" title="{{.footer.Brand.Title}}" />
|
||||
</a>
|
||||
{{end}}
|
||||
{{if .footer.Brand.Content}}
|
||||
@@ -55,13 +55,13 @@
|
||||
{{if or .appConfig.NewURLAddr .appConfig.NewURLAddr1 .appConfig.ForeverURLAddr}}
|
||||
<div class="footer-contact" aria-label="访问地址">
|
||||
{{if .appConfig.NewURLAddr}}
|
||||
<a class="footer-contact-line" href="{{.appConfig.NewURLAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" data-nav-key="latest_address" data-nav-name="最新地址">最新地址:{{.appConfig.NewURLAddr}}</a>
|
||||
<a class="footer-contact-line" href="{{.appConfig.NewURLAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer">最新地址:{{.appConfig.NewURLAddr}}</a>
|
||||
{{end}}
|
||||
{{if .appConfig.NewURLAddr1}}
|
||||
<a class="footer-contact-line" href="{{.appConfig.NewURLAddr1}}" target="_blank" rel="sponsored nofollow noopener noreferrer" data-nav-key="backup_address" data-nav-name="备用地址">备用地址:{{.appConfig.NewURLAddr1}}</a>
|
||||
<a class="footer-contact-line" href="{{.appConfig.NewURLAddr1}}" target="_blank" rel="sponsored nofollow noopener noreferrer">备用地址:{{.appConfig.NewURLAddr1}}</a>
|
||||
{{end}}
|
||||
{{if .appConfig.ForeverURLAddr}}
|
||||
<a class="footer-contact-line" href="{{.appConfig.ForeverURLAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" data-nav-key="permanent_address" data-nav-name="海外永久地址">海外永久地址:{{.appConfig.ForeverURLAddr}}</a>
|
||||
<a class="footer-contact-line" href="{{.appConfig.ForeverURLAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer">海外永久地址:{{.appConfig.ForeverURLAddr}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
@@ -86,7 +86,7 @@
|
||||
<div class="footer-social-label">联系我们</div>
|
||||
<div class="footer-icons">
|
||||
{{if .appConfig.TwitterAddr}}
|
||||
<a class="footer-icon-link" href="{{.appConfig.TwitterAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="X" data-nav-key="social_x" data-nav-name="X">
|
||||
<a class="footer-icon-link" href="{{.appConfig.TwitterAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="X">
|
||||
<img class="footer-icon-outer" src="/static/images/x.svg" alt="X" />
|
||||
</a>
|
||||
{{end}}
|
||||
@@ -94,7 +94,7 @@
|
||||
<div class="footer-icon-divider"></div>
|
||||
{{end}}
|
||||
{{if .appConfig.TGGroup}}
|
||||
<a class="footer-icon-link" href="{{.appConfig.TGGroup}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="Telegram" data-nav-key="social_telegram" data-nav-name="Telegram">
|
||||
<a class="footer-icon-link" href="{{.appConfig.TGGroup}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="Telegram">
|
||||
<img class="footer-icon-outer" src="/static/images/tg.svg" alt="Telegram" />
|
||||
</a>
|
||||
{{end}}
|
||||
@@ -103,17 +103,17 @@
|
||||
{{end}}
|
||||
<div class="footer-social-home" aria-label="合作与社交媒体">
|
||||
{{if .appConfig.Telegram}}
|
||||
<a class="footer-social-home-item" href="{{.appConfig.Telegram}}"{{if hasPrefix .appConfig.Telegram "http"}} target="_blank" rel="sponsored nofollow noopener noreferrer"{{end}} aria-label="商户合作" data-nav-key="business_contact" data-nav-name="商户合作"><img src="/static/images/figma-home/social-instagram.svg" alt="" /></a>
|
||||
<a class="footer-social-home-item" href="{{.appConfig.Telegram}}"{{if hasPrefix .appConfig.Telegram "http"}} target="_blank" rel="sponsored nofollow noopener noreferrer"{{end}} aria-label="商户合作"><img src="/static/images/figma-home/social-instagram.svg" alt="" /></a>
|
||||
{{else}}
|
||||
<span class="footer-social-home-item" aria-hidden="true"><img src="/static/images/figma-home/social-instagram.svg" alt="" /></span>
|
||||
{{end}}
|
||||
{{if .appConfig.TGGroup}}
|
||||
<a class="footer-social-home-item" href="{{.appConfig.TGGroup}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="Telegram" data-nav-key="social_telegram" data-nav-name="Telegram"><img src="/static/images/figma-home/social-telegram.svg" alt="" /></a>
|
||||
<a class="footer-social-home-item" href="{{.appConfig.TGGroup}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="Telegram"><img src="/static/images/figma-home/social-telegram.svg" alt="" /></a>
|
||||
{{else}}
|
||||
<span class="footer-social-home-item" aria-hidden="true"><img src="/static/images/figma-home/social-telegram.svg" alt="" /></span>
|
||||
{{end}}
|
||||
{{if .appConfig.TwitterAddr}}
|
||||
<a class="footer-social-home-item" href="{{.appConfig.TwitterAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="X" data-nav-key="social_x" data-nav-name="X"><img src="/static/images/figma-home/social-x.svg" alt="" /></a>
|
||||
<a class="footer-social-home-item" href="{{.appConfig.TwitterAddr}}" target="_blank" rel="sponsored nofollow noopener noreferrer" aria-label="X"><img src="/static/images/figma-home/social-x.svg" alt="" /></a>
|
||||
{{else}}
|
||||
<span class="footer-social-home-item" aria-hidden="true"><img src="/static/images/figma-home/social-x.svg" alt="" /></span>
|
||||
{{end}}
|
||||
@@ -122,25 +122,25 @@
|
||||
</div>
|
||||
</footer>
|
||||
<nav class="h5-tabbar" aria-label="底部导航">
|
||||
<a class="h5-tabbar-item{{if eq .navActive "home"}} is-active{{end}}" href="/" data-nav-key="home" data-nav-name="主页">
|
||||
<a class="h5-tabbar-item{{if eq .navActive "home"}} is-active{{end}}" href="/">
|
||||
<img class="h5-tabbar-icon" src="/static/images/tab_home{{if eq .navActive "home"}}_a{{end}}.svg" alt="主页" />
|
||||
<span>主页</span>
|
||||
</a>
|
||||
<a class="h5-tabbar-item{{if eq .navActive "rank"}} is-active{{end}}" href="/rank/" data-nav-key="rank" data-nav-name="热榜">
|
||||
<a class="h5-tabbar-item{{if eq .navActive "rank"}} is-active{{end}}" href="/rank/">
|
||||
<img class="h5-tabbar-icon" src="/static/images/tab_rb{{if eq .navActive "rank"}}_a{{end}}.svg" alt="热榜" />
|
||||
<span>热榜</span>
|
||||
</a>
|
||||
<a class="h5-tabbar-item{{if eq .navActive "list"}} is-active{{end}}" href="/list/ai-short-play/" data-nav-key="list" data-nav-name="片库">
|
||||
<a class="h5-tabbar-item{{if eq .navActive "list"}} is-active{{end}}" href="/list/ai-short-play/">
|
||||
<img class="h5-tabbar-icon" src="/static/images/tab_pk{{if eq .navActive "list"}}_a{{end}}.svg" alt="片库" />
|
||||
<span>片库</span>
|
||||
</a>
|
||||
<a class="h5-tabbar-item{{if eq .navActive "todayUpdate"}} is-active{{end}}" href="/today-update/" data-nav-key="today_update" data-nav-name="最新">
|
||||
<a class="h5-tabbar-item{{if eq .navActive "todayUpdate"}} is-active{{end}}" href="/today-update/">
|
||||
<img class="h5-tabbar-icon" src="/static/images/tab_zx{{if eq .navActive "todayUpdate"}}_a{{end}}.svg" alt="最新" />
|
||||
<span>最新</span>
|
||||
</a>
|
||||
<a class="h5-tabbar-item{{if eq .navActive "userCenter"}} is-active{{end}}" href="/user-center/" data-nav-key="user_center" data-nav-name="我的">
|
||||
<img class="h5-tabbar-icon" src="/static/images/tab_wd{{if eq .navActive "userCenter"}}_a{{end}}.svg" alt="我的" />
|
||||
<span>我的</span>
|
||||
<a class="h5-tabbar-item{{if eq .navActive "downloadApp"}} is-active{{end}}" href="{{if .appConfig.AppAddr}}{{.appConfig.AppAddr}}{{else}}/download-app/{{end}}"{{if .appConfig.AppAddr}} target="_blank" rel="sponsored nofollow noopener noreferrer"{{end}} data-download-app-open>
|
||||
<img class="h5-tabbar-icon" src="/static/images/tab_app{{if eq .navActive "downloadApp"}}_a{{end}}.svg" alt="下载APP" />
|
||||
<span>下载APP</span>
|
||||
</a>
|
||||
</nav>
|
||||
<noscript>
|
||||
@@ -158,9 +158,9 @@
|
||||
{{$footerHref := footerLinkURL .Name .URLValue}}
|
||||
{{if $footerHref}}
|
||||
{{if footerLinkIsExternal $footerHref}}
|
||||
<a href="{{$footerHref}}" target="_blank" rel="sponsored nofollow noopener noreferrer" data-nav-key="footer_link" data-nav-name="{{.Name}}">{{.Name}}</a>
|
||||
<a href="{{$footerHref}}" target="_blank" rel="sponsored nofollow noopener noreferrer">{{.Name}}</a>
|
||||
{{else}}
|
||||
<a href="{{$footerHref}}" data-nav-key="footer_link" data-nav-name="{{.Name}}">{{.Name}}</a>
|
||||
<a href="{{$footerHref}}">{{.Name}}</a>
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{define "header"}}
|
||||
<link rel="stylesheet" href="/static/css/header.css?v=13" />
|
||||
<link rel="stylesheet" href="/static/css/header.css?v=14" />
|
||||
<header class="site-header">
|
||||
<div class="header-inner">
|
||||
<button
|
||||
@@ -12,8 +12,8 @@
|
||||
>
|
||||
<img src="/static/images/figma-home/mobile/menu.svg" alt="" />
|
||||
</button>
|
||||
<a class="brand-lockup" href="/" data-nav-key="home" data-nav-name="首页">
|
||||
<img class="brand-logo" src="/static/images/logo.png" alt="黄果短剧" title="黄果短剧" />
|
||||
<a class="brand-lockup" href="/">
|
||||
<img class="brand-logo" src="/static/images/logo.png?v=3" alt="黄果短剧" title="黄果短剧" />
|
||||
</a>
|
||||
|
||||
<div class="header-nav">
|
||||
@@ -25,8 +25,6 @@
|
||||
rel="sponsored nofollow noopener noreferrer"
|
||||
data-download-app-open
|
||||
data-download-app-url="{{$.appConfig.AppAddr}}"
|
||||
data-nav-key="{{.Key}}"
|
||||
data-nav-name="{{.Name}}"
|
||||
{{if .IsActive}}aria-current="page"{{end}}
|
||||
>{{.Name}}</a
|
||||
>
|
||||
@@ -36,8 +34,6 @@
|
||||
href="{{.Href}}"
|
||||
target="_blank"
|
||||
rel="sponsored nofollow noopener noreferrer"
|
||||
data-nav-key="{{.Key}}"
|
||||
data-nav-name="{{.Name}}"
|
||||
{{if .IsActive}}aria-current="page"{{end}}
|
||||
>{{.Name}}</a
|
||||
>
|
||||
@@ -45,8 +41,6 @@
|
||||
<a
|
||||
class="{{if .IsActive}}nav-link-active{{else}}nav-link{{end}}"
|
||||
href="{{.Href}}"
|
||||
data-nav-key="{{.Key}}"
|
||||
data-nav-name="{{.Name}}"
|
||||
{{if .IsActive}}aria-current="page"{{end}}
|
||||
>{{.Name}}</a
|
||||
>
|
||||
@@ -73,78 +67,11 @@
|
||||
/>
|
||||
</form>
|
||||
|
||||
<a class="header-mobile-search-link" href="/search/" aria-label="前往搜索页" data-nav-key="search" data-nav-name="搜索">
|
||||
<a class="header-mobile-search-link" href="/search/" aria-label="前往搜索页">
|
||||
<img src="/static/images/figma-home/mobile/search.svg" width="16" height="16" alt="" />
|
||||
</a>
|
||||
|
||||
<a class="header-design-coin" href="/deposit/" aria-label="会员充值" data-nav-key="deposit" data-nav-name="会员充值" hidden>
|
||||
<img src="/static/images/figma-home/header-coin.png" width="56" height="56" alt="" />
|
||||
</a>
|
||||
<div class="header-design-separator" aria-hidden="true" hidden></div>
|
||||
|
||||
<a
|
||||
class="header-app-icon"
|
||||
href="/deposit/"
|
||||
aria-label="会员充值"
|
||||
data-nav-key="deposit"
|
||||
data-nav-name="会员充值"
|
||||
data-header-vip{{if
|
||||
not
|
||||
.isVip}}
|
||||
hidden{{end}}
|
||||
>
|
||||
<img src="/static/images/isVip.png" alt="VIP会员" />
|
||||
</a>
|
||||
<div
|
||||
class="header-separator"
|
||||
data-header-vip-sep{{if
|
||||
not
|
||||
.isVip}}
|
||||
hidden{{end}}
|
||||
></div>
|
||||
|
||||
<a
|
||||
class="header-account"
|
||||
href="{{if .isLoggedIn}}/user-center/{{else}}#login{{end}}"
|
||||
data-header-account{{if
|
||||
not
|
||||
.isLoggedIn}}
|
||||
data-login-dialog-open{{end}}
|
||||
data-nav-key="{{if .isLoggedIn}}user_center{{else}}login{{end}}"
|
||||
data-nav-name="{{if .isLoggedIn}}个人中心{{else}}登录{{end}}"
|
||||
>
|
||||
{{if .isLoggedIn}} {{if .avatar}}
|
||||
<img
|
||||
class="account-avatar-photo lazy"
|
||||
src="/static/images/placeholder.png?v=2"
|
||||
data-src="{{.avatar}}"
|
||||
alt="{{if .userName}}{{.userName}}{{else}}用户{{end}}的头像"
|
||||
data-header-avatar
|
||||
/>
|
||||
{{else}}
|
||||
<img
|
||||
class="account-avatar-photo"
|
||||
src="/static/images/avatar.png"
|
||||
alt="{{if .userName}}{{.userName}}{{else}}用户{{end}}的默认头像"
|
||||
data-header-avatar
|
||||
/>
|
||||
{{end}}
|
||||
<div class="account-label account-label--logged" data-header-username>
|
||||
{{if .userName}}{{.userName}}{{else}}用户{{end}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="account-avatar" data-header-guest-avatar>
|
||||
<img
|
||||
class="account-avatar-ring"
|
||||
src="/static/images/avatar.png"
|
||||
alt="未登录用户头像"
|
||||
/>
|
||||
<div class="account-avatar-body"></div>
|
||||
<div class="account-avatar-head"></div>
|
||||
</div>
|
||||
<div class="account-label" data-header-username>未登录</div>
|
||||
{{end}}
|
||||
</a>
|
||||
<span hidden data-app-download-url="{{.appConfig.AppAddr}}"></span>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@@ -194,17 +121,17 @@
|
||||
<button class="home-mobile-menu-close" type="button" data-home-menu-close aria-label="关闭导航菜单">
|
||||
<img src="/static/images/figma-home/mobile/drawer-close.svg" width="24" height="24" alt="" />
|
||||
</button>
|
||||
<a class="home-mobile-menu-logo" href="/" aria-label="黄果短剧首页" data-nav-key="home" data-nav-name="首页">
|
||||
<img src="/static/images/figma-home/mobile/drawer-logo.png" width="138" height="36" alt="黄果短剧" title="黄果短剧" />
|
||||
<a class="home-mobile-menu-logo" href="/" aria-label="黄果短剧首页">
|
||||
<img src="/static/images/figma-home/mobile/drawer-logo.png?v=3" width="138" height="36" alt="黄果短剧" title="黄果短剧" />
|
||||
</a>
|
||||
<nav class="home-mobile-menu-links" aria-label="移动端导航">
|
||||
<a class="{{if eq .resolvedNavActive "home"}}is-active{{end}}" href="/" data-nav-key="home" data-nav-name="首页"{{if eq .resolvedNavActive "home"}} aria-current="page"{{end}}>首页</a>
|
||||
<a class="{{if or (eq .resolvedNavActive "aiShortPlay") (eq .resolvedNavActive "list")}}is-active{{end}}" href="/list/ai-short-play/" data-nav-key="list" data-nav-name="AI成人短剧"{{if or (eq .resolvedNavActive "aiShortPlay") (eq .resolvedNavActive "list")}} aria-current="page"{{end}}>AI成人短剧</a>
|
||||
<a class="{{if eq .resolvedNavActive "aiSeries"}}is-active{{end}}" href="/series/" data-nav-key="series" data-nav-name="AI成人剧集"{{if eq .resolvedNavActive "aiSeries"}} aria-current="page"{{end}}>AI成人剧集</a>
|
||||
<a class="{{if eq .resolvedNavActive "topic"}}is-active{{end}}" href="/topic/" data-nav-key="theme_index" data-nav-name="专题"{{if eq .resolvedNavActive "topic"}} aria-current="page"{{end}}>专题</a>
|
||||
<a class="{{if eq .resolvedNavActive "rank"}}is-active{{end}}" href="/rank/" data-nav-key="rank" data-nav-name="排行榜"{{if eq .resolvedNavActive "rank"}} aria-current="page"{{end}}>排行榜</a>
|
||||
<a class="{{if eq .resolvedNavActive "homeRoad"}}is-active{{end}}" href="/home-road/" data-nav-key="home_road" data-nav-name="回家的路"{{if eq .resolvedNavActive "homeRoad"}} aria-current="page"{{end}}>回家的路</a>
|
||||
<a class="{{if eq .resolvedNavActive "application"}}is-active{{end}}" href="/application/" data-nav-key="application" data-nav-name="福利应用"{{if eq .resolvedNavActive "application"}} aria-current="page"{{end}}>福利应用</a>
|
||||
<a class="{{if eq .resolvedNavActive "home"}}is-active{{end}}" href="/"{{if eq .resolvedNavActive "home"}} aria-current="page"{{end}}>首页</a>
|
||||
<a class="{{if or (eq .resolvedNavActive "aiShortPlay") (eq .resolvedNavActive "list")}}is-active{{end}}" href="/list/ai-short-play/"{{if or (eq .resolvedNavActive "aiShortPlay") (eq .resolvedNavActive "list")}} aria-current="page"{{end}}>AI成人短剧</a>
|
||||
<a class="{{if eq .resolvedNavActive "aiSeries"}}is-active{{end}}" href="/series/"{{if eq .resolvedNavActive "aiSeries"}} aria-current="page"{{end}}>AI成人剧集</a>
|
||||
<a class="{{if eq .resolvedNavActive "topic"}}is-active{{end}}" href="/topic/"{{if eq .resolvedNavActive "topic"}} aria-current="page"{{end}}>专题</a>
|
||||
<a class="{{if eq .resolvedNavActive "rank"}}is-active{{end}}" href="/rank/"{{if eq .resolvedNavActive "rank"}} aria-current="page"{{end}}>排行榜</a>
|
||||
<a class="{{if eq .resolvedNavActive "homeRoad"}}is-active{{end}}" href="/home-road/"{{if eq .resolvedNavActive "homeRoad"}} aria-current="page"{{end}}>回家的路</a>
|
||||
<a class="{{if eq .resolvedNavActive "application"}}is-active{{end}}" href="/application/"{{if eq .resolvedNavActive "application"}} aria-current="page"{{end}}>福利应用</a>
|
||||
</nav>
|
||||
<div class="home-mobile-menu-contact">
|
||||
{{if .appConfig.GmailAddr}}<div>E-mail:<a href="mailto:{{.appConfig.GmailAddr}}">{{.appConfig.GmailAddr}}</a></div>{{end}}
|
||||
@@ -228,10 +155,8 @@
|
||||
</aside>
|
||||
</div>
|
||||
|
||||
<script defer src="/static/js/common/cookie.js"></script>
|
||||
<script defer src="/static/js/common/request.js?v=2"></script>
|
||||
<script defer src="/static/js/common/auth.js?v=2"></script>
|
||||
<script defer src="/static/js/common/request.js?v=3"></script>
|
||||
<script defer src="/static/common/imgDecypt.js?v=2"></script>
|
||||
<script defer src="/static/js/pages/header.js?v=8"></script>
|
||||
<script defer src="/static/js/pages/dialogLoader.js?v=6"></script>
|
||||
<script defer src="/static/js/pages/header.js?v=9"></script>
|
||||
<script defer src="/static/js/pages/dialogLoader.js?v=7"></script>
|
||||
{{template "toast" .}} {{template "eightPop" .}} {{template "dialogAd" .}} {{end}}
|
||||
|
||||
@@ -14,12 +14,7 @@
|
||||
rel="sponsored nofollow noopener noreferrer"
|
||||
{{else}}aria-disabled="true"
|
||||
{{end}}
|
||||
data-ad-id="{{$ad.ID}}"
|
||||
data-creative-id="{{$ad.ID}}"
|
||||
data-ad-slot-key="{{if $.SlotKey}}{{$.SlotKey}}{{else}}home_nine_grid{{end}}"
|
||||
data-ad-slot-name="{{if $.SlotName}}{{$.SlotName}}{{else}}首页横幅广告{{end}}"
|
||||
data-ad-type="banner"
|
||||
data-advertising-name="{{$ad.Title}}"
|
||||
>
|
||||
<img
|
||||
class="lazy"
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
{{define "loginDialog"}}
|
||||
<div class="login-dialog-mask" id="loginDialog">
|
||||
<div class="login-dialog-stack">
|
||||
<div
|
||||
class="login-dialog-card"
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
aria-labelledby="loginDialogTitle"
|
||||
>
|
||||
<div class="login-dialog-head">
|
||||
<div class="login-dialog-title" id="loginDialogTitle">
|
||||
<span class="login-dialog-title-h5">黄果短剧</span>
|
||||
<span class="login-dialog-title-pc">黄果短剧</span>
|
||||
</div>
|
||||
<div class="login-dialog-desc">登录后同步收藏、历史与会员权益</div>
|
||||
</div>
|
||||
<form
|
||||
class="login-dialog-form"
|
||||
action="/api/auth/login"
|
||||
method="post"
|
||||
data-login-dialog-form
|
||||
novalidate
|
||||
>
|
||||
<div class="login-dialog-field-group" data-login-field="account">
|
||||
<span class="login-dialog-label">账号</span>
|
||||
<label class="login-dialog-field" data-login-control>
|
||||
<span class="login-dialog-sr">账号</span>
|
||||
<input
|
||||
class="login-dialog-input"
|
||||
name="account"
|
||||
type="text"
|
||||
placeholder="请输入账号(最少6位字母)或手机号"
|
||||
autocomplete="username"
|
||||
data-login-account
|
||||
aria-describedby="loginDialogAccountError"
|
||||
/>
|
||||
</label>
|
||||
<p
|
||||
class="login-dialog-error"
|
||||
id="loginDialogAccountError"
|
||||
hidden
|
||||
data-login-error
|
||||
>
|
||||
账号格式不正确,请输入有效账号
|
||||
</p>
|
||||
</div>
|
||||
<div class="login-dialog-field-group" data-login-field="password">
|
||||
<span class="login-dialog-label">密码</span>
|
||||
<label
|
||||
class="login-dialog-field login-dialog-field--password"
|
||||
data-login-control
|
||||
>
|
||||
<span class="login-dialog-sr">密码</span>
|
||||
<input
|
||||
class="login-dialog-input"
|
||||
id="loginDialogPassword"
|
||||
name="password"
|
||||
type="password"
|
||||
placeholder="请输入登录密码"
|
||||
autocomplete="current-password"
|
||||
minlength="4"
|
||||
maxlength="16"
|
||||
data-login-password
|
||||
aria-describedby="loginDialogPasswordError"
|
||||
/>
|
||||
<button
|
||||
class="login-dialog-eye"
|
||||
type="button"
|
||||
aria-label="显示密码"
|
||||
data-login-dialog-eye
|
||||
>
|
||||
<img src="/static/images/figma-dialogs/password-eye.svg" alt="显示或隐藏密码" />
|
||||
</button>
|
||||
</label>
|
||||
<p
|
||||
class="login-dialog-error"
|
||||
id="loginDialogPasswordError"
|
||||
hidden
|
||||
data-login-error
|
||||
>
|
||||
密码错误,请检查后重新输入
|
||||
</p>
|
||||
</div>
|
||||
<button class="login-dialog-submit" type="submit" data-login-submit>
|
||||
登录
|
||||
</button>
|
||||
</form>
|
||||
<div class="login-dialog-register">
|
||||
<span class="login-dialog-register-prefix">还没有账号?</span>
|
||||
<a
|
||||
class="login-dialog-register-link login-dialog-register-link--pc"
|
||||
href="#register"
|
||||
data-register-dialog-open
|
||||
>立即注册</a
|
||||
>
|
||||
<a class="login-dialog-register-link login-dialog-register-link--h5" href="#register" data-register-dialog-open>立即注册</a>
|
||||
</div>
|
||||
</div>
|
||||
<button class="login-dialog-close" type="button" aria-label="关闭" data-login-dialog-close>
|
||||
<img src="/static/images/figma-dialogs/dialog-close.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
@@ -1,80 +0,0 @@
|
||||
{{define "registerDialog"}}
|
||||
<div class="register-dialog-mask" id="registerDialog">
|
||||
<div class="register-dialog-stack">
|
||||
<div class="register-dialog-card" role="dialog" aria-modal="true" aria-labelledby="registerDialogTitle">
|
||||
<div class="register-dialog-head">
|
||||
<div class="register-dialog-title" id="registerDialogTitle">创建账号</div>
|
||||
<div class="register-dialog-desc">
|
||||
<span class="register-dialog-desc-h5">注册后同步收藏、历史与会员权益</span>
|
||||
<span class="register-dialog-desc-pc">注册成功即可同步收藏与追剧记录</span>
|
||||
</div>
|
||||
</div>
|
||||
<form class="register-dialog-form" action="/api/auth/register" method="post" data-register-dialog-form novalidate>
|
||||
<div class="register-dialog-field-group" data-register-field="account">
|
||||
<span class="register-dialog-label register-dialog-label--account">账号</span>
|
||||
<label class="register-dialog-field" data-register-control>
|
||||
<span class="register-dialog-sr">账号</span>
|
||||
<input
|
||||
class="register-dialog-input"
|
||||
name="account"
|
||||
type="text"
|
||||
placeholder="请输入账号(最少6位字母)"
|
||||
autocomplete="username"
|
||||
minlength="4"
|
||||
maxlength="16"
|
||||
data-register-account
|
||||
aria-describedby="registerDialogAccountError"
|
||||
/>
|
||||
</label>
|
||||
<p class="register-dialog-error" id="registerDialogAccountError" hidden data-register-error>账号需为 4–16 个字符</p>
|
||||
</div>
|
||||
<div class="register-dialog-field-group" data-register-field="password">
|
||||
<span class="register-dialog-label register-dialog-label--password">密码</span>
|
||||
<label class="register-dialog-field register-dialog-field--tall" data-register-control>
|
||||
<span class="register-dialog-sr">密码</span>
|
||||
<input
|
||||
class="register-dialog-input"
|
||||
name="password"
|
||||
type="password"
|
||||
placeholder="请输入密码"
|
||||
autocomplete="new-password"
|
||||
minlength="4"
|
||||
maxlength="16"
|
||||
data-register-password
|
||||
aria-describedby="registerDialogPasswordError"
|
||||
/>
|
||||
</label>
|
||||
<p class="register-dialog-error" id="registerDialogPasswordError" hidden data-register-error>密码需为 4–16 个字符</p>
|
||||
</div>
|
||||
<div class="register-dialog-field-group" data-register-field="password_confirm">
|
||||
<span class="register-dialog-label register-dialog-label--password">确认密码</span>
|
||||
<label class="register-dialog-field register-dialog-field--tall" data-register-control>
|
||||
<span class="register-dialog-sr">确认密码</span>
|
||||
<input
|
||||
class="register-dialog-input"
|
||||
name="password_confirm"
|
||||
type="password"
|
||||
placeholder="请再次输入密码"
|
||||
autocomplete="new-password"
|
||||
minlength="4"
|
||||
maxlength="16"
|
||||
data-register-password-confirm
|
||||
aria-describedby="registerDialogPasswordConfirmError"
|
||||
/>
|
||||
</label>
|
||||
<p class="register-dialog-error" id="registerDialogPasswordConfirmError" hidden data-register-error>两次输入的密码不一致</p>
|
||||
</div>
|
||||
<button class="register-dialog-submit" type="submit" data-register-submit>立即注册</button>
|
||||
</form>
|
||||
<div class="register-dialog-login">
|
||||
<span class="register-dialog-login-prefix">已有账号?</span>
|
||||
<a class="register-dialog-login-link register-dialog-login-link--pc" href="#login" data-login-dialog-open>去登录</a>
|
||||
<a class="register-dialog-login-link register-dialog-login-link--h5" href="#login" data-login-dialog-open>去登录</a>
|
||||
</div>
|
||||
</div>
|
||||
<button class="register-dialog-close" type="button" aria-label="关闭" data-register-dialog-close>
|
||||
<img src="/static/images/figma-dialogs/dialog-close.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
@@ -37,23 +37,21 @@
|
||||
{{if .paginationNextURL}}<link rel="next" href="{{.paginationNextURL}}" />{{end}}
|
||||
<link rel="dns-prefetch" href="//zz.bdstatic.com" />
|
||||
<link rel="preconnect" href="https://zz.bdstatic.com" crossorigin />
|
||||
<link rel="icon" href="/favicon.svg?v=2" type="image/svg+xml" sizes="any" />
|
||||
<link rel="icon" href="/favicon.png?v=2" type="image/png" sizes="512x512" />
|
||||
<link rel="icon" href="/favicon.ico?v=2" type="image/x-icon" sizes="256x256" />
|
||||
<link rel="apple-touch-icon" href="/favicon.png?v=2" />
|
||||
<link rel="icon" href="/favicon.svg?v=3" type="image/svg+xml" sizes="any" />
|
||||
<link rel="icon" href="/favicon.png?v=3" type="image/png" sizes="512x512" />
|
||||
<link rel="icon" href="/favicon.ico?v=3" type="image/x-icon" sizes="256x256" />
|
||||
<link rel="apple-touch-icon" href="/favicon.png?v=3" />
|
||||
{{/* 首屏壳层:合并 base+header+footer+eightPop,减少弱网 RTT(改源文件后跑
|
||||
scripts/build-shell-css.sh) */}}
|
||||
<link rel="stylesheet" href="/static/css/shell.css?v=3" />
|
||||
<style>
|
||||
/* 弹窗依赖 CSS 隐藏;在完整弹窗样式到达前先压住,避免无样式闪现 */
|
||||
.login-dialog-mask:not(.is-open),
|
||||
.register-dialog-mask:not(.is-open),
|
||||
.download-app-dialog-mask:not(.is-open),
|
||||
.search-dialog-mask:not(.is-open) {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
{{template "trackerInit" .}}
|
||||
{{template "analytics" .}}
|
||||
<script>
|
||||
(function () {
|
||||
function injectBaiduPush() {
|
||||
|
||||
@@ -17,12 +17,7 @@
|
||||
rel="sponsored nofollow noopener noreferrer"
|
||||
{{else}}aria-disabled="true"
|
||||
{{end}}
|
||||
data-ad-id="{{$ad.ID}}"
|
||||
data-creative-id="{{$ad.ID}}"
|
||||
data-ad-slot-key="{{if $.SlotKey}}{{$.SlotKey}}{{else}}square_promo{{end}}"
|
||||
data-ad-slot-name="{{if $.SlotName}}{{$.SlotName}}{{else}}方块广告{{end}}"
|
||||
data-ad-type="square"
|
||||
data-advertising-name="{{$ad.Title}}"
|
||||
>
|
||||
<span class="square-promo__cover">
|
||||
<img
|
||||
|
||||
@@ -1,167 +0,0 @@
|
||||
{{define "trackerInit"}}
|
||||
{{/* PC:defer 正常加载;H5:延后注入 SDK,降低首屏带宽与主线程争抢 */}}
|
||||
<script>
|
||||
window.__TRACKER_BOOT__ = {
|
||||
appId: "{{InTrackerAppId}}",
|
||||
encryptedConfig: {{jsonStr .appConfig.ReportSDKConfig}},
|
||||
appVersion: "1.0.0",
|
||||
pageKey: "{{.pageKey}}",
|
||||
pageName: "{{.pageName}}"
|
||||
};
|
||||
window.__IS_H5__ = !!(window.matchMedia && window.matchMedia("(max-width: 767px)").matches);
|
||||
</script>
|
||||
{{/* PC 保留原 defer;H5 不在此拉取,由下方脚本空闲时注入 */}}
|
||||
<script>
|
||||
(function () {
|
||||
if (window.__IS_H5__) return;
|
||||
var s1 = document.createElement("script");
|
||||
s1.defer = true;
|
||||
s1.src = "/static/common/web-sdk-v1.1.8.js?v=1";
|
||||
document.head.appendChild(s1);
|
||||
var s2 = document.createElement("script");
|
||||
s2.defer = true;
|
||||
s2.src = "/static/js/tracker.js?v=3";
|
||||
document.head.appendChild(s2);
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function () {
|
||||
var isH5 = !!window.__IS_H5__;
|
||||
var sdkSrc = "/static/common/web-sdk-v1.1.8.js?v=1";
|
||||
var trackerSrc = "/static/js/tracker.js?v=3";
|
||||
|
||||
function getQueryParam(name) {
|
||||
try {
|
||||
var s = window.location.search || "";
|
||||
var m = new RegExp("[?&]" + name + "=([^&#]*)").exec(s);
|
||||
return m ? decodeURIComponent(m[1].replace(/\+/g, " ")) : "";
|
||||
} catch (e) { return ""; }
|
||||
}
|
||||
function getCookie(name) {
|
||||
try {
|
||||
var match = document.cookie.match(new RegExp("(?:^|; )" + name + "=([^;]*)"));
|
||||
return match ? decodeURIComponent(match[1]) : "";
|
||||
} catch (e) { return ""; }
|
||||
}
|
||||
// 渠道采用首次归因:dc、ch、pc 按落地页项目的顺序识别,已有渠道不覆盖。
|
||||
function getStoredChannel() {
|
||||
try {
|
||||
var storedChannel = window.localStorage.getItem("channel");
|
||||
storedChannel = storedChannel ? String(storedChannel).trim() : "";
|
||||
if (storedChannel) return storedChannel;
|
||||
|
||||
var channel = getQueryParam("dc") || getQueryParam("ch") || getQueryParam("pc") || "";
|
||||
channel = String(channel).trim();
|
||||
if (channel) window.localStorage.setItem("channel", channel);
|
||||
return channel;
|
||||
} catch (e) {
|
||||
// localStorage 被禁用时仍使用当前 URL 的渠道码完成本次上报。
|
||||
return String(getQueryParam("dc") || getQueryParam("ch") || getQueryParam("pc") || "").trim();
|
||||
}
|
||||
}
|
||||
// H5 埋点脚本会延迟加载,先同步落盘,避免用户快速跳转时丢失首次渠道。
|
||||
var trackerChannel = getStoredChannel();
|
||||
function loadScript(src) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var existing = document.querySelector('script[src="' + src + '"]');
|
||||
if (existing) {
|
||||
if (existing.getAttribute("data-loaded") === "1" || typeof window.trackerInit === "function") {
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
existing.addEventListener("load", function () { resolve(); });
|
||||
existing.addEventListener("error", reject);
|
||||
return;
|
||||
}
|
||||
var s = document.createElement("script");
|
||||
s.src = src;
|
||||
s.async = true;
|
||||
s.onload = function () {
|
||||
s.setAttribute("data-loaded", "1");
|
||||
resolve();
|
||||
};
|
||||
s.onerror = reject;
|
||||
document.head.appendChild(s);
|
||||
});
|
||||
}
|
||||
function bootTracker() {
|
||||
if (typeof window.trackerInit !== "function" || !window.__TRACKER_BOOT__) return;
|
||||
var uid = getQueryParam("uid") || getCookie("uid") || getCookie("userId") || "";
|
||||
var cfg = window.__TRACKER_BOOT__;
|
||||
window.trackerInit({
|
||||
appId: cfg.appId,
|
||||
uid: uid,
|
||||
channel: trackerChannel,
|
||||
encryptedConfig: cfg.encryptedConfig,
|
||||
appVersion: cfg.appVersion,
|
||||
pageKey: cfg.pageKey,
|
||||
pageName: cfg.pageName,
|
||||
});
|
||||
}
|
||||
function whenTrackerReady(cb) {
|
||||
if (typeof window.trackerInit === "function") {
|
||||
cb();
|
||||
return;
|
||||
}
|
||||
var n = 0;
|
||||
var t = setInterval(function () {
|
||||
n += 1;
|
||||
if (typeof window.trackerInit === "function" || n > 40) {
|
||||
clearInterval(t);
|
||||
cb();
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
function bootAnalytics() {
|
||||
var run = function () {
|
||||
bootTracker();
|
||||
};
|
||||
if (isH5) {
|
||||
loadScript(sdkSrc)
|
||||
.then(function () { return loadScript(trackerSrc); })
|
||||
.then(run)
|
||||
.catch(function () {});
|
||||
return;
|
||||
}
|
||||
whenTrackerReady(run);
|
||||
}
|
||||
function scheduleBoot() {
|
||||
if (isH5) {
|
||||
if ("requestIdleCallback" in window) {
|
||||
requestIdleCallback(bootAnalytics, { timeout: 4000 });
|
||||
} else {
|
||||
setTimeout(bootAnalytics, 2500);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", bootAnalytics);
|
||||
} else {
|
||||
bootAnalytics();
|
||||
}
|
||||
}
|
||||
scheduleBoot();
|
||||
})();
|
||||
</script>
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript">
|
||||
(function(m,e,t,r,i,k,a){
|
||||
m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
||||
m[i].l=1*new Date();
|
||||
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
|
||||
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
|
||||
})(window, document,'script','https://mc.yandex.ru/metrika/tag.js?id={{if .isNavPage}}112390883{{else}}112387687{{end}}', 'ym');
|
||||
|
||||
ym({{if .isNavPage}}112390883{{else}}112387687{{end}}, 'init', {ssr:true, webvisor:true, clickmap:true, ecommerce:"dataLayer", referrer: document.referrer, url: location.href, accurateTrackBounce:true, trackLinks:true});
|
||||
</script>
|
||||
<!-- /Yandex.Metrika counter -->
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id={{if .isNavPage}}G-SY26Y2MSHS{{else}}G-TZQS2NZ3TN{{end}}"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', '{{if .isNavPage}}G-SY26Y2MSHS{{else}}G-TZQS2NZ3TN{{end}}');
|
||||
</script>
|
||||
{{end}}
|
||||
@@ -1,24 +0,0 @@
|
||||
{{define "vipDialog"}}
|
||||
<link rel="stylesheet" href="/static/css/vipDialog.css">
|
||||
<div class="vip-dialog-mask" id="vipDialog">
|
||||
<div class="vip-dialog-card" role="dialog" aria-modal="true" aria-labelledby="vipDialogTitle">
|
||||
<button class="vip-dialog-close" type="button" aria-label="关闭" data-vip-dialog-close>
|
||||
<span class="vip-dialog-close-ring"></span>
|
||||
<span class="vip-dialog-close-x"></span>
|
||||
</button>
|
||||
<div class="vip-dialog-icon" aria-hidden="true">
|
||||
<span class="vip-dialog-icon-bg"></span>
|
||||
<svg class="vip-dialog-icon-crown" viewBox="0 0 24 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.5 18.5h21L19.5 7.5l-4.5 5L12 2.5 9 12.5l-4.5-5L1.5 18.5z" fill="currentColor"/>
|
||||
<path d="M1.5 18.5h21v2.5h-21v-2.5z" fill="currentColor"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="vip-dialog-title" id="vipDialogTitle">本集为 VIP 专享</div>
|
||||
<div class="vip-dialog-desc">当前账号尚未开通会员,开通后即可继续观看。</div>
|
||||
<div class="vip-dialog-benefits">全集免费看 · 无广告打扰 · 专属内容</div>
|
||||
<a class="vip-dialog-cta" href="/deposit/">开通 VIP 立即观看</a>
|
||||
<button class="vip-dialog-skip" type="button" data-vip-dialog-close>暂不观看</button>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/static/js/pages/vipDialog.js?v=2"></script>
|
||||
{{end}}
|
||||
@@ -1,121 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{{template "seoCommon" .}}
|
||||
<title>{{if .seoInfo.Title}}{{.seoInfo.Title}}{{else if .title}}{{.title}} - 黄果短剧{{else}}我的收藏 - 黄果短剧{{end}}</title>
|
||||
<meta name="description" content="{{if .seoInfo.Description}}{{.seoInfo.Description}}{{else}}查看你在黄果短剧收藏的短剧与剧集,随时继续追更喜欢的内容 - 黄果短剧{{end}}">
|
||||
<meta name="keywords" content="我的收藏,短剧收藏,剧集收藏,黄果短剧">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="{{if .seoInfo.Title}}{{.seoInfo.Title}}{{else if .title}}{{.title}} - 黄果短剧{{else}}我的收藏 - 黄果短剧{{end}}">
|
||||
<meta property="og:description" content="{{if .seoInfo.Description}}{{.seoInfo.Description}}{{else}}查看你在黄果短剧收藏的短剧与剧集,随时继续追更喜欢的内容。{{end}}">
|
||||
<link rel="stylesheet" href="/static/css/index.css?v=25">
|
||||
<link rel="stylesheet" href="/static/css/pagination.css">
|
||||
<link rel="stylesheet" href="/static/css/collect.css?v=2">
|
||||
<link rel="stylesheet" href="/static/css/accountShared.css?v=11">
|
||||
|
||||
|
||||
</head>
|
||||
<body class="site-shell collect-layout is-collect-page">
|
||||
{{template "header" .}}
|
||||
<main class="collect-page">
|
||||
<div class="collect-pc">
|
||||
<nav class="collect-breadcrumb" aria-label="面包屑">
|
||||
<a class="collect-breadcrumb-link" href="/user-center/">个人中心</a>
|
||||
<span class="collect-breadcrumb-sep">/</span>
|
||||
<span class="collect-breadcrumb-current"><span class="account-label-pc">我的收藏</span><span class="account-label-mobile">我的追剧</span></span>
|
||||
</nav>
|
||||
<div class="collect-head">
|
||||
<h1 class="collect-title">我的收藏</h1>
|
||||
<p class="collect-desc">继续关注喜欢的内容</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<header class="collect-nav">
|
||||
<a class="collect-nav-back" href="javascript:history.back()" aria-label="返回">
|
||||
<img src="/static/images/back.svg" alt="返回" />
|
||||
</a>
|
||||
<div class="collect-nav-title">我的收藏</div>
|
||||
<span class="collect-nav-spacer" aria-hidden="true"></span>
|
||||
</header>
|
||||
|
||||
<div class="collect-main">
|
||||
<div class="collect-tabs" role="tablist" aria-label="收藏类型">
|
||||
<a class="collect-tab{{if ne .collectType "chapter"}} collect-tab--active{{end}}"
|
||||
href="/collect/"
|
||||
role="tab"
|
||||
aria-selected="{{if ne .collectType "chapter"}}true{{else}}false{{end}}">短剧</a>
|
||||
<a class="collect-tab{{if eq .collectType "chapter"}} collect-tab--active{{end}}"
|
||||
href="/collect/chapter/"
|
||||
role="tab"
|
||||
aria-selected="{{if eq .collectType "chapter"}}true{{else}}false{{end}}">剧集</a>
|
||||
</div>
|
||||
|
||||
{{if eq .collectType "chapter"}}
|
||||
<div class="card-grid collect-grid collect-grid--chapter" data-collect-list="chapter">
|
||||
{{range .chapterList}}
|
||||
<a class="collect-card" href="{{chapterPlayURL .PlayletSlug .PlayletID .ChapterID}}">
|
||||
<div class="collect-card-cover">
|
||||
<img src="/static/images/placeholder.png?v=2" class="collect-card-cover-img lazy" data-src="{{.PlayletCover}}" alt="{{.PlayletTitle}}" title="{{.PlayletTitle}}" />
|
||||
{{template "posterLikeBadge" .}}
|
||||
{{with chapterCollectEpisodeLabel .}}
|
||||
<div class="collect-card-eps">{{.}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="collect-card-body">
|
||||
<div class="collect-card-title">{{if .PlayletTitle}}{{.PlayletTitle}}{{else}}{{.ChapterTitle}}{{end}}</div>
|
||||
{{with chapterCollectDesc .}}
|
||||
<div class="collect-card-desc">{{.}}</div>
|
||||
{{end}}
|
||||
<div class="collect-card-meta">
|
||||
<span class="collect-card-tag">{{updateStatusText .UpdateStatus}}</span>
|
||||
<span class="collect-card-spacer"></span>
|
||||
{{with chapterCollectMeta .}}
|
||||
<span class="collect-card-progress">{{.}}</span>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{else}}
|
||||
<div class="section-empty collect-empty">暂无收藏剧集</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="card-grid collect-grid collect-grid--playlet" data-collect-list="playlet">
|
||||
{{range .list}}
|
||||
<a class="collect-card" href="{{detailURL .Slug .ID}}">
|
||||
<div class="collect-card-cover">
|
||||
<img src="/static/images/placeholder.png?v=2" class="collect-card-cover-img lazy" data-src="{{.Cover}}" alt="{{.Title}}" title="{{.Title}}" />
|
||||
{{template "posterCornerBadges" .}}
|
||||
{{template "posterLikeBadge" .}}
|
||||
{{with episodeLabel .TotalEpisode}}
|
||||
<div class="collect-card-eps">{{.}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="collect-card-body">
|
||||
<div class="collect-card-title">{{.Title}}</div>
|
||||
{{if .Desc}}<div class="collect-card-desc">{{.Desc}}</div>{{end}}
|
||||
<div class="collect-card-meta">
|
||||
{{with collectTagText .}}<span class="collect-card-tag">{{.}}</span>{{end}}
|
||||
<span class="collect-card-spacer"></span>
|
||||
{{with collectProgressText .}}
|
||||
<span class="collect-card-progress">{{.}}</span>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{else}}
|
||||
<div class="section-empty collect-empty">暂无收藏短剧</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<div class="collect-pagination">
|
||||
{{template "pagination" .}}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{template "footer" .}}
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,149 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{{template "seoCommon" .}}
|
||||
<title>{{if .title}}{{.title}} - 黄果短剧{{else}}金币充值 - 黄果短剧{{end}}</title>
|
||||
<meta name="description" content="黄果短剧金币充值,购买金币并查看金币交易明细 - 黄果短剧" />
|
||||
<meta name="keywords" content="金币充值,短剧金币,黄果短剧" />
|
||||
<link rel="stylesheet" href="/static/css/deposit.css?v=9" />
|
||||
<link rel="stylesheet" href="/static/css/accountShared.css?v=11" />
|
||||
</head>
|
||||
<body class="site-shell deposit-layout is-deposit-page">
|
||||
{{template "header" .}}
|
||||
<main class="deposit-page">
|
||||
<div class="deposit-pc">
|
||||
<nav class="deposit-breadcrumb" aria-label="面包屑">
|
||||
<a class="deposit-breadcrumb-link" href="/user-center/">个人中心</a>
|
||||
<span class="deposit-breadcrumb-sep">/</span>
|
||||
<span class="deposit-breadcrumb-current">金币充值</span>
|
||||
</nav>
|
||||
|
||||
<div class="deposit-head">
|
||||
<div class="deposit-eyebrow">WALLET</div>
|
||||
<h1 class="deposit-title">金币充值</h1>
|
||||
<div class="deposit-subtitle">当前余额 <span data-deposit-recharge>{{if .rechargeText}}{{.rechargeText}}{{else}}0{{end}}</span> 金币</div>
|
||||
</div>
|
||||
|
||||
<section class="deposit-hero">
|
||||
<div class="deposit-hero-badge">钱包充值</div>
|
||||
<h2 class="deposit-hero-title">选支付 · 立即到账</h2>
|
||||
<div class="deposit-hero-desc">支持多种支付方式,支付成功后即时到账。</div>
|
||||
</section>
|
||||
|
||||
<h2 class="deposit-section-title deposit-purchase-title" id="depositPurchaseTitle">购买套餐</h2>
|
||||
<section class="deposit-package-panel" aria-labelledby="depositPurchaseTitle">
|
||||
<div class="deposit-package-heading"><strong>金币充值</strong><span>按集解锁,自由使用</span></div>
|
||||
<div class="deposit-package-grid" data-deposit-coin-pc>
|
||||
{{range .coinList}}
|
||||
<button class="deposit-package{{if .Active}} deposit-package--active{{end}}" type="button"
|
||||
data-package-id="{{.ID}}" data-price="{{.PriceText}}" data-package-kind="coin" data-package-name="{{.Name}}"
|
||||
data-pay-methods="{{.PayMethodsJSON}}">
|
||||
<span class="deposit-package-price">¥{{.PriceText}}</span>
|
||||
<span class="deposit-package-name">{{.Name}}</span>
|
||||
{{if .Hint}}<span class="deposit-package-hint">{{.Hint}}</span>{{end}}
|
||||
<span class="deposit-package-check" aria-hidden="true">✓</span>
|
||||
</button>
|
||||
{{else}}<div class="deposit-package-empty">暂无金币套餐</div>{{end}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<button class="deposit-pc-submit" type="button" data-deposit-submit{{if not .payMethods}} disabled{{end}}>
|
||||
{{if .payMethods}}立即支付{{else}}暂无支付方式{{end}}
|
||||
</button>
|
||||
<p class="deposit-selected-note" data-deposit-selected-note>请选择金币套餐</p>
|
||||
|
||||
<section class="deposit-transactions">
|
||||
<h2 class="deposit-section-title">交易明细</h2>
|
||||
<div class="deposit-tx-list" data-deposit-tx-list>
|
||||
{{range .txList}}
|
||||
<div class="deposit-tx-item">
|
||||
<div class="deposit-tx-info">
|
||||
<div class="deposit-tx-name">{{if .Title}}{{.Title}}{{else if .TranTypeName}}{{.TranTypeName}}{{else if .Remark}}{{.Remark}}{{else}}金币变动{{end}}</div>
|
||||
{{if .CreatedAt}}<div class="deposit-tx-time">{{formatShortDateTime .CreatedAt}}</div>{{end}}
|
||||
</div>
|
||||
<div class="deposit-tx-amount {{if eq .FlowDir 1}}deposit-tx-amount--plus{{else}}deposit-tx-amount--minus{{end}}">
|
||||
{{if eq .ChangeAmount 0}}{{if eq .FlowDir 1}}+{{else}}-{{end}}{{absInt64 .Amount}}{{else}}{{if eq .FlowDir 1}}+{{else}}-{{end}}{{absInt64 .ChangeAmount}}{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}<div class="deposit-package-empty">暂无交易记录</div>{{end}}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="deposit-main">
|
||||
<nav class="account-mobile-breadcrumb" aria-label="面包屑">
|
||||
<a href="/user-center/">个人中心</a><span>/</span><strong>金币充值</strong>
|
||||
</nav>
|
||||
|
||||
<section class="deposit-mobile-balance" aria-label="金币余额">
|
||||
<div class="deposit-mobile-balance-label">金币余额 <small>(金币)</small></div>
|
||||
<div class="deposit-mobile-balance-value" data-deposit-recharge>{{if .rechargeText}}{{.rechargeText}}{{else}}000.00{{end}}</div>
|
||||
</section>
|
||||
|
||||
<section class="deposit-mobile-packages" aria-label="选择充值金额">
|
||||
<div class="deposit-mobile-package-head"><strong>请选择充值金额</strong><span>首次充值赠送10%</span></div>
|
||||
<div class="deposit-mobile-package-grid" data-deposit-coin-mobile>
|
||||
{{range .coinList}}
|
||||
<button class="deposit-mobile-pkg{{if .Active}} deposit-mobile-pkg--active{{end}}" type="button"
|
||||
data-package-id="{{.ID}}" data-price="{{.PriceText}}" data-package-kind="coin" data-package-name="{{.Name}}"
|
||||
data-pay-methods="{{.PayMethodsJSON}}">
|
||||
<img src="/static/images/figma-account/package-coin.svg" alt="" />
|
||||
<span class="deposit-mobile-pkg-name">{{.Name}}</span>
|
||||
<span class="deposit-mobile-pkg-hint">{{if .Hint}}{{.Hint}}{{else}}赠送 999金币{{end}}</span>
|
||||
<span class="deposit-mobile-pkg-price"><small>¥</small>{{.PriceText}}</span>
|
||||
<span class="deposit-mobile-pkg-check" aria-hidden="true">✓</span>
|
||||
</button>
|
||||
{{else}}<div class="deposit-package-empty">暂无金币套餐</div>{{end}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="deposit-usage">
|
||||
<h2>金币怎么用?</h2>
|
||||
<div class="deposit-usage-card">
|
||||
<div class="deposit-usage-item"><img src="/static/images/figma-account/usage-unlock.svg" alt="" /><span><strong>解锁单集内容</strong><small>按剧集实际定价消耗金币</small></span></div>
|
||||
<div class="deposit-usage-item"><img src="/static/images/figma-account/usage-reward.svg" alt="" /><span><strong>奖励金币优先使用</strong><small>解锁时系统自动优先扣除任务/签到获得的奖励金币</small></span></div>
|
||||
<div class="deposit-usage-item"><img src="/static/images/figma-account/usage-member.svg" alt="" /><span><strong>金币畅看范围内不消耗金币</strong><small>会员权益仍优先于金币,避免重复付费</small></span></div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="deposit-mobile-buy">
|
||||
<button type="button" data-deposit-submit{{if not .payMethods}} disabled{{end}}>{{if .payMethods}}支付 ¥0 充值金币{{else}}暂无支付方式{{end}}</button>
|
||||
<p>如遇充值问题请咨询 <a href="/feedback/">在线客服</a></p>
|
||||
</div>
|
||||
|
||||
<div class="deposit-payment-data" aria-hidden="true">
|
||||
<div data-deposit-pay-pc>{{range .payMethods}}<button class="deposit-pay-btn{{if .Active}} deposit-pay-btn--active{{end}}" type="button" data-pay-type="{{.Type}}">{{.TypeName}}</button>{{end}}</div>
|
||||
<div data-deposit-pay-mobile>{{range .payMethods}}<button class="deposit-mobile-pay{{if .Active}} deposit-mobile-pay--active{{end}}" type="button" data-pay-type="{{.Type}}">{{.TypeName}}</button>{{end}}</div>
|
||||
</div>
|
||||
</main>
|
||||
<div class="deposit-confirm-mask" data-deposit-confirm aria-hidden="true">
|
||||
<div class="deposit-confirm-stack">
|
||||
<section class="deposit-confirm-card" role="dialog" aria-modal="true" aria-labelledby="depositConfirmTitle">
|
||||
<div class="deposit-confirm-head">
|
||||
<h2 id="depositConfirmTitle">确认支付</h2>
|
||||
<span>金币充值</span>
|
||||
</div>
|
||||
<div class="deposit-confirm-order">
|
||||
<div class="deposit-confirm-order-copy">
|
||||
<strong data-deposit-confirm-name>300 金币</strong>
|
||||
<span>支付成功后即时到账</span>
|
||||
</div>
|
||||
<strong class="deposit-confirm-price">¥<span data-deposit-confirm-price>30</span></strong>
|
||||
</div>
|
||||
<h3 class="deposit-confirm-method-title">选择支付方式</h3>
|
||||
<div class="deposit-confirm-methods" data-deposit-confirm-methods></div>
|
||||
<button class="deposit-confirm-submit" type="button" data-deposit-confirm-submit>去支付</button>
|
||||
<p class="deposit-confirm-note">点击支付即表示已确认订单金额与支付方式</p>
|
||||
</section>
|
||||
<button class="deposit-confirm-close" type="button" aria-label="关闭" data-deposit-confirm-close>
|
||||
<img src="/static/images/figma-dialogs/dialog-close.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{template "footer" .}}
|
||||
<script src="/static/js/pages/deposit.js?v=8"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -20,7 +20,7 @@
|
||||
<script type="application/ld+json">{{.jsonLD}}</script>
|
||||
{{end}}
|
||||
<link rel="stylesheet" href="/static/css/index.css?v=27">
|
||||
<link rel="stylesheet" href="/static/css/detail.css?v=29">
|
||||
<link rel="stylesheet" href="/static/css/detail.css?v=30">
|
||||
|
||||
|
||||
</head>
|
||||
@@ -37,10 +37,6 @@
|
||||
<img src="/static/images/back.svg" alt="返回" />
|
||||
</a>
|
||||
<div class="detail-h5-top-actions">
|
||||
<button class="detail-h5-top-btn detail-h5-top-btn--like{{if eq .IsLike 1}} detail-h5-top-btn--active{{end}}" type="button" data-detail-like data-playlet-id="{{.ID}}" data-liked="{{.IsLike}}" data-count-like="{{.CountLike}}" aria-label="点赞">
|
||||
<img src="/static/images/{{if eq .IsLike 1}}h5_liked.svg{{else}}like.svg{{end}}" alt="点赞" data-h5-like-icon />
|
||||
<span class="detail-h5-top-like-count" data-detail-like-label>{{.CountLike}}</span>
|
||||
</button>
|
||||
<button class="detail-h5-top-btn" type="button" data-detail-share data-playlet-id="{{.ID}}" aria-label="分享">
|
||||
<img src="/static/images/h5_share.svg" alt="分享" />
|
||||
</button>
|
||||
@@ -95,20 +91,6 @@
|
||||
<div class="detail-actions">
|
||||
<a class="detail-play-btn" href="{{playURL .Slug .ID}}"><img src="/static/images/player.svg" alt="" />立即播放</a>
|
||||
<div class="detail-action-group">
|
||||
<button class="detail-action{{if eq .IsLike 1}} detail-action--active{{end}}" type="button" data-detail-like data-playlet-id="{{.ID}}" data-liked="{{.IsLike}}" data-count-like="{{.CountLike}}" data-like-label-mode="state">
|
||||
<span class="detail-action-icon">
|
||||
<img src="/static/images/like.svg" alt="点赞" />
|
||||
</span>
|
||||
<span data-detail-like-label>{{if eq .IsLike 1}}已点赞{{else}}点赞{{end}}</span>
|
||||
</button>
|
||||
<span class="detail-action-sep"></span>
|
||||
<button class="detail-action{{if eq .IsCollect 1}} detail-action--active{{end}}" type="button" data-detail-collect data-playlet-id="{{.ID}}" data-collected="{{.IsCollect}}" data-count-collect="{{.CountCollect}}">
|
||||
<span class="detail-action-icon">
|
||||
<img src="/static/images/collect.svg" alt="收藏" />
|
||||
</span>
|
||||
<span data-detail-collect-label>{{if eq .IsCollect 1}}已收藏{{else}}收藏{{end}}</span>
|
||||
</button>
|
||||
<span class="detail-action-sep"></span>
|
||||
<button class="detail-action" type="button" data-detail-share data-playlet-id="{{.ID}}">
|
||||
<span class="detail-action-icon">
|
||||
<img src="/static/images/share.svg" alt="分享" />
|
||||
@@ -152,20 +134,10 @@
|
||||
<a class="detail-episode" href="{{chapterPlayURL $playletSlug $playletID .ID}}" data-ep="{{.CurrentEpisode}}">
|
||||
<span class="detail-episode-pc">第{{.CurrentEpisode}}集</span>
|
||||
</a>
|
||||
{{else if .NeedCoinGate}}
|
||||
<a class="detail-episode" href="javascript:;" data-coin-dialog-open data-ep="{{.CurrentEpisode}}" data-playlet-id="{{$playletID}}" data-playlet-slug="{{$playletSlug}}" data-chapter-id="{{.ID}}" data-single-coins="{{.UnlockCost}}" aria-label="第{{.CurrentEpisode}}集,金币解锁">
|
||||
<span class="detail-episode-pc">第{{.CurrentEpisode}}集</span>
|
||||
<span class="detail-episode-coin" aria-hidden="true">
|
||||
<img src="/static/images/coin.png?v=2" alt="" />
|
||||
</span>
|
||||
</a>
|
||||
{{else if .NeedVipGate}}
|
||||
<a class="detail-episode" href="javascript:;" data-vip-dialog-open data-ep="{{.CurrentEpisode}}" data-chapter-id="{{.ID}}" aria-label="第{{.CurrentEpisode}}集,VIP专享">
|
||||
<span class="detail-episode-pc">第{{.CurrentEpisode}}集</span>
|
||||
</a>
|
||||
{{else}}
|
||||
<a class="detail-episode" href="{{chapterPlayURL $playletSlug $playletID .ID}}" data-ep="{{.CurrentEpisode}}">
|
||||
<a class="detail-episode detail-episode--locked" href="javascript:;" data-episode-locked data-ep="{{.CurrentEpisode}}" aria-label="第{{.CurrentEpisode}}集,下载APP观看">
|
||||
<span class="detail-episode-pc">第{{.CurrentEpisode}}集</span>
|
||||
<span class="detail-episode-lock" aria-hidden="true">APP</span>
|
||||
</a>
|
||||
{{end}}
|
||||
{{else}}
|
||||
@@ -188,31 +160,6 @@
|
||||
<button class="detail-sort-btn" type="button" data-comment-sort="2">最新</button>
|
||||
</div>
|
||||
</div>
|
||||
{{if $.isLoggedIn}}
|
||||
<div class="detail-comment-composer">
|
||||
{{if $.avatar}}
|
||||
<img class="detail-comment-composer-avatar lazy" src="/static/images/placeholder.png?v=2" data-src="{{$.avatar}}" alt="我的头像" />
|
||||
{{else}}
|
||||
<img class="detail-comment-composer-avatar" src="/static/images/avatar.png" alt="默认用户头像" />
|
||||
{{end}}
|
||||
<div class="detail-comment-composer-main">
|
||||
<textarea class="detail-comment-composer-input" maxlength="200" placeholder="说说你对这部剧的看法…" rows="2"></textarea>
|
||||
<div class="detail-comment-composer-footer">
|
||||
<div class="detail-comment-composer-status">
|
||||
<span class="detail-comment-composer-logged">已登录</span>
|
||||
{{if $.userName}}<span class="detail-comment-composer-user">{{$.userName}}</span>{{end}}
|
||||
<span class="detail-comment-composer-count">0 / 200</span>
|
||||
</div>
|
||||
<button class="detail-comment-composer-submit" type="button" data-comment-send>发表评论</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="detail-comments-login">
|
||||
<a class="detail-comments-login-link" href="#login" data-login-dialog-open>登录</a>
|
||||
<span class="detail-comments-login-hint"> 后参与讨论</span>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="detail-comment-list" data-comment-list>
|
||||
<div class="section-empty" data-comment-loading>评论加载中…</div>
|
||||
</div>
|
||||
@@ -226,10 +173,6 @@
|
||||
</div>
|
||||
</main>
|
||||
<div class="detail-h5-bar">
|
||||
<button class="detail-h5-like{{if eq .IsLike 1}} detail-h5-like--active{{end}}" type="button" data-detail-like data-playlet-id="{{.ID}}" data-liked="{{.IsLike}}" data-count-like="{{.CountLike}}" data-like-label-mode="state" aria-label="点赞" aria-pressed="{{if eq .IsLike 1}}true{{else}}false{{end}}">
|
||||
<img src="/static/images/{{if eq .IsLike 1}}h5_liked.svg{{else}}like.svg{{end}}" alt="" data-h5-like-icon />
|
||||
<span data-detail-like-label>{{if eq .IsLike 1}}已点赞{{else}}点赞{{end}}</span>
|
||||
</button>
|
||||
<a class="detail-h5-play" href="{{playURL .Slug .ID}}">开始播放</a>
|
||||
</div>
|
||||
{{end}}
|
||||
@@ -240,8 +183,6 @@
|
||||
</main>
|
||||
{{end}}
|
||||
{{template "footer" .}}
|
||||
{{template "vipDialog" .}}
|
||||
{{template "coinDialog" .}}
|
||||
<script src="/static/js/pages/detail.js?v=14"></script>
|
||||
<script src="/static/js/pages/detail.js?v=15"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{{template "seoCommon" .}}
|
||||
<title>修改登录密码 - 黄果短剧</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="修改黄果短剧登录密码,提升账号安全性,保护你的观影与资产信息 - 黄果短剧"
|
||||
/>
|
||||
<meta name="keywords" content="修改密码,登录密码,账号安全,黄果短剧" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="修改登录密码 - 黄果短剧" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="修改黄果短剧登录密码,提升账号安全性。"
|
||||
/>
|
||||
<link rel="stylesheet" href="/static/css/editPassword.css" />
|
||||
<link rel="stylesheet" href="/static/css/accountShared.css?v=11" />
|
||||
</head>
|
||||
<body class="site-shell edit-password-layout is-edit-password-page">
|
||||
{{template "header" .}}
|
||||
<main class="edit-password-page">
|
||||
<div class="edit-password-pc">
|
||||
<nav class="edit-password-breadcrumb" aria-label="面包屑">
|
||||
<a class="edit-password-breadcrumb-link" href="/user-center/"
|
||||
>个人中心</a
|
||||
>
|
||||
<span class="edit-password-breadcrumb-sep">/</span>
|
||||
<a class="edit-password-breadcrumb-link" href="/setting/">账号设置</a>
|
||||
<span class="edit-password-breadcrumb-sep">/</span>
|
||||
<span class="edit-password-breadcrumb-current">修改密码</span>
|
||||
</nav>
|
||||
<div class="edit-password-pc-head">
|
||||
<h1 class="edit-password-pc-title">修改登录密码</h1>
|
||||
<div class="edit-password-pc-desc">
|
||||
建议使用 8–20 位字母、数字和符号组合
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="edit-password-shell">
|
||||
<div class="edit-password-nav">
|
||||
<a
|
||||
class="edit-password-back"
|
||||
href="javascript:history.back()"
|
||||
aria-label="返回"
|
||||
>
|
||||
<img src="/static/images/back.svg" alt="返回" />
|
||||
</a>
|
||||
<div class="edit-password-nav-title">修改登录密码</div>
|
||||
<div class="edit-password-nav-spacer" aria-hidden="true"></div>
|
||||
</div>
|
||||
|
||||
<form
|
||||
class="edit-password-form"
|
||||
action="/api/auth/profile"
|
||||
method="post"
|
||||
data-edit-password-form
|
||||
novalidate
|
||||
>
|
||||
<div class="edit-password-intro">
|
||||
<div class="edit-password-intro-title">设置新的登录密码</div>
|
||||
<div class="edit-password-intro-desc">
|
||||
建议使用 8–20 位字母、数字和符号组合
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="edit-password-field" data-edit-password-field="current">
|
||||
<label class="edit-password-label" for="editPasswordCurrent"
|
||||
>当前密码</label
|
||||
>
|
||||
<div class="edit-password-input-row">
|
||||
<input
|
||||
class="edit-password-input"
|
||||
id="editPasswordCurrent"
|
||||
type="password"
|
||||
name="currentPassword"
|
||||
placeholder="请输入当前密码"
|
||||
autocomplete="current-password"
|
||||
minlength="4"
|
||||
maxlength="16"
|
||||
data-edit-password-current
|
||||
/>
|
||||
<button
|
||||
class="edit-password-toggle"
|
||||
type="button"
|
||||
data-password-toggle="editPasswordCurrent"
|
||||
>
|
||||
显示
|
||||
</button>
|
||||
</div>
|
||||
<p class="edit-password-error" hidden data-edit-password-error>
|
||||
请输入当前密码
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="edit-password-field" data-edit-password-field="new">
|
||||
<label class="edit-password-label" for="editPasswordNew"
|
||||
>新密码</label
|
||||
>
|
||||
<div class="edit-password-input-row">
|
||||
<input
|
||||
class="edit-password-input"
|
||||
id="editPasswordNew"
|
||||
type="password"
|
||||
name="newPassword"
|
||||
placeholder="请输入新密码"
|
||||
autocomplete="new-password"
|
||||
minlength="4"
|
||||
maxlength="16"
|
||||
data-edit-password-new
|
||||
/>
|
||||
<button
|
||||
class="edit-password-toggle"
|
||||
type="button"
|
||||
data-password-toggle="editPasswordNew"
|
||||
>
|
||||
显示
|
||||
</button>
|
||||
</div>
|
||||
<p class="edit-password-error" hidden data-edit-password-error>
|
||||
新密码需为 4–16 个字符
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="edit-password-field" data-edit-password-field="confirm">
|
||||
<label class="edit-password-label" for="editPasswordConfirm"
|
||||
>确认新密码</label
|
||||
>
|
||||
<div class="edit-password-input-row">
|
||||
<input
|
||||
class="edit-password-input"
|
||||
id="editPasswordConfirm"
|
||||
type="password"
|
||||
name="confirmPassword"
|
||||
placeholder="请再次输入新密码"
|
||||
autocomplete="new-password"
|
||||
minlength="4"
|
||||
maxlength="16"
|
||||
data-edit-password-confirm
|
||||
/>
|
||||
<button
|
||||
class="edit-password-toggle"
|
||||
type="button"
|
||||
data-password-toggle="editPasswordConfirm"
|
||||
>
|
||||
显示
|
||||
</button>
|
||||
</div>
|
||||
<p class="edit-password-error" hidden data-edit-password-error>
|
||||
两次输入的新密码不一致
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="edit-password-submit"
|
||||
type="submit"
|
||||
data-edit-password-submit
|
||||
>
|
||||
保存修改
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
{{template "footer" .}}
|
||||
<script src="/static/js/pages/editPassword.js?v=2"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,118 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{{template "seoCommon" .}}
|
||||
<title>编辑个人资料 - 黄果短剧</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="编辑黄果短剧个人资料,更新昵称与个人简介,展示你的个性信息 - 黄果短剧"
|
||||
/>
|
||||
<meta name="keywords" content="编辑资料,昵称,个人简介,黄果短剧" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="编辑个人资料 - 黄果短剧" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="编辑黄果短剧个人资料,更新昵称与个人简介。"
|
||||
/>
|
||||
<link rel="stylesheet" href="/static/css/editProfile.css" />
|
||||
<link rel="stylesheet" href="/static/css/accountShared.css?v=11" />
|
||||
</head>
|
||||
<body class="site-shell edit-profile-layout is-edit-profile-page">
|
||||
{{template "header" .}}
|
||||
<main class="edit-profile-page">
|
||||
<h1 class="seo-visually-hidden">编辑个人资料</h1>
|
||||
<div class="edit-profile-pc">
|
||||
<nav class="setting-breadcrumb" aria-label="面包屑">
|
||||
<a class="setting-breadcrumb-link" href="/user-center/">个人中心</a>
|
||||
<span class="setting-breadcrumb-sep">/</span>
|
||||
<a class="setting-breadcrumb-link" href="/setting/">账号设置</a>
|
||||
<span class="setting-breadcrumb-sep">/</span>
|
||||
<span class="setting-breadcrumb-current">编辑资料</span>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="edit-profile-h5">
|
||||
<div class="edit-profile-h5-nav">
|
||||
<a
|
||||
class="edit-profile-h5-back"
|
||||
href="javascript:history.back()"
|
||||
aria-label="返回"
|
||||
>
|
||||
<img src="/static/images/back.svg" alt="返回" />
|
||||
</a>
|
||||
<div class="edit-profile-h5-nav-title">编辑个人资料</div>
|
||||
<div class="edit-profile-h5-nav-spacer" aria-hidden="true"></div>
|
||||
</div>
|
||||
|
||||
<form
|
||||
class="edit-profile-h5-body"
|
||||
action="/edit-profile/"
|
||||
method="post"
|
||||
data-edit-profile-form
|
||||
novalidate
|
||||
>
|
||||
<div class="edit-profile-avatar-card">
|
||||
<span class="edit-profile-avatar-text">
|
||||
<span class="edit-profile-avatar-title">个人头像</span>
|
||||
<!-- <span class="edit-profile-avatar-desc">点击头像可重新上传</span>-->
|
||||
</span>
|
||||
<span class="edit-profile-avatar-wrap" aria-hidden="true">
|
||||
{{if .profile.Avatar}}
|
||||
<img
|
||||
class="edit-profile-avatar lazy"
|
||||
src="/static/images/placeholder.png?v=2"
|
||||
data-src="{{.profile.Avatar}}"
|
||||
alt="当前用户头像"
|
||||
/>
|
||||
{{else}}
|
||||
<img
|
||||
class="edit-profile-avatar"
|
||||
src="/static/images/avatar.png"
|
||||
alt="默认用户头像"
|
||||
/>
|
||||
{{end}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<label class="edit-profile-field">
|
||||
<span class="edit-profile-field-label">昵称</span>
|
||||
<input
|
||||
class="edit-profile-field-input"
|
||||
type="text"
|
||||
name="nickname"
|
||||
value="{{.profile.NickName}}"
|
||||
maxlength="20"
|
||||
data-edit-profile-nickname
|
||||
/>
|
||||
</label>
|
||||
|
||||
<label class="edit-profile-field edit-profile-field--bio">
|
||||
<span class="edit-profile-field-label">个人简介</span>
|
||||
<textarea
|
||||
class="edit-profile-field-input edit-profile-field-input--bio"
|
||||
name="introduction"
|
||||
rows="2"
|
||||
maxlength="120"
|
||||
placeholder="分享你的追剧偏好"
|
||||
data-edit-profile-bio
|
||||
>
|
||||
{{.profile.Introduction}}</textarea
|
||||
>
|
||||
</label>
|
||||
|
||||
<button
|
||||
class="edit-profile-submit"
|
||||
type="submit"
|
||||
data-edit-profile-submit
|
||||
>
|
||||
保存修改
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
{{template "footer" .}}
|
||||
<script src="/static/js/pages/editProfile.js?v=2"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -7,14 +7,14 @@
|
||||
<title>帮助中心 - 黄果短剧</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="黄果短剧帮助中心:账号、观影、充值与常见问题解答,快速找到你需要的帮助 - 黄果短剧"
|
||||
content="黄果短剧帮助中心:观影、App 下载与常见问题解答,快速找到你需要的帮助 - 黄果短剧"
|
||||
/>
|
||||
<meta name="keywords" content="帮助中心,常见问题,客服帮助,黄果短剧" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="帮助中心 - 黄果短剧" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="黄果短剧帮助中心:账号、观影、充值与常见问题解答。"
|
||||
content="黄果短剧帮助中心:观影、App 下载与常见问题解答。"
|
||||
/>
|
||||
{{if .jsonLD}}
|
||||
<script type="application/ld+json">
|
||||
@@ -66,13 +66,13 @@
|
||||
{{end}}
|
||||
{{else}}
|
||||
<div class="content-faq-item">
|
||||
<h3 class="content-faq-q">无法登录账号怎么办?</h3>
|
||||
<p class="content-faq-a">请确认邮箱与密码是否正确;若忘记密码,可在登录页面使用“找回密码”。</p>
|
||||
<h3 class="content-faq-q">付费剧集怎么观看?</h3>
|
||||
<p class="content-faq-a">网页端可免费观看免费剧集;付费剧集请下载黄果短剧 App 观看完整内容。</p>
|
||||
</div>
|
||||
<div class="content-divider"></div>
|
||||
<div class="content-faq-item">
|
||||
<h3 class="content-faq-q">观看记录没有同步?</h3>
|
||||
<p class="content-faq-a">请确认已登录同一账号并保持网络连接,记录通常会自动同步。</p>
|
||||
<h3 class="content-faq-q">需要注册账号吗?</h3>
|
||||
<p class="content-faq-a">不需要,网页端无需注册即可直接观看免费剧集。</p>
|
||||
</div>
|
||||
<div class="content-divider"></div>
|
||||
<div class="content-faq-item">
|
||||
@@ -81,8 +81,8 @@
|
||||
</div>
|
||||
<div class="content-divider"></div>
|
||||
<div class="content-faq-item">
|
||||
<h3 class="content-faq-q">如何管理收藏内容?</h3>
|
||||
<p class="content-faq-a">进入个人中心的“追剧与收藏”页面,可查看或取消收藏。</p>
|
||||
<h3 class="content-faq-q">在哪里下载 App?</h3>
|
||||
<p class="content-faq-a">点击页面上的“下载APP”入口,按提示扫码或直接下载安装。</p>
|
||||
</div>
|
||||
{{end}}
|
||||
</article>
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{{template "seoCommon" .}}
|
||||
<title>{{if .seoInfo.Title}}{{.seoInfo.Title}}{{else if .title}}{{.title}} - 黄果短剧{{else}}观看历史 - 黄果短剧{{end}}</title>
|
||||
<meta name="description" content="{{if .seoInfo.Description}}{{.seoInfo.Description}}{{else}}查看黄果短剧观看历史,快速回到上次看到的剧集继续观看 - 黄果短剧{{end}}">
|
||||
<meta name="keywords" content="观看历史,观影记录,黄果短剧">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="{{if .seoInfo.Title}}{{.seoInfo.Title}}{{else if .title}}{{.title}}{{else}}观看历史{{end}} - 黄果短剧">
|
||||
<meta property="og:description" content="{{if .seoInfo.Description}}{{.seoInfo.Description}}{{else}}查看黄果短剧观看历史,快速回到上次看到的剧集继续观看。{{end}}">
|
||||
<link rel="stylesheet" href="/static/css/index.css?v=25">
|
||||
<link rel="stylesheet" href="/static/css/history.css?v=2">
|
||||
<link rel="stylesheet" href="/static/css/accountShared.css?v=11">
|
||||
|
||||
|
||||
</head>
|
||||
<body class="site-shell history-layout is-history-page">
|
||||
{{template "header" .}}
|
||||
<main class="history-page">
|
||||
<div class="history-pc">
|
||||
<nav class="history-breadcrumb" aria-label="面包屑">
|
||||
<a class="history-breadcrumb-link" href="/user-center/">个人中心</a>
|
||||
<span class="history-breadcrumb-sep">/</span>
|
||||
<span class="history-breadcrumb-current"><span class="account-label-pc">观看历史</span><span class="account-label-mobile">历史记录</span></span>
|
||||
</nav>
|
||||
<div class="history-head">
|
||||
<div class="history-head-text">
|
||||
<h1 class="history-title">观看历史</h1>
|
||||
<p class="history-desc">找回最近观看的剧集</p>
|
||||
</div>
|
||||
<button class="history-clear-btn" type="button" data-history-clear>清空记录</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<header class="history-nav">
|
||||
<a class="history-nav-back" href="javascript:history.back()" aria-label="返回">
|
||||
<img src="/static/images/back.svg" alt="返回" />
|
||||
</a>
|
||||
<div class="history-nav-title">观看历史</div>
|
||||
<button class="history-nav-clear" type="button" data-history-clear>清空</button>
|
||||
</header>
|
||||
|
||||
<div class="history-main">
|
||||
<div class="card-grid history-grid" data-history-list>
|
||||
{{range .list}}
|
||||
<a class="poster-card history-card" href="{{historyPlayURL .}}" data-status="{{historyStatus .}}">
|
||||
<div class="poster-cover">
|
||||
<img src="/static/images/placeholder.png?v=2" class="poster-cover-img lazy" data-src="{{coverURL .Cover .Banner}}" alt="{{.Title}}" title="{{.Title}}" />
|
||||
{{template "posterCornerBadges" .}}
|
||||
{{template "posterLikeBadge" .}}
|
||||
{{with episodeLabel .TotalEpisode}}
|
||||
<div class="episode-badge">{{.}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="poster-card-body">
|
||||
<div class="poster-card-title">{{.Title}}</div>
|
||||
{{if .Desc}}<div class="poster-card-subtitle">{{.Desc}}</div>{{end}}
|
||||
<div class="poster-card-meta">
|
||||
{{with historyTagText .}}<div class="poster-card-tag">{{.}}</div>{{end}}
|
||||
<div class="poster-card-spacer"></div>
|
||||
<div class="poster-card-heat history-progress">{{historyProgressText .}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="history-info">
|
||||
<div class="history-name">{{.Title}}</div>
|
||||
<div class="history-intro">简介:{{if .Desc}}{{.Desc}}{{else}}暂无简介{{end}}</div>
|
||||
<div class="history-watch{{if eq (historyStatus .) "finished"}} history-watch--done{{end}}">{{historyWatchLine .}}</div>
|
||||
{{with formatHistoryAt .HistoryAt}}
|
||||
<div class="history-time">{{.}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="history-empty" data-history-empty{{if .list}} hidden{{end}}>
|
||||
{{template "empty" .}}
|
||||
</div>
|
||||
|
||||
<div class="history-pagination" data-history-pagination>
|
||||
{{template "pagination" .}}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="history-confirm-mask" id="historyConfirmDialog" data-history-confirm hidden>
|
||||
<div class="history-confirm-card" role="dialog" aria-modal="true" aria-labelledby="historyConfirmTitle">
|
||||
<button class="history-confirm-close" type="button" aria-label="关闭" data-history-confirm-cancel>
|
||||
<span class="history-confirm-close-ring"></span>
|
||||
<span class="history-confirm-close-x"></span>
|
||||
</button>
|
||||
<div class="history-confirm-title" id="historyConfirmTitle">清空观看历史</div>
|
||||
<div class="history-confirm-desc">确定清空全部观看历史吗?此操作不可恢复。</div>
|
||||
<div class="history-confirm-actions">
|
||||
<button class="history-confirm-btn history-confirm-btn--cancel" type="button" data-history-confirm-cancel>取消</button>
|
||||
<button class="history-confirm-btn history-confirm-btn--ok" type="button" data-history-confirm-ok>清空</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{template "footer" .}}
|
||||
<script src="/static/js/pages/history.js?v=6"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
<section class="home-road-hero" aria-labelledby="homeRoadTitle">
|
||||
<div class="home-road-official"><img src="/static/images/figma-home-road/official.svg" width="20" height="20" alt=""><span>官方权威发布 · 永久有效入口</span></div>
|
||||
<img class="home-road-hero-logo" src="/static/images/figma-home/footer-logo-desktop.png" alt="黄果短剧" title="黄果短剧">
|
||||
<img class="home-road-hero-logo" src="/static/images/figma-home/footer-logo-desktop.png?v=3" alt="黄果短剧" title="黄果短剧">
|
||||
<h1 id="homeRoadTitle">黄果短剧 · 官方最新地址发布页</h1>
|
||||
<p>实时同步最新可用线路与备用入口,帮助你在不同网络环境下快速返回。</p>
|
||||
<div class="home-road-hero-actions">
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="{{if .seoInfo.Title}}{{.seoInfo.Title}}{{else if .appConfig.SeoInfo.Title}}{{.appConfig.SeoInfo.Title}}{{else if .title}}{{.title}}{{else}}黄果短剧 - 热门短剧在线看{{end}}">
|
||||
<meta property="og:description" content="{{if .seoInfo.Description}}{{.seoInfo.Description}}{{else if .appConfig.SeoInfo.Description}}{{.appConfig.SeoInfo.Description}}{{else}}黄果短剧汇集热门短剧、今日更新与精选推荐,免费在线观看高清短剧。{{end}}">
|
||||
<meta property="og:image" content="{{absURL .siteURL "/favicon.png"}}">
|
||||
<meta property="og:image" content="{{absURL .siteURL "/favicon.png?v=3"}}">
|
||||
<meta name="twitter:title" content="{{if .seoInfo.Title}}{{.seoInfo.Title}}{{else if .appConfig.SeoInfo.Title}}{{.appConfig.SeoInfo.Title}}{{else if .title}}{{.title}}{{else}}黄果短剧 - 热门短剧在线看{{end}}">
|
||||
<meta name="twitter:description" content="{{if .seoInfo.Description}}{{.seoInfo.Description}}{{else if .appConfig.SeoInfo.Description}}{{.appConfig.SeoInfo.Description}}{{else}}黄果短剧汇集热门短剧、今日更新与精选推荐,免费在线观看高清短剧。{{end}}">
|
||||
<meta name="twitter:image" content="{{absURL .siteURL "/favicon.png"}}">
|
||||
<meta name="twitter:image" content="{{absURL .siteURL "/favicon.png?v=3"}}">
|
||||
{{if .jsonLD}}
|
||||
<script type="application/ld+json">{{.jsonLD}}</script>
|
||||
{{end}}
|
||||
@@ -27,7 +27,7 @@
|
||||
{{if $heroSrc}}<link rel="preload" as="fetch" href="{{$heroSrc}}" crossorigin="anonymous">{{end}}
|
||||
{{end}}{{end}}
|
||||
</head>
|
||||
<body class="site-shell home-page has-h5-tabbar"{{if .authMode}} data-auth-mode="{{.authMode}}"{{end}}{{if .authRedirect}} data-auth-redirect="{{.authRedirect}}"{{end}}>
|
||||
<body class="site-shell home-page has-h5-tabbar">
|
||||
{{template "header" .}}
|
||||
<main class="page-shell{{if not .homeBannerData}} page-shell--no-hero{{end}}">
|
||||
<h1 class="home-page-title">{{if .seoInfo.Title}}{{.seoInfo.Title}}{{else if .appConfig.SeoInfo.Title}}{{.appConfig.SeoInfo.Title}}{{else if .title}}{{.title}}{{else}}黄果短剧 - 热门短剧在线看{{end}}</h1>
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
{{if .appConfig.BottomBanner}}
|
||||
<div class="list-ad-list" aria-label="广告">
|
||||
{{range $ad := .appConfig.BottomBanner}}
|
||||
<a class="list-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-ad-id="{{$ad.ID}}" data-creative-id="{{$ad.ID}}" data-ad-slot-key="bottom_banner" data-ad-slot-name="底部横幅广告" data-ad-type="banner" data-advertising-name="{{$ad.Title}}">
|
||||
<a class="list-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-creative-id="{{$ad.ID}}">
|
||||
<img class="lazy" src="/static/images/placeholder.png?v=2" data-src="{{$ad.Images}}" alt="{{$ad.Title}}" title="{{$ad.Title}}" width="758" height="94">
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="{{if .appConfig.SeoNavInfo.DhTitle}}{{.appConfig.SeoNavInfo.DhTitle}}{{else if .appConfig.SeoNavInfo.DhSiteName}}{{.appConfig.SeoNavInfo.DhSiteName}}{{else if .title}}{{.title}}{{else}}黄果短剧 · 官方导航{{end}}">
|
||||
<meta property="og:description" content="{{if .appConfig.SeoNavInfo.DhDescription}}{{.appConfig.SeoNavInfo.DhDescription}}{{else}}黄果短剧官方导航页,提供最新访问线路、永久地址、APP 下载与官方联系方式,快速进入首页与短剧内容。{{end}}">
|
||||
<meta property="og:image" content="{{absURL .siteURL "/favicon.png"}}">
|
||||
<meta property="og:image" content="{{absURL .siteURL "/favicon.png?v=3"}}">
|
||||
<meta name="twitter:title" content="{{if .appConfig.SeoNavInfo.DhTitle}}{{.appConfig.SeoNavInfo.DhTitle}}{{else if .appConfig.SeoNavInfo.DhSiteName}}{{.appConfig.SeoNavInfo.DhSiteName}}{{else if .title}}{{.title}}{{else}}黄果短剧 · 官方导航{{end}}">
|
||||
<meta name="twitter:description" content="{{if .appConfig.SeoNavInfo.DhDescription}}{{.appConfig.SeoNavInfo.DhDescription}}{{else}}黄果短剧官方导航页,提供最新访问线路、永久地址、APP 下载与官方联系方式,快速进入首页与短剧内容。{{end}}">
|
||||
<meta name="twitter:image" content="{{absURL .siteURL "/favicon.png"}}">
|
||||
<meta name="twitter:image" content="{{absURL .siteURL "/favicon.png?v=3"}}">
|
||||
{{if .jsonLD}}
|
||||
<script type="application/ld+json">{{.jsonLD}}</script>
|
||||
{{end}}
|
||||
@@ -26,7 +26,7 @@
|
||||
<h1 class="nav-page-title">{{if .appConfig.SeoNavInfo.DhSiteName}}{{.appConfig.SeoNavInfo.DhSiteName}}{{else if .appConfig.SeoNavInfo.DhTitle}}{{.appConfig.SeoNavInfo.DhTitle}}{{else if .title}}{{.title}}{{else}}黄果短剧 · 官方导航{{end}}</h1>
|
||||
<section class="nav-brand" aria-label="品牌介绍">
|
||||
<a class="nav-brand-lockup" href="/" aria-label="黄果短剧首页">
|
||||
<img class="nav-brand-logo" src="/static/images/logo.png" width="183" height="57" alt="黄果短剧" title="黄果短剧" />
|
||||
<img class="nav-brand-logo" src="/static/images/logo.png?v=3" width="183" height="57" alt="黄果短剧" title="黄果短剧" />
|
||||
</a>
|
||||
<div class="nav-brand-tagline">全网最新最火短剧,黄果为你呈现</div>
|
||||
<div class="nav-brand-highlight">永久免费 最新资源 无需下载</div>
|
||||
|
||||
+14
-112
@@ -26,8 +26,8 @@
|
||||
<script type="application/ld+json">{{.jsonLD}}</script>
|
||||
{{end}}
|
||||
<link rel="stylesheet" href="/static/css/index.css?v=27">
|
||||
<link rel="stylesheet" href="/static/css/detail.css?v=29">
|
||||
<link rel="stylesheet" href="/static/css/play.css?v=26">
|
||||
<link rel="stylesheet" href="/static/css/detail.css?v=30">
|
||||
<link rel="stylesheet" href="/static/css/play.css?v=27">
|
||||
<link rel="stylesheet" href="/static/common/DPlayer.min.css">
|
||||
<script defer src="/static/common/hls.min.js"></script>
|
||||
<script defer src="/static/common/DPlayer.min.js"></script>
|
||||
@@ -43,24 +43,12 @@
|
||||
{{$canWatch := false}}
|
||||
{{$needUnlock := false}}
|
||||
{{$needVip := false}}
|
||||
{{$unlockCost := 0}}
|
||||
{{if $chapter}}
|
||||
{{$canWatch = $chapter.AllowWatch}}
|
||||
{{$needUnlock = $chapter.NeedUnlock}}
|
||||
{{$needVip = $chapter.NeedVip}}
|
||||
{{$unlockCost = $chapter.UnlockCost}}
|
||||
{{end}}
|
||||
{{if or $chapter $playlet}}
|
||||
{{$isLike := 2}}
|
||||
{{$isCollect := 2}}
|
||||
{{$countLike := 0}}
|
||||
{{$countCollect := 0}}
|
||||
{{if $playlet}}
|
||||
{{$isLike = $playlet.IsLike}}
|
||||
{{$isCollect = $playlet.IsCollect}}
|
||||
{{$countLike = $playlet.CountLike}}
|
||||
{{$countCollect = $playlet.CountCollect}}
|
||||
{{end}}
|
||||
<main
|
||||
class="page-shell play-page"
|
||||
data-play-page
|
||||
@@ -92,7 +80,7 @@
|
||||
</nav>
|
||||
<div class="play-layout">
|
||||
<div class="play-main">
|
||||
<div class="play-player" data-play-player data-playlet-id="{{$playletID}}"{{if $chapter}} data-chapter-id="{{$chapter.ID}}" data-pay-type="{{$chapter.PayType}}" data-single-coins="{{$unlockCost}}" data-can-watch="{{if $canWatch}}1{{else}}0{{end}}" data-need-unlock="{{if $needUnlock}}1{{else}}0{{end}}" data-need-vip="{{if $needVip}}1{{else}}0{{end}}" data-is-unlocked="{{if $chapter.IsUnlocked}}1{{else}}0{{end}}"{{end}}>
|
||||
<div class="play-player" data-play-player data-playlet-id="{{$playletID}}"{{if $chapter}} data-chapter-id="{{$chapter.ID}}" data-pay-type="{{$chapter.PayType}}" data-can-watch="{{if $canWatch}}1{{else}}0{{end}}" data-need-unlock="{{if $needUnlock}}1{{else}}0{{end}}" data-need-vip="{{if $needVip}}1{{else}}0{{end}}"{{end}}>
|
||||
{{if and $chapter $canWatch $chapter.VideoURL}}
|
||||
<div class="dplayer-video"
|
||||
data-url="{{$chapter.VideoURL}}"
|
||||
@@ -107,6 +95,11 @@
|
||||
<button class="play-player-center" type="button" aria-label="播放" data-play-poster-play>
|
||||
<img src="/static/images/figma-play/control-center-play.svg" alt="播放" />
|
||||
</button>
|
||||
{{else if and $chapter (not $canWatch)}}
|
||||
<div class="play-player-locked" data-play-locked-cta>
|
||||
<p class="play-player-locked-text">本集为APP专享剧集</p>
|
||||
<button class="play-player-locked-btn" type="button" data-play-download-app>下载APP观看完整剧集</button>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<div class="play-player-gradient play-player-gradient--top" aria-hidden="true"></div>
|
||||
@@ -129,18 +122,10 @@
|
||||
</div>
|
||||
|
||||
<div class="play-h5-side">
|
||||
<button class="play-h5-side-item{{if eq $isLike 1}} play-h5-side-item--active{{end}}" type="button" data-detail-like data-playlet-id="{{$playletID}}" data-liked="{{$isLike}}" data-count-like="{{$countLike}}" aria-label="点赞" aria-pressed="{{if eq $isLike 1}}true{{else}}false{{end}}">
|
||||
<img src="/static/images/{{if eq $isLike 1}}h5_liked.svg{{else}}like.svg{{end}}" alt="点赞" data-h5-like-icon />
|
||||
<span data-detail-like-label>{{$countLike}}</span>
|
||||
</button>
|
||||
<button class="play-h5-side-item" type="button" data-play-comment-open>
|
||||
<img src="/static/images/comment.svg" alt="评论" />
|
||||
<span data-play-comment-count>{{if $chapter}}{{$chapter.CountComment}}{{else}}0{{end}}</span>
|
||||
</button>
|
||||
<button class="play-h5-side-item{{if eq $isCollect 1}} play-h5-side-item--active{{end}}" type="button" data-detail-collect data-playlet-id="{{$playletID}}" data-collected="{{$isCollect}}" data-count-collect="{{$countCollect}}" aria-label="收藏" aria-pressed="{{if eq $isCollect 1}}true{{else}}false{{end}}">
|
||||
<img src="/static/images/{{if eq $isCollect 1}}h5_collected.svg?v=2{{else}}collect.svg{{end}}" alt="收藏" data-h5-collect-icon />
|
||||
<span data-detail-collect-label>{{if eq $isCollect 1}}已收藏{{else}}收藏{{end}}</span>
|
||||
</button>
|
||||
<button class="play-h5-side-item" type="button" data-detail-share data-playlet-id="{{$playletID}}">
|
||||
<img src="/static/images/h5_share.svg" alt="分享" />
|
||||
<span>分享</span>
|
||||
@@ -215,20 +200,6 @@
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="play-info-actions">
|
||||
<button class="detail-action{{if eq $isLike 1}} detail-action--active{{end}}" type="button" data-detail-like data-playlet-id="{{$playletID}}" data-liked="{{$isLike}}" data-count-like="{{$countLike}}" data-like-label-mode="state">
|
||||
<span class="detail-action-icon">
|
||||
<img src="/static/images/like.svg" alt="点赞" />
|
||||
</span>
|
||||
<span data-detail-like-label>{{if eq $isLike 1}}已点赞{{else}}点赞{{end}}</span>
|
||||
</button>
|
||||
<span class="detail-action-sep"></span>
|
||||
<button class="detail-action{{if eq $isCollect 1}} detail-action--active{{end}}" type="button" data-detail-collect data-playlet-id="{{$playletID}}" data-collected="{{$isCollect}}" data-count-collect="{{$countCollect}}">
|
||||
<span class="detail-action-icon">
|
||||
<img src="/static/images/collect.svg" alt="收藏" />
|
||||
</span>
|
||||
<span data-detail-collect-label>{{if eq $isCollect 1}}已收藏{{else}}收藏{{end}}</span>
|
||||
</button>
|
||||
<span class="detail-action-sep"></span>
|
||||
<button class="detail-action" type="button" data-detail-share data-playlet-id="{{$playletID}}">
|
||||
<span class="detail-action-icon">
|
||||
<img src="/static/images/share.svg" alt="分享" />
|
||||
@@ -266,21 +237,10 @@
|
||||
<a class="play-ep{{if $active}} play-ep--active{{end}}" href="{{chapterPlayURL $playletSlug $playletID .ID}}" data-ep="{{.CurrentEpisode}}" data-chapter-id="{{.ID}}" data-play-switch>
|
||||
<span class="play-ep-num">{{.CurrentEpisode}}</span>
|
||||
</a>
|
||||
{{else if .NeedCoinGate}}
|
||||
<a class="play-ep{{if $active}} play-ep--active{{end}}" href="javascript:;" data-ep="{{.CurrentEpisode}}" data-coin-dialog-open data-playlet-id="{{$playletID}}" data-chapter-id="{{.ID}}" data-single-coins="{{.UnlockCost}}" aria-label="第{{.CurrentEpisode}}集,金币解锁">
|
||||
<span class="play-ep-num">{{.CurrentEpisode}}</span>
|
||||
<span class="play-ep-coin" aria-hidden="true">
|
||||
<img src="/static/images/coin.png?v=2" alt="" />
|
||||
</span>
|
||||
</a>
|
||||
{{else if .NeedVipGate}}
|
||||
<a class="play-ep{{if $active}} play-ep--active{{end}}" href="javascript:;" data-ep="{{.CurrentEpisode}}" data-vip-dialog-open data-chapter-id="{{.ID}}" aria-label="第{{.CurrentEpisode}}集,VIP专享">
|
||||
<span class="play-ep-num">{{.CurrentEpisode}}</span>
|
||||
<img class="play-ep-lock" src="/static/images/vip.png" alt="" />
|
||||
</a>
|
||||
{{else}}
|
||||
<a class="play-ep{{if $active}} play-ep--active{{end}}" href="{{chapterPlayURL $playletSlug $playletID .ID}}" data-ep="{{.CurrentEpisode}}" data-chapter-id="{{.ID}}" data-play-switch>
|
||||
<a class="play-ep{{if $active}} play-ep--active{{end}}" href="javascript:;" data-ep="{{.CurrentEpisode}}" data-chapter-id="{{.ID}}" data-play-locked aria-label="第{{.CurrentEpisode}}集,下载APP观看">
|
||||
<span class="play-ep-num">{{.CurrentEpisode}}</span>
|
||||
<span class="play-ep-lock" aria-hidden="true">APP</span>
|
||||
</a>
|
||||
{{end}}
|
||||
{{else}}
|
||||
@@ -305,31 +265,6 @@
|
||||
<button class="detail-sort-btn" type="button" data-comment-sort="2">最新</button>
|
||||
</div>
|
||||
</div>
|
||||
{{if $.isLoggedIn}}
|
||||
<div class="detail-comment-composer">
|
||||
{{if $.avatar}}
|
||||
<img class="detail-comment-composer-avatar lazy" src="/static/images/placeholder.png?v=2" data-src="{{$.avatar}}" alt="我的头像" />
|
||||
{{else}}
|
||||
<img class="detail-comment-composer-avatar" src="/static/images/avatar.png" alt="默认用户头像" />
|
||||
{{end}}
|
||||
<div class="detail-comment-composer-main">
|
||||
<textarea class="detail-comment-composer-input" maxlength="200" placeholder="说说你对这部剧的看法…" rows="2"></textarea>
|
||||
<div class="detail-comment-composer-footer">
|
||||
<div class="detail-comment-composer-status">
|
||||
<span class="detail-comment-composer-logged">已登录</span>
|
||||
{{if $.userName}}<span class="detail-comment-composer-user">{{$.userName}}</span>{{end}}
|
||||
<span class="detail-comment-composer-count">0 / 200</span>
|
||||
</div>
|
||||
<button class="detail-comment-composer-submit" type="button" data-comment-send>发表评论</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="detail-comments-login">
|
||||
<a class="detail-comments-login-link" href="#login" data-login-dialog-open>登录</a>
|
||||
<span class="detail-comments-login-hint"> 后参与讨论</span>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="detail-comment-list" data-comment-list>
|
||||
<div class="section-empty" data-comment-loading>评论加载中…</div>
|
||||
</div>
|
||||
@@ -373,9 +308,6 @@
|
||||
<div class="play-ep-sheet-drama-status">{{updateStatusText $playlet.UpdateStatus}}{{if $playlet.TotalEpisode}} 共{{$playlet.TotalEpisode}}集{{end}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="play-ep-sheet-collect{{if eq $isCollect 1}} is-collected{{end}}" type="button" data-detail-collect data-playlet-id="{{$playletID}}" data-collected="{{$isCollect}}" data-count-collect="{{$countCollect}}">
|
||||
<span data-detail-collect-label>{{if eq $isCollect 1}}已收藏{{else}}收藏{{end}}</span>
|
||||
</button>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="play-ep-sheet-tabs">
|
||||
@@ -394,21 +326,10 @@
|
||||
<a class="play-ep-sheet-item{{if $active}} play-ep-sheet-item--active{{end}}" href="{{chapterPlayURL $playletSlug $playletID .ID}}" data-ep="{{.CurrentEpisode}}" data-chapter-id="{{.ID}}" data-play-switch>
|
||||
<span class="play-ep-sheet-num">{{.CurrentEpisode}}</span>
|
||||
</a>
|
||||
{{else if .NeedCoinGate}}
|
||||
<a class="play-ep-sheet-item{{if $active}} play-ep-sheet-item--active{{end}}" href="javascript:;" data-ep="{{.CurrentEpisode}}" data-coin-dialog-open data-playlet-id="{{$playletID}}" data-chapter-id="{{.ID}}" data-single-coins="{{.UnlockCost}}" aria-label="第{{.CurrentEpisode}}集,金币解锁">
|
||||
<span class="play-ep-sheet-num">{{.CurrentEpisode}}</span>
|
||||
<span class="play-ep-sheet-coin" aria-hidden="true">
|
||||
<img src="/static/images/coin.png?v=2" alt="" />
|
||||
</span>
|
||||
</a>
|
||||
{{else if .NeedVipGate}}
|
||||
<a class="play-ep-sheet-item{{if $active}} play-ep-sheet-item--active{{end}}" href="javascript:;" data-ep="{{.CurrentEpisode}}" data-vip-dialog-open data-chapter-id="{{.ID}}" aria-label="第{{.CurrentEpisode}}集,VIP专享">
|
||||
<span class="play-ep-sheet-num">{{.CurrentEpisode}}</span>
|
||||
<img class="play-ep-sheet-lock" src="/static/images/vip.png" alt="" />
|
||||
</a>
|
||||
{{else}}
|
||||
<a class="play-ep-sheet-item{{if $active}} play-ep-sheet-item--active{{end}}" href="{{chapterPlayURL $playletSlug $playletID .ID}}" data-ep="{{.CurrentEpisode}}" data-chapter-id="{{.ID}}" data-play-switch>
|
||||
<a class="play-ep-sheet-item{{if $active}} play-ep-sheet-item--active{{end}}" href="javascript:;" data-ep="{{.CurrentEpisode}}" data-chapter-id="{{.ID}}" data-play-locked aria-label="第{{.CurrentEpisode}}集,下载APP观看">
|
||||
<span class="play-ep-sheet-num">{{.CurrentEpisode}}</span>
|
||||
<span class="play-ep-sheet-lock" aria-hidden="true">APP</span>
|
||||
</a>
|
||||
{{end}}
|
||||
{{else}}
|
||||
@@ -462,23 +383,6 @@
|
||||
<button class="detail-comments-more play-comment-sheet-more" type="button" data-comment-more hidden>加载更多</button>
|
||||
</section>
|
||||
</div>
|
||||
<div class="play-comment-composer">
|
||||
{{if $.isLoggedIn}}
|
||||
<div class="play-comment-composer-box">
|
||||
<input class="play-comment-composer-input" type="text" maxlength="200" placeholder="发表评论…" autocomplete="off" />
|
||||
<button class="play-comment-composer-emoji" type="button" data-comment-send aria-label="发表评论">
|
||||
<img src="/static/images/smile.svg" alt="表情" />
|
||||
</button>
|
||||
</div>
|
||||
{{else}}
|
||||
<a class="play-comment-composer-box play-comment-composer-box--login" href="#login" data-login-dialog-open>
|
||||
<span class="play-comment-composer-placeholder">发表评论…</span>
|
||||
<span class="play-comment-composer-emoji" aria-hidden="true">
|
||||
<img src="/static/images/smile.svg" alt="表情" />
|
||||
</span>
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{else}}
|
||||
@@ -489,9 +393,7 @@
|
||||
{{end}}
|
||||
|
||||
{{template "footer" .}}
|
||||
{{template "vipDialog" .}}
|
||||
{{template "coinDialog" .}}
|
||||
<script src="/static/js/pages/detail.js?v=14"></script>
|
||||
<script src="/static/js/pages/play.js?v=13"></script>
|
||||
<script src="/static/js/pages/detail.js?v=15"></script>
|
||||
<script src="/static/js/pages/play.js?v=15"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
{{if .appConfig.BottomBanner}}
|
||||
<div class="rank-ad-list" aria-label="广告">
|
||||
{{range $ad := .appConfig.BottomBanner}}
|
||||
<a class="rank-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-ad-id="{{$ad.ID}}" data-creative-id="{{$ad.ID}}" data-ad-slot-key="bottom_banner" data-ad-slot-name="底部横幅广告" data-ad-type="banner" data-advertising-name="{{$ad.Title}}">
|
||||
<a class="rank-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-creative-id="{{$ad.ID}}">
|
||||
<img class="lazy" src="/static/images/placeholder.png?v=2" data-src="{{$ad.Images}}" alt="{{$ad.Title}}" title="{{$ad.Title}}" width="758" height="94">
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
@@ -151,22 +151,5 @@
|
||||
</main>
|
||||
{{template "footer" .}}
|
||||
<script defer src="/static/js/pages/mobileSearch.js?v=2"></script>
|
||||
<script>
|
||||
(function () {
|
||||
var keyword = {{jsonStr .query}};
|
||||
var reported = false;
|
||||
function reportSearch() {
|
||||
if (reported || !keyword || !window.tracker || typeof window.tracker.keywordSearch !== "function") return;
|
||||
reported = true;
|
||||
window.tracker.keywordSearch({
|
||||
keyword: keyword,
|
||||
search_result_count: {{if .totalCount}}{{.totalCount}}{{else}}0{{end}},
|
||||
search_content_type: "playlet",
|
||||
});
|
||||
}
|
||||
reportSearch();
|
||||
if (!reported) window.addEventListener("tracker:ready", reportSearch, { once: true });
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
{{if .appConfig.BottomBanner}}
|
||||
<div class="list-ad-list" aria-label="广告">
|
||||
{{range $ad := .appConfig.BottomBanner}}
|
||||
<a class="list-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-ad-id="{{$ad.ID}}" data-creative-id="{{$ad.ID}}" data-ad-slot-key="bottom_banner" data-ad-slot-name="底部横幅广告" data-ad-type="banner" data-advertising-name="{{$ad.Title}}">
|
||||
<a class="list-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-creative-id="{{$ad.ID}}">
|
||||
<img class="lazy" src="/static/images/placeholder.png?v=2" data-src="{{$ad.Images}}" alt="{{$ad.Title}}" title="{{$ad.Title}}" width="758" height="94">
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{{template "seoCommon" .}}
|
||||
<title>账号设置 - 黄果短剧</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="黄果短剧账号设置:修改昵称与简介,管理登录密码与账号安全 - 黄果短剧"
|
||||
/>
|
||||
<meta name="keywords" content="账号设置,个人资料,密码安全,黄果短剧" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="账号设置 - 黄果短剧" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="黄果短剧账号设置:修改昵称与简介,管理登录密码与账号安全。"
|
||||
/>
|
||||
<link rel="stylesheet" href="/static/css/setting.css" />
|
||||
<link rel="stylesheet" href="/static/css/accountShared.css?v=11" />
|
||||
</head>
|
||||
<body class="site-shell setting-layout is-setting-page">
|
||||
{{template "header" .}}
|
||||
<main class="setting-page">
|
||||
<div class="setting-pc">
|
||||
<nav class="setting-breadcrumb" aria-label="面包屑">
|
||||
<a class="setting-breadcrumb-link" href="/user-center/">个人中心</a>
|
||||
<span class="setting-breadcrumb-sep">/</span>
|
||||
<span class="setting-breadcrumb-current">账号设置</span>
|
||||
</nav>
|
||||
<div class="setting-head">
|
||||
<h1 class="setting-title">账号设置</h1>
|
||||
<p class="setting-desc">管理个人资料与登录状态</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<header class="setting-nav">
|
||||
<a
|
||||
class="setting-nav-back"
|
||||
href="javascript:history.back()"
|
||||
aria-label="返回"
|
||||
>
|
||||
<img src="/static/images/back.svg" alt="返回" />
|
||||
</a>
|
||||
<div class="setting-nav-title">账号设置</div>
|
||||
<span class="setting-nav-spacer" aria-hidden="true"></span>
|
||||
</header>
|
||||
|
||||
<div class="setting-main">
|
||||
<section
|
||||
class="setting-panel setting-profile-pc"
|
||||
aria-labelledby="settingProfileTitle"
|
||||
>
|
||||
<h2 class="setting-panel-title" id="settingProfileTitle">个人资料</h2>
|
||||
<div class="setting-avatar-row">
|
||||
{{if .setting.Avatar}}
|
||||
<img
|
||||
class="setting-avatar lazy"
|
||||
src="/static/images/placeholder.png?v=2"
|
||||
data-src="{{.setting.Avatar}}"
|
||||
alt="{{if .setting.DisplayName}}{{.setting.DisplayName}}{{else}}用户{{end}}的头像"
|
||||
/>
|
||||
{{else}}
|
||||
<img
|
||||
class="setting-avatar"
|
||||
src="/static/images/avatar.png"
|
||||
alt="{{if .setting.DisplayName}}{{.setting.DisplayName}}{{else}}用户{{end}}的默认头像"
|
||||
/>
|
||||
{{end}}
|
||||
<div class="setting-avatar-text">
|
||||
<div class="setting-avatar-name">{{.setting.DisplayName}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="setting-field">
|
||||
<label class="setting-label" for="setting-nickname">昵称</label>
|
||||
<input
|
||||
class="setting-input"
|
||||
id="setting-nickname"
|
||||
type="text"
|
||||
value="{{if .setting.NickName}}{{.setting.NickName}}{{else}}{{.setting.DisplayName}}{{end}}"
|
||||
readonly
|
||||
/>
|
||||
</div>
|
||||
<div class="setting-field">
|
||||
<span class="setting-label">个人简介</span>
|
||||
<div class="setting-input setting-input--static">
|
||||
{{if
|
||||
.setting.Introduction}}{{.setting.Introduction}}{{else}}未设置简介{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<a class="setting-save-btn" href="/edit-profile/">保存修改</a>
|
||||
</section>
|
||||
|
||||
<section class="setting-profile-mobile" aria-label="个人资料">
|
||||
<div class="setting-section-label">个人资料</div>
|
||||
<div class="setting-group">
|
||||
<a class="setting-item setting-item--avatar" href="/edit-profile/">
|
||||
<span class="setting-item-label">头像</span>
|
||||
<span class="setting-item-right">
|
||||
{{if .setting.Avatar}}
|
||||
<img
|
||||
class="setting-item-avatar lazy"
|
||||
src="/static/images/placeholder.png?v=2"
|
||||
data-src="{{.setting.Avatar}}"
|
||||
alt="{{if .setting.DisplayName}}{{.setting.DisplayName}}{{else}}用户{{end}}的头像"
|
||||
/>
|
||||
{{else}}
|
||||
<img
|
||||
class="setting-item-avatar"
|
||||
src="/static/images/avatar.png"
|
||||
alt="{{if .setting.DisplayName}}{{.setting.DisplayName}}{{else}}用户{{end}}的默认头像"
|
||||
/>
|
||||
{{end}}
|
||||
<img
|
||||
class="setting-item-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="编辑头像"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="setting-item" href="/edit-profile/">
|
||||
<span class="setting-item-label">昵称</span>
|
||||
<span class="setting-item-right">
|
||||
<span class="setting-item-value"
|
||||
>{{if
|
||||
.setting.NickName}}{{.setting.NickName}}{{else}}未设置{{end}}</span
|
||||
>
|
||||
<img
|
||||
class="setting-item-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="编辑昵称"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="setting-item" href="/edit-profile/">
|
||||
<span class="setting-item-label">个人简介</span>
|
||||
<span class="setting-item-right">
|
||||
<span class="setting-item-value"
|
||||
>{{if
|
||||
.setting.Introduction}}{{.setting.Introduction}}{{else}}未填写{{end}}</span
|
||||
>
|
||||
<img
|
||||
class="setting-item-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="编辑个人简介"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<aside class="setting-aside">
|
||||
<div class="setting-section-label setting-section-label--aside">
|
||||
账号安全
|
||||
</div>
|
||||
<h2 class="setting-aside-title">账号安全</h2>
|
||||
<div class="setting-group setting-group--security">
|
||||
<a class="setting-item" href="/edit-password/">
|
||||
<span class="setting-item-label">登录密码</span>
|
||||
<span class="setting-item-hint">建议定期更新登录密码</span>
|
||||
<span class="setting-item-action">修改密码</span>
|
||||
<span class="setting-item-right">
|
||||
<span class="setting-item-value">修改</span>
|
||||
<img
|
||||
class="setting-item-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="修改登录密码"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!--<div class="setting-section-label setting-section-label--aside">通知偏好</div>
|
||||
<h2 class="setting-aside-title">通知偏好</h2>
|
||||
<div class="setting-group setting-group--notify">
|
||||
<div class="setting-item">
|
||||
<span class="setting-item-label">剧集更新提醒</span>
|
||||
<button class="setting-switch setting-switch--on" type="button" aria-pressed="true" aria-label="剧集更新提醒"></button>
|
||||
</div>
|
||||
<div class="setting-item">
|
||||
<span class="setting-item-label">收藏内容推荐</span>
|
||||
<button class="setting-switch setting-switch--on" type="button" aria-pressed="true" aria-label="收藏内容推荐"></button>
|
||||
</div>
|
||||
<div class="setting-item">
|
||||
<span class="setting-item-label">活动与优惠通知</span>
|
||||
<button class="setting-switch" type="button" aria-pressed="false" aria-label="活动与优惠通知"></button>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<button class="setting-logout" type="button" data-auth-logout>
|
||||
退出登录
|
||||
</button>
|
||||
</aside>
|
||||
</div>
|
||||
</main>
|
||||
{{template "footer" .}}
|
||||
<script src="/static/js/pages/setting.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -52,7 +52,7 @@
|
||||
{{if .appConfig.BottomBanner}}
|
||||
<div class="theme-index-ads" aria-label="广告">
|
||||
{{range $ad := .appConfig.BottomBanner}}
|
||||
<a class="theme-index-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-ad-id="{{$ad.ID}}" data-creative-id="{{$ad.ID}}" data-ad-slot-key="bottom_banner" data-ad-slot-name="底部横幅广告" data-ad-type="banner" data-advertising-name="{{$ad.Title}}">
|
||||
<a class="theme-index-ad" {{if $ad.Link}}href="{{$ad.Link}}" target="_blank" rel="sponsored nofollow noopener noreferrer"{{else}}aria-disabled="true"{{end}} data-creative-id="{{$ad.ID}}">
|
||||
<img class="lazy" src="/static/images/placeholder.png?v=2" data-src="{{$ad.Images}}" alt="{{$ad.Title}}" title="{{$ad.Title}}" width="758" height="94" />
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
@@ -1,318 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{{template "seoCommon" .}}
|
||||
<title>个人中心 - 黄果短剧</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="黄果短剧个人中心:查看账号信息、会员状态、收藏与观看记录入口 - 黄果短剧"
|
||||
/>
|
||||
<meta name="keywords" content="个人中心,我的账号,黄果短剧" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="个人中心 - 黄果短剧" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="黄果短剧个人中心:查看账号信息、会员状态、收藏与观看记录入口。"
|
||||
/>
|
||||
<link rel="stylesheet" href="/static/css/userCenter.css?v=10" />
|
||||
<link rel="stylesheet" href="/static/css/accountShared.css?v=12" />
|
||||
</head>
|
||||
<body class="site-shell user-center-layout is-user-center-page">
|
||||
{{template "header" .}}
|
||||
<main class="user-center-page">
|
||||
<div class="user-center-pc">
|
||||
<div class="user-center-head">
|
||||
<div class="user-center-eyebrow">ACCOUNT</div>
|
||||
<div class="user-center-head-row">
|
||||
<div class="user-center-head-title-wrap">
|
||||
<h1
|
||||
class="user-center-title{{if .isLoggedIn}} user-center-title--logged{{end}}"
|
||||
>
|
||||
个人中心
|
||||
</h1>
|
||||
{{if and .isLoggedIn (not .isRegistered)}}
|
||||
<a class="user-center-guest-register-btn" href="/register/"
|
||||
>游客注册</a
|
||||
>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="user-center-state-switch" aria-label="登录状态预览">
|
||||
<a
|
||||
class="user-center-state-btn{{if not .isLoggedIn}} user-center-state-btn--active{{end}}"
|
||||
href="/user-center/"
|
||||
>未登录</a
|
||||
>
|
||||
<a
|
||||
class="user-center-state-btn{{if .isLoggedIn}} user-center-state-btn--active{{end}}"
|
||||
href="/user-center/"
|
||||
>已登录</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
{{if .isLoggedIn}}
|
||||
<div class="user-center-desc">欢迎回来,继续你的追剧旅程</div>
|
||||
{{else}}
|
||||
<div class="user-center-desc">管理观看数据、收藏和金币余额</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
{{template "squarePromo" dict "Ads" .appConfig.DetailTopList "SlotKey" "user_center_detail_top" "SlotName" "个人中心方块广告" "Label" "推广应用"}}
|
||||
|
||||
{{if .isLoggedIn}}
|
||||
<div class="user-center-profile">
|
||||
{{if .avatar}}
|
||||
<img
|
||||
class="user-center-avatar lazy"
|
||||
src="/static/images/placeholder.png?v=2"
|
||||
data-src="{{.avatar}}"
|
||||
alt="{{if .userName}}{{.userName}}{{else}}用户{{end}}的头像"
|
||||
/>
|
||||
{{else}}
|
||||
<img
|
||||
class="user-center-avatar"
|
||||
src="/static/images/avatar.png"
|
||||
alt="{{if .userName}}{{.userName}}{{else}}用户{{end}}的默认头像"
|
||||
/>
|
||||
{{end}}
|
||||
<div class="user-center-profile-info">
|
||||
<div class="user-center-profile-name">
|
||||
{{if .userName}}{{.userName}}{{else}}用户{{end}}
|
||||
</div>
|
||||
<div class="user-center-profile-id" data-user-center-id data-id-layout="pc">
|
||||
ID:{{if .userId}}{{.userId}}{{else}}--{{end}}
|
||||
</div>
|
||||
{{if .email}}
|
||||
<div class="user-center-profile-email">{{.email}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="user-center-profile-spacer"></div>
|
||||
<a class="user-center-coin-card" href="/deposit/">
|
||||
<div class="user-center-coin-copy">
|
||||
<div class="user-center-coin-label">金币余额 <small>(金币)</small></div>
|
||||
<div class="user-center-coin-value" data-user-center-recharge>
|
||||
{{if .rechargeText}}{{.rechargeText}}{{else}}000.00{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<img class="user-center-coin-action" src="/static/images/jbcz.png" alt="金币充值" width="72" height="30" />
|
||||
</a>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="user-center-login-banner">
|
||||
<div class="user-center-login-title">登录后同步观看数据</div>
|
||||
<div class="user-center-login-desc">
|
||||
登录后同步收藏、追剧、观看历史和金币余额。
|
||||
</div>
|
||||
<a class="user-center-login-btn" href="#login" data-login-dialog-open>
|
||||
<span class="user-center-login-arrow">→</span>
|
||||
<span>登录账号</span>
|
||||
</a>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<div class="user-center-features">
|
||||
<a class="user-center-feature" href="/collect/">
|
||||
<div class="user-center-feature-icon" aria-hidden="true">
|
||||
<img src="/static/images/figma-account/feature-follow.svg" alt="" />
|
||||
</div>
|
||||
<div class="user-center-feature-title">追剧与收藏</div>
|
||||
<div class="user-center-feature-desc">继续关注喜欢的内容</div>
|
||||
</a>
|
||||
<a class="user-center-feature" href="/deposit/">
|
||||
<div class="user-center-feature-icon" aria-hidden="true">
|
||||
<img src="/static/images/figma-account/feature-wallet.svg" alt="" />
|
||||
</div>
|
||||
<div class="user-center-feature-title">金币充值</div>
|
||||
<div class="user-center-feature-desc">查看余额和充值记录</div>
|
||||
</a>
|
||||
<a class="user-center-feature" href="/history/">
|
||||
<div class="user-center-feature-icon" aria-hidden="true">
|
||||
<img src="/static/images/figma-account/feature-history.svg" alt="" />
|
||||
</div>
|
||||
<div class="user-center-feature-title">观看历史</div>
|
||||
<div class="user-center-feature-desc">找回最近观看的剧集</div>
|
||||
</a>
|
||||
<a class="user-center-feature" href="/setting/">
|
||||
<div class="user-center-feature-icon" aria-hidden="true">
|
||||
<img src="/static/images/figma-account/feature-setting.svg" alt="" />
|
||||
</div>
|
||||
<div class="user-center-feature-title">账号设置</div>
|
||||
<div class="user-center-feature-desc">资料与安全设置</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="user-center-main">
|
||||
{{if .isLoggedIn}}
|
||||
<div class="user-center-mobile-profile">
|
||||
{{if .avatar}}
|
||||
<img
|
||||
class="user-center-mobile-avatar lazy"
|
||||
src="/static/images/placeholder.png?v=2"
|
||||
data-src="{{.avatar}}"
|
||||
alt="{{if .userName}}{{.userName}}{{else}}用户{{end}}的头像"
|
||||
/>
|
||||
{{else}}
|
||||
<img
|
||||
class="user-center-mobile-avatar"
|
||||
src="/static/images/avatar.png"
|
||||
alt="{{if .userName}}{{.userName}}{{else}}用户{{end}}的默认头像"
|
||||
/>
|
||||
{{end}}
|
||||
<div class="user-center-mobile-profile-info">
|
||||
<div class="user-center-mobile-name">
|
||||
{{if .userName}}{{.userName}}{{else}}用户{{end}}
|
||||
</div>
|
||||
<div class="user-center-mobile-meta" data-user-center-id data-id-layout="mobile">
|
||||
{{if .userId}}ID {{.userId}}{{else}}ID --{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{if not .isRegistered}}
|
||||
<a class="user-center-mobile-guest-register-btn" href="/register/"
|
||||
>游客注册</a
|
||||
>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="user-center-mobile-body">
|
||||
<a class="user-center-mobile-balance" href="/deposit/">
|
||||
<div class="user-center-mobile-balance-copy">
|
||||
<div class="user-center-mobile-balance-label">金币余额 <small>(金币)</small></div>
|
||||
<div class="user-center-mobile-balance-value" data-user-center-recharge>{{if .rechargeText}}{{.rechargeText}}{{else}}000.00{{end}}</div>
|
||||
</div>
|
||||
<span class="user-center-mobile-balance-action">金币充值</span>
|
||||
</a>
|
||||
|
||||
{{template "squarePromo" dict "Ads" .appConfig.DetailTopList "SlotKey" "user_center_detail_top" "SlotName" "个人中心方块广告" "Label" "推广应用"}}
|
||||
|
||||
<div class="user-center-mobile-menu">
|
||||
<a class="user-center-mobile-menu-item" href="/collect/">
|
||||
<span class="user-center-mobile-menu-label">我的追剧</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<span class="user-center-mobile-menu-hint"
|
||||
>{{if
|
||||
.collectCountText}}{{.collectCountText}}{{else}}0部{{end}}</span
|
||||
>
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="查看我的追剧"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="user-center-mobile-menu-item" href="/history/">
|
||||
<span class="user-center-mobile-menu-label">观看历史</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<span class="user-center-mobile-menu-hint">继续观看</span>
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="查看观看历史"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="user-center-mobile-menu-item" href="/setting/">
|
||||
<span class="user-center-mobile-menu-label">账号设置</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="进入账号设置"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="user-center-mobile-menu-item" href="/feedback/">
|
||||
<span class="user-center-mobile-menu-label">意见反馈</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="进入问题反馈"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div
|
||||
class="user-center-mobile-profile user-center-mobile-profile--guest"
|
||||
>
|
||||
<img
|
||||
class="user-center-mobile-avatar"
|
||||
src="/static/images/avatar.png"
|
||||
alt="未登录用户头像"
|
||||
/>
|
||||
<div class="user-center-mobile-profile-info">
|
||||
<div class="user-center-mobile-name">未登录</div>
|
||||
<div class="user-center-mobile-meta">登录后同步收藏与观看历史</div>
|
||||
</div>
|
||||
<a
|
||||
class="user-center-mobile-login-btn"
|
||||
href="#login"
|
||||
data-login-dialog-open
|
||||
>登录</a
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="user-center-mobile-body">
|
||||
<a class="user-center-mobile-balance" href="/deposit/">
|
||||
<div class="user-center-mobile-balance-copy">
|
||||
<div class="user-center-mobile-balance-label">金币余额 <small>(金币)</small></div>
|
||||
<div class="user-center-mobile-balance-value">000.00</div>
|
||||
</div>
|
||||
<span class="user-center-mobile-balance-action">金币充值</span>
|
||||
</a>
|
||||
|
||||
{{template "squarePromo" dict "Ads" .appConfig.DetailTopList "SlotKey" "user_center_detail_top" "SlotName" "个人中心方块广告" "Label" "推广应用"}}
|
||||
|
||||
<div class="user-center-mobile-menu">
|
||||
<a class="user-center-mobile-menu-item" href="/collect/">
|
||||
<span class="user-center-mobile-menu-label">我的追剧</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="查看我的追剧"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="user-center-mobile-menu-item" href="/history/">
|
||||
<span class="user-center-mobile-menu-label">观看历史</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="查看观看历史"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="user-center-mobile-menu-item" href="/setting/">
|
||||
<span class="user-center-mobile-menu-label">账号设置</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="进入账号设置"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
<a class="user-center-mobile-menu-item" href="/feedback/">
|
||||
<span class="user-center-mobile-menu-label">意见反馈</span>
|
||||
<span class="user-center-mobile-menu-right">
|
||||
<img
|
||||
class="user-center-mobile-menu-arrow"
|
||||
src="/static/images/arrow_right2.svg"
|
||||
alt="进入问题反馈"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</main>
|
||||
{{template "footer" .}}
|
||||
<script src="/static/js/pages/userCenter.js?v=2"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user