feat/task1-c-wallet
gongfuxiang 2019-05-25 15:25:42 +08:00
parent 62edc518ab
commit a19878bece
3 changed files with 43 additions and 30 deletions

View File

@ -23,6 +23,19 @@ use app\plugins\weixinwebauthorization\service\Service;
*/ */
class Auth extends Controller class Auth extends Controller
{ {
/**
* 支付授权
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-05-25T14:44:32+0800
* @param [array] $params [输入参数]
*/
public function Pay($params = [])
{
return $this->Index($params);
}
/** /**
* 授权 * 授权
* @author Devil * @author Devil
@ -92,7 +105,7 @@ class Auth extends Controller
} }
// 处理用户数据 // 处理用户数据
$ret = Service::WeixinAuthReg($ret['data']); $ret = Service::WeixinAuthBind($ret['data']);
if($ret['code'] == 0) if($ret['code'] == 0)
{ {
$this->assign('msg', $ret['msg']); $this->assign('msg', $ret['msg']);
@ -186,6 +199,5 @@ class Auth extends Controller
return DataReturn($ret['msg'], -1); return DataReturn($ret['msg'], -1);
} }
} }
} }
?> ?>

View File

@ -24,7 +24,7 @@ use app\service\PluginsService;
class Service class Service
{ {
/** /**
* 微信登录注册 * 微信绑定
* @author Devil * @author Devil
* @blog http://gong.gg/ * @blog http://gong.gg/
* @version 1.0.0 * @version 1.0.0
@ -32,26 +32,38 @@ class Service
* @desc description * @desc description
* @param [array] $params [输入参数] * @param [array] $params [输入参数]
*/ */
public static function WeixinAuthReg($params = []) public static function WeixinAuthBind($params = [])
{ {
// openid
if(empty($params['openid']))
{
return DataReturn('用户openid为空', -1);
}
// 获取登录用户 // 获取登录用户
$user = UserService::LoginUserInfo(); $user = UserService::LoginUserInfo();
if(!empty($user)) if(!empty($user))
{ {
return DataReturn('已登录,请先退出', -1); // 是否已绑定
if(!empty($user['weixin_web_openid']))
{
return DataReturn('该帐号已绑定微信,请先解绑', -1);
}
// 绑定
if(Db::name('User')->where(['id'=>$user['id']])->update(['weixin_web_openid'=>$params['openid'], 'upd_time'=>time()]))
{
return DataReturn('绑定成功', 0);
}
return DataReturn('绑定失败', -100);
} }
// 是否有登录纪录 // openid登录
if(!empty($params['openid'])) $user = UserService::UserInfo('weixin_web_openid', $params['openid']);
if(!empty($user))
{ {
$user = UserService::UserInfo('weixin_web_openid', $params['openid']); // 用户登录
if(!empty($user)) return UserService::UserLoginHandle($user['id'], $params);
{
// 用户登录
return UserService::UserLoginHandle($user['id'], $params);
}
} else {
return DataReturn('用户openid为空', -1);
} }
// 用户名 // 用户名

View File

@ -143,21 +143,10 @@ class Weixin
} }
// 微信中打开 // 微信中打开
// if(!empty($_SERVER['HTTP_USER_AGENT']) && stripos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) if(!empty($_SERVER['HTTP_USER_AGENT']) && stripos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false && empty($params['user']['weixin_web_openid']))
// { {
// $input = input(); exit(header('location:'.PluginsHomeUrl('weixinwebauthorization', 'auth', 'pay', input())));
// if(empty($input['code'])) }
// {
// $this->GetUserOpenId($params);
// } else {
// $ret = $this->Callback($input);
// if($ret['code'] != 0)
// {
// return $ret;
// }
// $params['user']['weixin_web_openid'] = $ret['data'];
// }
// }
// 获取支付参数 // 获取支付参数
$ret = $this->GetPayParams($params); $ret = $this->GetPayParams($params);