Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master' into dev-jcq

jcq 1 dienu atpakaļ
vecāks
revīzija
fc7a1118dd

BIN
data/attachment/o_1j2opbr3d2r81npk3f1viq13qm9.apk


BIN
data/attachment/o_1j2opc9fbd8ool7fhsj312h09.apk


BIN
data/attachment/o_1j2opcv7k1p20l7u1cc131j1ukn9.apk


BIN
img/qrcode_no_m.png


+ 1 - 0
index.php

@@ -4,6 +4,7 @@
 PHP_VERSION < "7.1" && exit("需要 PHP >= 7.1 , 当前版本 : " . PHP_VERSION);
 include_once "source/system/db.class.php";
 $read = "app/" . $info . "/" . $module;
+
 if (findClassFile($read)) {
 	loadClass($info, $module, $action);
 } else {

+ 27 - 0
source/index/app.php

@@ -5,8 +5,35 @@ class app extends Base
 {
     protected $template_note;
 
+    function getMobileType() {
+        $userAgent = $_SERVER['HTTP_USER_AGENT'];
+        
+        // 检查iOS设备
+        if (dstrpos($userAgent, ['iphone', 'ipad', 'ipod', 'ios'])) {
+            return 'ios';
+        }
+        
+        // 检查Android设备
+        if (dstrpos($userAgent, ['android'])) {
+            return 'android';
+        }
+        
+        return 'unknown';
+    }
+
     function index($info = '', $module = '')
     {
+        
+
+        $uri = trim($_SERVER['REQUEST_URI'], '/');
+        if($uri){
+            $check = db("combine")->where('short', $uri)->find();
+            // print_r($check);die;
+            if(!empty($check)){
+                $system = $this->getMobileType();
+                header("Location: ".$check[$system]);
+            }
+        }
         $ssid = SafeRequest('ssid', 'get');
         $authcode = SafeRequest('authcode', 'get');
         $authcode && setcookie('downcode', $authcode);

+ 253 - 38
source/index/combine.php

@@ -67,14 +67,14 @@ class combine extends BaseUser
 					width: 303px;
 				}
 
-				#qrcode_img {
+				.qrcode_img {
 					width: 235px;
 					height: 235px;
 					object-fit: cover;
 					border: 1px solid rgba(232, 234, 236, 1);
 				}
 
-				#qrcode_img::placeholder {
+				.qrcode_img::placeholder {
 					color: rgba(143, 149, 159, 1);
 					font-size: 16px;
 					line-height: 22px;
@@ -242,6 +242,7 @@ class combine extends BaseUser
 				/* 记录 */
 				.table-responsive {
 					overflow-x: auto;
+					border: 1px solid rgba(232, 234, 236, 1);
 				}
 
 				/* 通用表格设置 */
@@ -266,7 +267,7 @@ class combine extends BaseUser
 					color: rgba(0, 0, 0, 1);
 					box-sizing: border-box;
 					padding: 0 15px !important;
-					height: 50px;
+					height: 68px;
 					text-align: center;
 					font-family: Source Han Sans SC;
 					font-weight: 400;
@@ -301,6 +302,24 @@ class combine extends BaseUser
 					margin-left: 14px;
 				}
 
+				/* 操作按钮 */
+
+				.table .btn-detail {
+					height: 30px;
+					border-width: 1px;
+					border-radius: 4px;
+					padding-top: 5px;
+					padding-right: 8px;
+					padding-bottom: 5px;
+					padding-left: 8px;
+					color: rgba(255, 116, 41, 1);
+					border: 1px solid rgba(255, 116, 41, 1);
+					font-family: Source Han Sans SC;
+					font-weight: 500;
+					font-size: 14px;
+					line-height: 20px;
+				}
+
 				/* 翻页 */
 
 				.pagination-box {
@@ -334,6 +353,211 @@ class combine extends BaseUser
 					color: rgba(33, 104, 251, 1);
 					pointer-events: none;
 				}
+
+				/* 底部 */
+				.tips {
+					margin: 12px auto 57px;
+					color: rgba(143, 149, 159, 1);
+					font-size: 13px;
+					line-height: 20px;
+				}
+				@media (max-width: 768px) {
+
+					.release-app2>.row {
+						margin: 0;
+					}
+
+					.app-details .details-top {
+						padding: 0.32rem;
+					}
+
+					.details-top .p1{
+						font-size: 0.28rem;
+						line-height: 0.40rem;
+					}
+
+					#hotApp_box {
+						margin: 0;
+						display: block;
+					}
+
+					.download-details {
+						padding: 0.20rem 0.32rem 0.60rem;
+					}
+
+					.flex-left {
+						width: 100%;
+					}
+
+					.flex-right {
+						width: 100%;
+					}
+
+					.qrcode_img {
+						width: 2.66rem;
+						height: 2.66rem;
+						margin: 0 auto;
+					}
+
+					.qrcode_url_tips {
+						font-size: 0.28rem;
+						line-height: 0.34rem;
+						margin: 0.20rem 0;
+					}
+
+					.qrcode_url_input_box {
+						margin-bottom: 0.4rem;
+					}
+
+					.qrcode_url_input_box input {
+						height: 0.64rem;
+						line-height: 0.64rem;
+						padding: 0 0.24rem;
+						font-size: 0.28rem;
+					}
+
+					.qrcode_url_input_box input::placeholder {
+						font-size: 0.28rem;
+					}
+
+					.generate_btn_box {
+						margin-top: 0;
+					}
+
+					.generate_qrcode_btn {
+						width: 100%;
+						height: 0.68rem;
+						border-radius: 0.08rem;
+						font-size: 0.32rem;
+						line-height: 0.68rem;
+						padding: 0;
+					}
+
+					#hotApp-qrcode-downBtn:active:focus,
+					#hotApp-qrcode-downBtn:hover,
+					.generate_qrcode_btn:active:focus,
+					.generate_qrcode_btn:hover {
+						background: rgba(33, 104, 251, 1);
+						color: rgba(255, 255, 255, 1);
+					}
+
+					.qrcode_show_box {
+						margin-bottom: 0.2rem;
+						margin-top: 0.48rem;
+						text-align: center;
+					}
+
+					.qrcode_url_box { margin-bottom: 20px; }
+					.qrcode_url_tips {margin-bottom: 0.20rem;}
+					.qrcode_url_input {
+						width: 100%;
+						padding: 10px; 
+						border-radius: 4px;
+					}
+
+
+					.qrcode_function {
+						margin: 0 auto;
+					}
+
+
+					.down_btnbox {
+						padding-left: 0;
+					}
+
+					#hotApp-qrcode-downBtn {
+						width: 100%;
+						height: 0.68rem;
+						border-radius: 0.08rem;
+						font-size: 0.32rem;
+						line-height: 0.68rem;
+					}
+
+					.down_qrcode_box {
+						width: 100%;
+					}
+
+					/* 标签页样式 */
+					.tabs {
+						margin: 0;
+						padding: 0 0.32rem;
+					}
+
+					.tabs .nav-tabs>li>a {
+						padding: 0.24rem 0.04rem;
+						margin-right: 0.48rem;
+						font-size: 0.30rem;
+						line-height: 0.40rem;
+					}
+
+					/* 通用表格设置 */
+					.table {
+						margin-bottom: 0;
+					}
+
+					.table>tbody>tr>th {
+						height: 0.72rem;
+						font-size: 0.28rem;
+						line-height: 0.36rem;
+					}
+
+					.table>tbody>tr>td {
+						padding: 0.2rem 0.30rem!important;
+						height: 1.36rem;
+						font-size: 0.28rem;
+						line-height: 0.32rem;
+					}
+
+					.table>tfoot>tr>td {
+						padding: 0 0.30rem !important;
+					}
+
+					.table>tbody>tr>td>a {
+						font-size: 0.28rem;
+					}
+
+					.table>tbody>tr>td>a+a {
+						margin-left: 0.28rem;
+					}
+
+					/* 操作按钮 */
+
+					.table .btn-detail {
+						height: 0.60rem;
+						border-radius: 0.08rem;
+						padding-top: 0.10rem;
+						padding-right: 0.16rem;
+						padding-bottom: 0.10rem;
+						padding-left: 0.16rem;
+						font-size: 0.28rem;
+						line-height: 0.40rem;
+					}
+
+					/* 翻页 */
+
+					.pagination {
+						margin: 0.20rem auto 0.20rem;
+					}
+
+					.pagination>li:first-child {
+						padding: 0.14rem 0 0.14rem 0.24rem;
+					}
+
+					/* 底部 */
+					.release-app2 .warn-prompt-wrap {
+						padding-bottom: unset;
+						margin-top: 0;
+						margin-bottom: 1.46rem;
+					}
+
+					.tips {
+						margin: 0.24rem auto 0.48rem;
+						color: rgba(143, 149, 159, 1);
+						font-weight: 400;
+						font-size: 0.24rem;
+						line-height: 0.40rem;
+					}
+				}
 			</style>
             
             <div class="release-app-wrap">
