MeasureMonitorController.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\MeasuringMachine;
  4. use App\OrderPackage;
  5. use Illuminate\Http\Request;
  6. require_once '../app/library/baidu-api-speech/AipSpeech.php';
  7. class MeasureMonitorController extends Controller
  8. {
  9. /**
  10. * Display a listing of the resource.
  11. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  12. */
  13. public function index()
  14. {
  15. $measuringMachines=MeasuringMachine::query()->select('id','name','code','status')->get();
  16. $laravelEchoPrefix = config('database.redis.options.prefix');
  17. return view('weight.measureMonitor.index',compact('laravelEchoPrefix','measuringMachines'));
  18. }
  19. public function data(Request $request){
  20. $measuring_machine_id=$request->input('id');
  21. if ($measuring_machine_id){
  22. $package=OrderPackage::with('owner','paperBox','measuringMachine')->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
  23. if (!$package){
  24. $measuringMachine=MeasuringMachine::query()->where('id',$measuring_machine_id)->first();
  25. $package=new OrderPackage();
  26. if ($measuringMachine)$package->measuringMachine=$measuringMachine;
  27. }
  28. return $package;
  29. }
  30. return '';
  31. }
  32. public function speech(Request $request){
  33. $logistic=$request->input('logistic');
  34. if (!$logistic)return '';
  35. if (file_exists("storage/".$logistic.'.mp3')){
  36. return "/storage/".$logistic.'.mp3';
  37. }
  38. $client=new \AipSpeech(config('api.baidu.speech.APP_ID'),config('api.baidu.speech.API_KEY'),config('api.baidu.speech.SECRET_KEY'));
  39. $client->setConnectionTimeoutInMillis('180000');
  40. $client->setSocketTimeoutInMillis('180000');
  41. $result = $client->synthesis($logistic, 'zh', 1, array(
  42. 'vol' => 15,
  43. ));
  44. // 识别正确返回语音二进制 错误则返回json 参照下面错误码
  45. if(!is_array($result)){
  46. file_put_contents('storage/'.$logistic.'.mp3', $result);
  47. }
  48. return "/storage/".$logistic.'.mp3';
  49. }
  50. }