Commit 68a2195c authored by 郝聪敏's avatar 郝聪敏

添加prettier

parent 9216a9cc
...@@ -9,13 +9,16 @@ module.exports = { ...@@ -9,13 +9,16 @@ module.exports = {
extends: [ extends: [
'plugin:vue/essential', 'plugin:vue/essential',
'standard', 'standard',
'prettier',
], ],
plugins: [ plugins: [
'vue', 'vue',
'prettier',
], ],
rules: { rules: {
'prettier/prettier': 'error',
// 防止iview的标签报错 // 防止iview的标签报错
"vue/no-parsing-error": [2, { "x-invalid-end-tag": false }], 'vue/no-parsing-error': [2, { 'x-invalid-end-tag': false }],
}, },
} }
This diff is collapsed.
...@@ -6,13 +6,13 @@ ...@@ -6,13 +6,13 @@
<script> <script>
export default { export default {
name: 'App' name: "App"
} };
</script> </script>
<style> <style>
#app { #app {
font-family: 'Avenir', Helvetica, Arial, sans-serif; font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
/* text-align: center; /* text-align: center;
......
import axios from '../services/http.service' import axios from "../services/http.service";
import { import { sapi } from "../config";
sapi import qs from "qs";
} from '../config'
import qs from 'qs'
// 获取服务列表 // 获取服务列表
export function getservicelist () { export function getservicelist() {
return axios.get(`/heimdallr/service/list`) return axios.get(`/heimdallr/service/list`);
} }
// 获取文字说明 // 获取文字说明
export function getkey (key) { export function getkey(key) {
return axios.get(`/heimdallr/get-key-explain/${key}`) return axios.get(`/heimdallr/get-key-explain/${key}`);
} }
// 获取配置列表 // 获取配置列表
export function getconfigurelist (data) { export function getconfigurelist(data) {
return axios.get(`/heimdallr/config/service/${data.key}/${data.service_name}`) return axios.get(
`/heimdallr/config/service/${data.key}/${data.service_name}`
);
} }
// 发布 // 发布
export function postconfigurelist (data, params) { export function postconfigurelist(data, params) {
return axios.post(`/heimdallr/config/service/${data.key}/${data.service_name}`, params, {headers: { return axios.post(
'Content-Type': 'application/json' `/heimdallr/config/service/${data.key}/${data.service_name}`,
}}) params,
{
headers: {
"Content-Type": "application/json"
}
}
);
} }
// 获取版本 // 获取版本
export function getVersionnumber (data) { export function getVersionnumber(data) {
return axios.get(`/heimdallr/config-version/service/${data.key}/${data.service_name}/list`) return axios.get(
`/heimdallr/config-version/service/${data.key}/${data.service_name}/list`
);
} }
// 回滚版本 // 回滚版本
export function rollbacknum (data) { export function rollbacknum(data) {
return axios.get(`/heimdallr/config-version/service/${data.key}/${data.service_name}/set/${data.version}`) return axios.get(
`/heimdallr/config-version/service/${data.key}/${data.service_name}/set/${data.version}`
);
} }
// 获取节点列表 // 获取节点列表
export function getnodelist (data) { export function getnodelist(data) {
return axios.get(`/heimdallr/node/list/${data.service_name}`) return axios.get(`/heimdallr/node/list/${data.service_name}`);
} }
// 获取节点配置 // 获取节点配置
export function getnodeconfig (data) { export function getnodeconfig(data) {
return axios.get(`/heimdallr/config/node/${data.service_name}/${data.node_id}`) return axios.get(
`/heimdallr/config/node/${data.service_name}/${data.node_id}`
);
} }
// 设置节点配置 // 设置节点配置
export function nodeconfig (data, weight) { export function nodeconfig(data, weight) {
return axios.post(`/heimdallr/config/node/${data.service_name}/${data.node_id}`, weight, {headers: { return axios.post(
'Content-Type': 'application/json' `/heimdallr/config/node/${data.service_name}/${data.node_id}`,
}}) weight,
{
headers: {
"Content-Type": "application/json"
}
}
);
} }
import axios from '../services/http.service' import axios from "../services/http.service";
import { import { sapi } from "../config";
sapi export function login(data) {
} from '../config' return axios.get(`/heimdallr/login`, {
export function login (data) { headers: {
return axios.get(`/heimdallr/login`, {headers: { "heimdallr-user": data
'heimdallr-user': data }
}}) });
} }
export function logout () { export function logout() {
return axios.get(`/heimdallr/logout`) return axios.get(`/heimdallr/logout`);
} }
<template> <template>
<div class="layout"> <div class="layout">
<Layout class="layout_content"> <Layout class="layout_content">
<Sider breakpoint="md" collapsible :collapsed-width="78" v-model="isCollapsed"> <Sider
breakpoint="md"
collapsible
:collapsed-width="78"
v-model="isCollapsed"
>
<div class="title"> <div class="title">
Quantgroup Quantgroup
</div> </div>
<Menu active-name="1-2" theme="dark" width="auto" :class="menuitemClasses"> <Menu
active-name="1-2"
theme="dark"
width="auto"
:class="menuitemClasses"
>
<MenuItem name="1-1"> <MenuItem name="1-1">
<Icon type="ios-navigate"></Icon> <Icon type="ios-navigate"></Icon>
<span @click="go">网关配置</span> <span @click="go">网关配置</span>
...@@ -25,7 +35,9 @@ ...@@ -25,7 +35,9 @@
<Header class="layout-header-bar"> <Header class="layout-header-bar">
<span class="signout" @click="logOut">退出</span> <span class="signout" @click="logOut">退出</span>
</Header> </Header>
<Content :style="{margin: '20px', background: '#fff', minHeight: '220px'}"> <Content
:style="{ margin: '20px', background: '#fff', minHeight: '220px' }"
>
<router-view></router-view> <router-view></router-view>
</Content> </Content>
</Layout> </Layout>
...@@ -33,35 +45,32 @@ ...@@ -33,35 +45,32 @@
</div> </div>
</template> </template>
<script> <script>
import {logout} from '../api/user.api' import { logout } from "../api/user.api";
export default { export default {
data () { data() {
return { return {
isCollapsed: false isCollapsed: false
} };
}, },
computed: { computed: {
menuitemClasses: function () { menuitemClasses: function() {
return [ return ["menu-item", this.isCollapsed ? "collapsed-menu" : ""];
'menu-item',
this.isCollapsed ? 'collapsed-menu' : ''
]
} }
}, },
methods: { methods: {
go () { go() {
this.$router.push('/mainconfiguration') this.$router.push("/mainconfiguration");
}, },
logOut () { logOut() {
logout().then((data) => { logout().then(data => {
this.$router.push('/') this.$router.push("/");
}) });
} }
} }
} };
</script> </script>
<style scoped> <style scoped>
.layout{ .layout {
border: 1px solid #d7dde4; border: 1px solid #d7dde4;
background: #f5f7f9; background: #f5f7f9;
position: relative; position: relative;
...@@ -69,45 +78,45 @@ export default { ...@@ -69,45 +78,45 @@ export default {
overflow: hidden; overflow: hidden;
height: 100%; height: 100%;
} }
.layout_content{ .layout_content {
height: 100% height: 100%;
} }
.layout-header-bar{ .layout-header-bar {
background: #fff; background: #fff;
box-shadow: 0 1px 1px rgba(0,0,0,.1); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
} }
.menu-item span{ .menu-item span {
display: inline-block; display: inline-block;
overflow: hidden; overflow: hidden;
width: 69px; width: 69px;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
vertical-align: bottom; vertical-align: bottom;
transition: width .2s ease .2s; transition: width 0.2s ease 0.2s;
} }
.menu-item i{ .menu-item i {
transform: translateX(0px); transform: translateX(0px);
transition: font-size .2s ease, transform .2s ease; transition: font-size 0.2s ease, transform 0.2s ease;
vertical-align: middle; vertical-align: middle;
font-size: 16px; font-size: 16px;
} }
.collapsed-menu span{ .collapsed-menu span {
width: 0px; width: 0px;
transition: width .2s ease; transition: width 0.2s ease;
} }
.collapsed-menu i{ .collapsed-menu i {
transform: translateX(5px); transform: translateX(5px);
transition: font-size .2s ease .2s, transform .2s ease .2s; transition: font-size 0.2s ease 0.2s, transform 0.2s ease 0.2s;
vertical-align: middle; vertical-align: middle;
font-size: 22px; font-size: 22px;
} }
.signout{ .signout {
font-size: 16px; font-size: 16px;
float: right; float: right;
margin-right: 30px; margin-right: 30px;
color: #0092ff color: #0092ff;
} }
.title{ .title {
width: 100%; width: 100%;
height: 60px; height: 60px;
line-height: 60px; line-height: 60px;
......
...@@ -4,12 +4,20 @@ ...@@ -4,12 +4,20 @@
<div class="login"> <div class="login">
<Form ref="loginForm" :model="loginForm" :rules="ruleLoginForm"> <Form ref="loginForm" :model="loginForm" :rules="ruleLoginForm">
<FormItem prop="loginName"> <FormItem prop="loginName">
<Input v-model="loginForm.loginName" type="text" placeholder="Username"> <Input
v-model="loginForm.loginName"
type="text"
placeholder="Username"
>
<Icon type="ios-person-outline" slot="prepend"></Icon> <Icon type="ios-person-outline" slot="prepend"></Icon>
</Input> </Input>
</FormItem> </FormItem>
<FormItem prop="password"> <FormItem prop="password">
<Input type="password" v-model="loginForm.password" placeholder="Password"> <Input
type="password"
v-model="loginForm.password"
placeholder="Password"
>
<Icon type="ios-lock-outline" slot="prepend"></Icon> <Icon type="ios-lock-outline" slot="prepend"></Icon>
</Input> </Input>
</FormItem> </FormItem>
...@@ -17,86 +25,87 @@ ...@@ -17,86 +25,87 @@
<Button @click="login()" type="primary" long>登录</Button> <Button @click="login()" type="primary" long>登录</Button>
</FormItem> </FormItem>
</Form> </Form>
<div style="margin-top: 20px; color: #999; font-size: 10px;"> <div style="margin-top: 20px; color: #999; font-size: 10px;"></div>
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {login} from '../api/user.api' import { login } from "../api/user.api";
import localStorage from '../services/localStorage.service.js' import localStorage from "../services/localStorage.service.js";
export default { export default {
data () { data() {
var that = this var that = this;
const validateMenuClassifyId = (rule, value, callback) => { const validateMenuClassifyId = (rule, value, callback) => {
if (this.status) { if (this.status) {
callback(new Error('用户名或密码错误')) callback(new Error("用户名或密码错误"));
this.status = false this.status = false;
} else { } else {
callback() callback();
} }
} };
return { return {
loginForm: { loginForm: {
loginName: '', loginName: "",
password: '' password: ""
}, },
error: '', error: "",
status: false, status: false,
ruleLoginForm: { ruleLoginForm: {
loginName: [ loginName: [
{required: true, message: '请输入用户名', trigger: 'blur'} { required: true, message: "请输入用户名", trigger: "blur" }
], ],
password: [ password: [
{required: true, message: '请输入密码', trigger: 'blur'}, { required: true, message: "请输入密码", trigger: "blur" },
{ required: true, validator: validateMenuClassifyId, trigger: 'blur'} { required: true, validator: validateMenuClassifyId, trigger: "blur" }
] ]
} }
} };
}, },
methods: { methods: {
login () { login() {
this.$refs['loginForm'].validate((valid) => { this.$refs["loginForm"].validate(valid => {
if (valid) { if (valid) {
let data = btoa(`${this.loginForm.loginName}:${this.loginForm.password}`) let data = btoa(
login(data).then((data) => { `${this.loginForm.loginName}:${this.loginForm.password}`
);
login(data).then(data => {
if (data.code === 400) { if (data.code === 400) {
this.error = data.body this.error = data.body;
this.status = true this.status = true;
this.$refs['loginForm'].validate() this.$refs["loginForm"].validate();
} else { } else {
this.status = false this.status = false;
localStorage.set('heimdallr-token', data.body['heimdallr-token']) localStorage.set("heimdallr-token", data.body["heimdallr-token"]);
this.$Message.success('登陆成功') this.$Message.success("登陆成功");
this.$router.push('/mainconfiguration') this.$router.push("/mainconfiguration");
} }
}) });
} }
}) });
} }
} }
} };
</script> </script>
<style scoped> <style scoped>
.wrapper { .wrapper {
position: relative; position: relative;
width: 100%; width: 100%;
height: 100%; height: 100%;
padding-top: 100px; padding-top: 100px;
padding-bottom: 200px; padding-bottom: 200px;
} }
.wrapper > h1 { .wrapper > h1 {
text-align: center; text-align: center;
vertical-align: middle; vertical-align: middle;
margin-bottom: 20px; margin-bottom: 20px;
color: #000; color: #000;
} }
.login { .login {
margin: 0 auto; margin: 0 auto;
padding-top: 15px; padding-top: 15px;
width: 360px; width: 360px;
height: 100%; height: 100%;
} }
</style> </style>
const sapi = 'http://heimdallr-arch.liangkebang.net' const sapi = "http://heimdallr-arch.liangkebang.net";
// const sapi = 'http://192.168.29.88:5555' // const sapi = 'http://192.168.29.88:5555'
export { export { sapi };
sapi
}
module.exports = process.env.NODE_ENV === 'production' ? require('./prod.config.js') : require('./env.config.js') module.exports =
process.env.NODE_ENV === "production"
? require("./prod.config.js")
: require("./env.config.js");
const sapi = '//api.stantoo.com' const sapi = "//api.stantoo.com";
export { export { sapi };
sapi
}
// The Vue build version to load with the `import` command // The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias. // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue' import Vue from "vue";
import App from './App' import App from "./App";
import router from './router' import router from "./router";
import iView from 'iview' import iView from "iview";
import 'iview/dist/styles/iview.css' import "iview/dist/styles/iview.css";
Vue.use(iView) Vue.use(iView);
Vue.config.productionTip = false Vue.config.productionTip = false;
/* eslint-disable no-new */ /* eslint-disable no-new */
new Vue({ new Vue({
el: '#app', el: "#app",
router, router,
components: { App }, components: { App },
template: '<App/>' template: "<App/>"
}) });
import Vue from 'vue' import Vue from "vue";
import Router from 'vue-router' import Router from "vue-router";
import login from '@/components/login' import login from "@/components/login";
import home from '@/components/home' import home from "@/components/home";
import mainconfiguration from '../pages/mainconfiguration/mainconfiguration.vue' import mainconfiguration from "../pages/mainconfiguration/mainconfiguration.vue";
Vue.use(Router) Vue.use(Router);
export default new Router({ export default new Router({
routes: [ routes: [
{ {
path: '/', path: "/",
name: 'login', name: "login",
component: login component: login
}, },
{ {
path: '/home', path: "/home",
name: 'home', name: "home",
component: home, component: home,
children: [ children: [
{ {
path: '/mainconfiguration', path: "/mainconfiguration",
name: 'mainconfiguration', name: "mainconfiguration",
component: mainconfiguration component: mainconfiguration
} }
] ]
} }
] ]
}) });
import axios from 'axios' import axios from "axios";
import { Notice } from 'iview' import { Notice } from "iview";
import localStorage from './localStorage.service' import localStorage from "./localStorage.service";
// window.Promise = require('es6-promise').Promise // window.Promise = require('es6-promise').Promise
const config = { const config = {
timeout: 600000 timeout: 600000
// withCredentials: true // 允许携带cookie // withCredentials: true // 允许携带cookie
} };
const instance = axios.create(Object.assign({}, config)) const instance = axios.create(Object.assign({}, config));
instance._extend = {} instance._extend = {};
function requestInterceptor (config) { function requestInterceptor(config) {
config.headers['x-requested-with'] = 'XMLHttpRequest' config.headers["x-requested-with"] = "XMLHttpRequest";
// if (!config.headers['Content-Type']) { // if (!config.headers['Content-Type']) {
// config.headers['Content-Type'] = 'application/x-www-form-urlencoded' // config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
// } // }
if (!config.headers['heimdallr-token']) { if (!config.headers["heimdallr-token"]) {
config.headers['heimdallr-token'] = localStorage.get('heimdallr-token') || '' config.headers["heimdallr-token"] =
localStorage.get("heimdallr-token") || "";
} }
return config return config;
} }
function responseInterceptor (response) { function responseInterceptor(response) {
if (response.status < 200 || response.status > 300) { if (response.status < 200 || response.status > 300) {
Notice.error({ Notice.error({
title: '请求发生错误', title: "请求发生错误",
desc: response && response.data && response.data.errorMsg || '请联系系统管理员' desc:
}) (response && response.data && response.data.errorMsg) ||
return Promise.reject(response && response.data) "请联系系统管理员"
});
return Promise.reject(response && response.data);
} }
// code是0000表示成功 // code是0000表示成功
if (response.data.code === 200 || response.data.code === 400) { if (response.data.code === 200 || response.data.code === 400) {
return Promise.resolve(response.data || null) return Promise.resolve(response.data || null);
} }
// Notice.error({ // Notice.error({
// title: '', // title: '',
// desc: response.data.errorMsg || response.data.message || '请联系客服' // desc: response.data.errorMsg || response.data.message || '请联系客服'
// }) // })
return Promise.reject(response && response.data) return Promise.reject(response && response.data);
} }
/** /**
...@@ -50,22 +53,22 @@ function responseInterceptor (response) { ...@@ -50,22 +53,22 @@ function responseInterceptor (response) {
* axios.interceptors.request.eject(0) * axios.interceptors.request.eject(0)
* axios.interceptors.response.eject(0) * axios.interceptors.response.eject(0)
*/ */
instance.interceptors.request.use(requestInterceptor, (error) => { instance.interceptors.request.use(requestInterceptor, error => {
// return Promise.reject(error) // return Promise.reject(error)
}) });
instance.interceptors.response.use(responseInterceptor, error => { instance.interceptors.response.use(responseInterceptor, error => {
if (error.response && error.response.status === 401) { if (error.response && error.response.status === 401) {
window.location.href = window.location.origin + '/login' window.location.href = window.location.origin + "/login";
} }
if (error.message.indexOf('timeout') !== -1) { if (error.message.indexOf("timeout") !== -1) {
Notice.error({ Notice.error({
title: '', title: "",
desc: '请求超时' desc: "请求超时"
}) });
} }
// return Promise.reject(error) // return Promise.reject(error)
}) });
export default instance export default instance;
export default { export default {
get (key) { get(key) {
let result = localStorage.getItem(key) let result = localStorage.getItem(key);
try { try {
result = JSON.parse(result) result = JSON.parse(result);
} catch (e) {} } catch (e) {}
return result return result;
}, },
set (key, value) { set(key, value) {
let toString = Object.prototype.toString let toString = Object.prototype.toString;
if (toString.call(value) === '[object Array]' || toString.call(value) === '[object Object]') { if (
value = JSON.stringify(value) toString.call(value) === "[object Array]" ||
toString.call(value) === "[object Object]"
) {
value = JSON.stringify(value);
} }
return localStorage.setItem(key, value) return localStorage.setItem(key, value);
}, },
remove (key) { remove(key) {
return localStorage.removeItem(key) return localStorage.removeItem(key);
}, },
clear () { clear() {
return localStorage.clear() return localStorage.clear();
} }
} };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment