|
@@ -0,0 +1,62 @@
|
|
|
+<?php
|
|
|
+/**
|
|
|
+ * Created by PhpStorm.
|
|
|
+ * User: north
|
|
|
+ * Date: 2017/9/6
|
|
|
+ * Time: 下午5:06
|
|
|
+ */
|
|
|
+class WeChatController extends O2oBaseController {
|
|
|
+ public function actionGetUserInfo() {
|
|
|
+ $code = Yii::app()->request->getParam('code','');
|
|
|
+ $appid = 'wx6b0b0b86fb5e5e4a';
|
|
|
+ $secret = '5889e1d6d642b71e22af0f33b85cd92e';
|
|
|
+
|
|
|
+ $accessInfo = CommonWeixin::getAccessInfo($code,$appid,$secret);
|
|
|
+ var_dump($accessInfo);
|
|
|
+ $userInfo = CommonWeixin::getUserInfo($accessInfo['access_token'], $accessInfo['openid']);
|
|
|
+ var_dump($userInfo);exit;
|
|
|
+ $criteria = new EMongoCriteria();
|
|
|
+ $criteria->unionid('==', $accessInfo['unionid']);
|
|
|
+ $user = RUser::model()->find($criteria);
|
|
|
+
|
|
|
+ if ($user) {
|
|
|
+ $userId = $user->_id;
|
|
|
+ if(!isset($user->wx_pub_openid) || empty($user->wx_pub_openid)){
|
|
|
+ $user->wx_pub_openid = $accessInfo['openid'];
|
|
|
+ $user->wx_have_follow = 1;
|
|
|
+ $user->update(array('wx_pub_openid','wx_have_follow'),true);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ $userAr = new RUser();
|
|
|
+ $userAr->user_name = $userInfo['nickname'];
|
|
|
+ $userAr->avatar = $userInfo['headimgurl'];
|
|
|
+ $userAr->wx_pub_openid = $userInfo['openid'];
|
|
|
+ $userAr->unionid = $userInfo['unionid'];
|
|
|
+ $userAr->sex = $userInfo['sex'];
|
|
|
+ $userAr->register_time = time();
|
|
|
+ $userAr->channel = 'wxpub';
|
|
|
+ $userAr->wx_have_follow = 1;
|
|
|
+ $u_criteria = new EMongoCriteria();
|
|
|
+ $u_criteria->user_name('==',$userInfo['nickname']);
|
|
|
+ $olduser = RUser::model()->find($u_criteria);
|
|
|
+ if($olduser){
|
|
|
+ $user_new_neme = $userAr->user_name.'_'.substr(time(),-7);
|
|
|
+ $userAr->user_name = $user_new_neme;
|
|
|
+ }
|
|
|
+
|
|
|
+ $result = $userAr->save();
|
|
|
+ if($result){
|
|
|
+ //异步同步微信头像到七牛
|
|
|
+ if (!empty($userAr->unionid) && (strpos($userAr->avatar, 'qiniu') === false)) {
|
|
|
+ $list = new ARedisList('after_user_reg');
|
|
|
+ $user_id = (string)$userAr->_id;
|
|
|
+ $list->push($user_id);
|
|
|
+ }
|
|
|
+ $userId = (string)$userAr->_id;
|
|
|
+
|
|
|
+ }else{
|
|
|
+ var_dump($userAr);exit;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|