signV3.blade.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <link rel=icon type=image/png href="data:image/png;base64,iVBORw0KGgo=">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  8. <title>签到</title>
  9. <style>
  10. html,
  11. body {
  12. margin: 0 auto;
  13. padding: 0;
  14. max-width: 450px;
  15. font-size: 100px;
  16. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  17. }
  18. body {
  19. background: white;
  20. }
  21. .main_box {
  22. font-size: 0.15rem;
  23. position: relative;
  24. text-align: center;
  25. height: 100%;
  26. }
  27. .main_box img {
  28. width: 100%;
  29. }
  30. .top_info {
  31. position: absolute;
  32. top: 0;
  33. width: 100%;
  34. height: 310px;
  35. }
  36. .user_info {
  37. position: absolute;
  38. left: 5px;
  39. top: 5%;
  40. display: flex;
  41. text-align: left;
  42. color: white;
  43. }
  44. .user_info img {
  45. width: 50px;
  46. height: 50px;
  47. border-radius: 50px;
  48. border: 1.5px solid white;
  49. }
  50. .user_info .user_name {
  51. margin-left: 10px;
  52. line-height: 30px;
  53. }
  54. .user_info .user_name div:nth-child(1) {
  55. font-weight: bold;
  56. }
  57. .sign_info {
  58. width: 85%;
  59. position: absolute;
  60. left: 25px;
  61. top: 40%;
  62. text-align: left;
  63. color: white;
  64. }
  65. .sign_record {
  66. width: 100%;
  67. display: flex;
  68. justify-content: space-between;
  69. }
  70. .sign_list {
  71. position: absolute;
  72. left: 50%;
  73. transform: translate(-50%);
  74. top: 0.6rem;
  75. width: 100%;
  76. color: #333;
  77. line-height: 25px;
  78. display: flex;
  79. justify-content: space-between;
  80. font-size: 12px;
  81. margin-top: 15px;
  82. }
  83. .sign_day {
  84. text-align: center;
  85. position: relative;
  86. }
  87. .sign_day-wei {
  88. color: #999;
  89. }
  90. .sign_day div:nth-child(1) {
  91. margin-bottom: 5px;
  92. }
  93. .sign_day img {
  94. width: 20px;
  95. position: relative;
  96. z-index: 1000;
  97. }
  98. .sign_line {
  99. border-bottom: 4px #318cf5 solid;
  100. position: absolute;
  101. width: 100%;
  102. top: 48%;
  103. right: -25px;
  104. z-index: 10;
  105. margin-left: 5px;
  106. }
  107. .sign_line-wei {
  108. border-bottom: 4px #e5e5e5 solid;
  109. }
  110. .read_record {
  111. position: relative;
  112. margin-bottom: 0.15rem;
  113. }
  114. .read_record .title {
  115. text-align: left;
  116. font-weight: bold;
  117. margin-bottom: 10px;
  118. }
  119. .read_record .title span {
  120. border-left: 4px solid #318cf5;
  121. border-radius: 3px;
  122. margin-right: 10px;
  123. }
  124. .book_list {
  125. display: flex;
  126. justify-content: space-between;
  127. padding: 0 20px;
  128. }
  129. .book_box {
  130. line-height: 20px;
  131. }
  132. .book_box {
  133. font-size: 0.13rem;
  134. }
  135. .book_box div:nth-child(3) {
  136. color: #318cf5;
  137. }
  138. .book_box img {
  139. height: 130px;
  140. width: 100px;
  141. min-width: 100px;
  142. box-shadow: 0 0 0.16rem rgba(0, 0, 0, 0.1);
  143. border-radius: 2px;
  144. }
  145. .book_box-featured {
  146. padding: 0 20px;
  147. display: flex;
  148. text-decoration: none;
  149. margin-bottom: 15px;
  150. color: #333;
  151. }
  152. .book_info {
  153. margin-left: 10px;
  154. width: 100%;
  155. }
  156. .book_name {
  157. display: flex;
  158. justify-content: space-between;
  159. line-height: 25px;
  160. font-size: 16px;
  161. }
  162. .book_name span:nth-child(1) {
  163. overflow: hidden;
  164. text-overflow: ellipsis;
  165. white-space: nowrap;
  166. width: 150px;
  167. }
  168. .book_name span:nth-child(2) {
  169. font-size: 14px;
  170. }
  171. .book_details {
  172. display: -webkit-box;
  173. -webkit-box-orient: vertical;
  174. -webkit-line-clamp: 3;
  175. overflow: hidden;
  176. width: 100%;
  177. line-height: 22px;
  178. color: #999;
  179. margin-top: 15px;
  180. text-align: left;
  181. }
  182. .book_category {
  183. margin-top: 15px;
  184. text-align: left;
  185. }
  186. .book_category span {
  187. white-space: nowrap;
  188. padding: 2px 5px;
  189. background-color: #fff0d5;
  190. color: #b3883d;
  191. border-radius: 50px;
  192. margin: 5px 0;
  193. }
  194. .dialog {
  195. position: fixed;
  196. top: 0;
  197. bottom: 0;
  198. left: 0;
  199. right: 0;
  200. background: rgba(0, 0, 0, 0.6);
  201. z-index: 9999;
  202. display: flex;
  203. }
  204. .dialog .dialog_close {
  205. position: absolute;
  206. bottom: 0%;
  207. left: 50%;
  208. transform: translate(-50%, 200%);
  209. width: 30px;
  210. }
  211. .hide {
  212. display: none;
  213. }
  214. .sign_record {
  215. color: white;
  216. text-decoration: none;
  217. }
  218. .dialog .fee {
  219. position: absolute;
  220. top: 39.5%;
  221. left: 50%;
  222. transform: translate(-50%);
  223. font-weight: bold;
  224. font-size: 0.2rem;
  225. color: #ffc018;
  226. }
  227. .dialog .dialog-content {
  228. margin:auto;
  229. width:80%;
  230. font-size:0;
  231. position: relative;
  232. }
  233. .dialog .click-area {
  234. position: absolute;
  235. left: 50%;
  236. bottom: 7%;
  237. transform: translate(-50%,0);
  238. width: 58%;
  239. height: 35px;
  240. }
  241. </style>
  242. </head>
  243. <body>
  244. <main class="main_box">
  245. <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_top_banner.jpg" alt="" />
  246. <div class="top_info">
  247. <div class="user_info">
  248. @if($head_img)
  249. <img src="{{$head_img}}" alt=""/>
  250. @endif
  251. <div class="user_name">
  252. <div>{{$name}}</div>
  253. <div>持有书币:{{$balance}}</div>
  254. </div>
  255. </div>
  256. <div class="sign_info">
  257. <div class="sign_record">
  258. <span>已经连续签到 <span style="font-weight: bold;">{{$sign_count}}</span> 天</span>
  259. <span><a href="/record/sign" class="sign_record">签到记录></a></span>
  260. </div>
  261. <div class="sign_list">
  262. @foreach($fee_pool as $k=>$value)
  263. @if($k > 0)
  264. <div class="sign_day">
  265. <div>{{$k}}天</div>
  266. @if($day > $k)
  267. <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_over.png" alt="" />
  268. @elseif($day == $k)
  269. <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_doing.png" alt="" />
  270. @else
  271. <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_undone.png" alt="" />
  272. @endif
  273. <div>{{$value}}书币</div>
  274. <!-- 连接线 -->
  275. @if($k != 7)
  276. @if($k >= $day)
  277. <div class="sign_line sign_line-wei"></div>
  278. @else
  279. <div class="sign_line"></div>
  280. @endif
  281. @endif
  282. </div>
  283. @endif
  284. @endforeach
  285. </div>
  286. </div>
  287. </div>
  288. <div class="read_record">
  289. <div class="title"><span></span>最近阅读</div>
  290. <div class="book_list">
  291. @foreach($read_record as $ks=>$item)
  292. @if($ks <2)
  293. <div class="book_box">
  294. <a href="{{$item['url']}}">
  295. <img src="{{$item['cover']}}" alt="" />
  296. </a>
  297. <div>{{$item['book_name']}}</div>
  298. @if($item['update_count'])
  299. <div>·更新{{$item['update_count']}}章</div>
  300. @endif
  301. </div>
  302. @endif
  303. @endforeach
  304. <div class="book_box">
  305. <a href="/recent"><img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_more.png" alt="" /></a>
  306. </div>
  307. </div>
  308. </div>
  309. <div class="read_record">
  310. <div class="title"><span></span>精选推荐</div>
  311. @foreach($recommend_book as $item_book)
  312. <a class="book_box book_box-featured" href="{{$item_book['url']}}">
  313. <img src="{{$item_book['cover']}}" alt=""/>
  314. <div class="book_info">
  315. <div class="book_name">
  316. <span>{{$item_book['book_name']}}</span><span>{{$item_book['category_name']}}</span>
  317. </div>
  318. <div class="book_details">
  319. {{$item_book['intro']}}
  320. </div>
  321. <div class="book_category">
  322. @if($item_book['tag_list'])
  323. @foreach($item_book['tag_list'] as $tag)
  324. <span>{{$tag}}</span>
  325. @endforeach
  326. @endif
  327. </div>
  328. </div>
  329. </a>
  330. @endforeach
  331. </div>
  332. <div class="dialog {{$is_alert? '':'hide'}}" >
  333. @if($bind_status)
  334. <div class="dialog-content">
  335. <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_alert_v2.png" />
  336. <div class="fee">{{$fee}}</div>
  337. <a href="{{$bind_link}}" class="click-area"></a>
  338. <img src="https://cdn-novel.iycdm.com/h5/sign/sing_v3_close.png" class="dialog_close" />
  339. </div>
  340. @else
  341. <div class="dialog-content">
  342. <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_alert.png" />
  343. <div class="fee" style="top:66.5%;color: white">获得<span style="color:#ffc018 ">{{$fee}}</span>书币</div>
  344. <img src="https://cdn-novel.iycdm.com/h5/sign/sing_v3_close.png" class="dialog_close" />
  345. </div>
  346. @endif
  347. </div>
  348. </main>
  349. </body>
  350. <script>
  351. var _hmt = _hmt || [];
  352. (function() {
  353. var hm = document.createElement("script");
  354. hm.src = "https://hm.baidu.com/hm.js?a027c0fdf2b6e70f1892dbd8227cbb2b";
  355. var s = document.getElementsByTagName("script")[0];
  356. s.parentNode.insertBefore(hm, s);
  357. })();
  358. </script>
  359. <script>
  360. var dialogClose = document.querySelector(".dialog_close");
  361. var dialog = document.querySelector(".dialog");
  362. function dialogBehavior() {
  363. dialogClose.addEventListener(
  364. "click",
  365. function() {
  366. dialog.style.display = "none";
  367. },
  368. false
  369. );
  370. }
  371. function init() {
  372. dialogBehavior();
  373. }
  374. init();
  375. </script>
  376. </html>