/** * $删除 * @param MpService $mpService * @param $wxId * @return string */ public function delete(MpService $mpService, $wxId) { $mp = WeixinMp::find($wxId); if (!$mp) { return RestHelp::encodeResult(22001, 'weixin not found'); } $mpService->delete($mp); return RestHelp::success(); }
/** * 同步微信数据 * @return \Illuminate\Http\RedirectResponse * @author zhengqian@dajiayao.cc */ public function syncWeixin() { ini_set('max_execution_time', 300); ignore_user_abort(true); $mpId = $this->request->get('mp'); $objMp = WeixinMp::find($mpId); if (!$objMp) { return redirect(route('adminSyncWeixin'))->with('result', false)->with('msg', '微信号未找到'); } try { $count = $this->weixinService->sync($objMp->appid, $objMp->appsecret); } catch (\Exception $e) { return redirect(route('adminSyncWeixin'))->with('result', false)->with('msg', $e->getMessage()); } return redirect(route('adminSyncWeixin'))->with('result', true)->with('msg', sprintf("同步页面 %s 个,设备 %s 个", $count['count_page'], $count['count_device'])); }
/** * 绑定页面POST * @author Hanxiang * @param PageService $pageService * @param ShakeAroundClient $shakeAroundClient * @return json */ public function bindPost(PageService $pageService, ShakeAroundClient $shakeAroundClient) { $input = Input::all(); $validator = Validator::make($input, ['id' => 'required', 'wx_device_ids' => 'required']); if ($validator->fails()) { return response()->json(['result' => 0, 'msg' => '参数错误']); } if (!is_array($input['wx_device_ids'])) { return response()->json(['result' => 0, 'msg' => '参数错误']); } $wxpage = WeixinPage::find($input['id']); if (!$wxpage) { return response()->json(['result' => 0, 'msg' => '微信页面不存在']); } $wxMp = WeixinMp::find($wxpage->wx_mp_id); $appid = $wxMp->appid; $appsecret = $wxMp->appsecret; try { $pageService->bindDevice($shakeAroundClient, $wxpage, $input['wx_device_ids'], 1, 1, $appid, $appsecret); } catch (\Exception $e) { return response()->json(['result' => 0, 'msg' => $e->getMessage()]); } Session::flash('result', true); Session::flash('msg', "操作成功"); return response()->json(['result' => 1, 'msg' => '操作成功']); }
/** * 申请设备 * @param DeviceService $deviceService * @author zhengqian@dajiayao.cc */ public function applyWxDevice(ShakeAroundClient $shakeAroundClient, DeviceService $deviceService) { $inputData = Input::only('wx_mp_id', 'sum'); $validator = Validator::make($inputData, ['wx_mp_id' => 'required', 'sum' => 'required|numeric']); if ($validator->fails()) { return response()->json(['msgcode' => -1, 'message' => $validator->messages()->first()]); } $mpId = $inputData['wx_mp_id']; $mp = WeixinMp::find($mpId); if (!$mp) { return response()->json(['msgcode' => -2, 'message' => '微信号未找到']); } if ($inputData['sum'] > 100) { return response()->json(['msgcode' => -3, 'message' => '一次最多申请100个']); } try { $ret = $deviceService->applyDeviceOnline($shakeAroundClient, (int) $inputData['sum'], '测试', 'comment', 0, $mp->appid, $mp->appsecret); } catch (\Exception $e) { return response()->json(['msgcode' => $e->getCode(), 'message' => $e->getMessage()]); } $applyId = $ret->apply_id; $devices = $ret->device_identifiers; foreach ($devices as $dev) { $d = new WeixinDevice(); $d->uuid = $dev->uuid; $d->major = $dev->major; $d->minor = $dev->minor; $d->device_id = $dev->device_id; $d->apply_id = $applyId; $d->wx_mp_id = $mpId; $d->save(); } return redirect(route('adminWxDevicesIndex'))->with('result', true)->with('msg', "操作成功"); }