dever 7 éve
szülő
commit
b6d5eee393

+ 35 - 4
tm/lib/Controller/EventsController.class.php

@@ -127,7 +127,7 @@ class EventsController extends Controller {
 		$type = array(1,4,6,7);
 		if (in_array($info['type'], $type)) {
 			$info['prize'] = 1;
-			$info['authorize'] = true; //强制登录
+			//$info['authorize'] = true; //强制登录
 		} else {
 			$info['top_data'] = 1;
 		}
@@ -137,7 +137,7 @@ class EventsController extends Controller {
 		$authorize = $info['authorize'];
 		if ($authorize) {
 				if($ckLogin==true){
-					//$info['login'] = 2;//需要登录
+					$info['login'] = 2;//需要登录
 					//self::redirect($loginUrl);
 				}
 		}
@@ -441,6 +441,22 @@ class EventsController extends Controller {
 		$arr ['sign'] = $this->createSign ( $arr );
 		$passport_url .= '&sign=' . $arr ['sign'];
 		$passport_url .= '&cas_uid=' . $uid;
+
+		$this->setOutput('applogin', 2);
+		$weixin = $this->checkIsFromWeixin();
+		if (!$weixin) {
+			$tokenid = Request::g('tokenid');
+			if (!$tokenid) {
+				$tokenid = Request::g('tokenId');
+			}
+			if ($tokenid) {
+				# app中已登陆
+				$passport_url .= '&tokenid=' . $tokenid;
+			} else {
+				# app中未登陆
+				$this->setOutput('applogin', 1);
+			}
+		}
 		
 		return $passport_url;
 	}
@@ -526,23 +542,38 @@ class EventsController extends Controller {
 		$sign2 = $this->createSign ( $params );
 		return ($sign2 == $sign);
 	}
+
+	public function checkIsFromWeixin($title) {
+		$state = false;
+		$user_agent = $_SERVER ['HTTP_USER_AGENT'];
+		if (preg_match ( '/MicroMessenger/i', $user_agent )) {
+			$state = true;
+		}
+
+		return $state;
+	}
 	
 	/**
 	 *
 	 * @param string $title        	
 	 */
 	public function checkIsFromMobile($title) {
-		return true;
-		if (Request::get ( 'kif_debug' ) == '@kimiss') {
+		//return true;
+		if (Request::get ( 'debugs' ) == 'rabin') {
 			return true;
 		}
 		
 		// PC 端显示二维码页
 		$isMobile = false;
 		$user_agent = $_SERVER ['HTTP_USER_AGENT'];
+		/*
 		if (preg_match ( '/MicroMessenger|Mobile/i', $user_agent )) {
 			$isMobile = true;
 		}
+		*/
+		if (preg_match ( '/MicroMessenger/i', $user_agent )) {
+			$isMobile = true;
+		}
 		
 		if (! $isMobile) {
 			include_once Config::getInstance ()->get ( 'App_Path' ) . DS . 'include/phpqrcode/phpqrcode.php';

+ 6 - 1
tm/lib/Controller/Passport.class.php

@@ -24,11 +24,13 @@ class Passport extends Controller{
     public function doGet() {
         $refer = Request::g ( 'referer' );
         $cas_uid = Request::g ( 'cas_uid' );
+        $tokenid = Request::g ( 'tokenid' );
         $objUserData = new UserInfo();
 		$userData = $objUserData -> get($cas_uid);
 
         //$this->objMemcached->set($this->refer, $refer);
 
+
         $host = $this->config['url'];
         $param = $this->config['param'];
 
@@ -38,7 +40,7 @@ class Passport extends Controller{
         			if (isset($userData['passport_uid']) && $userData['passport_uid']) {
         				$param[$k] = $userData['passport_uid'];
         			} else {
-        				$v = false;
+        				$param[$k] = $v = $tokenid;
         			}
         		}
         		if (!$v) {
@@ -47,6 +49,9 @@ class Passport extends Controller{
 	        }
         }
 
+        echo $this->config['url'] . "\r\n";
+		print_r($param);
+
         $data = $this->httpPost($host, $param);
 
         $data = json_decode($data, true);

+ 11 - 2
tm/template_dir/bottom.html

@@ -22,12 +22,20 @@
     
 function loadLogin()
 {
+    <{if $applogin && $applogin == 1}>
+    istoken('<{$info.thisUrl}>');
+    <{else}>
+    $('#loginbox').show();
+    <{/if}>
+
+    /*
     app = checkApp();
     if (app) {
         istoken('<{$info.thisUrl}>');
     } else {
         $('#loginbox').show();
     }
+    */
 }
 function toast(content, url)
 {
@@ -49,9 +57,10 @@ function toast(content, url)
 
 function checkApp() {
     var u = navigator.userAgent.toLowerCase();
-    var isApple = /iphone|ipad|ipod|ios/i.test(u);
+    var isApple = /iphone|ipad|ipod|ios|android/i.test(u);
     var isAndroid = /android/i.test(u);
-    if (isApple || isAndroid) {
+    var isWeixin = /micromessenger/i.test(u);
+    if (!isWeixin) {
         return true;
     } else {
         return false;

+ 2 - 3
tm/template_dir/events_infos.html

@@ -314,7 +314,7 @@ $(body).addClass("bg_white");
 
 <{/if}>
 
-<section class="layer" <{if $info.end == 2}>style="display:block"<{/if}>>
+<section class="layer" <{if $info.end == 2 && $info.login != 2}>style="display:block"<{/if}>>
     <section class="loginbox">
         <h3>活动已结束!</h3>
         <p>感谢您的关注,期待您参与我们的其他活动</p>
@@ -337,9 +337,8 @@ $(body).addClass("bg_white");
     </section>
 </section>
 
-<{if $info.end == 1 && $info.login == 2}>
+<{if $info.login == 2}>
 <script>
-
 $(function()
 {
     loadLogin();

+ 2 - 0
tm/template_dir/header.html

@@ -19,7 +19,9 @@
 <script src="<{$web_cfg.cdn}>/public/static/js/jquery-1.8.3.min.js?v=0.2" charset="utf-8"></script>
 <script src="<{$web_cfg.cdn}>/public/static/js/sidebar.js?v=0.2" charset="utf-8"></script>
 
+<{if $applogin && $applogin == 1}>
 <script src="<{$web_cfg.cdn}>/public/login.js" charset="utf-8"></script>
+<{/if}>
 <link rel="stylesheet" type="text/css" href="<{$web_cfg.cdn}>/public/static/css/base.css" />
 <link rel="stylesheet" type="text/css" href="<{$web_cfg.cdn}>/public/static/css/style.css" />
 <link rel="stylesheet" type="text/css" href="<{$web_cfg.cdn}>/public/bootstrap/font-awesome-4.3.0/css/font-awesome.css" />