Browse Source

Reformat code

develop
CareyWong 5 years ago
parent
commit
3273151b7a
  1. 155
      src/views/Subconverter.vue

155
src/views/Subconverter.vue

@ -5,16 +5,7 @@
<el-card> <el-card>
<div slot="header">Subscription Converter</div> <div slot="header">Subscription Converter</div>
<el-container> <el-container>
<el-form <el-form :model="form" label-width="120px" label-position="left" style="width: 100%">
:model="form"
label-width="120px"
label-position="left"
style="width: 100%"
>
<el-form-item label="模式设置:">
<el-radio v-model="advanced" label="1">基础模式</el-radio>
<el-radio v-model="advanced" label="2">进阶模式</el-radio>
</el-form-item>
<el-form-item label="订阅链接:"> <el-form-item label="订阅链接:">
<el-input <el-input
v-model="form.sourceSubUrl" v-model="form.sourceSubUrl"
@ -25,12 +16,7 @@
</el-form-item> </el-form-item>
<el-form-item label="客户端:"> <el-form-item label="客户端:">
<el-select v-model="form.clientType" style="width: 100%"> <el-select v-model="form.clientType" style="width: 100%">
<el-option <el-option v-for="(v, k) in options.clientTypes" :key="k" :label="k" :value="v"></el-option>
v-for="(v, k) in options.clientTypes"
:key="k"
:label="k"
:value="v"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -45,12 +31,7 @@
v-model="form.customBackend" v-model="form.customBackend"
placeholder="动动小手,(建议)自行搭建后端服务。例:http://127.0.0.1:25500?sub" placeholder="动动小手,(建议)自行搭建后端服务。例:http://127.0.0.1:25500?sub"
> >
<el-button <el-button slot="append" @click="gotoGayhub" icon="el-icon-link">前往项目仓库</el-button>
slot="append"
@click="gotoGayhub"
icon="el-icon-link"
>前往项目仓库</el-button
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="远程配置:"> <el-form-item label="远程配置:">
@ -71,35 +52,23 @@
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
> ></el-option>
</el-option>
</el-option-group> </el-option-group>
<el-button <el-button slot="append" @click="gotoRemoteConfig" icon="el-icon-link">配置示例</el-button>
slot="append"
@click="gotoRemoteConfig"
icon="el-icon-link"
>配置示例</el-button
>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="IncludeRemarks:"> <el-form-item label="IncludeRemarks:">
<el-input <el-input v-model="form.includeRemarks" placeholder="节点名包含的关键字,支持正则" />
v-model="form.includeRemarks"
placeholder="节点名包含的关键字,支持正则"
/>
</el-form-item> </el-form-item>
<el-form-item label="ExcludeRemarks:"> <el-form-item label="ExcludeRemarks:">
<el-input <el-input v-model="form.excludeRemarks" placeholder="节点名不包含的关键字,支持正则" />
v-model="form.excludeRemarks"
placeholder="节点名不包含的关键字,支持正则"
/>
</el-form-item> </el-form-item>
</div> </div>
<div style="margin-top: 50px"></div> <div style="margin-top: 50px"></div>
<el-divider content-position="center"> <el-divider content-position="center">
<i class="el-icon-magic-stick" /> <i class="el-icon-magic-stick"></i>
</el-divider> </el-divider>
<el-form-item label="定制订阅:"> <el-form-item label="定制订阅:">
@ -110,32 +79,32 @@
v-clipboard:success="onCopy" v-clipboard:success="onCopy"
ref="copy-btn" ref="copy-btn"
icon="el-icon-document-copy" icon="el-icon-document-copy"
>复制</el-button >复制</el-button>
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label-width="0px" style="margin-top: 40px; text-align: center">
label-width="0px" <el-button style="width: 120px" type="danger" @click="makeUrl">生成订阅链接</el-button>
style="margin-top: 40px; text-align: center" <el-button
> style="width: 120px"
<el-button style="width: 120px" type="danger" @click="makeUrl" type="danger"
>生成订阅链接</el-button @click="makeShortUrl"
> :loading="loading"
>生成短链接</el-button>
</el-form-item>
<el-form-item label-width="0px" style="text-align: center">
<el-button <el-button
style="width: 120px" style="width: 120px"
type="primary" type="primary"
@click="clashInstall" @click="clashInstall"
icon="el-icon-connection" icon="el-icon-connection"
>一键导入Clash</el-button >一键导入Clash</el-button>
>
<el-button <el-button
style="width: 120px" style="width: 120px"
type="primary" type="primary"
@click="surgeInstall" @click="surgeInstall"
icon="el-icon-connection" icon="el-icon-connection"
>一键导入Surge</el-button >一键导入Surge</el-button>
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-container> </el-container>
@ -150,6 +119,7 @@ const remoteConfigSample =
"https://raw.githubusercontent.com/tindy2013/subconverter/master/base/example_external_config.ini"; "https://raw.githubusercontent.com/tindy2013/subconverter/master/base/example_external_config.ini";
const gayhubRelease = "https://github.com/tindy2013/subconverter/releases"; const gayhubRelease = "https://github.com/tindy2013/subconverter/releases";
const defaultBackend = "https://api.wcc.best/sub?"; const defaultBackend = "https://api.wcc.best/sub?";
const shortUrlBackend = "";
export default { export default {
data() { data() {
@ -158,24 +128,19 @@ export default {
options: { options: {
clientTypes: { clientTypes: {
clash: "clash", Clash: "clash",
clashr: "clashr", ClashR: "clashr",
surge2: "surge&ver=2", Surge2: "surge&ver=2",
surge3: "surge&ver=3", Surge3: "surge&ver=3",
surge4: "surge&ver=4", Surge4: "surge&ver=4",
quantumult: "quan", Quantumult: "quan",
quantumultx: "quanx", QuantumultX: "quanx",
surfboard: "surfboard", Surfboard: "surfboard",
V2Ray: "v2ray",
ss: "ss", ss: "ss",
ssr: "ssr", ssr: "ssr",
ssd: "ssd", ssd: "ssd"
v2ray: "v2ray"
}, },
customBaseRules: [
"ClashBaseRule",
"SurgeBaseRule",
"SurfboardRuleBase"
],
remoteConfig: [ remoteConfig: [
{ {
label: "universal", label: "universal",
@ -183,12 +148,12 @@ export default {
{ {
label: "No-Urltest", label: "No-Urltest",
value: value:
"https://careywong-public-docs.oss-cn-shanghai.aliyuncs.com/subconverter/universal/no-urltest.ini" "https://raw.githubusercontent.com/CareyWang/sub-web/master/docs/universal/no-urltest.ini"
}, },
{ {
label: "Urltest", label: "Urltest",
value: value:
"https://careywong-public-docs.oss-cn-shanghai.aliyuncs.com/subconverter/universal/urltest.ini" "https://raw.githubusercontent.com/CareyWang/sub-web/master/docs/universal/urltest.ini"
} }
] ]
}, },
@ -198,12 +163,12 @@ export default {
{ {
label: "Maying", label: "Maying",
value: value:
"https://careywong-public-docs.oss-cn-shanghai.aliyuncs.com/subconverter/customized/maying.ini" "https://raw.githubusercontent.com/CareyWang/sub-web/master/docs/customized/maying.ini"
}, },
{ {
label: "Nexitally", label: "Nexitally",
value: value:
"https://careywong-public-docs.oss-cn-shanghai.aliyuncs.com/subconverter/customized/nexitally.ini" "https://raw.githubusercontent.com/CareyWang/sub-web/master/docs/customized/nexitally.ini"
} }
] ]
}, },
@ -213,7 +178,7 @@ export default {
{ {
label: "NeteaseUnblock", label: "NeteaseUnblock",
value: value:
"https://careywong-public-docs.oss-cn-shanghai.aliyuncs.com/subconverter/special/netease.ini" "https://raw.githubusercontent.com/CareyWang/sub-web/master/docs/special/netease.ini"
} }
] ]
} }
@ -243,6 +208,7 @@ export default {
}, },
mounted() { mounted() {
this.form.clientType = "clashr"; this.form.clientType = "clashr";
this.notify();
}, },
methods: { methods: {
onCopy() { onCopy() {
@ -321,6 +287,51 @@ export default {
this.$copyText(this.customSubUrl); this.$copyText(this.customSubUrl);
this.$message.success("定制订阅已复制到剪切板"); this.$message.success("定制订阅已复制到剪切板");
},
makeShortUrl() {
if (shortUrlBackend === "") {
this.$message.warning("短链接服务后端自定义正在咕……");
return false;
}
if (this.customSubUrl === "") {
this.$message.warning("请先生成订阅链接,再获取对应短链接");
return false;
}
this.loading = true;
this.$axios
.get(
shortUrlBackend + "?longUrl=" + encodeURIComponent(this.customSubUrl)
)
.then(res => {
if (res.data.Code === 1 && res.data.ShortUrl !== "") {
this.$copyText(res.data.ShortUrl);
this.$message.success("短链接已复制到剪切板");
} else {
this.$message.error("短链接获取失败:" + res.data.Message);
}
})
.catch(() => {
this.$message.error("短链接获取失败");
})
.finally(() => {
this.loading = false;
});
},
notify() {
const h = this.$createElement;
this.$notify({
title: "隐私提示",
type: "warning",
message: h(
"i",
{ style: "color: teal" },
"各种订阅链接(短链接服务除外)生成纯前端实现,无隐私问题。默认提供后端转换服务,隐私担忧者请自行搭建后端服务。"
)
});
} }
} }
}; };

Loading…
Cancel
Save