convert.blade.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. @extends('admin.layouts')
  2. @section('content')
  3. <div class="page-content container-fluid">
  4. <div class="panel">
  5. <div class="panel-heading">
  6. <h2 class="panel-title">
  7. {{ trans('admin.menu.tools.convert') }} <small>{{ trans('admin.tools.convert.sub_title') }}</small>
  8. </h2>
  9. </div>
  10. <div class="panel-body">
  11. <div class="row">
  12. <div class="col-md-4 form-group">
  13. <label for="method">{{ trans('model.node.method') }}</label>
  14. <select class="form-control" id="method" name="method">
  15. @foreach (Helpers::methodList() as $method)
  16. <option value="{{ $method->name }}" @if ($method->is_default) selected @endif>
  17. {{ $method->name }}
  18. </option>
  19. @endforeach
  20. </select>
  21. </div>
  22. <div class="col-md-4 form-group">
  23. <label for="transfer_enable">{{ trans('model.user.usable_traffic') }}</label>
  24. <div class="input-group">
  25. <input class="form-control" id="transfer_enable" name="transfer_enable" type="number" value="1000" placeholder="" required>
  26. <span class="input-group-text">GB</span>
  27. </div>
  28. </div>
  29. <div class="col-md-4 form-group">
  30. <label for="protocol">{{ trans('model.node.protocol') }}</label>
  31. <select class="form-control" id="protocol" name="protocol">
  32. @foreach (Helpers::protocolList() as $protocol)
  33. <option value="{{ $protocol->name }}" @if ($protocol->is_default) selected @endif>
  34. {{ $protocol->name }}
  35. </option>
  36. @endforeach
  37. </select>
  38. </div>
  39. <div class="col-md-4 form-group">
  40. <label for="protocol_param">{{ trans('model.node.protocol_param') }}</label>
  41. <input class="form-control" id="protocol_param" name="protocol_param" type="text" placeholder="">
  42. </div>
  43. <div class="col-md-4 form-group">
  44. <label for="obfs">{{ trans('model.node.obfs') }}</label>
  45. <select class="form-control" id="obfs" name="obfs">
  46. @foreach (Helpers::obfsList() as $obfs)
  47. <option value="{{ $obfs->name }}" @if ($obfs->is_default) selected @endif>
  48. {{ $obfs->name }}
  49. </option>
  50. @endforeach
  51. </select>
  52. </div>
  53. <div class="col-md-4 form-group">
  54. <label for="obfs_param">{{ trans('model.node.obfs_param') }}</label>
  55. <input class="form-control" id="obfs_param" name="obfs_param" type="text" placeholder="">
  56. </div>
  57. <div class="col-md-6">
  58. <textarea class="form-control" id="content" name="content" rows="22" placeholder="{{ trans('admin.tools.convert.content_placeholder') }}" autofocus></textarea>
  59. </div>
  60. <div class="col-md-6">
  61. <textarea class="form-control" id="result" name="result" rows="22" onclick="this.focus();this.select()" readonly="readonly"></textarea>
  62. </div>
  63. <div class="col-md-6">
  64. <button class="btn btn-block btn-primary" onclick="Convert()">{{ trans('common.convert') }}</button>
  65. </div>
  66. <div class="col-md-6">
  67. <a class="btn btn-block btn-danger" href="{{ route('admin.tools.download', ['type' => 1]) }}">{{ trans('common.download') }}</a>
  68. </div>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. @endsection
  74. @section('javascript')
  75. <script>
  76. // 转换
  77. function Convert() {
  78. const content = $("#content").val();
  79. if (content.trim() === "") {
  80. swal.fire({
  81. title: '{{ trans('admin.tools.convert.content_placeholder') }}',
  82. icon: "warning",
  83. timer: 1000,
  84. showConfirmButton: false
  85. });
  86. return;
  87. }
  88. swal.fire({
  89. title: '{{ trans('admin.confirm.continues') }}',
  90. icon: "question",
  91. allowEnterKey: false,
  92. showCancelButton: true,
  93. cancelButtonText: '{{ trans('common.close') }}',
  94. confirmButtonText: '{{ trans('common.confirm') }}'
  95. }).then((result) => {
  96. if (result.value) {
  97. $.ajax({
  98. method: "POST",
  99. url: '{{ route('admin.tools.convert') }}',
  100. dataType: "json",
  101. data: {
  102. _token: '{{ csrf_token() }}',
  103. method: $("#method").val(),
  104. transfer_enable: $("#transfer_enable").val(),
  105. protocol: $("#protocol").val(),
  106. protocol_param: $("#protocol_param").val(),
  107. obfs: $("#obfs").val(),
  108. obfs_param: $("#obfs_param").val(),
  109. content: content
  110. },
  111. success: function(ret) {
  112. if (ret.status === "success") {
  113. $("#result").val(ret.data);
  114. } else {
  115. $("#result").val(ret.message);
  116. }
  117. }
  118. });
  119. }
  120. });
  121. return false;
  122. }
  123. </script>
  124. @endsection