MeasureMonitorController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Events\WeightEvent;
  4. use App\MeasuringMachine;
  5. use App\Package;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\DB;
  8. use Illuminate\Support\Facades\Gate;
  9. require_once '../app/library/baidu-api-speech/AipSpeech.php';
  10. class MeasureMonitorController extends Controller
  11. {
  12. const APP_ID='18433903';
  13. const API_KEY='3pfojF55BI9LFfXdaI8wRyV2';
  14. const SECRET_KEY='ZRSZWUPNgRNrdm4gBQ5Gf0c1oANN4mnd';
  15. /**
  16. * Display a listing of the resource.
  17. *
  18. * @return \Illuminate\Http\Response
  19. */
  20. public function index(Request $request)
  21. {
  22. if(!Gate::allows('包裹信息-查询')){ return redirect(url('/')); }
  23. $measuringMachines=MeasuringMachine::select('id','name','code')->get();
  24. return view('weight.measureMonitor.index',['measuringMachines'=>$measuringMachines]);
  25. }
  26. public function data(Request $request){
  27. $measuring_machine_id=$request->input('id');
  28. if ($measuring_machine_id){
  29. /*$package=Package::with('owner','paperBox','measuringMachine')->where('measuring_machine_id',$measuringMachines[0]->id)->orderBy('id','DESC')->first();*/
  30. $package=Package::with('owner','paperBox','measuringMachine')->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
  31. if (!$package){
  32. $measuringMachine=MeasuringMachine::where('id',$measuring_machine_id)->first();
  33. $package=new Package();
  34. if ($measuringMachine)$package->measuringMachine=$measuringMachine;
  35. }
  36. return $package;
  37. }
  38. /*else{
  39. $package=Package::with('owner','paperBox','measuringMachine')->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
  40. if (!$package){
  41. $measuringMachine=MeasuringMachine::where('id',$measuring_machine_id)->first();
  42. $package=new Package();
  43. if ($measuringMachine)$package->measuringMachine=$measuringMachine;
  44. }*/
  45. return '';
  46. }
  47. public function speech(Request $request){
  48. $logistic=$request->input('logistic');
  49. if (!$logistic)return '';
  50. if (file_exists("storage/".$logistic.'.mp3')){
  51. return "/storage/".$logistic.'.mp3';
  52. }
  53. $client=new \AipSpeech(self::APP_ID,self::API_KEY,self::SECRET_KEY);
  54. $client->setConnectionTimeoutInMillis('180000');
  55. $client->setSocketTimeoutInMillis('180000');
  56. $result = $client->synthesis($logistic, 'zh', 1, array(
  57. 'vol' => 10,
  58. ));
  59. // 识别正确返回语音二进制 错误则返回json 参照下面错误码
  60. if(!is_array($result)){
  61. file_put_contents('storage/'.$logistic.'.mp3', $result);
  62. }
  63. return "/storage/".$logistic.'.mp3';
  64. }
  65. /**
  66. * Store a newly created resource in storage.
  67. *
  68. * @param \Illuminate\Http\Request $request
  69. * @return \Illuminate\Http\Response
  70. */
  71. public function store(Request $request)
  72. {
  73. //
  74. }
  75. /**
  76. * Display the specified resource.
  77. *
  78. * @param int $id
  79. * @return \Illuminate\Http\Response
  80. */
  81. public function show($id)
  82. {
  83. //
  84. }
  85. /**
  86. * Show the form for editing the specified resource.
  87. *
  88. * @param int $id
  89. * @return \Illuminate\Http\Response
  90. */
  91. public function edit($id)
  92. {
  93. //
  94. }
  95. /**
  96. * Update the specified resource in storage.
  97. *
  98. * @param \Illuminate\Http\Request $request
  99. * @param int $id
  100. * @return \Illuminate\Http\Response
  101. */
  102. public function update(Request $request, $id)
  103. {
  104. //
  105. }
  106. /**
  107. * Remove the specified resource from storage.
  108. *
  109. * @param int $id
  110. * @return \Illuminate\Http\Response
  111. */
  112. public function destroy($id)
  113. {
  114. //
  115. }
  116. }