123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- <?php
- namespace App\Http\Controllers\Api\Wechat;
- use App\Http\Controllers\Api\ApiBaseController;
- use App\Models\Config;
- use App\Models\WeixinReply;
- use App\Services\Common\WechatService;
- use App\Wechat\Official\EventHandle;
- use App\Wechat\Official\MessageHandle;
- use EasyWeChat\Kernel\Messages\Message;
- class OfficialController extends ApiBaseController
- {
- /**
- * @var WechatService
- */
- private $wechatService;
- /**
- * OfficialController constructor.
- * @param WechatService $wechatService
- */
- public function __construct(WechatService $wechatService)
- {
- $this->wechatService = $wechatService;
- }
- public function index()
- {
- $official=$this->wechatService->getOfficialAccount(get_subsite_id());
- $official->server->push(EventHandle::class, Message::EVENT);//微信事件过滤
- $official->server->push(MessageHandle::class, Message::TEXT | Message::IMAGE );//被动消息过滤(图片和文字),是否触发步骤事件
- $official->server->push(function ($message) {
- $default_reply=WeixinReply::where('type', 2)->get();
- $key_reply=WeixinReply::where('send', $message['Content'])->where('type', 1)->first();
- if ($key_reply) {
- return $key_reply->reply;
- }
- if ($default_reply->isEmpty()) {
- return "";
- }
- return $default_reply->random()->reply;
- }, Message::TEXT);
- return $official->server->serve();
- }
- public function pushMenu()
- {
- $official=$this->wechatService->getOfficialAccount(get_subsite_id());
- $config=Config::where('alias','wechat_exe_jobfair_app_id')->select('value')->first();
- $menu = [
- [
- "name" => "个人服务",
- "sub_button" => [
- [
- "type" => "click",
- "name" => "刷新简历",
- "key" => "PersonResumeRefresh"
- ],
- [
- "type" => "view",
- "name" => "面试邀请",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.person.jobs_interview'))
- ],
- [
- "type" => "view",
- "name" => "投递反馈",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.person.apply_jobs'))
- ],
- [
- "type" => "view",
- "name" => "职位搜索",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.jobs'))
- ],
- [
- "type" => "view",
- "name" => "个人中心",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.person.index'))
- ]
- ],
- ],
- [
- "name" => "企业服务",
- "sub_button" => [
- [
- "type" => "click",
- "name" => "刷新职位",
- "key" => "CompanyJobRefresh"
- ],
- [
- "type" => "view",
- "name" => "职位管理",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.firm.jobs.list'))
- ],
- [
- "type" => "view",
- "name" => "应聘简历",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.firm.resume.apply'))
- ],
- [
- "type" => "view",
- "name" => "简历搜索",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.resumes'))
- ]
- ],
- ],
- [
- "name" => "更多精彩",
- "sub_button" => [
- [
- "type" => "click",
- "name" => "每日签到",
- "key" => "EverydaySignIn"
- ],
- [
- "type" => "view",
- "name" => "账号绑定",
- "url" => route('mobile.auth.thirdlogin.official')
- ],
- [
- "type" => "view",
- "name" => "最近招聘会",
- "url" => route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.jobfair.index'))
- ],
- [
- "type" => "view",
- "name" => "进入官网",
- "url" => route('mobile.home')
- ],
- [
- "type" => "miniprogram",
- "name" => "线上招聘会",
- "url" => route('mobile.firm.jobfair.net'),
- "appid" => $config->value,
- "pagepath" => "pages/job_fair/job_fair"
- ],
- ],
- ]
- ];
- $official->menu->create($menu);
- }
- }
|