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.

652 lines
24 KiB

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