common判断绑定
function isbindWx($user_id='')
{
if(empty(db("weixin_user")->where("user_id",$user_id)->find())){
return false;
}else{
return true;
}
}
html
{if(isbindWx($user.id))}
<a class="unbind" confirmMsg="确认要解绑微信吗?你可能会错过重要通知!" href="/index/user/unbinding" style="background:#dedede">微信已绑定</a>
{else}
<a class="unbind" href="/index/user/binding">绑定微信</a>
{/if}
index/user添加
/**
* @notes 已有用户绑定微信
*/
public function binding()
{
$url = $this->request->get('url/s');
$url = empty($url) ? url("index/user/index") : $url;
$user_id=$this->auth->id;
$result =false;
$code=$this->request->param("code");
if(empty($code)){
$redirectUrl = (new \addons\weixin\library\WechatService)->application()->oauth->redirect(request()->domain().url('index/user/binding'))->getTargetUrl();
//dump($redirectUrl);exit;
header('Location: ' . $redirectUrl);
exit;
}
try {
$response = (new \addons\weixin\library\WechatService)->application()->oauth->scopes(['snsapi_userinfo'])->user()->getOriginal();
if (!isset($response['openid']) || empty($response['openid'])) {
$this->error("获取openID失败");
}
$userServer = new \app\weixin\service\WechatUserService($response, 'wechat');
$createAuth = $userServer->createAuth($this->auth->id);
$result= $createAuth ? true : false;
} catch (\Exception $e) {
$this->error($e->getMessage());
}
if ($result) {
$this->success('绑定成功',$url);
}
$this->error('绑定失败,未知错误!',$url);
}
/**
* @notes 解绑微信
*/
public function unbinding()
{
$user_id =$this->auth->id;
if(db("weixin_user")->where("user_id",$user_id)->delete()){
$this->success("解绑成功!");
}
$this->error('解绑失败!');
}
发表评论 取消回复