MeasureMonitorController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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('package.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(['order'=>function($query){
  23. $query->with('owner','logistic');
  24. },'paperBox','measuringMachine'])->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
  25. if (!$package){
  26. $measuringMachine=MeasuringMachine::query()->where('id',$measuring_machine_id)->first();
  27. $package=new OrderPackage();
  28. if ($measuringMachine)$package->measuringMachine=$measuringMachine;
  29. }
  30. return $package;
  31. }
  32. return '';
  33. }
  34. public function speech(Request $request){
  35. $logistic=$request->input('logistic');
  36. if (!$logistic)$logistic='空';
  37. if (file_exists("storage/".$logistic.'.mp3')){
  38. return "/storage/".$logistic.'.mp3';
  39. }
  40. $client=new \AipSpeech(config('api.baidu.speech.APP_ID'),config('api.baidu.speech.API_KEY'),config('api.baidu.speech.SECRET_KEY'));
  41. $client->setConnectionTimeoutInMillis('180000');
  42. $client->setSocketTimeoutInMillis('180000');
  43. $result = $client->synthesis($logistic, 'zh', 1, array(
  44. 'vol' => 15,
  45. ));
  46. // 识别正确返回语音二进制 错误则返回json 参照下面错误码
  47. if(!is_array($result)){
  48. file_put_contents('storage/'.$logistic.'.mp3', $result);
  49. }
  50. return "/storage/".$logistic.'.mp3';
  51. }
  52. }