Exemplo n.º 1
0
 /**
  * 申请页面
  * @param PageService $pageService
  * @param ShakeAroundClient $shakeAroundClient
  * @param WeixinClient $weixinClient
  * @return string
  */
 public function create(PageService $pageService, ShakeAroundClient $shakeAroundClient)
 {
     $requestData = json_decode($this->inputData, true);
     $validator = Validator::make($requestData, ['title' => 'required|max:6', 'description' => 'required|max:7', 'icon_url' => 'required', 'url' => '', 'comment' => '']);
     if ($validator->fails()) {
         return RestHelp::parametersIllegal($validator->messages()->first());
     }
     $guid = Uuid::v4(false);
     //TODO 检查各个字段长度
     $arrPage = ['title' => $requestData['title'], 'description' => $requestData['description'], 'comment' => isset($requestData['comment']) ? $requestData['comment'] : '', 'icon_url' => $requestData['icon_url'], 'url' => Config::get('app.url') . str_replace('GUID', $guid, Config::get("weixin.callback_url"))];
     $appid = Session::get('wx_appid');
     $appsecret = Session::get('wx_appsecret');
     $page = new Page($arrPage);
     try {
         $page->page_url = $page->url;
         $pageId = $pageService->applyPageOnline($shakeAroundClient, $page, $appid, $appsecret);
     } catch (\Exception $e) {
         return RestHelp::encodeResult($e->getCode(), $e->getMessage());
     }
     $page->page_id = $pageId;
     unset($page->page_url);
     $page->url = empty($requestData['url']) ? "" : $requestData['url'];
     $page->guid = $guid;
     $page->wx_mp_id = Session::get('wx_mp_id');
     $id = $pageService->create($page);
     return RestHelp::success(['page_id' => $id]);
 }
Exemplo n.º 2
0
 /**
  * 增加页面POST
  * @author Hanxiang
  * @param PageService $pageService
  * @param ShakeAroundClient $shakeAroundClient
  * @return view
  */
 public function addPost(PageService $pageService, ShakeAroundClient $shakeAroundClient)
 {
     $input = Input::all();
     $wx_mp_id = $input['wx-mp-id'];
     $title = $input['txt-title'];
     $subtitle = $input['txt-subtitle'];
     $url = $input['txt-url'];
     $comment = $input['txt-comment'];
     $validator = Validator::make($input, ['wx-mp-id' => 'required', 'txt-title' => 'required', 'txt-subtitle' => 'required', 'txt-url' => 'required', 'txt-comment' => '']);
     if ($validator->fails()) {
         return redirect('/admin/wxpages/add')->with('wxmps', self::getCurrentWxMps())->with('result', false)->with('msg', '参数错误');
     }
     $file = Input::file('file-icon');
     $ext = $file->getClientOriginalExtension();
     $filename = Uuid::v4(false) . ".{$ext}";
     $file->move(public_path("pageicons"), $filename);
     $allFilename = public_path("pageicons/") . $filename;
     $wxMp = WeixinMp::find($wx_mp_id);
     if (!$wxMp) {
         return redirect('/admin/wxpages/add')->with('wxmps', self::getCurrentWxMps())->with('result', false)->with('msg', '操作失败,公众号不存在');
     }
     $appid = $wxMp->appid;
     $appsecret = $wxMp->appsecret;
     $guid = Uuid::v4(false);
     $arrPage = ['wx_mp_id' => $wx_mp_id, 'title' => $title, 'description' => $subtitle, 'comment' => $comment, 'icon_url' => "local://" . $allFilename, 'url' => Config::get('app.url') . str_replace('GUID', $guid, Config::get("weixin.callback_url"))];
     $page = new Page($arrPage);
     try {
         $page->page_url = $page->url;
         $pageId = $pageService->applyPageOnline($shakeAroundClient, $page, $appid, $appsecret);
     } catch (\Exception $e) {
         return redirect('/admin/wxpages/add')->with('wxmps', self::getCurrentWxMps())->with('result', false)->with('msg', '操作失败。' . $e->getMessage());
     }
     $page->page_id = $pageId;
     unset($page->page_url);
     $page->guid = $guid;
     $page->url = empty($url) ? "" : $url;
     $id = $pageService->create($page);
     return redirect('/admin/wxpages')->with('result', true)->with('msg', "操作成功");
 }