/** * Validate mobile * * @param $app * @param $user * @param $replyArr * @return message string */ public static function userValidate($app, $openId, $replyArr) { $user = UserCache::getByOpenId($app, $openId); if (!$user) { SysLog::error(__FILE__, __METHOD__, __LINE__, 'user not found by openid'); return false; } if (!array_key_exists('cmd_number', $replyArr)) { return ReplyFormat::replyText(SysParams::sys_error['error_empty_validate_code']); } //验证码 $code = $replyArr['cmd_number'][0]; //验证码位数错误 if (strlen($code) != 6) { return ReplyFormat::replyText(SysParams::sys_error['error_invalid_validate_code']); } //检查验证码正确性 $data = self::validateRegisterCode($app, $user, $code); if (!$data) { return ReplyFormat::replyText(SysParams::sys_error['error_wrong_validate_code']); } //用户注册处理 $isReg = self::registerHandle($app, $user, $data['mobile']); if (!$isReg) { return false; } return ReplyFormat::replyPublic($replyArr); }
/** * index * * @return string */ public function index() { //return 'BKOnline Wechat Service'; $app = WechatApp::where('id', 1)->get()->first(); //UserCache::updateUserCache($app); $user = UserCache::getByOpenId($app, 'oCFvTvkmM5joT-h8pr7p-q2F0Dno'); echo json_encode($user); }
/** * Handler activity by command * * @param $app WechatApp * @param $user User * @return string message */ public static function handle($app, $openId, $replyArr) { $user = UserCache::getByOpenId($app, $openId); $eventCode = Event::getEventCode($replyArr['event_id']); if (!$user) { SysLog::error(__FILE__, __METHOD__, __LINE__, 'user not found by openid'); return false; } if (!$user['mobile']) { return ReplyFormat::replyText(SysParams::sys_error['error_user_not_register']); } switch ($eventCode) { case self::ACTIVITY_INIT: return KshActivity::startKsh($app, $user, $replyArr, $user['time_out']); break; case self::ACTIVITY_CLOSE: return KshActivity::stopKsh($app, $user, $replyArr); break; case self::ACTIVITY_DRAW: return KshActivity::drawKsh($app, $user, $replyArr); break; case self::QUESTION_BROWSE: return KshActivity::browseKshQuestionStore($app, $user, $replyArr); break; case self::PRIZE_BROWSE: return KshActivity::browseKshPrizeStore($app, $user, $replyArr); break; case self::ACTIVITY_JOIN: return KshActivity::joinKsh($app, $user, $replyArr); break; case self::ACTIVITY_ANSWER: return KshActivity::answerKsh($app, $user, $replyArr); break; case self::QUERY_WINNER: return KshActivity::queryWinner($app, $user, $replyArr); break; case self::QUERY_PRIZE: return KshActivity::queryPrize($app, $user, $replyArr); break; // case self::QUESTION_CHOOSE: // return Ksh::setActivityQuestion($app, $user, $replyArr); // break; // case self::PRIZE_CHOOSE: // return Ksh::setActivityPrize($app, $user, $replyArr); // break; // case self::QUESTION_CHOOSE: // return Ksh::setActivityQuestion($app, $user, $replyArr); // break; // case self::PRIZE_CHOOSE: // return Ksh::setActivityPrize($app, $user, $replyArr); // break; default: return false; break; } }