public function getWeixQrCodeUrl($userId) {/*{{{*/ $space = DAL::get()->find('space', $userId); if($space->isNull()) { $this->setErrorCode(144); return 0; } $doc_scene = DAL::get()->find_by_spaceid("weixdoctorqrcodescene", $space->id); if(false == $doc_scene->isNull()) { $sceneId = $doc_scene->sceneId; } else { $sceneId = WeixClient::getInstance()->queryMaxSceneId(); WeixClient::getInstance()->createDoctorScene($sceneId, $space->id); } $wenxUrl = ''; for($count = 0; $count < 3; $count++) { $wenxUrl = WeixApi::getQrcodeUrl($sceneId, WeixUser::WEIXINTYPE_PATIENT); if ($wenxUrl != '') break; } $this->content = array('spaceQrCodeUrl' => $wenxUrl); }/*}}}*/
public static function getQRCode4PhoneClient($curUser, $nowSpaceUser = '') {/*{{{*/ if(empty($nowSpaceUser)) { $nowSpaceUser = new NullEntity; } //患者和未登录用户 if(false == $curUser->hasSpace()) { echo '<script type="text/javascript" src="http://i1.hdfimg.com/space/js/twodimension.js?20131118"></script>'; } //医生登录 if($curUser->hasSpace() && false == $nowSpaceUser->isNull() && $curUser->id == $nowSpaceUser->id && false == $curUser->space->hasLoginMobileTerminal() && $curUser->space->isConfirmed()) { //echo '<script type="text/javascript" src="http://i1.hdfimg.com/space/js/twodimension_doc.js?20131118"></script>'; } //微信医生服务号二维码 if($curUser->hasSpace() && false == $nowSpaceUser->isNull() && $curUser->id == $nowSpaceUser->id && $curUser->space->isConfirmed()) { $doc_scene = DAL::get()->find_by_spaceid("weixdoctorqrcodescene", $nowSpaceUser->id); if(false == $doc_scene->isNull()) { $sceneId = $doc_scene->sceneId; } else { $sceneId = WeixClient::getInstance()->queryMaxSceneId(); WeixClient::getInstance()->createDoctorScene($sceneId, $nowSpaceUser->id); } $ticket = WeixApi::getTicket($sceneId, WeixUser::WEIXINTYPE_SPACE); if(false == empty($ticket)) { $codeUrl = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($ticket); echo '<script type="text/javascript" src="http://i1.hdfimg.com/space/js/twodimension_wxdoc.js?20141105"></script>'; echo "<script>loadTwoDimension('{$codeUrl}'); scrollx({id: 'two_dimen'}) </script>"; } } }/*}}}*/
public function understandSubsidyPolicy($request, $response) { /*{{{*/ $response->spaceId = $this->space->id; $space = $this->space; $doc_scene = DAL::get()->find_by_spaceid("weixdoctorqrcodescene", $space->id); if (false == $doc_scene->isNull()) { $sceneId = $doc_scene->sceneId; } else { $sceneId = WeixClient::getInstance()->queryMaxSceneId(); WeixClient::getInstance()->createDoctorScene($sceneId, $space->id); } $response->crCodeMsg = ""; $ticket = WeixApi::getTicket($sceneId, WeixUser::WEIXINTYPE_SPACE); if (false == empty($ticket)) { $url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($ticket); $response->crCodeMsg = "<p>{$space->name}大夫,扫描如下二维码可以立即关注“好大夫在线医生服务号”并快速绑定</p>\n <p><img src='{$url}' width='200px' heigh t='200px'/></p>"; } }
public function ajaxStartAsk($request, $response) { $patientId = $request->patientId; $spaceId = $request->spaceId; $type = $request->type; $openid = $request->openid; if(empty($openid)) { return parent::DIRECT_OUTPUT; } $weixUser = DAL::get()->find_by_openid_and_weixintype('WeixUser', $openid, WeixUser::WEIXINTYPE_PATIENT); if($weixUser->isNull()) { return parent::DIRECT_OUTPUT; } $weixMsgDto = new WeixMsgDto(); $weixMsgDto->weixUserId = $weixUser->id; $weixMsgDto->event = 'wap'; $weixMsgDto->fromUserName = $openid; $configs = WeixApi::getWeixConfigs(WeixUser::WEIXINTYPE_PATIENT); $ourOpenId = $configs['Openid']; $weixMsgDto->toUserName = $ourOpenId; if(false == empty($patientId)) { $weixMsgDto->patientId = $patientId; } if(false == empty($spaceId)) { $weixMsgDto->spaceId = $spaceId; } if(empty($type)) { $type = "flow";//这里包括了补充报到和流交流 } $this->noticeWeix($weixMsgDto, $type); return parent::DIRECT_OUTPUT; }
public function getToken($request, $response) {/*{{{*/ $weixintype = $request->weixintype; echo WeixApi::getAccess_token($weixintype); exit; }/*}}}*/
<li>病情不明白、不理解地方可以告诉我,直接与我沟通</li> </ul> <h3 class="list_title">报到方法:</h3> <div class="clearfix"> <div class="left_ewm"> <b>方法一:微信扫描二维码</b> <div class="ewm_box"> <?php $doc_scene = DAL::get()->find_by_spaceid("weixdoctorqrcodescene", $space->id); if (false == $doc_scene->isNull()) { $sceneId = $doc_scene->sceneId; } else { $sceneId = WeixClient::getInstance()->queryMaxSceneId(); WeixClient::getInstance()->createDoctorScene($sceneId, $space->id); } $ticket = WeixApi::getTicket($sceneId, WeixUser::WEIXINTYPE_PATIENT); ?> <img src="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=<?php echo urlencode($ticket); ?> " alt="" width="174" height="174"> </div> 扫描<?php echo $space->name; ?> 医生二维码<br> 完成“报到” </div> <div class="right_src"> 方法二:记下我的网址,回家上网报到<br><br> <?php
public function createWeixinQrcode4Space($request, $response) { /*{{{*/ if ($request->username == '') { return; } $response->username = $request->username; $space = DAL::get()->find_by_fld_spaceusername('space', $request->username); if ($space->isNull()) { $response->msg = "无效的医生用户名!"; return; } $doc_scene = DAL::get()->find_by_spaceid("weixdoctorqrcodescene", $space->id); if (false == $doc_scene->isNull()) { $sceneId = $doc_scene->sceneId; } else { $sceneId = WeixClient::getInstance()->queryMaxSceneId(); WeixClient::getInstance()->createDoctorScene($sceneId, $space->id); } $ticket = WeixApi::getTicket($sceneId, WeixUser::WEIXINTYPE_SPACE); $url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($ticket); $response->msg = "<p>医生姓名:{$space->name}</p>\n <p>所在医院科室:{$space->host->hospitalfaculty->hospital->name}{$space->host->hospitalfaculty->name}</p>\n <p>二维码连接:" . $url . "</p>\n <p><img src='{$url}' /></p>"; }
public function successPatientSignin($request, $response) {/*{{{*/ if('patientsigninaftervisit' == $request->from) { $response->signinType = "复诊报道"; } else { $response->signinType = "门诊/住院患者报到"; } //二维码 $response->space = DAL::get()->find('space', $request->spaceId); $doc_scene = DAL::get()->find_by_spaceid("weixdoctorqrcodescene", $response->space->id); if(false == $doc_scene->isNull()) { $sceneId = $doc_scene->sceneId; } else { $sceneId = WeixClient::getInstance()->queryMaxSceneId(); WeixClient::getInstance()->createDoctorScene($sceneId, $space->id); } $ticket = WeixApi::getTicket($sceneId, WeixUser::WEIXINTYPE_PATIENT); $url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($ticket); $response->url = $response->space->getUrl(); $response->weixUrl = $url; }/*}}}*/