control.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?php
  2. /**
  3. * mobile父类
  4. *
  5. *
  6. */
  7. //use Shopnc\Tpl;
  8. defined('InShopNC') or exit('Access Invalid!');
  9. /********************************** 前台control父类 **********************************************/
  10. class mobileControl
  11. {
  12. //客户端类型
  13. protected $client_type_array = array('android', 'wap', 'wechat', 'ios');
  14. //客户登录身份类型
  15. protected $client_login_type_array = array(0, 1, 2);
  16. //列表默认分页数
  17. protected $page = 5;
  18. public function __construct()
  19. {
  20. Language::read('mobile');
  21. //分页数处理
  22. $page = intval($_GET['page']);
  23. if ($page > 0) {
  24. $this->page = $page;
  25. }
  26. if($this->check_app_type() == false) {
  27. Log::record("Err client type.",Log::ERR);
  28. throw new TypeException();
  29. }
  30. }
  31. protected function check_app_type()
  32. {
  33. $client = $_COOKIE['client'];
  34. if(empty($client)) {
  35. $client = $_POST['client'];
  36. }
  37. if (empty($client) || !in_array($client, $this->client_type_array)) {
  38. return false;
  39. } else {
  40. return true;
  41. }
  42. }
  43. }
  44. class mobileHomeControl extends mobileControl
  45. {
  46. public function __construct()
  47. {
  48. parent::__construct();
  49. }
  50. }
  51. //class mobileMemberControl extends mobileControl
  52. //{
  53. // protected $member_info = array();
  54. //
  55. // public function __construct()
  56. // {
  57. // parent::__construct();
  58. //
  59. // $model_mb_user_token = Model('mb_user_token');
  60. // $key = $_POST['key'];
  61. // if (empty($key)) {
  62. // $key = $_GET['key'];
  63. // }
  64. // $mb_user_token_info = $model_mb_user_token->getMbUserTokenInfoByToken($key);
  65. // if (empty($mb_user_token_info)) {
  66. // return joutput_error(errcode::ErrLogin, '请登录');
  67. // }
  68. //
  69. // $model_member = Model('member');
  70. // $this->member_info = $model_member->getMemberInfoByID($mb_user_token_info['member_id']);
  71. // $this->member_info['client_type'] = $mb_user_token_info['client_type'];
  72. // if (empty($this->member_info)) {
  73. // return joutput_error(errcode::ErrLogin, '请登录');
  74. // } else {
  75. // //读取卖家信息
  76. // $seller_info = Model('seller')->getSellerInfo(array('member_id' => $this->member_info['member_id']));
  77. // $this->member_info['store_id'] = $seller_info['store_id'];
  78. // }
  79. // }
  80. //}
  81. /**
  82. * Class mobileMemberControl
  83. */
  84. //class mobileMemberExControl extends mobileControl
  85. //{
  86. // protected $member_info = array();
  87. // public $err_code = errcode::Success;
  88. //
  89. // public function __construct()
  90. // {
  91. // parent::__construct();
  92. // }
  93. //
  94. // public function checkToken($token)
  95. // {
  96. // $model_mb_user_token = Model('mb_user_token');
  97. // $mb_user_token_info = $model_mb_user_token->getMbUserTokenInfoByToken($token);
  98. // if (empty($mb_user_token_info)) {
  99. // $this->err_code = errcode::ErrLogin;
  100. // return false;
  101. // }
  102. //
  103. // // 读取买家信息
  104. // $model_member = Model('member');
  105. // $this->member_info = $model_member->getMemberInfoByID($mb_user_token_info['member_id']);
  106. // $this->member_info['client_type'] = $mb_user_token_info['client_type'];
  107. // if (empty($this->member_info)) {
  108. // $this->err_code = errcode::ErrMemberNotExist;
  109. // return false;
  110. // }
  111. //
  112. // //读取卖家信息
  113. // $seller_info = Model('seller')->getSellerInfo(array('member_id' => $this->member_info['member_id']));
  114. // $this->member_info['store_id'] = $seller_info['store_id'];
  115. //
  116. // $this->err_code = errcode::Success;
  117. // return true;
  118. // }
  119. //}
  120. /**
  121. * Class mbMemberControl
  122. */
  123. class mbMemberControl extends mobileControl
  124. {
  125. protected $member_info = array();
  126. public $err_code = errcode::Success;
  127. public function __construct()
  128. {
  129. parent::__construct();
  130. }
  131. /**
  132. * 校验token+-
  133. *
  134. * @param $token
  135. * @return bool
  136. */
  137. public function checkToken($token)
  138. {
  139. if (empty($token)) {
  140. $this->err_code = errcode::ErrInputParam;
  141. return false;
  142. }
  143. $key = func::gen_token_key($token);
  144. $ret = rcache($key);
  145. if (empty($ret)) {
  146. $model_mb_user_token = Model('mb_user_token');
  147. $mb_user_token_info = $model_mb_user_token->getMbUserTokenInfoByToken($token);
  148. if (empty($mb_user_token_info)) {
  149. $this->err_code = errcode::ErrLogin;
  150. return false;
  151. }
  152. // 判断过期
  153. if (time() - $mb_user_token_info['login_time'] > func::token_expire * 60) {
  154. // $model_mb_user_token->del_token($token);
  155. $this->err_code = errcode::ErrTokenExpire;
  156. return false;
  157. }
  158. } else {
  159. $mb_user_token_info = unserialize($ret['info']);
  160. }
  161. // 读取买家信息
  162. $model_member = Model('member');
  163. $this->member_info = $model_member->getMemberInfoByID($mb_user_token_info['member_id']);
  164. $this->member_info['client_type'] = $mb_user_token_info['client_type'];
  165. if (empty($this->member_info)) {
  166. $this->err_code = errcode::ErrMemberNotExist;
  167. return false;
  168. }
  169. // 读取卖家信息
  170. $seller_info = Model('seller')->getSellerInfo(array('member_id' => $this->member_info['member_id']));
  171. $this->member_info['store_id'] = $seller_info['store_id'];
  172. $this->err_code = errcode::Success;
  173. return true;
  174. }
  175. }