user_index.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. <?php
  2. /**
  3. * 我的商城
  4. *
  5. *
  6. *
  7. *
  8. * by 33hao.com 好商城V3 运营版
  9. */
  10. //use Shopnc\Tpl;
  11. defined('InShopNC') or exit('Access Invalid!');
  12. require_once(BASE_ROOT_PATH . '/mobile/control/member_relation.php');
  13. require_once(BASE_ROOT_PATH . '/helper/goods_helper.php');
  14. require_once(BASE_ROOT_PATH . '/helper/special_helper.php');
  15. require_once(BASE_ROOT_PATH . '/helper/index_tab.php');
  16. require_once(BASE_ROOT_PATH . '/helper/util_helper.php');
  17. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  18. require_once(BASE_ROOT_PATH . '/mobile/control/special.php');
  19. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  20. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  21. require_once(BASE_ROOT_PATH . '/helper/url_helper.php');
  22. require_once(BASE_ROOT_PATH . '/helper/room_helper.php');
  23. class user_indexControl extends mobileHomeControl
  24. {
  25. public function __construct()
  26. {
  27. parent::__construct();
  28. }
  29. /**
  30. * 用户详情@扫码进入 登录未知
  31. * @微信场景 需要授权
  32. * @app场景 需要登录
  33. */
  34. public function indexOp()
  35. {
  36. if(empty($_GET['member_id'])) {
  37. return self::outerr(errcode::ErrParamter);
  38. }
  39. $memkey = urldecode($_GET['member_id']);
  40. $idolid = intval(util::decrypt_data($memkey));
  41. if($idolid <= 0) {
  42. return self::outerr(errcode::ErrParamter);
  43. }
  44. // if(session_helper::need_wechat_author()) {
  45. // $author = new thrid_author\wxauthor();
  46. // $url = url_helper::member_index($idolid);
  47. // $url = $author->enter($url);
  48. // return self::outsuccess(['direct_uri' => $url],"redirect");
  49. // }
  50. if(session_helper::logined() == false)
  51. {
  52. if(session_helper::isapp()) {
  53. }
  54. else
  55. {
  56. if(wechat_helper::invite_bonus_tag()) {
  57. wechat_helper::clear_invite_bonus();
  58. }
  59. $type_sn = account_helper::invite_bonus($idolid);
  60. if($type_sn == false) {
  61. return self::outerr(errcode::ErrBonus,"生成邀请红包失败.");
  62. }
  63. else {
  64. $ref_url = url_helper::bonus_open_url($type_sn);
  65. return self::outsuccess(['direct_uri' => $ref_url],"redirect");
  66. }
  67. }
  68. }
  69. else
  70. {
  71. return $this->open_page($idolid,['from_type' => '来自二维码']);
  72. }
  73. }
  74. private function open_page($idolid,$output = [])
  75. {
  76. $minfo = new member_info($idolid);
  77. $relateion = new relation\mem_relation(session_helper::memberid());
  78. $isfriend = $relateion->is_friends($idolid);
  79. if($output['scene'] != 'applyer') {
  80. if(!$isfriend) {
  81. $output['scene'] = 'stranger';
  82. } else {
  83. $output['scene'] = 'friends';
  84. }
  85. }
  86. $output['member_info'] = $minfo->filter();
  87. $output['is_friend'] = $isfriend;
  88. return self::outsuccess($output,"member/index",'wap');
  89. }
  90. /**
  91. * 用户详情@app点击进入 一般为登录状态
  92. * @群聊->群详情页面->点击头像
  93. * @群聊/单聊->点击头像
  94. */
  95. public function detailOp()
  96. {
  97. if(!session_helper::logined()) {
  98. return self::outerr(errcode::ErrUnLogin);
  99. }
  100. $idolid = $_GET['member_id'];
  101. if($idolid <= 0) {
  102. return self::outerr(errcode::ErrParamter);
  103. }
  104. $from = $this->room_name($_GET['room_id']);
  105. return $this->open_page($idolid,['from_type' => $from]);
  106. }
  107. private function room_name($room_id)
  108. {
  109. if($room_id > 0)
  110. {
  111. $room = room_helper::room($room_id);
  112. if($room == false) {
  113. $from = "来自于群聊";
  114. } else {
  115. $name = $room->name();
  116. $name = util::ellipsis($name);
  117. $from = "来自于群聊 {$name}";
  118. }
  119. }
  120. else {
  121. $from = '来自于聊天';
  122. }
  123. return $from;
  124. }
  125. /**
  126. * 查看好友申请
  127. * param msg_id int 消息记录id
  128. */
  129. public function friend_applyOp()
  130. {
  131. if(!session_helper::logined()) {
  132. return self::outerr(errcode::ErrUnLogin);
  133. }
  134. $msg_id = $_GET['msg_id'];
  135. $item = room_helper::message($msg_id);
  136. if($item == false) {
  137. return self::outerr(errcode::ErrParamter);
  138. }
  139. $msg = json_decode($item['orgmsg'],true);
  140. $idolid = $msg['from']['userid'];
  141. if($idolid <= 0) {
  142. return self::outerr(errcode::ErrParamter);
  143. }
  144. return $this->open_page($idolid,['from_type' => '来自于好友申请','scene' => 'applyer','note' => $msg['note'],"msg_id"=>$msg_id]);
  145. }
  146. /**
  147. * 群详情页面/申请加群页面 @扫码进入
  148. */
  149. /**
  150. * 群聊详情页面/单聊详情页面 一般为登录状态
  151. * @群聊/单聊 右上角详情按钮
  152. */
  153. /**
  154. * 查看入群申请
  155. * @return bool
  156. */
  157. public function room_applyOp()
  158. {
  159. if(!session_helper::logined()) {
  160. return self::outerr(errcode::ErrUnLogin);
  161. }
  162. $msg_id = $_GET['msg_id'];
  163. $item = room_helper::message($msg_id);
  164. if($item == false) {
  165. return self::outerr(errcode::ErrParamter);
  166. }
  167. $msg = json_decode($item['orgmsg'],true);
  168. $idolid = $msg['from']['userid'];
  169. if($idolid <= 0) {
  170. return self::outerr(errcode::ErrParamter);
  171. }
  172. return $this->open_page($idolid,['from_type' => '来自于好友申请','scene' => 'applyer','note' => $msg['note']]);
  173. }
  174. }
  175. class tpl_member
  176. {
  177. private $mOutput;
  178. private $mInfo;
  179. private $mIsFriend;
  180. private $mPred;
  181. public function __construct($output)
  182. {
  183. $this->mOutput = $output;
  184. $this->mInfo = $this->mOutput['info'];
  185. $this->mIsFriend = $this->mOutput['is_friend'];
  186. $userid = $this->mInfo->member_id();
  187. $this->mPred = new bonus\account($userid);
  188. }
  189. public function output_group()
  190. {
  191. $amount = $this->mPred->total_bonus();
  192. $amount = intval($amount * 100 + 0.5) / 100;
  193. $discount = $this->mInfo->discount_self();
  194. $discount = intval($discount * 100 + 0.5) / 100;
  195. $result = "<div class=\"cell\">
  196. <span class=\"cell_label\">红包余额</span><span class=\"cell_content\"><span class=\"letter_pro\">$amount</span>元</span>
  197. </div>
  198. <div class=\"cell\">
  199. <span class=\"cell_label\">累计节省</span><span class=\"cell_content\"><span class=\"letter_pro\">$discount</span>元</span>
  200. </div>";
  201. if(!session_helper::isapp()) {
  202. $from = '<div class="cell">
  203. <span class="cell_label">信息来源</span><span class="cell_content">来自扫一扫</span>
  204. </div>';
  205. $result .= $from;
  206. }
  207. return $result;
  208. }
  209. public function output_btn()
  210. {
  211. $is_friend = $this->mOutput['is_friend'];
  212. if(!session_helper::isapp())
  213. {
  214. $result = '<div class="submit">';
  215. if($is_friend) {
  216. $result .= '<p class="cell_label">你已经是他的粉丝了</p>';
  217. } else {
  218. $result .= '<button type="button" id="btn_add_friend" class="add_friend_btn">关注</button>';
  219. }
  220. $result .= '</div>';
  221. }
  222. else
  223. {
  224. $result = '<div class="submit">
  225. <button type="button" id="btn_thief_bonus" class="add_friend_btn">偷一点</button>
  226. </div>
  227. <div class="submit">
  228. <button type="button" id="btn_send_bonus" class="send_bonus_btn">发红包</button>
  229. </div>';
  230. if(!$is_friend) {
  231. $result .= '<div class="submit">';
  232. $result .= '<button type="button" id="btn_add_friend" class="add_friend_btn">关注</button>';
  233. $result .= '</div>';
  234. }
  235. }
  236. return $result;
  237. }
  238. }