update web

This commit is contained in:
fatedier 2018-05-16 02:51:02 +08:00
parent c4f873c07a
commit 0b0d5c982e
16 changed files with 2249 additions and 2012 deletions

Binary file not shown.

View File

@ -1 +1 @@
<!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src="manifest.js?19fe692a133073fc0250"></script><script type="text/javascript" src="vendor.js?c2d294f9c0a40fd7073a"></script><script type="text/javascript" src="index.js?0165797ab12e44b1e1ed"></script></body> </html> <!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src="manifest.js?37ffd0e25e77f6b4aed3"></script><script type="text/javascript" src="vendor.js?1e75f78be801c4ce6efe"></script><script type="text/javascript" src="index.js?715aa4b32f65f348fafa"></script></body> </html>

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,u){for(var a,i,f,l=0,s=[];l<t.length;l++)i=t[l],o[i]&&s.push(o[i][0]),o[i]=0;for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&(e[a]=c[a]);for(r&&r(t,c,u);s.length;)s.shift()();if(u)for(l=0;l<u.length;l++)f=n(n.s=u[l]);return f};var t={},o={2:0};n.e=function(e){function r(){a.onerror=a.onload=null,clearTimeout(i);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var u=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,n.nc&&a.setAttribute("nonce",n.nc),a.src=n.p+""+e+".js?"+{0:"0165797ab12e44b1e1ed",1:"c2d294f9c0a40fd7073a"}[e];var i=setTimeout(r,12e4);return a.onerror=a.onload=r,u.appendChild(a),c},n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="",n.oe=function(e){throw console.error(e),e}}([]); !function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var u,i,f,l=0,s=[];l<t.length;l++)i=t[l],o[i]&&s.push(o[i][0]),o[i]=0;for(u in c)Object.prototype.hasOwnProperty.call(c,u)&&(e[u]=c[u]);for(r&&r(t,c,a);s.length;)s.shift()();if(a)for(l=0;l<a.length;l++)f=n(n.s=a[l]);return f};var t={},o={2:0};n.e=function(e){function r(){u.onerror=u.onload=null,clearTimeout(i);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var a=document.getElementsByTagName("head")[0],u=document.createElement("script");u.type="text/javascript",u.charset="utf-8",u.async=!0,u.timeout=12e4,n.nc&&u.setAttribute("nonce",n.nc),u.src=n.p+""+e+".js?"+{0:"715aa4b32f65f348fafa",1:"1e75f78be801c4ce6efe"}[e];var i=setTimeout(r,12e4);return u.onerror=u.onload=r,a.appendChild(u),c},n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="",n.oe=function(e){throw console.error(e),e}}([]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,14 @@
{ {
"presets": [ "presets": [
["es2015", { "modules": false }] ["es2015", { "modules": false }]
],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
] ]
} }

File diff suppressed because it is too large Load Diff

View File

@ -10,9 +10,9 @@
"dependencies": { "dependencies": {
"bootstrap": "^3.3.7", "bootstrap": "^3.3.7",
"echarts": "^3.5.0", "echarts": "^3.5.0",
"element-ui": "^1.2.5", "element-ui": "^2.3.8",
"humanize-plus": "^1.8.2", "humanize-plus": "^1.8.2",
"vue": "^2.2.4", "vue": "^2.5.16",
"vue-resource": "^1.2.1", "vue-resource": "^1.2.1",
"vue-router": "^2.3.0", "vue-router": "^2.3.0",
"whatwg-fetch": "^2.0.3" "whatwg-fetch": "^2.0.3"
@ -25,6 +25,7 @@
"babel-core": "^6.21.0", "babel-core": "^6.21.0",
"babel-eslint": "^7.1.1", "babel-eslint": "^7.1.1",
"babel-loader": "^6.4.0", "babel-loader": "^6.4.0",
"babel-plugin-component": "^1.1.1",
"babel-preset-es2015": "^6.13.2", "babel-preset-es2015": "^6.13.2",
"css-loader": "^0.27.0", "css-loader": "^0.27.0",
"eslint": "^3.12.2", "eslint": "^3.12.2",
@ -38,10 +39,10 @@
"postcss-loader": "^1.3.3", "postcss-loader": "^1.3.3",
"rimraf": "^2.5.4", "rimraf": "^2.5.4",
"style-loader": "^0.13.2", "style-loader": "^0.13.2",
"url-loader": "^0.5.8", "url-loader": "^1.0.1",
"vue-loader": "^11.1.4", "vue-loader": "^15.0.10",
"vue-template-compiler": "^2.1.8", "vue-template-compiler": "^2.1.8",
"webpack": "^2.2.0-rc.4", "webpack": "^2.2.0-rc.4",
"webpack-dev-server": "^2.11.0" "webpack-dev-server": "^3.1.4"
} }
} }

View File

