示例#1
0
 /**
  * 处理用户扫描二维码后的操作
  * @author zhengqian@dajiayao.cc
  */
 public function urlHandler()
 {
     $inputData = \Input::only('sn');
     if (!array_key_exists('sn', $inputData)) {
         return "sn not found";
     }
     $dev = Device::getDeviceBySn($inputData['sn']);
     if (!$dev) {
         return sprintf("sn: %s not found", $inputData['sn']);
     }
     if (!($wxDevice = $dev->weixinDevice)) {
         return 'sn not bind weixin ID';
     }
     $url = $wxDevice->mp->app->device_url;
     if (!$url) {
         return $inputData['sn'];
     }
     return redirect($url);
 }
示例#2
0
 /**
  * 更新设备的地理位置
  * @param DeviceService $deviceService
  * @param $sn
  * @return string
  * @author zhengqian@dajiayao.cc
  */
 public function setLocation(DeviceService $deviceService, $sn)
 {
     if (!$sn) {
         return RestHelp::parametersIllegal('sn is required');
     }
     $dev = Device::getDeviceBySn($sn);
     if (!$dev) {
         return RestHelp::encodeResult(24001, sprintf("sn:%s not found", $sn));
     }
     $inputData = json_decode($this->inputData, true);
     $validator = Validator::make($inputData, ['longitude' => 'required', 'latitude' => 'required', 'address' => 'required', 'location' => 'required']);
     if ($validator->fails()) {
         return RestHelp::parametersIllegal($validator->messages()->first());
     }
     $dev->longitude = $inputData['longitude'];
     $dev->latitude = $inputData['latitude'];
     $dev->address = $inputData['address'];
     $dev->position = $inputData['position'];
     $dev->save();
     return RestHelp::success();
 }