Merge branch 'feature/wap/yuanxiao' of git.dev.yoho.cn:web/yohobuy into feature/wap/yuanxiao
Conflicts: yohobuy/huodong.m.yohobuy.com/application/modules/Cuxiao/controllers/Yuanxiao.php
Showing
9 changed files
with
453 additions
and
55 deletions
1 | -<!DOCTYPE html> | ||
2 | -<html> | ||
3 | -<head> | ||
4 | - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | ||
5 | - <meta charset="utf-8"> | ||
6 | - <title>{{staticTitle}}</title> | ||
7 | - <!-- <meta name="apple-mobile-web-app-title" content="SUMMER SALE"> --> | ||
8 | - <meta name="format-detection" content="telephone=no"> | ||
9 | - <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui"> | ||
10 | - <meta name="apple-mobile-web-app-capable" content="yes"> | ||
11 | - <meta name="apple-mobile-web-app-status-bar-style" content="grey"> | ||
12 | - <script> | ||
13 | - (function(d,c){var e=d.documentElement,a="orientationchange" in window?"orientationchange":"resize",b=function(){var f=e.clientWidth;if(!f){return}if(f>=640){e.style.fontSize="80px"}else{e.style.fontSize=80*(f/640)+"px"}};if(!d.addEventListener){return}b();c.addEventListener(a,b,false);d.addEventListener("DOMContentLoaded",b,false)})(document,window); | ||
14 | - </script> | ||
15 | -</head> | ||
16 | -<body> | ||
17 | - <div class="main-wrap"> | ||
18 | - 元宵节抽签 | 1 | +{{> cuxiao/yuanxiao/header}} |
2 | + <div class="main-wrap home"> | ||
3 | + <div class="header"></div> | ||
4 | + <div class="people"> | ||
5 | + <div class="flower flower-l"></div> | ||
6 | + <div class="flower flower-r"></div> | ||
7 | + </div> | ||
8 | + <a class="start" href="/cuxiao/yuanxiao/info"></a> | ||
9 | + <div class="footer"> | ||
10 | + <a class="arrow animated infinite pulse" href="/cuxiao/yuanxiao/info"></a> | ||
11 | + <div class="yohobuy"></div> | ||
12 | + </div> | ||
19 | </div> | 13 | </div> |
20 | -</body> | 14 | +{{> cuxiao/yuanxiao/footer}} |
1 | +{{> cuxiao/yuanxiao/header}} | ||
2 | + <div class="main-wrap info"> | ||
3 | + <div class="header"> | ||
4 | + <span class="title chao">潮</span> | ||
5 | + <span class="title liu">流</span> | ||
6 | + | ||
7 | + <div class="sub-title"> 开运测试</div> | ||
8 | + </div> | ||
9 | + | ||
10 | + <form class="user" method="POST"> | ||
11 | + <div class="user-info nick"> | ||
12 | + <div class="title"> | ||
13 | + 昵称 | ||
14 | + </div> | ||
15 | + <input type="text" name="nick" placeholder="请输入您帅气的名字!" value="" maxlength="5"> | ||
16 | + </div> | ||
17 | + <div class="user-info birthday"> | ||
18 | + <div class="title"> | ||
19 | + 生日 | ||
20 | + </div> | ||
21 | + <input type="date" name="birthday" value="2011-12-13"> | ||
22 | + </div> | ||
23 | + <div class="gender"> | ||
24 | + <div class="title"> | ||
25 | + 性<br>别 | ||
26 | + </div> | ||
27 | + <div class="icon boy"> | ||
28 | + <span class="check {{#if gender}}checked{{/if}}" data-gender="{{#if gender}}1{{/if}}"></span> | ||
29 | + </div> | ||
30 | + <div class="icon girl"> | ||
31 | + <span class="check {{#unless gender}}checked{{/if}}" data-gender="{{#if gender}}0{{/if}}"></span> | ||
32 | + </div> | ||
33 | + <input type="hidden" name="gender" id="gender" value="{{gender}}"> | ||
34 | + </div> | ||
35 | + </form> | ||
36 | + | ||
37 | + <div class="footer"> | ||
38 | + <div class="submit"> | ||
39 | + 开始测试 | ||
40 | + </div> | ||
41 | + </div> | ||
42 | + | ||
43 | + <div class="mask hide"> | ||
44 | + <div class="modal"> | ||
45 | + <div class="icon close"></div> | ||
46 | + <div class="text"> | ||
47 | + 你还没有<br>完善信息哦 | ||
48 | + </div> | ||
49 | + <div class="btn close"> | ||
50 | + 现在就完善 | ||
51 | + </div> | ||
52 | + </div> | ||
53 | + </div> | ||
54 | + </div> | ||
55 | +{{> cuxiao/yuanxiao/footer}} |
1 | +{{> cuxiao/yuanxiao/header}} | ||
2 | + <div class="main-wrap result"> | ||
3 | + <div class="flower flower-l"></div> | ||
4 | + <div class="flower flower-r"></div> | ||
5 | + | ||
6 | + <div class="title"> | ||
7 | + <p> | ||
8 | + {{result.name}} 的 | ||
9 | + </p> | ||
10 | + 2016年潮流运势是 | ||
11 | + </div> | ||
12 | + | ||
13 | + <div class="hr"> | ||
14 | + </div> | ||
15 | + | ||
16 | + <div class="type {{result.type}}" data-type="{{result.type}}"> | ||
17 | + | ||
18 | + </div> | ||
19 | + | ||
20 | + <div class="footer"> | ||
21 | + <div class="share"> | ||
22 | + 分享2016年潮流运势 | ||
23 | + </div> | ||
24 | + </div> | ||
25 | + </div> | ||
26 | +{{> cuxiao/yuanxiao/type}} | ||
27 | +{{> cuxiao/yuanxiao/footer}} |
1 | +{{> cuxiao/yuanxiao/header}} | ||
2 | + <div class="main-wrap share"> | ||
3 | + <div class="header"></div> | ||
4 | + <div class="flower flower-l"></div> | ||
5 | + <div class="flower flower-r"></div> | ||
6 | + | ||
7 | + <div class="title"> | ||
8 | + <p> | ||
9 | + {{result.name}} 的 | ||
10 | + </p> | ||
11 | + 2016年潮流运势是 | ||
12 | + </div> | ||
13 | + | ||
14 | + <div class="type {{result.type}}" data-type="{{result.type}}"> | ||
15 | + | ||
16 | + </div> | ||
17 | + | ||
18 | + <div class="count"> | ||
19 | + 已有{{count}}人参与 | ||
20 | + </div> | ||
21 | + | ||
22 | + <div class="footer"> | ||
23 | + <a class="entry" href="/cuxiao/yuanxiao/index"> | ||
24 | + 我也要测 | ||
25 | + </a> | ||
26 | + </div> | ||
27 | + </div> | ||
28 | +{{> cuxiao/yuanxiao/type}} | ||
29 | +{{> cuxiao/yuanxiao/footer}} |
1 | +{{> cuxiao/yuanxiao/header}} | ||
2 | + <div class="main-wrap wait"> | ||
3 | + <div class="flower flower-l"></div> | ||
4 | + <div class="flower flower-r"></div> | ||
5 | + | ||
6 | + <div class="tip"> | ||
7 | + 正在分析你的<br>潮流运势<br>… … | ||
8 | + </div> | ||
9 | + | ||
10 | + <div class="loading animated infinite rotateIn"> | ||
11 | + </div> | ||
12 | + <div class="hat"> | ||
13 | + </div> | ||
14 | + | ||
15 | + <div class="footer"> | ||
16 | + </div> | ||
17 | + </div> | ||
18 | + <script type="text/javascript"> | ||
19 | + setTimeout(function (){ | ||
20 | + location.href = "/cuxiao/yuanxiao/result"; | ||
21 | + }, 2000); | ||
22 | + </script> | ||
23 | +{{> cuxiao/yuanxiao/footer}} |
1 | +<!DOCTYPE html> | ||
2 | +<html> | ||
3 | +<head> | ||
4 | + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | ||
5 | + <meta charset="utf-8"> | ||
6 | + <title>{{staticTitle}}</title> | ||
7 | + <!-- <meta name="apple-mobile-web-app-title" content="SUMMER SALE"> --> | ||
8 | + <meta name="format-detection" content="telephone=no"> | ||
9 | + <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui"> | ||
10 | + <meta name="apple-mobile-web-app-capable" content="yes"> | ||
11 | + <meta name="apple-mobile-web-app-status-bar-style" content="grey"> | ||
12 | + <script type="text/javascript"> | ||
13 | + (function(d,c){var e=d.documentElement,a="orientationchange" in window?"orientationchange":"resize",b=function(){var f=e.clientWidth;if(!f){return}if(f>=640){e.style.fontSize="40px"}else{e.style.fontSize=40*(f/640)+"px"}};if(!d.addEventListener){return}b();c.addEventListener(a,b,false);d.addEventListener("DOMContentLoaded",b,false)})(document,window); | ||
14 | + </script> | ||
15 | + <link rel="stylesheet" href="{{staticFile}}/css/style.css"> | ||
16 | +</head> | ||
17 | +<body> |
1 | +<script type="text/tmpl" id="P1"> | ||
2 | + <div class="bg-guang"></div> | ||
3 | + <div class="bg-yuan"></div> | ||
4 | + <div class="title">成为一个大写加粗的</div> | ||
5 | + <div class="chaoren animated infinite pulse"></div> | ||
6 | +</script> | ||
7 | +<script type="text/tmpl" id="P2"> | ||
8 | + <div class="bg-bige animated zoomIn"></div> | ||
9 | + <div class="bg-manzai animated zoomIn"></div> | ||
10 | + <div class="bg-ren"></div> | ||
11 | + <div class="title animated infinite pulse"></div> | ||
12 | + <div class="yzbb animated slideInDown"></div> | ||
13 | +</script> | ||
14 | +<script type="text/tmpl" id="P3"> | ||
15 | + <div class="bg-yunqi animated zoomIn"></div> | ||
16 | + <div class="shoes animated infinite swing"></div> | ||
17 | + <div class="yeezy animated slideInDown"></div> | ||
18 | +</script> | ||
19 | +<script type="text/tmpl" id="P4"> | ||
20 | + <div class="bg-car"></div> | ||
21 | + <div class="hands animated infinite swing"></div> | ||
22 | + <div class="wanghong animated slideInRight"></div> | ||
23 | +</script> | ||
24 | +<script type="text/tmpl" id="M1"> | ||
25 | + <div class="bg-majia"></div> | ||
26 | + <div class="bg-yifei animated slideInUp"></div> | ||
27 | + <div class="flyman animated infinite "></div> | ||
28 | +</script> | ||
29 | +<script type="text/tmpl" id="M2"> | ||
30 | + <div class="bg-bamei animated slideInRight"></div> | ||
31 | + <div class="meizi animated infinite swing"></div> | ||
32 | + <div class="shoes"></div> | ||
33 | +</script> | ||
34 | +<script type="text/tmpl" id="M3"> | ||
35 | + <div class="bg-cloud1 animated slideInRight"></div> | ||
36 | + <div class="bg-chuanzhe animated slideInLeft"></div> | ||
37 | + <div class="shan"></div> | ||
38 | + <div class="rensheng"></div> | ||
39 | + <div class="cloud2 animated slideInRight"></div> | ||
40 | + <div class="shoes animated infinite swing"></div> | ||
41 | +</script> | ||
42 | +<script type="text/tmpl" id="M4"> | ||
43 | + <div class="bg-guang"></div> | ||
44 | + <div class="bg-jin1 animated slideInright"></div> | ||
45 | + <div class="ren"></div> | ||
46 | + <div class="jin2 animated slideInDown"></div> | ||
47 | + <div class="jin3 animated slideInDown"></div> | ||
48 | + <div class="shuaiqi animated slideInDown"></div> | ||
49 | +</script> | ||
50 | +<script type="text/tmpl" id="F1"> | ||
51 | + <div class="bg-hezi1 animated slideInLeft"></div> | ||
52 | + <div class="bg-hezi2 animated slideInDown"></div> | ||
53 | + <div class="bg-hezi3 animated slideInRight"></div> | ||
54 | + <div class="sun animated infinite zoomIn"></div> | ||
55 | + <div class="kuaidi animated slideInDown"></div> | ||
56 | +</script> | ||
57 | +<script type="text/tmpl" id="F2"> | ||
58 | + <div class="bg-love1 animated infinite zoomIn"></div> | ||
59 | + <div class="bg-love2"></div> | ||
60 | + <div class="boy animated slideInRight"></div> | ||
61 | + <div class="girl animated slideInLeft"></div> | ||
62 | + <div class="bidong animated slideInRight"></div> | ||
63 | +</script> | ||
64 | +<script type="text/tmpl" id="F3"> | ||
65 | + <div class="bg-bra animated infinite pulse"></div> | ||
66 | + <div class="xiongda animated zoomIn"></div> | ||
67 | +</script> | ||
68 | +<script type="text/tmpl" id="F4"> | ||
69 | + <div class="bg-guang animated infinite zoomIn"></div> | ||
70 | + <div class="bg-shoes1 animated slideInLeft"></div> | ||
71 | + <div class="bg-shoes2 animated slideInRight"></div> | ||
72 | + <div class="bg-shoes3 animated slideInDown"></div> | ||
73 | + <div class="style animated slideInUp"></div> | ||
74 | +</script> |
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | use Action\HuodongAction; | 3 | use Action\HuodongAction; |
4 | -use Index\UserModel; | 4 | +use Cuxiao\YuanxiaoModel; |
5 | use Plugin\Helpers; | 5 | use Plugin\Helpers; |
6 | 6 | ||
7 | /** | 7 | /** |
@@ -9,55 +9,163 @@ use Plugin\Helpers; | @@ -9,55 +9,163 @@ use Plugin\Helpers; | ||
9 | */ | 9 | */ |
10 | class YuanxiaoController extends HuodongAction | 10 | class YuanxiaoController extends HuodongAction |
11 | { | 11 | { |
12 | + const STATIC_FILE = 'http://cdn.yoho.cn/huodong/2016yuanxiao/1.0.0'; | ||
13 | + const ENCRYPT_KEY = 'iamgtskkwhoareyou'; | ||
14 | + | ||
12 | /** | 15 | /** |
13 | - * 元宵抽签 | 16 | + * 通过当前用户审判是否跳到登录页 |
17 | + * | ||
14 | */ | 18 | */ |
15 | - public function indexAction() | 19 | + private function auditJumpLogin() |
16 | { | 20 | { |
17 | - //获取登录者ID,未登录返回false | ||
18 | $uid = $this->getLoggedUid(); | 21 | $uid = $this->getLoggedUid(); |
19 | if (!$uid || !is_numeric($uid)) { | 22 | if (!$uid || !is_numeric($uid)) { |
20 | - //未登录的用户访问,跳转到登录页面。并且在登陆后跳转回本页面 | ||
21 | - $this->go(Helpers::url('/signin.html', array('refer' => Helpers::url('/cuxiao/newyear/coupon')), 'default')); | 23 | + $this->go(Helpers::url('/signin.html', array('refer' => Helpers::url('/cuxiao/yuanxiao/info')), 'default')); |
22 | } | 24 | } |
25 | + } | ||
23 | 26 | ||
27 | + /** | ||
28 | + * 元宵抽签 | ||
29 | + */ | ||
30 | + public function indexAction() | ||
31 | + { | ||
24 | // 该变量用来控制和显示页面的弹出提示 | 32 | // 该变量用来控制和显示页面的弹出提示 |
25 | $showPopupFlag = '0'; | 33 | $showPopupFlag = '0'; |
26 | 34 | ||
27 | - $userData = UserModel::getUserProfileData($uid); | ||
28 | - | ||
29 | - $result = array(); | ||
30 | - if (isset($result['code'])) { | ||
31 | - switch (intval($result['code'])) { | ||
32 | - case 200: // 领取成功, 发送站内信消息 | ||
33 | - $showPopupFlag = '0'; | ||
34 | - $this->sendMessage($uid, '【优惠券】您有1000元套券', '尊敬的客户:恭喜您成功获得1000元套券 !您可以在个人中心的交易管理中查看‘我的优惠券’。'); | ||
35 | - break; | ||
36 | - case 201: // 已领取过, 提示重复领券 | ||
37 | - $showPopupFlag = '1'; | ||
38 | - break; | ||
39 | - default: // 领取失败, 提示领券失败 | ||
40 | - $showPopupFlag = '2'; | ||
41 | - break; | ||
42 | - } | ||
43 | - } | ||
44 | - | ||
45 | - $this->_view->display('coupon', array( | ||
46 | - 'staticTitle' => 'YOHO!BUY有货新年寻宝大作战', | 35 | + $this->_view->display('index', array( |
36 | + 'staticTitle' => '元宵抽签', | ||
37 | + 'staticFile' => self::STATIC_FILE, | ||
47 | 'weixinShare' => $this->_isApp ? false : true, // 是否需要微信分享 | 38 | 'weixinShare' => $this->_isApp ? false : true, // 是否需要微信分享 |
48 | 'shareLink' => 'http://feature.yoho.cn/2016lishifeng/index.html', | 39 | 'shareLink' => 'http://feature.yoho.cn/2016lishifeng/index.html', |
49 | 'shareTitle' => 'YOHO!BUY有货新年寻宝大作战,千元利是等你赢!', | 40 | 'shareTitle' => 'YOHO!BUY有货新年寻宝大作战,千元利是等你赢!', |
50 | 'shareDesc' => 'YOHO!BUY有货,全球800+潮流品牌每日上新!', | 41 | 'shareDesc' => 'YOHO!BUY有货,全球800+潮流品牌每日上新!', |
51 | 'shareImg' => 'http://img12.static.yhbimg.com/couponImg/2015/12/30/12/02008a9724b898dee56852de9f1a3978bf.jpg', | 42 | 'shareImg' => 'http://img12.static.yhbimg.com/couponImg/2015/12/30/12/02008a9724b898dee56852de9f1a3978bf.jpg', |
52 | 'showPopupFlag' => $showPopupFlag, | 43 | 'showPopupFlag' => $showPopupFlag, |
53 | - 'useData' => $userData, | ||
54 | - 'bannerUrl_1' => 'http://m.yohobuy.com/boys?openby:yohobuy={"action":"go.home","params":{"channel":"1"}}', | ||
55 | - 'bannerUrl_2' => 'http://m.yohobuy.com/girls?openby:yohobuy={"action":"go.home","params":{"channel":"2"}}', | ||
56 | - 'bannerUrl_3' => 'http://m.yohobuy.com/kids?openby:yohobuy={"action":"go.home","params":{"channel":"3"}}', | ||
57 | - 'bannerUrl_4' => 'http://m.yohobuy.com/lifestyle?openby:yohobuy={"action":"go.home","params":{"channel":"4"}}', | ||
58 | - 'playAgain' => 'http://feature.yoho.cn/2016lishifeng/index.html', | ||
59 | - 'appUrl_1' => 'http://www.yohoshow.com/about/index/yohobuyqr', | ||
60 | - 'appUrl_2' => 'http://www.yohoshow.com/about/index/yohoboysqr', | 44 | + )); |
45 | + } | ||
46 | + | ||
47 | + /** | ||
48 | + * 元宵抽签 信息 | ||
49 | + */ | ||
50 | + public function infoAction() | ||
51 | + { | ||
52 | + // 审判跳转登录页 | ||
53 | + $this->auditJumpLogin(); | ||
54 | + | ||
55 | + // POST提交请求 | ||
56 | + if (!empty($this->post())) { | ||
57 | + $birthday = $this->post('birthday', ''); | ||
58 | + $gender = $this->post('gender', 0); | ||
59 | + | ||
60 | + // 调用接口 | ||
61 | + $result = array( | ||
62 | + 'code' => 200, | ||
63 | + 'data' => array( | ||
64 | + 'name' => '李四', | ||
65 | + 'type' => 'P1', | ||
66 | + 'count' => 8888 | ||
67 | + ) | ||
68 | + ); | ||
69 | + if ($result['code'] === 200) { // 处理成功就跳转到等待页 | ||
70 | + // 将返回的结果存入cookeie中15分钟 | ||
71 | + $this->setCookie('yuanxiaochouqian', json_encode($result['data']), time() + 15*60); | ||
72 | + $this->go(Helpers::url('/cuxiao/yuanxiao/wait')); | ||
73 | + } else { // 不成功就显示返回的错误信息 | ||
74 | + $this->_view->display('info', array( | ||
75 | + 'staticTitle' => '元宵抽签', | ||
76 | + 'staticFile' => self::STATIC_FILE, | ||
77 | + 'staticJS' => array( | ||
78 | + 'info.js' | ||
79 | + ), | ||
80 | + 'birthday' => $birthday, | ||
81 | + 'gender' => $gender, | ||
82 | + 'message' => $result['message'] | ||
83 | + )); | ||
84 | + } | ||
85 | + } else { | ||
86 | + $uid = $this->getUid(); | ||
87 | + $userData = YuanxiaoModel::getUserProfileData($uid); | ||
88 | + | ||
89 | + $this->_view->display('info', array( | ||
90 | + 'staticTitle' => '元宵抽签', | ||
91 | + 'staticFile' => self::STATIC_FILE, | ||
92 | + 'staticJS' => array( | ||
93 | + 'info.js' | ||
94 | + ), | ||
95 | + 'birthday' => $userData['birthday'], | ||
96 | + 'gender' => $userData['gender'], | ||
97 | + )); | ||
98 | + } | ||
99 | + } | ||
100 | + | ||
101 | + /** | ||
102 | + * 元宵抽签 等待 | ||
103 | + */ | ||
104 | + public function waitAction() | ||
105 | + { | ||
106 | + // 审判跳转登录页 | ||
107 | + $this->auditJumpLogin(); | ||
108 | + | ||
109 | + $this->_view->display('wait', array( | ||
110 | + 'staticTitle' => '元宵抽签', | ||
111 | + 'staticFile' => self::STATIC_FILE | ||
112 | + )); | ||
113 | + } | ||
114 | + | ||
115 | + /** | ||
116 | + * 元宵抽签 结果 | ||
117 | + */ | ||
118 | + public function resultAction() | ||
119 | + { | ||
120 | + // 审判跳转登录页 | ||
121 | + $this->auditJumpLogin(); | ||
122 | + | ||
123 | + $result = $this->getCookie('yuanxiaochouqian', null); | ||
124 | + if (empty($result)) { // 未取到信息就重新测试 | ||
125 | + $this->go(Helpers::url('/cuxiao/yuanxiao/info')); | ||
126 | + } | ||
127 | + // cookie中存的结果 | ||
128 | + $result = json_decode($result, true); | ||
129 | + $shareUrl = Helpers::url('/cuxiao/yuanxiao/share', array( | ||
130 | + 'name' => $this->encrypt($result['name']), | ||
131 | + 'hash' => $this->encrypt($this->getUid()) | ||
132 | + )); | ||
133 | + | ||
134 | + $this->_view->display('result', array( | ||
135 | + 'staticTitle' => '元宵抽签', | ||
136 | + 'staticFile' => self::STATIC_FILE, | ||
137 | + 'result' => $result, | ||
138 | + 'shareUrl' => $shareUrl, | ||
139 | + 'staticJS' => array( | ||
140 | + 'result.js' | ||
141 | + ) | ||
142 | + )); | ||
143 | + } | ||
144 | + | ||
145 | + /** | ||
146 | + * 元宵抽签 分享 | ||
147 | + */ | ||
148 | + public function shareAction() | ||
149 | + { | ||
150 | + // 昵称从url中解析 | ||
151 | + $name = $this->decrypt($this->get('name', '')); | ||
152 | + // 用户UID | ||
153 | + $uid = $this->decrypt($this->get('hash', '')); | ||
154 | + | ||
155 | + // 调用接口获取type和count | ||
156 | + $result = array('type' => 'M1', 'count' => 9887); | ||
157 | + | ||
158 | + $this->_view->display('share', array( | ||
159 | + 'staticTitle' => '元宵抽签', | ||
160 | + 'staticFile' => self::STATIC_FILE, | ||
161 | + 'result' => array( | ||
162 | + 'name' => $name, | ||
163 | + 'type' => $result['type'] | ||
164 | + ), | ||
165 | + 'count' => $result['count'], | ||
166 | + 'staticJS' => array( | ||
167 | + 'share.js' | ||
168 | + ) | ||
61 | )); | 169 | )); |
62 | } | 170 | } |
63 | 171 | ||
@@ -68,8 +176,6 @@ class YuanxiaoController extends HuodongAction | @@ -68,8 +176,6 @@ class YuanxiaoController extends HuodongAction | ||
68 | */ | 176 | */ |
69 | private function getLoggedUid() | 177 | private function getLoggedUid() |
70 | { | 178 | { |
71 | - // 判断是否是应用访问, 拼接APP需要的URL参数 | ||
72 | - $this->_isApp = (null !== $this->get('app_version') || null !== $this->get('uid')); | ||
73 | if ($this->_isApp) { | 179 | if ($this->_isApp) { |
74 | $uid = $this->get('uid'); | 180 | $uid = $this->get('uid'); |
75 | } else { | 181 | } else { |
@@ -78,4 +184,72 @@ class YuanxiaoController extends HuodongAction | @@ -78,4 +184,72 @@ class YuanxiaoController extends HuodongAction | ||
78 | 184 | ||
79 | return $uid; | 185 | return $uid; |
80 | } | 186 | } |
187 | + | ||
188 | + /** | ||
189 | + * 加密字符串 | ||
190 | + * | ||
191 | + * @param string $data 需要加密的字符串 | ||
192 | + * @return string 加密之后的字符串 | ||
193 | + */ | ||
194 | + private function encrypt($data) | ||
195 | + { | ||
196 | + $data = strval($data); | ||
197 | + $key = md5(self::ENCRYPT_KEY); | ||
198 | + $x = 0; | ||
199 | + $len = strlen($data); | ||
200 | + $l = strlen($key); | ||
201 | + $char = ''; | ||
202 | + $str = ''; | ||
203 | + | ||
204 | + for ($i = 0; $i < $len; $i++) { | ||
205 | + if ($x == $l) | ||
206 | + { | ||
207 | + $x = 0; | ||
208 | + } | ||
209 | + $char .= $key{$x}; | ||
210 | + $x++; | ||
211 | + } | ||
212 | + | ||
213 | + for ($i = 0; $i < $len; $i++) { | ||
214 | + $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); | ||
215 | + } | ||
216 | + | ||
217 | + return base64_encode($str); | ||
218 | + } | ||
219 | + | ||
220 | + /** | ||
221 | + * 解密字符串 | ||
222 | + * | ||
223 | + * @param string $data 需要解密的字符串 | ||
224 | + * @return string 解密之后的字符串 | ||
225 | + */ | ||
226 | + private function decrypt($data) | ||
227 | + { | ||
228 | + $key = md5(self::ENCRYPT_KEY); | ||
229 | + $x = 0; | ||
230 | + $data = base64_decode($data); | ||
231 | + $len = strlen($data); | ||
232 | + $l = strlen($key); | ||
233 | + $char = ''; | ||
234 | + $str = ''; | ||
235 | + | ||
236 | + for ($i = 0; $i < $len; $i++) { | ||
237 | + if ($x == $l) | ||
238 | + { | ||
239 | + $x = 0; | ||
240 | + } | ||
241 | + $char .= substr($key, $x, 1); | ||
242 | + $x++; | ||
243 | + } | ||
244 | + | ||
245 | + for ($i = 0; $i < $len; $i++) { | ||
246 | + if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) { | ||
247 | + $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); | ||
248 | + } else { | ||
249 | + $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); | ||
250 | + } | ||
251 | + } | ||
252 | + | ||
253 | + return $str; | ||
254 | + } | ||
81 | } | 255 | } |
-
Please register or login to post a comment