services1.blade.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. <!--@extends('user.layouts')-->
  2. @section('css')
  3. <link rel="stylesheet" href="assets/global/vendor/ionrangeslider/ionrangeslider.min.css">
  4. @endsection
  5. @section('content')
  6. <div class="page-content">
  7. <!--<div class="row">-->
  8. <!-- <div class="col-xxl-2 col-lg-3">-->
  9. <!-- <div class="card card-shadow">-->
  10. <!-- <div class="card-block p-20">-->
  11. <!-- <div class="font-weight-400">微信支付教程:</div>-->
  12. <!-- <div class="font-weight-400">第一步购买充值卡</div>-->
  13. <!-- <p> <div class="font-weight-400"><a href="https://www.tianfa99.xyz/" class="btn btn-primary">充值卡购买1</a></div></p>-->
  14. <!-- <p><div class="font-weight-400"><a href="https://www.tianfa99.top/" class="btn btn-primary">充值卡购买2</a></div></p>-->
  15. <!--<div class="font-weight-400"><a href="/#wx_client" class="btn btn-primary">微信购买</a></div>-->
  16. <!--<div class="font-weight-400"><a href="/#wx_client" class="btn btn-primary">微信购买</a></div>-->
  17. <!--<button type="button" class="btn btn-floating btn-sm btn-pure">-->
  18. <!-- <i class="icon wb-payment green-500"></i>-->
  19. <!--</button>-->
  20. <!--<span class="font-weight-400">{{trans('user.account.credit')}}</span>-->
  21. <!--<div class="content-text text-center mb-0">-->
  22. <!-- <span class="font-size-40 font-weight-100">{{Auth::getUser()->credit}}</span>-->
  23. <!-- <br/>-->
  24. <!-- <button class="btn btn-danger float-right mr-15" data-toggle="modal" data-target="#charge_modal">{{trans('user.recharge')}}</button>-->
  25. <!--</div>-->
  26. <!-- </div>-->
  27. <!-- </div>-->
  28. <div class="row">
  29. <div class="col-xxl-2 col-lg-3">
  30. <div class="card card-shadow">
  31. <div class="card-block p-20">
  32. <div class="font-weight-400">用户名:{{$username}}</div>
  33. <button type="button" class="btn btn-floating btn-sm btn-pure">
  34. <i class="icon wb-payment green-500"></i>
  35. </button>
  36. <span class="font-weight-400">{{trans('user.account.credit')}}</span>
  37. <div class="content-text text-center mb-0">
  38. <span class="font-size-40 font-weight-100">{{Auth::getUser()->credit}}</span>
  39. <br/>
  40. <button class="btn btn-danger float-right mr-15" data-toggle="modal" data-target="#charge_modal">{{trans('user.recharge')}}</button>
  41. </div>
  42. </div>
  43. </div>
  44. <!--@if($renewTraffic)-->
  45. <!-- <div class="card card-shadow">-->
  46. <!-- <div class="card-block p-20">-->
  47. <!-- <button type="button" class="btn btn-floating btn-sm btn-pure">-->
  48. <!-- <i class="icon wb-payment green-500"></i>-->
  49. <!-- </button>-->
  50. <!-- <span class="font-weight-400">{{trans('user.reset_data.')}}</span>-->
  51. <!-- <div class="content-text text-center mb-0">-->
  52. <!-- <span class="font-size-20 font-weight-100">{{trans('user.reset_data.required')}} <code>¥{{$renewTraffic}}</code></span>-->
  53. <!-- <br/>-->
  54. <!-- <button class="btn btn-danger mt-10" onclick="resetTraffic()">{{trans('common.reset')}}</button>-->
  55. <!-- </div>-->
  56. <!-- </div>-->
  57. <!-- </div>-->
  58. <!--@endif-->
  59. <div> 余额使用须知:余额充值后,必须购买vip套餐才会开通服务!</div>
  60. <div><p><a href="/services" class="btn btn-danger float-right mr-15">立即购买vip套餐</a></p>使用余额支付</div>
  61. </div>
  62. <!-- <div class="col-xxl-10 col-lg-9">-->
  63. <!-- <div class="panel">-->
  64. <!-- <div class="panel-heading p-20">-->
  65. <!-- <h1 class="panel-title cyan-700">-->
  66. <!-- <i class="icon wb-shopping-cart"></i>{{trans('user.menu.shop')}}-->
  67. <!-- </h1>-->
  68. <!-- </div>-->
  69. <!-- <div class="panel-body">-->
  70. <!-- <div class="row">-->
  71. <!-- @foreach($goodsList as $goods)-->
  72. <!-- <div class="col-md-6 col-xl-4 col-xxl-3">-->
  73. <!-- <div class="position-relative">-->
  74. <!-- @if($goods->limit_num)-->
  75. <!-- <div class="ribbon ribbon-badge ribbon-danger ribbon-reverse">-->
  76. <!-- <span class="ribbon-inner">{{trans('user.shop.limited')}}</span>-->
  77. <!-- </div>-->
  78. <!-- @elseif($goods->is_hot)-->
  79. <!-- <div class="ribbon ribbon-badge ribbon-danger ribbon-reverse">-->
  80. <!-- <span class="ribbon-inner">{{trans('user.shop.hot')}}</span>-->
  81. <!-- </div>-->
  82. <!-- @endif-->
  83. <!-- </div>-->
  84. <!-- <div class="pricing-list text-left">-->
  85. <!-- <div class="pricing-header text-white" style="background-color: {{$goods->color}}">-->
  86. <!-- <div class="pricing-title font-size-20">{{$goods->name}}</div>-->
  87. <!-- <div class="pricing-price text-white @if($goods->type === 1) text-center @endif">-->
  88. <!-- <span class="pricing-currency">¥</span>-->
  89. <!-- <span class="pricing-amount">{{$goods->price}}</span>-->
  90. <!-- @if($goods->type === 2)-->
  91. <!-- <span class="pricing-period">/ {{$goods->days.trans('validation.attributes.day')}}</span>-->
  92. <!-- @endif-->
  93. <!-- </div>-->
  94. <!-- @if($goods->info)-->
  95. <!-- <p class="px-30 pb-25 text-center">{{$goods->description}}</p>-->
  96. <!-- @endif-->
  97. <!-- </div>-->
  98. <!-- <ul class="pricing-features">-->
  99. <!-- <li>-->
  100. <!-- <strong>{{$goods->traffic_label}}</strong>{{trans('user.attribute.data')}}-->
  101. <!-- {!!$goods->type === 1? ' <code>'.$dataPlusDays.'</code> '.trans('validation.attributes.day'):''.trans('')!!}-->
  102. <!-- </li>-->
  103. <!-- <li>-->
  104. <!-- <strong>同时支持3个设备</strong> 全平台-->
  105. <!--</li>-->
  106. <!-- <li>-->
  107. <!-- <strong>默认流量用完,免费加流量</strong> -->
  108. <!--</li>-->
  109. <!-- <li>-->
  110. <!-- <strong>置</strong> -->
  111. <!--</li>-->
  112. <!-- {!!$goods->info!!}-->
  113. <!-- </ul>-->
  114. <!-- <div class="pricing-footer text-center bg-blue-grey-100">-->
  115. <!-- <a href="{{route('buy', $goods)}}" class="btn btn-lg btn-primary"> {{trans('user.shop.buy')}}</a>-->
  116. <!-- </div>-->
  117. <!-- </div>-->
  118. <!-- </div>-->
  119. <!-- @endforeach-->
  120. <!-- </div>-->
  121. <!-- </div>-->
  122. <!-- </div>-->
  123. <!-- </div>-->
  124. <!-- </div>-->
  125. <!--</div>-->
  126. <div id="charge_modal" class="modal fade" aria-labelledby="charge_modal" role="dialog" tabindex="-1"
  127. aria-hidden="true">
  128. <div class="modal-dialog modal-simple modal-center">
  129. <div class="modal-content">
  130. <div class="modal-header">
  131. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  132. <span aria-hidden="true">×</span></button>
  133. <h4 class="modal-title">{{trans('user.recharge_credit')}}</h4>
  134. </div>
  135. <div class="modal-body">
  136. <div class="alert alert-danger" id="charge_msg" style="display: none;"></div>
  137. <form action="#" method="post">
  138. @if(sysConfig('is_onlinePay') || sysConfig('alipay_qrcode') || sysConfig('wechat_qrcode'))
  139. <div class="mb-15 w-p50">
  140. <select class="form-control" name="charge_type" id="charge_type">
  141. <option value="3">{{trans('user.coupon.recharge')}}</option>
  142. @if(sysConfig('is_onlinePay'))
  143. <option value="1">{{trans('user.shop.pay_online')}}</option>
  144. @endif
  145. @if(sysConfig('alipay_qrcode') || sysConfig('wechat_qrcode'))
  146. <option value="2">{{trans('common.qrcode', ['attribute' => ''])}}</option>
  147. @endif
  148. </select>
  149. </div>
  150. @endif
  151. @if(sysConfig('is_onlinePay'))
  152. <div class="form-group row charge_credit">
  153. <label for="amount" class="offset-md-1 col-md-2 col-form-label">{{trans('user.shop.change_amount')}}</label>
  154. <div class="col-md-8">
  155. <input type="text" name="amount" id="amount" data-plugin="ionRangeSlider" data-min=1 data-max=300 data-from=75 data-prefix="¥"/>
  156. </div>
  157. </div>
  158. @endif
  159. @if(sysConfig('alipay_qrcode') || sysConfig('wechat_qrcode'))
  160. <div class="text-center" id="charge_qrcode">
  161. <div class="row">
  162. <p class="col-md-12 mb-10">付款时,请
  163. <mark>备注邮箱账号</mark>
  164. ,充值会在<code>24</code>小时内受理!
  165. </p>
  166. @if(sysConfig('wechat_qrcode'))
  167. <div class="col-md-6">
  168. <img class="w-p75 mb-10" src="{{sysConfig('wechat_qrcode')}}" alt=""/>
  169. <p>{{trans('common.payment.wechat')}}</p>
  170. </div>
  171. @endif
  172. @if(sysConfig('alipay_qrcode'))
  173. <div class="col-md-6">
  174. <img class="w-p75 mb-10" src="{{sysConfig('alipay_qrcode')}}" alt=""/>
  175. <p>{{trans('common.payment.alipay')}}</p>
  176. </div>
  177. @endif
  178. </div>
  179. </div>
  180. @endif
  181. <div class="form-group row" id="charge_coupon_code">
  182. <label for="charge_coupon"
  183. class="offset-md-2 col-md-2 col-form-label"> {{trans('user.coupon.recharge')}} </label>
  184. <div class="col-md-6">
  185. <input type="text" class="form-control round" name="charge_coupon" id="charge_coupon" placeholder="{{trans('user.input_coupon')}}">
  186. </div>
  187. </div>
  188. </form>
  189. </div>
  190. <div class="modal-footer">
  191. <div class="charge_credit">
  192. @include('user.components.purchase')
  193. </div>
  194. <button type="button" class="btn btn-primary" id="change_btn" onclick="pay()">{{trans('user.recharge')}}</button>
  195. </div>
  196. </div>
  197. </div>
  198. </div>
  199. @endsection
  200. @section('javascript')
  201. <script src="assets/global/vendor/ionrangeslider/ion.rangeSlider.min.js"></script>
  202. <script src="assets/global/js/Plugin/ionrangeslider.js"></script>
  203. <script>
  204. function itemControl(value) {
  205. if (value === 1) {
  206. $('.charge_credit').show();
  207. $('#change_btn').hide();
  208. $('#charge_qrcode').hide();
  209. $('#charge_coupon_code').hide();
  210. } else if (value === 2) {
  211. $('.charge_credit').hide();
  212. $('#change_btn').hide();
  213. $('#charge_qrcode').show();
  214. $('#charge_coupon_code').hide();
  215. } else {
  216. $('.charge_credit').hide();
  217. $('#charge_qrcode').hide();
  218. $('#charge_coupon_code').show();
  219. $('#change_btn').show();
  220. }
  221. }
  222. $(document).ready(function() {
  223. let which_selected = 3;
  224. {{-- @if(sysConfig('is_onlinePay'))--}}
  225. {{-- which_selected = 1;--}}
  226. {{-- @elseif(sysConfig('alipay_qrcode') || sysConfig('wechat_qrcode'))--}}
  227. {{-- which_selected = 2;--}}
  228. {{-- @endif--}}
  229. itemControl(which_selected);
  230. $('charge_type').val(which_selected);
  231. });
  232. // 切换充值方式
  233. $('#charge_type').change(function() {
  234. itemControl(parseInt($(this).val()));
  235. });
  236. // 重置流量
  237. function resetTraffic() {
  238. swal.fire({
  239. title: '{{trans('user.reset_data.')}}',
  240. text: '{{trans('user.reset_data.cost_tips', ['amount' => $renewTraffic])}}',
  241. icon: 'question',
  242. showCancelButton: true,
  243. cancelButtonText: '{{trans('common.close')}}',
  244. confirmButtonText: '{{trans('common.confirm')}}',
  245. }).then((result) => {
  246. if (result.value) {
  247. $.post('{{route('resetTraffic')}}', {_token: '{{csrf_token()}}'}, function(ret) {
  248. if (ret.status === 'success') {
  249. swal.fire({title: ret.message, icon: 'success', timer: 1000, showConfirmButton: false}).then(() => window.location.reload());
  250. } else {
  251. swal.fire({
  252. title: ret.message,
  253. text: ret.data,
  254. icon: 'error',
  255. }).then(() => window.location.reload());
  256. }
  257. });
  258. }
  259. });
  260. }
  261. // 充值
  262. function pay(method, pay_type) {
  263. const paymentType = parseInt($('#charge_type').val() ?? 3);
  264. const charge_coupon = $('#charge_coupon').val().trim();
  265. const amount = parseInt($('#amount').val());
  266. if (paymentType === 1) {
  267. if (amount <= 0) {
  268. swal.fire({title: '{{trans('common.error')}}', text: '{{trans('user.payment.error')}}', icon: 'warning', timer: 1000, showConfirmButton: false});
  269. return false;
  270. }
  271. $.ajax({
  272. method: 'POST',
  273. url: '{{route('purchase')}}',
  274. data: {_token: '{{csrf_token()}}', amount: amount, method: method, pay_type: pay_type},
  275. dataType: 'json',
  276. beforeSend: function() {
  277. $('#charge_msg').show().html('{{trans('user.payment.creating')}}');
  278. },
  279. success: function(ret) {
  280. if (ret.status === 'fail') {
  281. return false;
  282. } else {
  283. $('#charge_msg').show().html(ret.message);
  284. if (ret.data) {
  285. window.location.href = '{{route('orderDetail' , '')}}/' + ret.data;
  286. } else if (ret.url) {
  287. window.location.href = ret.url;
  288. }
  289. }
  290. },
  291. error: function() {
  292. $('#charge_msg').show().html("{{trans('user.error_response')}}");
  293. },
  294. });
  295. } else if (paymentType === 3) {
  296. if (charge_coupon === '') {
  297. $('#charge_msg').show().html("{{trans('validation.required', ['attribute' => trans('user.coupon.attribute')])}}");
  298. $('#charge_coupon').focus();
  299. return false;
  300. }
  301. $.ajax({
  302. method: 'POST',
  303. url: '{{route('recharge')}}',
  304. data: {_token: '{{csrf_token()}}', coupon_sn: charge_coupon},
  305. beforeSend: function() {
  306. $('#charge_msg').show().html("{{trans('user.recharging')}}");
  307. },
  308. success: function(ret) {
  309. if (ret.status === 'fail') {
  310. $('#charge_msg').show().html(ret.message);
  311. return false;
  312. }
  313. $('#charge_modal').modal('hide');
  314. window.location.reload();
  315. },
  316. error: function() {
  317. $('#charge_msg').show().html("{{trans('user.error_response')}}");
  318. },
  319. });
  320. }
  321. }
  322. </script>
  323. @endsection