convert.blade.php 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. @extends('admin.layouts')
  2. @section('css')
  3. <link href="/assets/global/vendor/bootstrap-select/bootstrap-select.min.css" rel="stylesheet">
  4. @endsection
  5. @section('content')
  6. <div class="page-content container-fluid">
  7. <x-ui.panel :title="trans('admin.menu.tools.convert')" :subtitle="trans('admin.tools.convert.sub_title')">
  8. <div class="form-row">
  9. <x-admin.form.select name="method" :label="trans('model.node.method')" :options="$methods" container="form-group col-sm-6 col-md-3" label_grid="col-12"
  10. input_grid="col-12" />
  11. <x-admin.form.select name="protocol" :label="trans('model.node.protocol')" :options="$protocols" container="form-group col-sm-6 col-md-3" label_grid="col-12"
  12. input_grid="col-12" />
  13. <x-admin.form.select name="obfs" :label="trans('model.node.obfs')" :options="$obfs" container="form-group col-sm-6 col-md-3" label_grid="col-12"
  14. input_grid="col-12" />
  15. <x-admin.form.input-group name="transfer_enable" type="number" value="1000" :label="trans('model.user.usable_traffic')" append="GB" required
  16. container="form-group col-sm-6 col-md-3" label_grid="col-12" input_grid="col-12" />
  17. <x-admin.form.textarea name="protocol_param" rows="3" :label="trans('model.node.protocol_param')" container="form-group col-md-6" label_grid="col-12"
  18. input_grid="col-12" />
  19. <x-admin.form.textarea name="obfs_param" rows="3" :label="trans('model.node.obfs_param')" container="form-group col-md-6" label_grid="col-12"
  20. input_grid="col-12" />
  21. <div class="col-md-6">
  22. <x-admin.form.textarea name="content" rows="25" :placeholder="trans('admin.tools.convert.content_placeholder')" autofocus input_grid="col-12" />
  23. </div>
  24. <div class="col-md-6">
  25. <x-admin.form.textarea name="result" rows="25" onclick="this.focus();this.select()" readonly="readonly" input_grid="col-12" />
  26. </div>
  27. <div class="col-md-6">
  28. <button class="btn btn-block btn-primary" onclick="Convert()">{{ trans('common.convert') }}</button>
  29. </div>
  30. <div class="col-md-6">
  31. <a class="btn btn-block btn-danger" href="{{ route('admin.tools.download', ['type' => 1]) }}">{{ trans('common.download') }}</a>
  32. </div>
  33. </div>
  34. </x-ui.panel>
  35. </div>
  36. @endsection
  37. @section('javascript')
  38. <script src="/assets/global/vendor/bootstrap-select/bootstrap-select.min.js"></script>
  39. <script src="/assets/global/js/Plugin/bootstrap-select.js"></script>
  40. <script>
  41. // 转换
  42. function Convert() {
  43. const content = $("#content").val();
  44. if (content.trim() === "") {
  45. showMessage({
  46. title: '{{ trans('admin.tools.convert.content_placeholder') }}',
  47. icon: "warning",
  48. timer: 1000
  49. });
  50. return;
  51. }
  52. showConfirm({
  53. title: '{{ trans('admin.confirm.continues') }}',
  54. onConfirm: function() {
  55. // 使用 collectFormData 收集表单数据
  56. ajaxPost('{{ route('admin.tools.convert') }}', collectFormData('.panel-body'), {
  57. success: function(ret) {
  58. if (ret.status === "success") {
  59. $("#result").val(ret.data);
  60. } else {
  61. $("#result").val(ret.message);
  62. }
  63. }
  64. });
  65. }
  66. });
  67. }
  68. </script>
  69. @endsection