@@ -374,7 +598,8 @@ class combine extends BaseUser
                                         <div class="details-top clearfix">
                                             <b class="p1">外部链接合并</b>
                                             <div class="p1">
-                                                设置提示:本功能可将外部的ios链接或安卓链接,来和本站的链接进行合并到一起使用,<br>
+                                                设置提示:本功能可将外部的ios链接或安卓链接,来和本站的链接进行合并到一起使用,
+												<br class="hidden-xs">
                                                 以便更好的管理不同平台链接的使用,可生成二维码和短链接。
                                             </div>
                                         </div>
@@ -432,7 +657,8 @@ class combine extends BaseUser
 													</div>
 													<div class="flex-right">
 														<div class="qrcode_show_box">
-															<img class="qrcode_img" src="/img/qrcode_no.png" id="qrcode_img">
+															<img class="qrcode_img hidden-xs" src="/img/qrcode_no.png">
+															<img class="qrcode_img visible-xs" src="/img/qrcode_no_m.png">
 														</div>
 														<div class="qrcode_function clearfix row">
 															<input type="hidden" name="" class="qrcode_key" value="">
@@ -453,37 +679,25 @@ class combine extends BaseUser
 											<!-- 合并记录表格 -->
 											<div id="tab-record" class="tab-content <?php echo (SafeRequest("tab", "get") == 'record') ? 'active' : ''; ?>">
 												<div class="table-responsive">
