private function _handleEventMessage() { $message = ImWx::getRequest(); switch (strtoupper($message['Event'])) { case 'CLICK': //菜单消息的EventKey当做TextDispatcherConfig中的文字内容,通过TextDispatcher转发 ImWx::setRequest('MsgType', 'text'); ImWx::setRequest('Content', $message['EventKey']); ImWxTextDispatcher::dispatch($message['EventKey']); ImWx::fetchTextResult($this->_getTestText()); break; case 'SUBSCRIBE': if ($message['EventKey']) { //处理未关注时扫描的带参数二维码 } //处理订阅事件 ImWx::fetchTextResult('欢迎关注,请输入您的邀请码'); break; case 'UNSUBSCRIBE': //处理取消订阅事件 break; case 'SCAN': //处理已关注时扫描的带参数二维码 break; case 'LOCATION': //处理上报的地理位置信息 break; } //全部不匹配的时候返回的内容 ImWx::fetchTextResult('……'); }
public static function handleCode($code) { $openid = ImWx::getRequestUserId(); $userInfo = D('User')->getUserFromOpenId($openid); if ($userInfo['verified'] == 1) { ImWx::fetchTextResult('您已经完成验证,无需再次输入邀请码。请进入' . self::generateEntryUrl() . '。'); } $exist = D('InviteCode')->where(array('code' => $code))->find(); if (!$exist) { ImWx::fetchTextResult('您输入的邀请码有误,请核实后再试。'); } if ($exist['to_uid'] || $exist['use_time']) { ImWx::fetchTextResult('您输入的邀请码已被使用过,您可以请求推荐人为您申请新的邀请码。'); } D('InviteCode')->where(array('code' => $code))->save(array('to_uid' => $userInfo['uid'], 'use_time' => time())); $degree = Degree::getDegreeByUid($userInfo['uid']); D('User')->where(array('uid' => $userInfo['uid']))->save(array('verified' => 1, 'allow_invite_count' => $degree == 1 ? 12 : 0)); ImWx::fetchTextResult('验证成功。首次进入填写的资料包括您的【微信号】,请先记好哦~进入' . self::generateEntryUrl() . '。'); }