commit
ec509a38c7
@ -38,7 +38,6 @@ public function store(Request $request): RedirectResponse
|
|||||||
'name' => 'required|max:80',
|
'name' => 'required|max:80',
|
||||||
'arch' => 'required|max:30',
|
'arch' => 'required|max:30',
|
||||||
'url' => 'required',
|
'url' => 'required',
|
||||||
'author' => 'required|max:30',
|
|
||||||
]);
|
]);
|
||||||
$request_data = $request->toArray();
|
$request_data = $request->toArray();
|
||||||
Client::create($request_data);
|
Client::create($request_data);
|
||||||
@ -51,7 +50,6 @@ public function update(Request $request, Client $client)
|
|||||||
'name' => 'required|max:80',
|
'name' => 'required|max:80',
|
||||||
'arch' => 'required|max:30',
|
'arch' => 'required|max:30',
|
||||||
'url' => 'required',
|
'url' => 'required',
|
||||||
'author' => 'required|max:30',
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$data = $request->all();
|
$data = $request->all();
|
||||||
|
@ -10,6 +10,5 @@ class Client extends Model
|
|||||||
'name',
|
'name',
|
||||||
'arch',
|
'arch',
|
||||||
'url',
|
'url',
|
||||||
'author',
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('clients', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('author');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('clients', function (Blueprint $table) {
|
||||||
|
$table->string('author');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -1 +1 @@
|
|||||||
import{r as l,o as t,c as o,a as e,t as v,j as y,v as w,F as b,e as C,b as p,g as f,l as B}from"./app-8398074f.js";import{i as m}from"./http-cb25f780.js";const G=e("div",null,[e("h3",null,"流量充值")],-1),N=e("h5",null,"您要充值多少元的流量?",-1),T=f(" 每 GB 价格: "),U=f(" 元。 "),D={class:"input-group mb-3"},F=e("div",{class:"input-group-append"},[e("span",{class:"input-group-text"},"GB")],-1),M={key:0},j=f("大约 "),E=["textContent"],L=f(" 元。"),P={key:0},R=e("h5",{class:"mt-3"},"您将要使用哪个平台充值?",-1),S=e("p",null,"如果您在选中的平台没有账号,我们将会帮您自动创建一个。",-1),q={class:"form-group form-check"},z=["id","value"],A=["textContent","for"],H={key:1},I=e("h5",{class:"mt-3"},"暂时没有可用的",-1),J=[I],K={key:2},O=e("h5",{class:"mt-3"},"让我们来选择支付方式。",-1),Q=e("p",null,"在支付后,您的流量大概需要数秒钟到账。",-1),W={class:"form-group form-check"},X=["id","value"],Y=["textContent","for"],Z={key:3},$=["textContent","disabled"],ee={key:0},te={key:1,class:"mt-3"},oe=e("h5",null,"完成",-1),ne=e("p",null,"如果您浏览器没有打开新的创建,请点击以下链接来打开。",-1),se=["href"],ie={name:"Charge",setup(le){const g=l(0),u=l([]),i=l(""),r=l({}),d=l(""),c=l(10),h=l(""),_=l(!1);m.get("price").then(s=>{g.value=s.data.price_per_gb}),m.get("providers").then(s=>{u.value=s.data,u.value.length>0&&(i.value=u.value[0],x())});function x(){m.get("providers/"+i.value+"/payments").then(s=>{r.value=s.data,r.value.length>0&&(d.value=r.value[0].name)})}function V(){_.value=!0,m.post("providers/"+i.value+"/charge",{payment:d.value,traffic:c.value}).then(s=>{h.value=s.data.redirect_url,setTimeout(()=>{window.open(h.value,"_blank")})}).finally(()=>{_.value=!1})}return(s,a)=>(t(),o(b,null,[G,e("div",null,[N,e("p",null,[T,e("span",null,v(g.value),1),U]),e("div",D,[y(e("input",{autofocus:"",type:"number",class:"form-control",placeholder:"输入您要的流量 (单位: GB)","onUpdate:modelValue":a[0]||(a[0]=n=>c.value=n)},null,512),[[w,c.value]]),F]),c.value?(t(),o("div",M,[e("p",null,[j,e("span",{textContent:v(c.value*g.value)},null,8,E),L]),u.value?(t(),o("div",P,[R,S,(t(!0),o(b,null,C(u.value,n=>(t(),o("div",q,[y(e("input",{type:"radio",class:"form-check-input",name:"provider",id:"providers_"+n,value:n,"onUpdate:modelValue":a[1]||(a[1]=k=>i.value=k),onChange:x},null,40,z),[[B,i.value,void 0,{value:!0}]]),e("label",{textContent:v(n),class:"form-check-label",for:"providers_"+n},null,8,A)]))),256))])):(t(),o("div",H,J)),r.value?(t(),o("div",K,[O,Q,(t(!0),o(b,null,C(r.value,n=>(t(),o("div",W,[y(e("input",{type:"radio",class:"form-check-input",name:"payment",id:"payments_"+n.name,"onUpdate:modelValue":a[2]||(a[2]=k=>d.value=k),value:n.name},null,8,X),[[B,d.value]]),e("label",{textContent:v(n.title),class:"form-check-label",for:"payments_"+n.name},null,8,Y)]))),256))])):p("",!0),d.value?(t(),o("div",Z,[e("button",{class:"btn btn-primary mt-3",onClick:V,textContent:v(_.value?"请稍后":"立即支付"),disabled:_.value},null,8,$)])):p("",!0)])):p("",!0)]),_.value?(t(),o("p",ee,"正在创建订单...")):p("",!0),h.value?(t(),o("div",te,[oe,ne,e("a",{href:h.value,class:"link",target:"_blank"},"支付",8,se)])):p("",!0)],64))}};export{ie as default};
|
import{r as l,o as t,c as o,a as e,t as v,j as y,v as w,F as b,e as C,b as p,g as f,l as B}from"./app-dd51f5ed.js";import{i as m}from"./http-f4d6e1af.js";const G=e("div",null,[e("h3",null,"流量充值")],-1),N=e("h5",null,"您要充值多少元的流量?",-1),T=f(" 每 GB 价格: "),U=f(" 元。 "),D={class:"input-group mb-3"},F=e("div",{class:"input-group-append"},[e("span",{class:"input-group-text"},"GB")],-1),M={key:0},j=f("大约 "),E=["textContent"],L=f(" 元。"),P={key:0},R=e("h5",{class:"mt-3"},"您将要使用哪个平台充值?",-1),S=e("p",null,"如果您在选中的平台没有账号,我们将会帮您自动创建一个。",-1),q={class:"form-group form-check"},z=["id","value"],A=["textContent","for"],H={key:1},I=e("h5",{class:"mt-3"},"暂时没有可用的",-1),J=[I],K={key:2},O=e("h5",{class:"mt-3"},"让我们来选择支付方式。",-1),Q=e("p",null,"在支付后,您的流量大概需要数秒钟到账。",-1),W={class:"form-group form-check"},X=["id","value"],Y=["textContent","for"],Z={key:3},$=["textContent","disabled"],ee={key:0},te={key:1,class:"mt-3"},oe=e("h5",null,"完成",-1),ne=e("p",null,"如果您浏览器没有打开新的创建,请点击以下链接来打开。",-1),se=["href"],ie={name:"Charge",setup(le){const g=l(0),u=l([]),i=l(""),r=l({}),d=l(""),c=l(10),h=l(""),_=l(!1);m.get("price").then(s=>{g.value=s.data.price_per_gb}),m.get("providers").then(s=>{u.value=s.data,u.value.length>0&&(i.value=u.value[0],x())});function x(){m.get("providers/"+i.value+"/payments").then(s=>{r.value=s.data,r.value.length>0&&(d.value=r.value[0].name)})}function V(){_.value=!0,m.post("providers/"+i.value+"/charge",{payment:d.value,traffic:c.value}).then(s=>{h.value=s.data.redirect_url,setTimeout(()=>{window.open(h.value,"_blank")})}).finally(()=>{_.value=!1})}return(s,a)=>(t(),o(b,null,[G,e("div",null,[N,e("p",null,[T,e("span",null,v(g.value),1),U]),e("div",D,[y(e("input",{autofocus:"",type:"number",class:"form-control",placeholder:"输入您要的流量 (单位: GB)","onUpdate:modelValue":a[0]||(a[0]=n=>c.value=n)},null,512),[[w,c.value]]),F]),c.value?(t(),o("div",M,[e("p",null,[j,e("span",{textContent:v(c.value*g.value)},null,8,E),L]),u.value?(t(),o("div",P,[R,S,(t(!0),o(b,null,C(u.value,n=>(t(),o("div",q,[y(e("input",{type:"radio",class:"form-check-input",name:"provider",id:"providers_"+n,value:n,"onUpdate:modelValue":a[1]||(a[1]=k=>i.value=k),onChange:x},null,40,z),[[B,i.value,void 0,{value:!0}]]),e("label",{textContent:v(n),class:"form-check-label",for:"providers_"+n},null,8,A)]))),256))])):(t(),o("div",H,J)),r.value?(t(),o("div",K,[O,Q,(t(!0),o(b,null,C(r.value,n=>(t(),o("div",W,[y(e("input",{type:"radio",class:"form-check-input",name:"payment",id:"payments_"+n.name,"onUpdate:modelValue":a[2]||(a[2]=k=>d.value=k),value:n.name},null,8,X),[[B,d.value]]),e("label",{textContent:v(n.title),class:"form-check-label",for:"payments_"+n.name},null,8,Y)]))),256))])):p("",!0),d.value?(t(),o("div",Z,[e("button",{class:"btn btn-primary mt-3",onClick:V,textContent:v(_.value?"请稍后":"立即支付"),disabled:_.value},null,8,$)])):p("",!0)])):p("",!0)]),_.value?(t(),o("p",ee,"正在创建订单...")):p("",!0),h.value?(t(),o("div",te,[oe,ne,e("a",{href:h.value,class:"link",target:"_blank"},"支付",8,se)])):p("",!0)],64))}};export{ie as default};
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
|||||||
import{i as u}from"./http-cb25f780.js";import{r as c,o as e,c as n,a as t,F as o,e as d,t as a}from"./app-8398074f.js";const h=t("h3",null,"客户端下载",-1),_={class:"table table-bordered mt-3"},i=t("thead",null,[t("tr",null,[t("th",null,"名称"),t("th",null,"架构"),t("th",null,"作者"),t("th",null,"下载")])],-1),m=["href"],B={name:"Downloads",setup(p){const s=c([]);return u.get("clients").then(r=>{s.value=r.data}),(r,f)=>(e(),n(o,null,[h,t("table",_,[i,t("tbody",null,[(e(!0),n(o,null,d(s.value,l=>(e(),n("tr",null,[t("td",null,a(l.name),1),t("td",null,a(l.arch),1),t("td",null,a(l.author),1),t("td",null,[t("a",{href:l.url},"下载",8,m)])]))),256))])])],64))}};export{B as default};
|
|
1
public/build/assets/Downloads-f6d6fbbf.js
Normal file
1
public/build/assets/Downloads-f6d6fbbf.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{i as u}from"./http-f4d6e1af.js";import{r as c,o as l,c as n,a as t,F as r,e as d,t as o}from"./app-dd51f5ed.js";const h=t("h3",null,"客户端下载",-1),_={class:"table table-bordered mt-3"},i=t("thead",null,[t("tr",null,[t("th",null,"名称"),t("th",null,"架构"),t("th",null,"下载")])],-1),m=["href"],B={name:"Downloads",setup(p){const a=c([]);return u.get("clients").then(s=>{a.value=s.data}),(s,f)=>(l(),n(r,null,[h,t("table",_,[i,t("tbody",null,[(l(!0),n(r,null,d(a.value,e=>(l(),n("tr",null,[t("td",null,o(e.name),1),t("td",null,o(e.arch),1),t("td",null,[t("a",{href:e.url},"下载",8,m)])]))),256))])])],64))}};export{B as default};
|
@ -1 +1 @@
|
|||||||
import{i as d}from"./http-cb25f780.js";import{r as p,d as _,o as s,c as r,a as e,F as c,e as i,t as o,f as h,w as u,g as m}from"./app-8398074f.js";const v=e("h3",null,"隧道列表",-1),k={class:"table table-hover"},f=e("thead",null,[e("tr",null,[e("th",{scope:"col"},"ID"),e("th",{scope:"col"},"名称"),e("th",{scope:"col"},"协议"),e("th",{scope:"col"},"本地地址"),e("th",{scope:"col"},"远程端口/域名"),e("th",{scope:"col"},"服务器"),e("th",{scope:"col"},"状态")])],-1),g={key:0},x={key:1},y={key:0,class:"text-success"},b={key:1,class:"text-danger"},V={name:"Index",setup(w){const a=p([{id:"0",protocol:"",server:{server_address:"",server_port:"",name:""},run_id:""}]);return d.get("tunnels").then(l=>{a.value=l.data,console.log(a.value)}),(l,B)=>{const n=_("router-link");return s(),r(c,null,[v,e("table",k,[f,e("tbody",null,[(s(!0),r(c,null,i(a.value,t=>(s(),r("tr",null,[e("th",null,o(t.id),1),e("td",null,[h(n,{to:{name:"tunnels.show",params:{id:t.id}}},{default:u(()=>[m(o(t.name),1)]),_:2},1032,["to"])]),e("td",null,o(t.protocol.toString().toUpperCase()),1),e("td",null,o(t.local_address),1),e("td",null,[t.protocol==="http"||t.protocol==="https"?(s(),r("span",g,o(t.custom_domain),1)):(s(),r("span",x,o(t.server.server_address)+":"+o(t.remote_port),1))]),e("td",null,o(t.server.name),1),e("td",null,[t.run_id?(s(),r("span",y,"在线")):(s(),r("span",b,"离线"))])]))),256))])])],64)}}};export{V as default};
|
import{i as d}from"./http-f4d6e1af.js";import{r as p,d as _,o as s,c as r,a as e,F as c,e as i,t as o,f as h,w as u,g as m}from"./app-dd51f5ed.js";const v=e("h3",null,"隧道列表",-1),k={class:"table table-hover"},f=e("thead",null,[e("tr",null,[e("th",{scope:"col"},"ID"),e("th",{scope:"col"},"名称"),e("th",{scope:"col"},"协议"),e("th",{scope:"col"},"本地地址"),e("th",{scope:"col"},"远程端口/域名"),e("th",{scope:"col"},"服务器"),e("th",{scope:"col"},"状态")])],-1),g={key:0},x={key:1},y={key:0,class:"text-success"},b={key:1,class:"text-danger"},V={name:"Index",setup(w){const a=p([{id:"0",protocol:"",server:{server_address:"",server_port:"",name:""},run_id:""}]);return d.get("tunnels").then(l=>{a.value=l.data,console.log(a.value)}),(l,B)=>{const n=_("router-link");return s(),r(c,null,[v,e("table",k,[f,e("tbody",null,[(s(!0),r(c,null,i(a.value,t=>(s(),r("tr",null,[e("th",null,o(t.id),1),e("td",null,[h(n,{to:{name:"tunnels.show",params:{id:t.id}}},{default:u(()=>[m(o(t.name),1)]),_:2},1032,["to"])]),e("td",null,o(t.protocol.toString().toUpperCase()),1),e("td",null,o(t.local_address),1),e("td",null,[t.protocol==="http"||t.protocol==="https"?(s(),r("span",g,o(t.custom_domain),1)):(s(),r("span",x,o(t.server.server_address)+":"+o(t.remote_port),1))]),e("td",null,o(t.server.name),1),e("td",null,[t.run_id?(s(),r("span",y,"在线")):(s(),r("span",b,"离线"))])]))),256))])])],64)}}};export{V as default};
|
@ -1 +1 @@
|
|||||||
import{i as o}from"./http-cb25f780.js";import{r as u,o as l,c,a as e,t as n,u as i,b as d,F as h}from"./app-8398074f.js";const p=e("div",null,[e("h3",null,"欢迎")],-1),k={class:"mt-3"},f={key:0,class:"mt-3"},v=e("h3",null,"实名认证",-1),b=e("p",null," 注意,您没有完成实名认证,请点击下方按钮完成实名认证,否则您只能使用中国大陆以外的隧道。 ",-1),g=e("a",{class:"btn btn-primary",target:"_blank",href:"https://oauth.laecloud.com/real_name"},"实名认证",-1),y=e("h3",null,"访问密钥",-1),x={class:"mt-3"},B={key:0,class:"text-success"},A={name:"Index",setup(T){const r=window.Base.SiteName,s=u({name:"loading...",traffic:""}),a=u("");o.get("user").then(t=>{s.value=t.data});function _(){o.post("tokens").then(t=>{a.value=t.data.token})}function m(){o.delete("tokens").then(t=>{alert("所有 Token 删除成功。")})}return(t,w)=>(l(),c(h,null,[p,e("div",k,[e("p",null,"用户名: "+n(s.value.name),1),e("p",null,"剩余流量: "+n(s.value.traffic)+" GB",1)]),s.value.realnamed?d("",!0):(l(),c("div",f,[v,b,g,e("p",null,"在实名认证后,请重新登录 "+n(i(r))+"。",1)])),y,e("div",x,[e("p",null," 访问密钥是用于访问 "+n(i(r))+" API 的密钥,您可以使用它来开发自己的客户端。 ",1),a.value?(l(),c("p",B,"获取成功,请妥善保管您的 Token: "+n(a.value),1)):d("",!0),e("button",{class:"btn btn-primary",onClick:_}," 获取新密钥 "),e("button",{class:"btn btn-danger",style:{"margin-left":"5px"},onClick:m}," 删除所有密钥 ")])],64))}};export{A as default};
|
import{i as o}from"./http-f4d6e1af.js";import{r as u,o as l,c,a as e,t as n,u as i,b as d,F as h}from"./app-dd51f5ed.js";const p=e("div",null,[e("h3",null,"欢迎")],-1),k={class:"mt-3"},f={key:0,class:"mt-3"},v=e("h3",null,"实名认证",-1),b=e("p",null," 注意,您没有完成实名认证,请点击下方按钮完成实名认证,否则您只能使用中国大陆以外的隧道。 ",-1),g=e("a",{class:"btn btn-primary",target:"_blank",href:"https://oauth.laecloud.com/real_name"},"实名认证",-1),y=e("h3",null,"访问密钥",-1),x={class:"mt-3"},B={key:0,class:"text-success"},A={name:"Index",setup(T){const r=window.Base.SiteName,s=u({name:"loading...",traffic:""}),a=u("");o.get("user").then(t=>{s.value=t.data});function _(){o.post("tokens").then(t=>{a.value=t.data.token})}function m(){o.delete("tokens").then(t=>{alert("所有 Token 删除成功。")})}return(t,w)=>(l(),c(h,null,[p,e("div",k,[e("p",null,"用户名: "+n(s.value.name),1),e("p",null,"剩余流量: "+n(s.value.traffic)+" GB",1)]),s.value.realnamed?d("",!0):(l(),c("div",f,[v,b,g,e("p",null,"在实名认证后,请重新登录 "+n(i(r))+"。",1)])),y,e("div",x,[e("p",null," 访问密钥是用于访问 "+n(i(r))+" API 的密钥,您可以使用它来开发自己的客户端。 ",1),a.value?(l(),c("p",B,"获取成功,请妥善保管您的 Token: "+n(a.value),1)):d("",!0),e("button",{class:"btn btn-primary",onClick:_}," 获取新密钥 "),e("button",{class:"btn btn-danger",style:{"margin-left":"5px"},onClick:m}," 删除所有密钥 ")])],64))}};export{A as default};
|
@ -1,4 +1,4 @@
|
|||||||
import{i as Tl}from"./http-cb25f780.js";import{r as tm,m as em,i as cL,n as pL,o as rm,c as am,a as Ke,t as kh,b as dL,F as gL}from"./app-8398074f.js";/*! *****************************************************************************
|
import{i as Tl}from"./http-f4d6e1af.js";import{r as tm,m as em,i as cL,n as pL,o as rm,c as am,a as Ke,t as kh,b as dL,F as gL}from"./app-dd51f5ed.js";/*! *****************************************************************************
|
||||||
Copyright (c) Microsoft Corporation.
|
Copyright (c) Microsoft Corporation.
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
Permission to use, copy, modify, and/or distribute this software for any
|
@ -1 +1 @@
|
|||||||
import{i}from"./http-cb25f780.js";import{r as s,o as c,c as f,a as e,t as r}from"./app-8398074f.js";const o=e("h3",null,"流量补给",-1),u={key:0},d={key:1},h={name:"Sign",setup(_){const a=s({last_sign_at:null,traffic:0});i.get("user").then(t=>{a.value.traffic=t.data.traffic});function l(){i.post("traffic").then(t=>{a.value=t.data;let n=`获得了 ${t.data.traffic} GB 流量!`;t.data.traffic===0&&(n="没有获得流量~"),alert(n)}).finally(()=>{i.get("user").then(t=>{a.value.traffic=t.data.traffic}).finally(()=>{})})}return(t,n)=>(c(),f("div",null,[o,e("div",null,[e("p",null,"当前流量: "+r(a.value.traffic)+"GB",1),a.value.is_signed?(c(),f("div",u,"今日已签到")):(c(),f("div",d,[e("button",{class:"btn btn-primary",onClick:l},"试试手气")]))])]))}};export{h as default};
|
import{i}from"./http-f4d6e1af.js";import{r as s,o as c,c as f,a as e,t as r}from"./app-dd51f5ed.js";const o=e("h3",null,"流量补给",-1),u={key:0},d={key:1},h={name:"Sign",setup(_){const a=s({last_sign_at:null,traffic:0});i.get("user").then(t=>{a.value.traffic=t.data.traffic});function l(){i.post("traffic").then(t=>{a.value=t.data;let n=`获得了 ${t.data.traffic} GB 流量!`;t.data.traffic===0&&(n="没有获得流量~"),alert(n)}).finally(()=>{i.get("user").then(t=>{a.value.traffic=t.data.traffic}).finally(()=>{})})}return(t,n)=>(c(),f("div",null,[o,e("div",null,[e("p",null,"当前流量: "+r(a.value.traffic)+"GB",1),a.value.is_signed?(c(),f("div",u,"今日已签到")):(c(),f("div",d,[e("button",{class:"btn btn-primary",onClick:l},"试试手气")]))])]))}};export{h as default};
|
@ -1 +1 @@
|
|||||||
import{_ as w,r as c,o as t,c as o,a as e,j as m,v as k,b as r,F as f,e as I,t as b,g as x,l as S,p as B,q as N}from"./app-8398074f.js";import{i as y}from"./http-cb25f780.js";const a=_=>(B("data-v-04d8426c"),_=_(),N(),_),U=a(()=>e("div",null,[e("h3",null,"发工单")],-1)),D=a(()=>e("h5",null,"有遇到什么问题吗?",-1)),F=x(" 您可以选择以下常见问题: "),M=x(" "),j={class:"input-group mb-3"},q={key:0,class:"input-group"},E={key:1},L={key:0},R=a(()=>e("h5",{class:"mt-3"},"选择发工单的平台",-1)),z=a(()=>e("p",null,"如果您在选中的平台没有账号,我们将会帮您自动创建一个。",-1)),A={class:"form-group form-check"},G=["id","value"],H=["textContent","for"],J={key:1},K=a(()=>e("h5",{class:"mt-3"},"暂时没有可用的提供商",-1)),O=[K],P={key:2},Q=["textContent","disabled"],W={key:0},X={key:1,class:"mt-3"},Y=a(()=>e("h5",null,"完成",-1)),Z=a(()=>e("p",null,"如果您浏览器没有打开新的创建,请点击以下链接来打开。",-1)),$=["href"],ee={name:"Ticket",setup(_){const u=c([]),v=c(""),l=c(""),n=c(""),p=c(""),d=c(!1);y.get("providers").then(h=>{u.value=h.data,u.value.length>0&&(v.value=u.value[0])});function g(){d.value=!0,y.post("providers/"+v.value+"/ticket",{title:l.value,content:n.value}).then(h=>{p.value=h.data.redirect_url,setTimeout(()=>{window.open(p.value,"_blank")})}).finally(()=>{d.value=!1})}function C(){l.value="域名 {你的域名} 过白。",n.value="您好,我的域名已备案,请将我的域名 {你的域名} 加入白名单,谢谢。"}function T(){l.value="{节点} 的隧道无法连接。",n.value="您好,这个节点无法连接,请检查。"}return(h,i)=>(t(),o(f,null,[U,e("div",null,[D,e("div",{class:"mb-3"},[F,e("a",{onClick:C,class:"link"},"域名白名单"),M,e("a",{onClick:T,class:"link"},"映射问题")]),e("div",j,[m(e("input",{autofocus:"",type:"text",class:"form-control",placeholder:"简要概述您遇到的问题","onUpdate:modelValue":i[0]||(i[0]=s=>l.value=s)},null,512),[[k,l.value]])]),l.value?(t(),o("div",q,[m(e("textarea",{class:"form-control","onUpdate:modelValue":i[1]||(i[1]=s=>n.value=s),placeholder:"详细说明您遇到的问题..."},null,512),[[k,n.value]])])):r("",!0),l.value?(t(),o("div",E,[u.value?(t(),o("div",L,[R,z,(t(!0),o(f,null,I(u.value,s=>(t(),o("div",A,[m(e("input",{type:"radio",class:"form-check-input",name:"provider",id:"providers_"+s,value:s,"onUpdate:modelValue":i[2]||(i[2]=V=>v.value=V)},null,8,G),[[S,v.value,void 0,{value:!0}]]),e("label",{textContent:b(s),class:"form-check-label",for:"providers_"+s},null,8,H)]))),256))])):(t(),o("div",J,O)),n.value?(t(),o("div",P,[e("button",{class:"btn btn-primary mt-3",onClick:g,textContent:b(d.value?"请稍后":"创建工单"),disabled:d.value},null,8,Q)])):r("",!0)])):r("",!0)]),d.value?(t(),o("p",W,"正在打开工单...")):r("",!0),p.value?(t(),o("div",X,[Y,Z,e("a",{href:p.value,class:"link",target:"_blank"},"打开工单",8,$)])):r("",!0)],64))}},se=w(ee,[["__scopeId","data-v-04d8426c"]]);export{se as default};
|
import{_ as w,r as c,o as t,c as o,a as e,j as m,v as k,b as r,F as f,e as I,t as b,g as x,l as S,p as B,q as N}from"./app-dd51f5ed.js";import{i as y}from"./http-f4d6e1af.js";const a=_=>(B("data-v-04d8426c"),_=_(),N(),_),U=a(()=>e("div",null,[e("h3",null,"发工单")],-1)),D=a(()=>e("h5",null,"有遇到什么问题吗?",-1)),F=x(" 您可以选择以下常见问题: "),M=x(" "),j={class:"input-group mb-3"},q={key:0,class:"input-group"},E={key:1},L={key:0},R=a(()=>e("h5",{class:"mt-3"},"选择发工单的平台",-1)),z=a(()=>e("p",null,"如果您在选中的平台没有账号,我们将会帮您自动创建一个。",-1)),A={class:"form-group form-check"},G=["id","value"],H=["textContent","for"],J={key:1},K=a(()=>e("h5",{class:"mt-3"},"暂时没有可用的提供商",-1)),O=[K],P={key:2},Q=["textContent","disabled"],W={key:0},X={key:1,class:"mt-3"},Y=a(()=>e("h5",null,"完成",-1)),Z=a(()=>e("p",null,"如果您浏览器没有打开新的创建,请点击以下链接来打开。",-1)),$=["href"],ee={name:"Ticket",setup(_){const u=c([]),v=c(""),l=c(""),n=c(""),p=c(""),d=c(!1);y.get("providers").then(h=>{u.value=h.data,u.value.length>0&&(v.value=u.value[0])});function g(){d.value=!0,y.post("providers/"+v.value+"/ticket",{title:l.value,content:n.value}).then(h=>{p.value=h.data.redirect_url,setTimeout(()=>{window.open(p.value,"_blank")})}).finally(()=>{d.value=!1})}function C(){l.value="域名 {你的域名} 过白。",n.value="您好,我的域名已备案,请将我的域名 {你的域名} 加入白名单,谢谢。"}function T(){l.value="{节点} 的隧道无法连接。",n.value="您好,这个节点无法连接,请检查。"}return(h,i)=>(t(),o(f,null,[U,e("div",null,[D,e("div",{class:"mb-3"},[F,e("a",{onClick:C,class:"link"},"域名白名单"),M,e("a",{onClick:T,class:"link"},"映射问题")]),e("div",j,[m(e("input",{autofocus:"",type:"text",class:"form-control",placeholder:"简要概述您遇到的问题","onUpdate:modelValue":i[0]||(i[0]=s=>l.value=s)},null,512),[[k,l.value]])]),l.value?(t(),o("div",q,[m(e("textarea",{class:"form-control","onUpdate:modelValue":i[1]||(i[1]=s=>n.value=s),placeholder:"详细说明您遇到的问题..."},null,512),[[k,n.value]])])):r("",!0),l.value?(t(),o("div",E,[u.value?(t(),o("div",L,[R,z,(t(!0),o(f,null,I(u.value,s=>(t(),o("div",A,[m(e("input",{type:"radio",class:"form-check-input",name:"provider",id:"providers_"+s,value:s,"onUpdate:modelValue":i[2]||(i[2]=V=>v.value=V)},null,8,G),[[S,v.value,void 0,{value:!0}]]),e("label",{textContent:b(s),class:"form-check-label",for:"providers_"+s},null,8,H)]))),256))])):(t(),o("div",J,O)),n.value?(t(),o("div",P,[e("button",{class:"btn btn-primary mt-3",onClick:g,textContent:b(d.value?"请稍后":"创建工单"),disabled:d.value},null,8,Q)])):r("",!0)])):r("",!0)]),d.value?(t(),o("p",W,"正在打开工单...")):r("",!0),p.value?(t(),o("div",X,[Y,Z,e("a",{href:p.value,class:"link",target:"_blank"},"打开工单",8,$)])):r("",!0)],64))}},se=w(ee,[["__scopeId","data-v-04d8426c"]]);export{se as default};
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
import{s as a,m as n}from"./app-8398074f.js";let t=a.create({baseURL:"/api",timeout:1e4,headers:{"X-Requested-With":"XMLHttpRequest","X-CSRF-TOKEN":document.querySelector('meta[name="csrf-token"]').getAttribute("content")}});t.interceptors.request.use(e=>(e.headers,e.headers.Accept="application/json",e),e=>(console.error(e),Promise.reject(e)));t.interceptors.response.use(e=>Promise.resolve(e),e=>{console.error("axios error",e);let s=[];e.response.data.data&&(s=e.response.data.data),e.response.data.message&&(s=e.response.data.message),e.response.data.error&&(s=e.response.data.error.message),e.response.status===429?alert("请求次数过多"):e.response.status===401||(e.response.status===404?n.push({name:"index"}):s.length!==0&&alert(s))});export{t as i};
|
import{s as a,m as n}from"./app-dd51f5ed.js";let t=a.create({baseURL:"/api",timeout:1e4,headers:{"X-Requested-With":"XMLHttpRequest","X-CSRF-TOKEN":document.querySelector('meta[name="csrf-token"]').getAttribute("content")}});t.interceptors.request.use(e=>(e.headers,e.headers.Accept="application/json",e),e=>(console.error(e),Promise.reject(e)));t.interceptors.response.use(e=>Promise.resolve(e),e=>{console.error("axios error",e);let s=[];e.response.data.data&&(s=e.response.data.data),e.response.data.message&&(s=e.response.data.message),e.response.data.error&&(s=e.response.data.error.message),e.response.status===429?alert("请求次数过多"):e.response.status===401||(e.response.status===404?n.push({name:"index"}):s.length!==0&&alert(s))});export{t as i};
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_http-cb25f780.js": {
|
"_http-f4d6e1af.js": {
|
||||||
"file": "assets/http-cb25f780.js",
|
"file": "assets/http-f4d6e1af.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"resources/js/app.js"
|
"resources/js/app.js"
|
||||||
]
|
]
|
||||||
@ -40,41 +40,41 @@
|
|||||||
"resources/js/views/Charge.vue",
|
"resources/js/views/Charge.vue",
|
||||||
"resources/js/views/Ticket.vue"
|
"resources/js/views/Ticket.vue"
|
||||||
],
|
],
|
||||||
"file": "assets/app-8398074f.js",
|
"file": "assets/app-dd51f5ed.js",
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
"src": "resources/js/app.js"
|
"src": "resources/js/app.js"
|
||||||
},
|
},
|
||||||
"resources/js/views/Charge.vue": {
|
"resources/js/views/Charge.vue": {
|
||||||
"file": "assets/Charge-90db05c9.js",
|
"file": "assets/Charge-2f069932.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"resources/js/app.js",
|
"resources/js/app.js",
|
||||||
"_http-cb25f780.js"
|
"_http-f4d6e1af.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
"src": "resources/js/views/Charge.vue"
|
"src": "resources/js/views/Charge.vue"
|
||||||
},
|
},
|
||||||
"resources/js/views/Downloads.vue": {
|
"resources/js/views/Downloads.vue": {
|
||||||
"file": "assets/Downloads-14500bce.js",
|
"file": "assets/Downloads-f6d6fbbf.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"_http-cb25f780.js",
|
"_http-f4d6e1af.js",
|
||||||
"resources/js/app.js"
|
"resources/js/app.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
"src": "resources/js/views/Downloads.vue"
|
"src": "resources/js/views/Downloads.vue"
|
||||||
},
|
},
|
||||||
"resources/js/views/Index.vue": {
|
"resources/js/views/Index.vue": {
|
||||||
"file": "assets/Index-b7ea26c9.js",
|
"file": "assets/Index-c26c225f.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"_http-cb25f780.js",
|
"_http-f4d6e1af.js",
|
||||||
"resources/js/app.js"
|
"resources/js/app.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
"src": "resources/js/views/Index.vue"
|
"src": "resources/js/views/Index.vue"
|
||||||
},
|
},
|
||||||
"resources/js/views/Sign.vue": {
|
"resources/js/views/Sign.vue": {
|
||||||
"file": "assets/Sign-9816300f.js",
|
"file": "assets/Sign-d4615863.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"_http-cb25f780.js",
|
"_http-f4d6e1af.js",
|
||||||
"resources/js/app.js"
|
"resources/js/app.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
@ -88,36 +88,36 @@
|
|||||||
"css": [
|
"css": [
|
||||||
"assets/Ticket-41ca6517.css"
|
"assets/Ticket-41ca6517.css"
|
||||||
],
|
],
|
||||||
"file": "assets/Ticket-d1a16a8a.js",
|
"file": "assets/Ticket-4654825d.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"resources/js/app.js",
|
"resources/js/app.js",
|
||||||
"_http-cb25f780.js"
|
"_http-f4d6e1af.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
"src": "resources/js/views/Ticket.vue"
|
"src": "resources/js/views/Ticket.vue"
|
||||||
},
|
},
|
||||||
"resources/js/views/Tunnels/Create.vue": {
|
"resources/js/views/Tunnels/Create.vue": {
|
||||||
"file": "assets/Create-8e4b2670.js",
|
"file": "assets/Create-be340920.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"resources/js/app.js",
|
"resources/js/app.js",
|
||||||
"_http-cb25f780.js"
|
"_http-f4d6e1af.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
"src": "resources/js/views/Tunnels/Create.vue"
|
"src": "resources/js/views/Tunnels/Create.vue"
|
||||||
},
|
},
|
||||||
"resources/js/views/Tunnels/Index.vue": {
|
"resources/js/views/Tunnels/Index.vue": {
|
||||||
"file": "assets/Index-310d1c0f.js",
|
"file": "assets/Index-0e0d3c6b.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"_http-cb25f780.js",
|
"_http-f4d6e1af.js",
|
||||||
"resources/js/app.js"
|
"resources/js/app.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
"src": "resources/js/views/Tunnels/Index.vue"
|
"src": "resources/js/views/Tunnels/Index.vue"
|
||||||
},
|
},
|
||||||
"resources/js/views/Tunnels/Show.vue": {
|
"resources/js/views/Tunnels/Show.vue": {
|
||||||
"file": "assets/Show-41b84a1b.js",
|
"file": "assets/Show-1190f28a.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"_http-cb25f780.js",
|
"_http-f4d6e1af.js",
|
||||||
"resources/js/app.js"
|
"resources/js/app.js"
|
||||||
],
|
],
|
||||||
"isDynamicEntry": true,
|
"isDynamicEntry": true,
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>名称</th>
|
<th>名称</th>
|
||||||
<th>架构</th>
|
<th>架构</th>
|
||||||
<th>作者</th>
|
|
||||||
<th>下载</th>
|
<th>下载</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -15,7 +14,6 @@
|
|||||||
<tr v-for="i in items">
|
<tr v-for="i in items">
|
||||||
<td>{{ i.name }}</td>
|
<td>{{ i.name }}</td>
|
||||||
<td>{{ i.arch }}</td>
|
<td>{{ i.arch }}</td>
|
||||||
<td>{{ i.author }}</td>
|
|
||||||
<td>
|
<td>
|
||||||
<a :href="i.url">下载</a>
|
<a :href="i.url">下载</a>
|
||||||
</td>
|
</td>
|
||||||
|
@ -11,9 +11,6 @@
|
|||||||
<label for="name" class="form-label">下载链接</label>
|
<label for="name" class="form-label">下载链接</label>
|
||||||
<input type="text" name="url" id="url" placeholder="下载链接" class="form-control mb-3" required>
|
<input type="text" name="url" id="url" placeholder="下载链接" class="form-control mb-3" required>
|
||||||
|
|
||||||
<label for="name" class="form-label">作者</label>
|
|
||||||
<input type="text" name="author" id="author" placeholder="作者" class="form-control mb-3" required>
|
|
||||||
|
|
||||||
<button class="btn btn-primary" type="submit">创建</button>
|
<button class="btn btn-primary" type="submit">创建</button>
|
||||||
</form>
|
</form>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@ -12,9 +12,6 @@
|
|||||||
<label for="name" class="form-label">下载链接</label>
|
<label for="name" class="form-label">下载链接</label>
|
||||||
<input type="text" name="url" id="url" placeholder="下载链接" class="form-control mb-3" required value="{{ $client->url }}">
|
<input type="text" name="url" id="url" placeholder="下载链接" class="form-control mb-3" required value="{{ $client->url }}">
|
||||||
|
|
||||||
<label for="name" class="form-label">作者</label>
|
|
||||||
<input type="text" name="author" id="author" placeholder="作者" class="form-control mb-3" required value="{{ $client->author }}">
|
|
||||||
|
|
||||||
<button class="btn btn-primary" type="submit">保存更改</button>
|
<button class="btn btn-primary" type="submit">保存更改</button>
|
||||||
</form>
|
</form>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
Loading…
Reference in New Issue
Block a user