-													<table class="table table-striped">
-														<!-- <thead>
-															<tr>
-																<th>ID</th>
-																<th>iOS链接</th>
-																<th>Android链接</th>
-																<th>短链接</th>
-																<th>创建时间</th>
-																<th>操作</th>
-															</tr>
-														</thead> -->
+													<table class="table">
 														<tbody>
 															<tr>
 																<th>ID</th>
-																<th>iOS链接</th>
-																<th>Android链接</th>
+																<th>安卓地址</th>
+																<th>IOS地址</th>
 																<th>短链接</th>
-																<th>创建时间</th>
+																<th>添加时间</th>
 																<th>操作</th>
 															</tr>
 															<?php if(!empty($result) && $count > 0): ?>
 																<?php foreach($result as $item): ?>
 																<tr>
-																	<td><?php echo $item['id']; ?></td>
-																	<td><?php echo htmlspecialchars($item['ios']); ?></td>
-																	<td><?php echo htmlspecialchars($item['android']); ?></td>
-																	<td><?php echo htmlspecialchars($item['link']); ?></td>
-																	<td><?php echo date('Y-m-d H:i:s', $item['ctime']); ?></td>
-																	<td>
-																		<a href="<?php echo $item['link']; ?>" target="_blank" class="btn btn-xs btn-primary">查看</a>
-																	</td>
+																	<td><div><?php echo $item['id']; ?></div></td>
+																	<td><div><?php echo htmlspecialchars($item['android']); ?></div></td>
+																	<td><div><?php echo htmlspecialchars($item['ios']); ?></div></td>
+																	<td><div><?php echo htmlspecialchars($item['link']); ?></div></td>
+																	<td><div style="min-width: 135px;"><?php echo date('Y-m-d H:i:s', $item['ctime']); ?></div></td>
+																	<td><div><a href="<?php echo $item['link']; ?>" target="_blank" class="btn-detail">查看</a></div></td>
 																</tr>
 																<?php endforeach; ?>
 															<?php else: ?>
