JumpController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Http\Controllers\Manage\Help;
  3. use App\Http\Controllers\Manage\Help\Transformers\HelpTransformer;
  4. use App\Modules\Help\Services\HelpService;
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7. use DB;
  8. use Hashids;
  9. class JumpController extends Controller
  10. {
  11. public function index(){
  12. return view('jump.index');
  13. }
  14. public function addLink(Request $request){
  15. $description = $request->input('description');
  16. $url = $request->input('url');
  17. $data = compact('description','url');
  18. $data['status'] = 1;
  19. $data['created_at']=date('Y-m-d H:i:s');
  20. $res = DB::table('url_agent')->insert($data);
  21. return response()->success($res);
  22. }
  23. public function getLinksList(Request $request) {
  24. $page = $request->input('page');
  25. $pagesize = $request->input('pagesize');
  26. $recordsTotal = DB::table('url_agent')->count('id');
  27. $pagecount = ceil($recordsTotal/$pagesize);
  28. $offset = ($page-1)*$pagesize;
  29. $res = DB::table('url_agent')
  30. ->offset($offset)
  31. ->limit($pagesize)
  32. ->get();
  33. foreach ($res as $item){
  34. $item->final_url = env('JUMP_AGENT_URL').'/jump?sign='.Hashids::encode($item->id);
  35. }
  36. return response()->success(['data'=>$res,'pagecount'=>$pagecount]);
  37. }
  38. public function jump(Request $request){
  39. $sign = $request->input('sign','');
  40. if($sign){
  41. $id= Hashids::decode($sign)[0];
  42. $url = DB::table('url_agent')->where('id',$id)->first()->url;
  43. header('Location: ' . $url);
  44. }
  45. }
  46. }