You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

648 lines
24 KiB

8 years ago
8 years ago
7 years ago
7 years ago
7 years ago
8 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
7 years ago
7 years ago
8 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
7 years ago
8 years ago
7 years ago
8 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
  1. <?php
  2. namespace App\Http\Controllers\Weixin;
  3. use App\Http\Controllers\Weixin\CommonController;
  4. use Illuminate\Http\Request;
  5. use App\Common\ReturnCode;
  6. use App\Common\ReturnData;
  7. use App\Common\Wechat\WechatAuth;
  8. use App\Common\Helper;
  9. class UserController extends CommonController
  10. {
  11. public function __construct()
  12. {
  13. parent::__construct();
  14. }
  15. //个人中心
  16. public function index(Request $request)
  17. {
  18. //$_SESSION['weixin_user_info']['access_token'] = '72d623d26a1a6d61186a97f9ccf752f7';
  19. //获取会员信息
  20. $postdata = array(
  21. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  22. );
  23. $url = env('APP_API_URL')."/user_info";
  24. $res = curl_request($url,$postdata,'GET');
  25. $data['user_info'] = $res['data'];
  26. if($res['code'] != ReturnData::SUCCESS){unset($_SESSION['weixin_user_info']);$this->error_jump('请先登录',route('weixin_login'));}
  27. return view('weixin.user.index', $data);
  28. }
  29. //个人中心设置
  30. public function userinfo(Request $request)
  31. {
  32. //获取会员信息
  33. $postdata = array(
  34. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  35. );
  36. $url = env('APP_API_URL')."/user_info";
  37. $res = curl_request($url,$postdata,'GET');
  38. $data['user_info'] = $res['data'];
  39. return view('weixin.user.userinfo', $data);
  40. }
  41. //我的分销
  42. public function userDistribution(Request $request)
  43. {
  44. //获取会员信息
  45. $postdata = array(
  46. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  47. );
  48. $url = env('APP_API_URL')."/user_info";
  49. $res = curl_request($url,$postdata,'GET');
  50. $data['user_info'] = $res['data'];
  51. //获取直属下级会员列表
  52. $pagesize = 10;
  53. $offset = 0;
  54. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  55. $postdata = array(
  56. 'limit' => $pagesize,
  57. 'offset' => $offset,
  58. 'parent_id' => $_SESSION['weixin_user_info']['id'],
  59. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  60. );
  61. $url = env('APP_API_URL')."/user_list";
  62. $res = curl_request($url,$postdata,'GET');
  63. $data['list'] = $res['data']['list'];
  64. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  65. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  66. {
  67. $html = '';
  68. if($res['data']['list'])
  69. {
  70. foreach($res['data']['list'] as $k => $v)
  71. {
  72. $html .= '<li><span class="goods_thumb" style="width:72px;height:72px;"><img style="width:72px;height:72px;" alt="'.$v['user_name'].'" src="'.$v['head_img'].'"></span>';
  73. $html .= '<div class="goods_info"><p class="goods_tit">'.$v['user_name'].'</p>';
  74. $html .= '<p style="line-height:24px;">佣金:'.$v['commission'].'</p>';
  75. $html .= '<p style="line-height:24px;">注册时间:'.date('Y-m-d',$v['add_time']).'</p>';
  76. $html .= '</div></li>';
  77. }
  78. }
  79. exit(json_encode($html));
  80. }
  81. return view('weixin.user.userDistribution', $data);
  82. }
  83. //资金管理
  84. public function userAccount(Request $request)
  85. {
  86. $postdata = array(
  87. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  88. );
  89. $url = env('APP_API_URL')."/user_info";
  90. $res = curl_request($url,$postdata,'GET');
  91. $data['user_info'] = $res['data'];
  92. return view('weixin.user.userAccount', $data);
  93. }
  94. //提现
  95. public function userWithdraw(Request $request)
  96. {
  97. $postdata = array(
  98. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  99. );
  100. $url = env('APP_API_URL')."/user_info";
  101. $res = curl_request($url,$postdata,'GET');
  102. $data['user_info'] = $res['data'];
  103. $data['is_withdraw'] = 0; //是否达到可提现要求,0否
  104. $data['min_withdraw_money'] = sysconfig('CMS_MIN_WITHDRAWAL_MONEY'); //最低可提现金额
  105. if($data['user_info']['money']>=$data['min_withdraw_money']){$data['is_withdraw'] = 1;}
  106. return view('weixin.user.userWithdraw', $data);
  107. }
  108. //提现明细
  109. public function userWithdrawList(Request $request)
  110. {
  111. $pagesize = 10;
  112. $offset = 0;
  113. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  114. $postdata = array(
  115. 'limit' => $pagesize,
  116. 'offset' => $offset,
  117. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  118. );
  119. $url = env('APP_API_URL')."/user_withdraw_list";
  120. $res = curl_request($url,$postdata,'GET');
  121. $data['list'] = $res['data']['list'];
  122. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  123. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  124. {
  125. $html = '';
  126. if($res['data']['list'])
  127. {
  128. foreach($res['data']['list'] as $k => $v)
  129. {
  130. $html .= '<li>';
  131. $html .= '<span class="green">- '.$v['money'].'</span>';
  132. $html .= '<div class="info"><p class="tit">提现</p>';
  133. $html .= '<p class="des">收款账号:'.$v['name'].' ,提现方式:'.$v['method'].' ,姓名:'.$v['name'].'<br>状态:<font color="red">'.$v['status_text'].'</font></p>';
  134. $html .= '<p class="time">'.date('Y-m-d H:i:s',$v['add_time']).'</p></div>';
  135. $html .= '</li>';
  136. }
  137. }
  138. exit(json_encode($html));
  139. }
  140. return view('weixin.user.userWithdrawList', $data);
  141. }
  142. //用户充值
  143. public function userRecharge(Request $request)
  144. {
  145. return view('weixin.user.userRecharge');
  146. }
  147. //充值明细
  148. public function userRechargeOrder(Request $request)
  149. {
  150. $pagesize = 10;
  151. $offset = 0;
  152. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  153. $postdata = array(
  154. 'limit' => $pagesize,
  155. 'offset' => $offset,
  156. 'status' => 1,
  157. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  158. );
  159. $url = env('APP_API_URL')."/user_recharge_list";
  160. $res = curl_request($url,$postdata,'GET');
  161. $data['list'] = $res['data']['list'];
  162. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  163. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  164. {
  165. $html = '';
  166. if($res['data']['list'])
  167. {
  168. foreach($res['data']['list'] as $k => $v)
  169. {
  170. $html .= '<li>';
  171. $html .= '<span class="green">+ '.$v['money'].'</span>';
  172. $html .= '<div class="info"><p class="tit">充值</p>';
  173. $html .= '<p class="time">'.date('Y-m-d H:i:s', $v['created_at']).'</p></div>';
  174. $html .= '</li>';
  175. }
  176. }
  177. exit(json_encode($html));
  178. }
  179. return view('weixin.user.userRechargeOrder', $data);
  180. }
  181. //用户充值第二步,支付
  182. public function userRechargeOrderDetail(Request $request)
  183. {
  184. $id = $request->input('id','');
  185. if($id == ''){$this->error_jump(ReturnData::PARAMS_ERROR);}
  186. //获取充值记录详情
  187. $postdata = array(
  188. 'id' => $id,
  189. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  190. );
  191. $url = env('APP_API_URL')."/user_recharge_detail";
  192. $res = curl_request($url,$postdata,'GET');
  193. $user_recharge = $data['post'] = $res['data'];
  194. //微信支付-start
  195. require_once(resource_path('org/wxpay/WxPayConfig.php')); // 导入微信配置类
  196. require_once(resource_path('org/wxpay/WxPayPubHelper.class.php')); // 导入微信支付类
  197. $body = '充值';//订单详情
  198. $out_trade_no = $user_recharge['recharge_sn'];//订单号
  199. $total_fee = floatval($user_recharge['money']*100);//价格0.01
  200. $attach = 'pay_type=1'; //附加数据,pay_type=1充值支付,示例:xxx=1&yyy=2
  201. $notify_url = route('notify_wxpay_jsapi');//通知地址
  202. $wxconfig= \WxPayConfig::wxconfig();
  203. //=========步骤1:网页授权获取用户openid============
  204. $jsApi = new \JsApi_pub($wxconfig);
  205. $openid = $jsApi->getOpenid();
  206. //=========步骤2:使用统一支付接口,获取prepay_id============
  207. //使用统一支付接口
  208. $unifiedOrder = new \UnifiedOrder_pub($wxconfig);
  209. //设置统一支付接口参数
  210. //设置必填参数
  211. //appid已填,商户无需重复填写
  212. //mch_id已填,商户无需重复填写
  213. //noncestr已填,商户无需重复填写
  214. //spbill_create_ip已填,商户无需重复填写
  215. //sign已填,商户无需重复填写
  216. $unifiedOrder->setParameter("openid","$openid");//微信用户
  217. $unifiedOrder->setParameter("body","$body");//商品描述
  218. $unifiedOrder->setParameter("out_trade_no","$out_trade_no");//商户订单号
  219. $unifiedOrder->setParameter("total_fee","$total_fee");//总金额
  220. $unifiedOrder->setParameter("attach","$attach"); //附加数据,选填,在查询API和支付通知中原样返回,可作为自定义参数使用,示例:a=1&b=2
  221. $unifiedOrder->setParameter("notify_url","$notify_url");//通知地址
  222. $unifiedOrder->setParameter("trade_type","JSAPI");//交易类型
  223. $prepay_id = $unifiedOrder->getPrepayId();
  224. //=========步骤3:使用jsapi调起支付============
  225. $jsApi->setPrepayId($prepay_id);
  226. $jsApiParameters = $jsApi->getParameters();
  227. $data['jsApiParameters'] = $jsApiParameters;
  228. $data['returnUrl'] = route('weixin_user_recharge_order'); //支付完成要跳转的url
  229. return view('weixin.user.userRechargeOrderDetail', $data);
  230. }
  231. //余额明细
  232. public function userMoneyList(Request $request)
  233. {
  234. $pagesize = 10;
  235. $offset = 0;
  236. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  237. $postdata = array(
  238. 'limit' => $pagesize,
  239. 'offset' => $offset,
  240. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  241. );
  242. $url = env('APP_API_URL')."/user_money_list";
  243. $res = curl_request($url,$postdata,'GET');
  244. $data['list'] = $res['data']['list'];
  245. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  246. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  247. {
  248. $html = '';
  249. if($res['data']['list'])
  250. {
  251. foreach($res['data']['list'] as $k => $v)
  252. {
  253. $html .= '<li>';
  254. if($v['type']==0)
  255. {
  256. $html .= '<span class="green">+ '.$v['money'].'</span>';
  257. }
  258. else
  259. {
  260. $html .= '<span>- '.$v['money'].'</span>';
  261. }
  262. $html .= '<div class="info"><p class="tit">'.$v['des'].'</p>';
  263. $html .= '<p class="time">'.date('Y-m-d H:i:s',$v['add_time']).'</p></div>';
  264. $html .= '</li>';
  265. }
  266. }
  267. exit(json_encode($html));
  268. }
  269. return view('weixin.user.userMoneyList', $data);
  270. }
  271. //积分明细
  272. public function userPointList(Request $request)
  273. {
  274. $pagesize = 10;
  275. $offset = 0;
  276. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  277. $postdata = array(
  278. 'limit' => $pagesize,
  279. 'offset' => $offset,
  280. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  281. );
  282. $url = env('APP_API_URL')."/user_point_list";
  283. $res = curl_request($url,$postdata,'GET');
  284. $data['list'] = $res['data']['list'];
  285. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  286. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  287. {
  288. $html = '';
  289. if($res['data']['list'])
  290. {
  291. foreach($res['data']['list'] as $k => $v)
  292. {
  293. $html .= '<li>';
  294. if($v['type']==0)
  295. {
  296. $html .= '<span class="green">+ '.$v['point'].'</span>';
  297. }
  298. else
  299. {
  300. $html .= '<span>- '.$v['point'].'</span>';
  301. }
  302. $html .= '<div class="info"><p class="tit">'.$v['des'].'</p>';
  303. $html .= '<p class="time">'.date('Y-m-d H:i:s',$v['add_time']).'</p></div>';
  304. $html .= '</li>';
  305. }
  306. }
  307. exit(json_encode($html));
  308. }
  309. return view('weixin.user.userPointList', $data);
  310. }
  311. //用户优惠券列表
  312. public function userBonusList(Request $request)
  313. {
  314. //商品列表
  315. $pagesize = 10;
  316. $offset = 0;
  317. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  318. $postdata = array(
  319. 'limit' => $pagesize,
  320. 'offset' => $offset,
  321. 'status' => 0,
  322. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  323. );
  324. $url = env('APP_API_URL')."/user_bonus_list";
  325. $res = curl_request($url,$postdata,'GET');
  326. $data['list'] = $res['data']['list'];
  327. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  328. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  329. {
  330. $html = '';
  331. if($res['data']['list'])
  332. {
  333. foreach($res['data']['list'] as $k => $v)
  334. {
  335. $html .= '<div class="flow-have-adr">';
  336. $html .= '<p class="f-h-adr-title">'.$v['bonus']['name'].'</label><span class="ect-colory fr"><small>¥</small>'.$v['bonus']['money'].'</span><div class="cl"></div></p>';
  337. $html .= '<p class="f-h-adr-con">有效期至'.$v['bonus']['end_time'].' <span class="fr">满'.$v['bonus']['min_amount'].'可用</span></p>';
  338. //$html .= '<div class="adr-edit-del">说明</div>';
  339. $html .= '</div>';
  340. }
  341. }
  342. exit(json_encode($html));
  343. }
  344. return view('weixin.user.userBonusList', $data);
  345. }
  346. //用户消息
  347. public function userMessageList(Request $request)
  348. {
  349. $pagesize = 10;
  350. $offset = 0;
  351. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  352. $postdata = array(
  353. 'limit' => $pagesize,
  354. 'offset' => $offset,
  355. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  356. );
  357. $url = env('APP_API_URL')."/user_message_list";
  358. $res = curl_request($url,$postdata,'GET');
  359. $data['list'] = $res['data']['list'];
  360. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  361. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  362. {
  363. $html = '';
  364. if($res['data']['list'])
  365. {
  366. foreach($res['data']['list'] as $k => $v)
  367. {
  368. $html .= '<li>';
  369. if($v['title']==0)
  370. {
  371. $html .= '<p class="tit">'.$v['title'].'</p>';
  372. }
  373. if($v['des']==0)
  374. {
  375. $html .= '<p class="des">'.$v['des'].'</p>';
  376. }
  377. $html .= '<p class="time">'.date('Y-m-d H:i:s',$v['add_time']).'</p>';
  378. $html .= '</li>';
  379. }
  380. }
  381. exit(json_encode($html));
  382. }
  383. return view('weixin.user.userMessageList', $data);
  384. }
  385. //浏览记录
  386. public function userGoodsHistory(Request $request)
  387. {
  388. //商品列表
  389. $pagesize = 10;
  390. $offset = 0;
  391. if(isset($_REQUEST['page'])){$offset = ($_REQUEST['page']-1)*$pagesize;}
  392. $postdata = array(
  393. 'limit' => $pagesize,
  394. 'offset' => $offset,
  395. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  396. );
  397. $url = env('APP_API_URL')."/user_goods_history_list";
  398. $res = curl_request($url,$postdata,'GET');
  399. $data['user_goods_history'] = $res['data']['list'];
  400. $data['totalpage'] = ceil($res['data']['count']/$pagesize);
  401. if(isset($_REQUEST['page_ajax']) && $_REQUEST['page_ajax']==1)
  402. {
  403. $html = '';
  404. if($res['data']['list'])
  405. {
  406. foreach($res['data']['list'] as $k => $v)
  407. {
  408. $html .= '<li><a href="'.$v['goods']['goods_detail_url'].'"><span class="goods_thumb"><img alt="'.$v['goods']['title'].'" src="'.env('APP_URL').$v['goods']['litpic'].'"></span></a>';
  409. $html .= '<div class="goods_info"><p class="goods_tit">'.$v['goods']['title'].'</p>';
  410. $html .= '<p class="goods_price">¥<b>'.$v['goods']['price'].'</b></p>';
  411. $html .= '<p class="goods_des fr"><span id="del_history" onclick="delconfirm(\''.route('weixin_user_goods_history_delete',array('id'=>$v['id'])).'\')">删除</span></p>';
  412. $html .= '</div></li>';
  413. }
  414. }
  415. exit(json_encode($html));
  416. }
  417. return view('weixin.user.userGoodsHistory', $data);
  418. }
  419. //浏览记录删除
  420. public function userGoodsHistoryDelete(Request $request)
  421. {
  422. $id = $request->input('id','');
  423. if($id == ''){$this->error_jump(ReturnData::PARAMS_ERROR);}
  424. $postdata = array(
  425. 'id' => $id,
  426. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  427. );
  428. $url = env('APP_API_URL')."/user_goods_history_delete";
  429. $res = curl_request($url,$postdata,'POST');
  430. if($res['code'] != ReturnData::SUCCESS){$this->error_jump(ReturnCode::FAIL);}
  431. $this->success_jump(ReturnCode::SUCCESS);
  432. }
  433. //浏览记录清空
  434. public function userGoodsHistoryClear(Request $request)
  435. {
  436. $postdata = array(
  437. 'access_token' => $_SESSION['weixin_user_info']['access_token']
  438. );
  439. $url = env('APP_API_URL')."/user_goods_history_clear";
  440. $res = curl_request($url,$postdata,'POST');
  441. if($res['code'] != ReturnData::SUCCESS){$this->error_jump(ReturnCode::FAIL);}
  442. $this->success_jump(ReturnCode::SUCCESS);
  443. }
  444. //微信网页授权登录
  445. public function oauth(Request $request)
  446. {
  447. if (!isset($_SESSION['weixin_oauth']['userinfo']))
  448. {
  449. $wechat_auth = new WechatAuth(sysconfig('CMS_WX_APPID'),sysconfig('CMS_WX_APPSECRET'));
  450. // 获取code码,用于和微信服务器申请token。 注:依据OAuth2.0要求,此处授权登录需要用户端操作
  451. if(!isset($_GET['code']))
  452. {
  453. $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
  454. $callback_url = $http_type . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; //回调地址,当前页面
  455. //生成唯一随机串防CSRF攻击
  456. $state = md5(uniqid(rand(), true));
  457. $_SESSION['weixin_oauth']['state'] = $state; //存到SESSION
  458. $authorize_url = $wechat_auth->get_authorize_url($callback_url, $state);
  459. header("Location: $authorize_url");exit;
  460. }
  461. // 依据code码去获取openid和access_token,自己的后台服务器直接向微信服务器申请即可
  462. $_SESSION['weixin_oauth']['code'] = $_GET['code'];
  463. if($_GET['state'] != $_SESSION['weixin_oauth']['state'])
  464. {
  465. $this->error_jump('您访问的页面不存在或已被删除');
  466. }
  467. //得到 access_token 与 openid
  468. $_SESSION['weixin_oauth']['token'] = $wechat_auth->get_access_token($_GET['code']);
  469. // 依据申请到的access_token和openid,申请Userinfo信息。
  470. $_SESSION['weixin_oauth']['userinfo'] = $wechat_auth->get_user_info($_SESSION['weixin_oauth']['token']['access_token'], $_SESSION['weixin_oauth']['token']['openid']);
  471. }
  472. $postdata = array(
  473. 'openid' => $_SESSION['weixin_oauth']['userinfo']['openid'],
  474. 'unionid' => isset($_SESSION['weixin_oauth']['userinfo']['unionid']) ? $_SESSION['weixin_oauth']['userinfo']['unionid'] : '',
  475. 'nickname' => $_SESSION['weixin_oauth']['userinfo']['nickname'],
  476. 'sex' => $_SESSION['weixin_oauth']['userinfo']['sex'],
  477. 'head_img' => $_SESSION['weixin_oauth']['userinfo']['headimgurl'],
  478. 'parent_id' => isset($_SESSION['weixin_user_invite_code']) ? $_SESSION['weixin_user_invite_code'] : 0,
  479. 'parent_mobile' => '',
  480. 'mobile' => ''
  481. );
  482. $url = env('APP_API_URL')."/wx_oauth_register";
  483. $res = curl_request($url,$postdata,'POST');
  484. if($res['code'] != ReturnData::SUCCESS){$this->error_jump('系统错误');}
  485. $_SESSION['weixin_user_info'] = $res['data'];
  486. header('Location: '.route('weixin_user'));exit;
  487. }
  488. //登录
  489. public function login(Request $request)
  490. {
  491. if(isset($_SESSION['weixin_user_info']))
  492. {
  493. if(isset($_SERVER["HTTP_REFERER"])){header('Location: '.$_SERVER["HTTP_REFERER"]);exit;}
  494. header('Location: '.route('weixin_user'));exit;
  495. }
  496. $return_url = '';
  497. if(isset($_REQUEST['return_url']) && !empty($_REQUEST['return_url'])){$return_url = $_SESSION['weixin_history_back_url'] = $_REQUEST['return_url'];}
  498. if($_SERVER['REQUEST_METHOD'] == 'POST')
  499. {
  500. if($_POST['user_name'] == '')
  501. {
  502. $this->error_jump('账号不能为空');
  503. }
  504. if($_POST['password'] == '')
  505. {
  506. $this->error_jump('密码不能为空');
  507. }
  508. $postdata = array(
  509. 'user_name' => $_POST['user_name'],
  510. 'password' => md5($_POST['password'])
  511. );
  512. $url = env('APP_API_URL')."/wx_login";
  513. $res = curl_request($url,$postdata,'POST');
  514. if($res['code'] != ReturnData::SUCCESS){$this->error_jump('登录失败');}
  515. $_SESSION['weixin_user_info'] = $res['data'];
  516. if($return_url != ''){header('Location: '.$return_url);exit;}
  517. header('Location: '.route('weixin_user'));exit;
  518. }
  519. return view('weixin.user.login');
  520. }
  521. //注册
  522. public function register(Request $request)
  523. {
  524. if(isset($_SESSION['weixin_user_info']))
  525. {
  526. if(isset($_SERVER["HTTP_REFERER"])){header('Location: '.$_SERVER["HTTP_REFERER"]);exit;}
  527. header('Location: '.route('weixin_user'));exit;
  528. }
  529. $return_url = '';
  530. if(isset($_REQUEST['return_url']) && !empty($_REQUEST['return_url'])){$_SESSION['weixin_history_back_url'] = $_REQUEST['return_url'];}
  531. if(isset($_REQUEST['invite_code']) && !empty($_REQUEST['invite_code'])){$_SESSION['weixin_user_invite_code'] = $_REQUEST['invite_code'];} //推荐人id存在session,首页入口也存了一次
  532. return view('weixin.user.register');
  533. }
  534. public function logout(Request $request)
  535. {
  536. session_unset();
  537. session_destroy(); // 退出登录,清除session
  538. $this->success_jump('退出成功',route('weixin'));
  539. }
  540. }