@@ -515,15 +729,17 @@ class combine extends BaseUser
                                 </div>
                             </div>
                         </div>
-                    </div>
-                    <div class="warn-prompt-wrap clearfix">
-                        <dl class="clearfix fr warn-prompt-1">
-                            <dt class="fl">提示:</dt>
-                            <dd>请您确认您合并的二维码,符合
-                                《<a href="/index/about/specification" target="_blank" class="color-hover">审核规范</a>》,如违反规范,APP将做删除处理,屡次合并二维码将被封禁账号。
-                                <br>根据最新审核规范,不接受如下APP在平台进行合并二维码:色情类、直播类、金融类、区块链虚拟币等。如已合并,将做删除处理。
-                            </dd>
-                        </dl>
+						
+				<div class="warn-prompt-wrap clearfix">
+					<dl class="clearfix fr warn-prompt-1 tips">
+						<!-- <dd> -->
+							提示:请您确认您合并的二维码,符合
+							《<a href="/index/about/specification" target="_blank" class="color-hover">审核规范</a>》,如违反规范,APP将做删除处理,屡次合并二维码将被封禁账号。
+							<br>根据最新审核规范,不接受如下APP在平台进行合并二维码:色情类、直播类、金融类、区块链虚拟币等。如已合并,将做删除处理。
+						<!-- </dd> -->
+					</dl>
+				</div>
+
                     </div>
                 </div>
             </div>
@@ -640,7 +856,7 @@ class combine extends BaseUser
                     console.log('AJAX成功响应:', ret);
                     $btn.button('reset');
                     if (ret.status == 1) {
-                        $('#qrcode_img').attr("src", ret.qrcode_path);
+                        $('.qrcode_img').attr("src", ret.qrcode_path);
                         $('#shortUrlh').val(ret.shortUrl);
                         $('#shortUrlha').show();
                         $('.qrcode_path').val(ret.qrcode_path);
@@ -813,7 +1029,6 @@ class combine extends BaseUser
             echo json_encode($response);
             exit;
         }
