Reformat codes

This commit is contained in:
Peng-YM
2021-04-15 17:00:07 +08:00
parent e764f33956
commit 69e4ddca60
33 changed files with 796 additions and 791 deletions

View File

@@ -5,8 +5,7 @@
<script>
export default {
name: "Dashboard",
components: {
},
components: {},
computed: {
pie() {
const total = 400;

View File

@@ -2,30 +2,30 @@
<v-container>
<v-card class="mb-4">
<v-subheader>订阅配置</v-subheader>
<v-form class="pl-4 pr-4 pb-0" v-model="formState.basicValid">
<v-form v-model="formState.basicValid" class="pl-4 pr-4 pb-0">
<v-text-field
v-model="options.name"
class="mt-2"
:rules="validations.nameRules"
required
class="mt-2"
clear-icon="clear"
clearable
label="订阅名称"
placeholder="填入订阅名称,名称需唯一"
clearable
clear-icon="clear"
required
/>
<!--For Subscription-->
<v-textarea
v-if="!isCollection"
v-model="options.url"
class="mt-2"
rows="2"
:rules="validations.urlRules"
required
auto-grow
class="mt-2"
clear-icon="clear"
clearable
label="订阅链接"
placeholder="填入机场原始订阅链接"
clearable
auto-grow
clear-icon="clear"
required
rows="2"
/>
<!--For Collection-->
<v-list
@@ -36,28 +36,28 @@
<v-list-item v-for="sub in availableSubs" :key="sub.name">
<v-list-item-avatar>
<v-icon v-if="!sub.icon" color="teal darken-1">mdi-cloud</v-icon>
<v-img :src="sub.icon" v-else :class="getIconClass(sub.icon)"/>
<v-img v-else :class="getIconClass(sub.icon)" :src="sub.icon"/>
</v-list-item-avatar>
<v-list-item-content>
{{ sub.name }}
</v-list-item-content>
<v-spacer></v-spacer>
<v-checkbox
:value="sub.name"
v-model="selected"
:value="sub.name"
class="pr-1"
/>
</v-list-item>
</v-list>
<v-textarea
v-model="options.icon"
auto-grow
class="mt-2"
rows="2"
clear-icon="clear"
clearable
label="图标链接"
placeholder="填入想要展示的图标链接,可选。"
clearable
auto-grow
clear-icon="clear"
rows="2"
/>
</v-form>
<v-card-actions>
@@ -65,9 +65,9 @@
<v-btn icon @click="save">
<v-icon>save_alt</v-icon>
</v-btn>
<v-dialog max-width="400px" v-model="showShareDialog">
<v-dialog v-model="showShareDialog" max-width="400px">
<template #activator="{on}">
<v-btn icon v-on="on">
<v-btn v-on="on" icon>
<v-icon>cloud_circle</v-icon>
</v-btn>
</template>
@@ -82,16 +82,16 @@
</v-card-title>
<v-textarea
v-model="imported"
solo
:rules="validations.importRules"
clear-icon="clear"
clearable
label="粘贴配置以导入"
rows="5"
clearable
clear-icon="clear"
:rules="validations.importRules"
solo
/>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn text color="primary" @click="importConf">确认</v-btn>
<v-btn color="primary" text @click="importConf">确认</v-btn>
<v-btn text @click="showShareDialog = false">取消</v-btn>
</v-card-actions>
</v-card>
@@ -105,8 +105,8 @@
<v-item-group>
<v-radio-group
v-model="options.useless"
dense
class="mt-0 mb-0"
dense
>
过滤非法节点
<v-row>
@@ -122,8 +122,8 @@
<v-radio-group
v-model="options.udp"
dense
class="mt-0 mb-0"
dense
>
UDP转发
<v-row>
@@ -141,8 +141,8 @@
<v-radio-group
v-model="options['skip-cert-verify']"
dense
class="mt-0 mb-0"
dense
>
跳过证书验证
<v-row>
@@ -159,8 +159,8 @@
</v-radio-group>
<v-radio-group
v-model="options.tfo"
dense
class="mt-0 mb-0"
dense
>
TCP Fast Open
<v-row>
@@ -178,13 +178,13 @@
</v-item-group>
</v-form>
</v-card>
<v-card class="mb-4" id="processors">
<v-card id="processors" class="mb-4">
<v-subheader>
节点操作
<v-spacer></v-spacer>
<v-dialog scrollable v-model="dialog">
<v-dialog v-model="dialog" scrollable>
<template #activator="{on}">
<v-btn icon v-on="on">
<v-btn v-on="on" icon>
<v-icon color="primary">add_circle</v-icon>
</v-btn>
</template>
@@ -192,9 +192,9 @@
<v-card-title>选择节点操作</v-card-title>
<v-divider></v-divider>
<v-card-text>
<v-radio-group dense v-model="selectedProcess">
<v-radio v-for="(k, idx) in Object.keys(availableProcessors)" :label="availableProcessors[k].name"
:key="idx" :value="k"></v-radio>
<v-radio-group v-model="selectedProcess" dense>
<v-radio v-for="(k, idx) in Object.keys(availableProcessors)" :key="idx"
:label="availableProcessors[k].name" :value="k"></v-radio>
</v-radio-group>
</v-card-text>
<v-card-actions>
@@ -207,14 +207,14 @@
</v-subheader>
<v-divider></v-divider>
<component v-for="p in processors"
:is="p.component"
<component :is="p.component"
v-for="p in processors"
:key="p.id"
:args="p.args"
@dataChanged="dataChanged"
@deleteProcess="deleteProcess"
@up="moveUp"
@down="moveDown"
@up="moveUp"
>
</component>
</v-card>
@@ -233,6 +233,7 @@ import FlagOperator from "@/components/FlagOperator";
import ScriptFilter from "@/components/ScriptFilter";
import ScriptOperator from "@/components/ScriptOperator";
import RegexSortOperator from "@/components/RegexSortOperator";
import HandleDuplicateOperator from "@/components/HandleDuplicateOperator";
const AVAILABLE_PROCESSORS = {
"Flag Operator": {
@@ -267,6 +268,10 @@ const AVAILABLE_PROCESSORS = {
component: "RegexDeleteOperator",
name: "删除正则"
},
"Handle Duplicate Operator": {
component: "HandleDuplicateOperator",
name: "重复节点处理"
},
"Script Filter": {
component: "ScriptFilter",
name: "脚本过滤器"
@@ -297,6 +302,7 @@ export default {
RegexDeleteOperator,
ScriptFilter,
ScriptOperator,
HandleDuplicateOperator
},
data: function () {
return {

View File

@@ -18,20 +18,20 @@
>
<v-list-item-avatar>
<v-icon v-if="!sub.icon" color="teal darken-1">mdi-cloud</v-icon>
<v-img :src="sub.icon" v-else :class="getIconClass(sub.icon)"/>
<v-img v-else :class="getIconClass(sub.icon)" :src="sub.icon"/>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title v-text="sub.name" class="font-weight-medium"></v-list-item-title>
<v-list-item-title class="font-weight-medium" v-text="sub.name"></v-list-item-title>
<v-list-item-title v-text="sub.url"></v-list-item-title>
</v-list-item-content>
<v-list-item-action>
<v-menu bottom left>
<template v-slot:activator="{ on, attrs }">
<v-btn
icon
v-bind="attrs"
v-on="on"
icon
>
<v-icon>mdi-dots-vertical</v-icon>
</v-btn>
@@ -67,24 +67,24 @@
<v-list-item
v-for="collection in collections"
:key="collection.name"
@click="preview(collection, type='collection')"
dense
@click="preview(collection, type='collection')"
>
<v-list-item-avatar>
<v-icon v-if="!collection.icon" color="teal darken-1">mdi-cloud</v-icon>
<v-img :src="collection.icon" v-else :class="getIconClass(collection.icon)"/>
<v-img v-else :class="getIconClass(collection.icon)" :src="collection.icon"/>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title v-text="collection.name" class="font-weight-medium"></v-list-item-title>
<v-list-item-title class="font-weight-medium" v-text="collection.name"></v-list-item-title>
<v-chip-group
column
>
<v-chip
v-for="subs in collection.subscriptions"
:key="subs"
small
class="ma-2 ml-0 mr-1 pa-2"
label
small
>
{{ subs }}
</v-chip>
@@ -94,9 +94,9 @@
<v-menu bottom left>
<template v-slot:activator="{ on, attrs }">
<v-btn
icon
v-bind="attrs"
v-on="on"
icon
>
<v-icon>mdi-dots-vertical</v-icon>
</v-btn>
@@ -117,7 +117,7 @@
</v-list>
</v-card-text>
</v-card>
<v-dialog fullscreen hide-overlay transition="dialog-bottom-transition" v-model="showProxyList" scrollable>
<v-dialog v-model="showProxyList" fullscreen hide-overlay scrollable transition="dialog-bottom-transition">
<v-card fluid>
<v-toolbar
class="flex-grow-0"
@@ -135,9 +135,9 @@
</v-toolbar-items>
<template v-slot:extension>
<v-tabs
grow
centered
v-model="tab"
centered
grow
>
<v-tabs-slider color="primary"/>
<v-tab
@@ -158,10 +158,10 @@
v-model="tab"
>
<v-tab-item key="raw">
<proxy-list :url="url" :sub="sub" :raw="true" ref="proxyList" :key="url + 'raw'"></proxy-list>
<proxy-list :key="url + 'raw'" ref="proxyList" :raw="true" :sub="sub" :url="url"></proxy-list>
</v-tab-item>
<v-tab-item key="processed">
<proxy-list :url="url" :sub="sub" ref="proxyList" :key="url"></proxy-list>
<proxy-list :key="url" ref="proxyList" :sub="sub" :url="url"></proxy-list>
</v-tab-item>
</v-tabs-items>
</v-card-text>
@@ -185,7 +185,7 @@ export default {
tab: 1,
editMenu: [
{
title: "复制",
title: "链接",
action: "COPY"
},
{
@@ -197,6 +197,10 @@ export default {
action: "DELETE"
},
// {
// title: "副本",
// action: "DUPLICATE"
// }
// {
// title: "上移",
// action: "MOVE_UP"
// },
@@ -245,7 +249,6 @@ export default {
this.moveUpSubscription(sub.name);
break
case 'MOVE_DOWN':
break
}
},

View File

@@ -6,7 +6,7 @@
数据同步
<v-spacer></v-spacer>
<v-btn icon @click="openGist()">
<v-icon small color="primary">visibility</v-icon>
<v-icon color="primary" small>visibility</v-icon>
</v-btn>
</v-card-title>
<v-card-text>
@@ -15,20 +15,20 @@
<v-divider></v-divider>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn small
:loading="status.uploading"
color="blue-grey"
<v-btn :loading="status.uploading"
class="ma-2 white--text"
color="blue-grey"
small
@click="sync('upload')">
上传
<v-icon right>
mdi-cloud-upload
</v-icon>
</v-btn>
<v-btn small
:loading="status.downloading"
color="blue-grey"
<v-btn :loading="status.downloading"
class="ma-2 white--text"
color="blue-grey"
small
@click="sync('download')">
恢复
<v-icon right>
@@ -51,18 +51,18 @@
<v-col>
<v-row>
<v-text-field
label="GitHub 用户名"
hint="填入GitHub用户名"
v-model="settings.githubUser"
clearable clear-icon="clear"
clear-icon="clear"
clearable
hint="填入GitHub用户名" label="GitHub 用户名"
/>
</v-row>
<v-row>
<v-text-field
label="GitHub Token"
hint="填入GitHub Token"
v-model="settings.gistToken"
clearable clear-icon="clear"
clear-icon="clear"
clearable
hint="填入GitHub Token" label="GitHub Token"
/>
</v-row>
</v-col>
@@ -75,9 +75,9 @@
</v-list-item-content>
<v-list-item-action>
<v-switch
label=""
hide-details
v-model="settings.theme.darkMode"
hide-details
label=""
/>
</v-list-item-action>
</v-list-item>
@@ -86,7 +86,7 @@
<v-divider></v-divider>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn small text @click="save()" color="primary">保存</v-btn>
<v-btn color="primary" small text @click="save()">保存</v-btn>
</v-card-actions>
</v-card>
@@ -150,7 +150,7 @@ export default {
const setLoading = (status) => {
if (action === 'upload') {
this.status.uploading = status;
} else if (action === 'download'){
} else if (action === 'download') {
this.status.downloading = status;
}
}