@ -2,7 +2,7 @@
<div> <div>
<el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%"> <el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%">
<el-table-column type="expand"> <el-table-column type="expand">
<template scope="props"> <template slot-scope="props">
<el-popover <el-popover
ref="popover4" ref="popover4"
placement="right" placement="right"
@ -79,7 +79,7 @@
label="status" label="status"
prop="status" prop="status"
sortable> sortable>
<template scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag> <el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag>
<el-tag type="danger" v-else>{{ scope.row.status }}</el-tag> <el-tag type="danger" v-else>{{ scope.row.status }}</el-tag>
</template> </template>

View File

@ -2,7 +2,7 @@
<div> <div>
<el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%"> <el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%">
<el-table-column type="expand"> <el-table-column type="expand">
<template scope="props"> <template slot-scope="props">
<el-popover <el-popover
ref="popover4" ref="popover4"
placement="right" placement="right"
@ -73,7 +73,7 @@
label="status" label="status"
prop="status" prop="status"
sortable> sortable>
<template scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag> <el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag>
<el-tag type="danger" v-else>{{ scope.row.status }}</el-tag> <el-tag type="danger" v-else>{{ scope.row.status }}</el-tag>
</template> </template>

View File

@ -2,7 +2,7 @@
<div> <div>
<el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%"> <el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%">
<el-table-column type="expand"> <el-table-column type="expand">
<template scope="props"> <template slot-scope="props">
<el-popover <el-popover
ref="popover4" ref="popover4"
placement="right" placement="right"
@ -70,7 +70,7 @@
label="status" label="status"
prop="status" prop="status"
sortable> sortable>
<template scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag> <el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag>
<el-tag type="danger" v-else>{{ scope.row.status }}</el-tag> <el-tag type="danger" v-else>{{ scope.row.status }}</el-tag>
</template> </template>

View File

@ -2,7 +2,7 @@
<div> <div>
<el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%"> <el-table :data="proxies" :default-sort="{prop: 'name', order: 'ascending'}" style="width: 100%">
<el-table-column type="expand"> <el-table-column type="expand">
<template scope="props"> <template slot-scope="props">
<el-popover <el-popover
ref="popover4" ref="popover4"
placement="right" placement="right"
@ -70,7 +70,7 @@
label="status" label="status"
prop="status" prop="status"
sortable> sortable>
<template scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag> <el-tag type="success" v-if="scope.row.status === 'online'">{{ scope.row.status }}</el-tag>
<el-tag type="danger" v-else>{{ scope.row.status }}</el-tag> <el-tag type="danger" v-else>{{ scope.row.status }}</el-tag>
</template> </template>

View File

@ -1,14 +1,43 @@
import Vue from 'vue' import Vue from 'vue'
import ElementUI from 'element-ui' //import ElementUI from 'element-ui'
import locale from 'element-ui/lib/locale/lang/en' import {
import 'element-ui/lib/theme-default/index.css' Button,
Form,
FormItem,
Row,
Col,
Table,
TableColumn,
Popover,
Menu,
Submenu,
MenuItem,
Tag
} from 'element-ui'
import lang from 'element-ui/lib/locale/lang/en'
import locale from 'element-ui/lib/locale'
import 'element-ui/lib/theme-chalk/index.css'
import './utils/less/custom.less' import './utils/less/custom.less'
import App from './App.vue' import App from './App.vue'
import router from './router' import router from './router'
import 'whatwg-fetch' import 'whatwg-fetch'
Vue.use(ElementUI, { locale }) locale.use(lang)
Vue.use(Button)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Row)
Vue.use(Col)
Vue.use(Table)
Vue.use(TableColumn)
Vue.use(Popover)
Vue.use(Menu)
Vue.use(Submenu)
Vue.use(MenuItem)
Vue.use(Tag)
Vue.config.productionTip = false Vue.config.productionTip = false
new Vue({ new Vue({

View File

@ -1,6 +1,7 @@
const path = require('path') const path = require('path')
var webpack = require('webpack') var webpack = require('webpack')
var HtmlWebpackPlugin = require('html-webpack-plugin') var HtmlWebpackPlugin = require('html-webpack-plugin')
var VueLoaderPlugin = require('vue-loader/lib/plugin')
var url = require('url') var url = require('url')
var publicPath = '' var publicPath = ''
@ -25,7 +26,7 @@ module.exports = (options = {}) => ({
module: { module: {
rules: [{ rules: [{
test: /\.vue$/, test: /\.vue$/,
use: ['vue-loader'] loader: 'vue-loader'
}, { }, {
test: /\.js$/, test: /\.js$/,
use: ['babel-loader'], use: ['babel-loader'],
@ -71,7 +72,19 @@ module.exports = (options = {}) => ({
new HtmlWebpackPlugin({ new HtmlWebpackPlugin({
favicon: 'src/assets/favicon.ico', favicon: 'src/assets/favicon.ico',
template: 'src/index.html' template: 'src/index.html'
}) }),
new webpack.NormalModuleReplacementPlugin(/element-ui[\/\\]lib[\/\\]locale[\/\\]lang[\/\\]zh-CN/, 'element-ui/lib/locale/lang/en'),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new VueLoaderPlugin()
], ],
devServer: { devServer: {
host: '127.0.0.1', host: '127.0.0.1',