-        
         if ($_var_7) {
             // 使用新的返回格式
             $response = [

+ 5 - 4
source/index/login.php

@@ -89,10 +89,11 @@ class login extends Base
                 <div class="tit-tabs">
                     <div id="acc_login" class="tit active" style="display:inline-block;cursor:pointer">账户登录</div>
 
-                    <?php if (IN_SMS666666) { ?>
+                    <!-- <?php if (IN_SMS666666) { ?>
+                        <?php var_dump(IN_SMS666666)?>
                         &nbsp; &nbsp; &nbsp;
                         <div id="phone_login" class="tit" style="display:inline-block;color:rgba(118, 144, 181, 1);cursor:pointer">短信登录</div>
-                    <?php } ?>
+                    <?php } ?> -->
 
                 </div>
 
@@ -113,9 +114,9 @@ class login extends Base
                     </div>
                     <div class="btn-action">
                         <a href="/index/lost" class="fr">忘记密码?</a>
-                        <?php if (IN_SMS666666) { ?>
+                        <!-- <?php if (IN_SMS666666) { ?>
                             <a id="phone_login_btn">手机验证码登录</a>
-                        <?php } ?>
+                        <?php } ?> -->
                     </div>
                     <!-- <div class="checkbox"><input type="checkbox" id="remember-me" checked><span>记住我</span></div> -->
                     <button type="button" class="ms-btn ms-btn-primary input-lg btn-login" id="submitButton">登录</button>

+ 42 - 0
source/template/app.php

@@ -345,6 +345,48 @@ include 'source/template/temp_'.$row['template'].'.php';
     function disclaimer() {
         $("#disclaimerModal").modal("show");
     }
+
+    // 延迟初始化swiper3,确保模板内容已渲染
+    function initSwiper3() {
+        var swiperElement = document.querySelector('#swiper-temp3');
+        if (swiperElement) {
+            try {
+                var swiper3 = new Swiper('#swiper-temp3', {
+                    pagination: {
+                        el: '.swiper-pagination',
+                        clickable: true,
+                    }
+                });
+            } catch (error) {
+                console.error('Swiper3初始化失败:', error);
+            }
+        } else {
+            // 如果元素还不存在,延迟重试
+            setTimeout(initSwiper3, 100);
+        }
+    }
+    
+    // 页面加载完成后尝试初始化
+    document.addEventListener('DOMContentLoaded', function() {
+        if (typeof Swiper !== 'undefined') {
+            initSwiper3();
+        } else {
+            console.error('Swiper库未加载');
+        }
+    });
+    
+    // 如果使用了模板引擎,可能需要在模板渲染完成后调用
+    if (typeof DAFU !== 'undefined') {
+        // 保存原始的successVip方法
+        var originalSuccessVip = DAFU.successVip;
+        DAFU.successVip = function() {
+            // 调用原始方法
+            originalSuccessVip.call(this);
+            // 在模板渲染完成后初始化轮播图
+            setTimeout(initSwiper3, 100);
+        };
+    } else {
+    }
 </script>
 </body>
 </html>

+ 37 - 2
source/template/temp_3.php

@@ -1,3 +1,20 @@
+<?php
+function getMobileType() {
+    $userAgent = $_SERVER['HTTP_USER_AGENT'];
+    
+    // 检查iOS设备
+    if (dstrpos($userAgent, ['iphone', 'ipad', 'ipod', 'ios'])) {
+        return 'IOS';
+    }
+    
+    // 检查Android设备
+    if (dstrpos($userAgent, ['android'])) {
+        return 'Android';
+    }
+    
+    return 'IOS';
+}
+?>
 <script language="text/template" id="content">
         {{if checked}}
         <div class="template-3 template-wrap hidden-xs">
@@ -21,6 +38,7 @@
                                     <span>{{SIZE}} {{app_size}}</span><span>{{UPDATE_TIME}} {{update_dt}}</span>
                                 </div>
                             </div>
+                            
                             {{if checked|false}}
                             <!--密码框-->
                             <div class="template-pwd">
@@ -46,7 +64,7 @@
                                 <div style="color: #1abc9c">{{VIEW_IN_DESKTOP}}</div>
                                 <div class="loading"></div>
                             </div>
-                            <div class="template-btn-wrap">
+                            <div class="template-btn-wrap visible-xs">
                                 <a href="{{downurl}}" type="ios" class="ms-btn template-btn clearfix pc-pwd down_load">
                                     <span class="icon-36 iconfont fl"></span>
                                     <span class="fl">{{DOWNLOAD_INSTALL}}</span>
@@ -125,13 +143,30 @@
                         <div class="app-info">
                             <div class="app-title">{{app_name}}</div>
                             <div class="google-play">
-                                <img src="/static/index/image/icon_{{ext}}.svg">
+                                <img src="/static/index/image/icon_<?php echo getMobileType(); ?>.svg">
                             </div>
                         </div>
                     </div>
              </div>
              <div class="app-detail">
                 <div class="app-detail-content">
+                    <div class="swiper-container" id="swiper-temp3" style="margin-top: 10px;">
+                        <div class="swiper-wrapper">
+                            <div class="swiper-slide">
+                                <img src="/static/index/image/<?php if ($row['template_language'] == 'en') echo 'en_'; ?>sst1.png">
+                            </div>
+                            <div class="swiper-slide">
+                                <img src="/static/index/image/<?php if ($row['template_language'] == 'en') echo 'en_'; ?>sst2.png">
+                            </div>
+                            <div class="swiper-slide">
+                                <img src="/static/index/image/<?php if ($row['template_language'] == 'en') echo 'en_'; ?>sst3.png">
+                            </div>
+                            <div class="swiper-slide">
+                                <img src="/static/index/image/<?php if ($row['template_language'] == 'en') echo 'en_'; ?>sst4.png">
+                            </div>
+                        </div>
+                        <div class="swiper-pagination"></div>
+                    </div>
                     <div class="coarse-title">{{APP_DESCRIPTION}}</div>
                     <p>{{app_intro}}</p>
                     <div class="coarse-title">{{SCORE}}</div>

BIN
static/index/image/template-3-old.jpg


BIN
static/index/image/template-3.jpg