Commit f6714003 authored by 赵啸非's avatar 赵啸非

修改部分字段

parent 5fd4a704
......@@ -13,7 +13,7 @@
"@xunlei/vue-context-menu": "^1.0.2",
"axios": "^0.18.0",
"clipboard": "2.0.6",
"core-js": "3.8.1",
"core-js": "3",
"echarts": "^4.3.0",
"element-react": "^1.4.34",
"element-ui": "^2.15.5",
......
import axios from 'axios';
import Qs from 'qs';
const JSONbig = require('json-bigint')({"storeAsString": true});
import cookie from './cookie';
import httpErrorHandler from './httpErrorHandler';
import axios from "axios";
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import Qs from "qs";
const JSONbig = require("json-bigint")({ storeAsString: true });
import cookie from "./cookie";
import httpErrorHandler from "./httpErrorHandler";
// loading框设置局部刷新,且所有请求完成后关闭loading框
let loading
let needLoadingRequestCount = 0 // 声明一个对象用于存储请求个数
function startLoading () {
loading = Vue.prototype.$loading({
lock: true,
customClass: 'createLoading', // 局部class名称
text: '服务加载中...',
background: 'rgba(0,0,0,0.5)',
target: document.querySelector('.loading-area') // 设置加载动画区域
})
}
function endLoading () {
loading.close()
}
function showFullScreenLoading () {
if (needLoadingRequestCount === 0) {
startLoading()
}
needLoadingRequestCount++
}
function hideFullScreenLoading () {
if (needLoadingRequestCount <= 0) return
needLoadingRequestCount--
if (needLoadingRequestCount === 0) {
endLoading()
}
}
const instance = axios.create({
baseURL: '/m',
baseURL: "/m",
//baseURL: process.env.VUE_APP_BASE_API,
headers: {
post: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'dataType': 'json',
}
"Content-Type": "application/json;charset=UTF-8",
dataType: "json",
},
transformResponse: [data=>{
},
transformResponse: [
(data) => {
try {
JSON.parse(data);
return JSONbig.parse(data);
} catch (error) {
return data;
}
}],
},
],
});
/**
* 请求拦截器
*/
instance.interceptors.request.use(
(config) => {
config.headers.Authorization = window.sessionStorage.getItem("token") || "";
instance.interceptors.request.use(config => {
//config.data = Qs.stringify(config.data, {arrayFormat: 'repeat', allowDots: true});
config.data = Qs.stringify(config.data, {arrayFormat: 'indices', allowDots: true});
//brackets
// 也可以在这里给请求添加token之类的字段
// config.headers['Content-Type'] = 'application/json;charset=UTF-8'
// config.headers.timestamp = Math.floor(new Date().getTime() / 1000)
// config.headers.token = sessionStorage.getItem('token') || ''
console.log("request config",config);
if (config.isLoading == true) { // 如果配置了isLoading: false,则不显示loading
showFullScreenLoading()
}
return config;
}, err => {
},
(err) => {
hideFullScreenLoading()
return Promise.reject(err);
});
}
);
/**
* 响应拦截器
*/
instance.interceptors.response.use((response) => {
hideFullScreenLoading() // 响应成功关闭loading
instance.interceptors.response.use(response=>{
return response.data
},httpErrorHandler);
return response.data;
}, httpErrorHandler);
/**
* 封装后的axios post方法
......@@ -56,9 +93,9 @@ instance.interceptors.response.use(response=>{
*/
export function post(url, option, config = {}) {
const data = Object.assign({}, option, {
__mortals_token__: cookie.getItem('__mortals_token__'),
})
return instance.post(url, data, config)
// __mortals_token__: cookie.getItem('__mortals_token__'),
});
return instance.post(url, data, config);
}
/**
......@@ -71,25 +108,24 @@ export function post(url, option, config = {}) {
*/
export function get(url, option, config = {}) {
const data = Object.assign({}, option, {
__mortals_token__: cookie.getItem('__mortals_token__'),
})
return instance.get(url, { params: data }, config)
//__mortals_token__: cookie.getItem('__mortals_token__'),
});
return instance.get(url, { params: data }, config);
}
// 文件上传
const uploadInstance = axios.create({
baseURL: '/m',
baseURL: "/m",
headers: {
post: {
'Content-Type': 'multipart/form-data',
}
}
"Content-Type": "multipart/form-data",
},
},
});
uploadInstance.interceptors.response.use(response=>{
return response.data
},httpErrorHandler);
uploadInstance.interceptors.response.use((response) => {
return response.data;
}, httpErrorHandler);
/**
* 封装后的axios upload方法
......@@ -101,8 +137,10 @@ uploadInstance.interceptors.response.use(response=>{
*/
export function upload(url, option, config = {}) {
let formdata = new FormData();
Object.keys(option).forEach(key=>{
formdata.append(key, option[key])
})
return uploadInstance.post(url, formdata, config)
Object.keys(option).forEach((key) => {
formdata.append(key, option[key]);
});
return uploadInstance.post(url, formdata, config);
}
......@@ -6,40 +6,41 @@
<script>
export default {
name: 'authentication',
created () {
name: "authentication",
created() {
this.login();
},
methods: {
login() {
this.$post('/login/index').then(this.loginSuccess).catch(this.loginFail)
this.$post("/login/index").then(this.loginSuccess).catch(this.loginFail);
},
loginSuccess({data}) {
this.$store.commit('setUserData', data);
loginSuccess({ data }) {
this.$store.commit("setUserData", data);
this.$router.replace({
path: this.redirect,
});
},
loginFail(error) {
this.$message.error(error.message || '请登录');
this.$message.error(error.message || "请登录");
// console.log("<<", process.env.VUE_APP_BASE_API);
this.$router.replace({
path: '/login',
query: {
redirect: this.redirect,
}
});
}
},
},
computed: {
isLogin() {
return this.$store.state.isLogin
}
return this.$store.state.isLogin;
},
},
data() {
return {
redirect: this.$route.query.redirect,
loading: true,
}
}
}
};
},
};
</script>
......@@ -3,129 +3,147 @@
<template>
<div class="page page-login flex flex-v">
<div class="form-wrap flex flex-1">
<el-form @submit.prevent='onSubmit' ref="form" :model="form" label-width="80px" size="small">
<h1>工作流管理平台</h1>
<el-form
@submit.prevent="onSubmit"
ref="form"
:model="form"
label-width="80px"
size="small"
>
<h1>{{ sysName ? sysName : systemName }}</h1>
<el-form-item label="用户名">
<el-input v-model="form.loginName"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input v-model="form.password" type='password'></el-input>
</el-form-item>
<el-form-item label="验证码">
<el-input v-model="form.securityCode">
<img slot="append" width='60' height="30" :src='securityCodeUrl' @click='refreshCode'/>
</el-input>
<el-input v-model="form.password" type="password"></el-input>
</el-form-item>
<el-form-item size="large">
<el-button type="primary" native-type='submit' :loading='loading' @click='onSubmit'>登录</el-button>
<el-button
type="primary"
class="addclass"
native-type="submit"
:loading="loading"
@click="onSubmit"
>登录</el-button
>
</el-form-item>
</el-form>
</div>
<div class="footer">
登陆 &copy; <a href="">信宏翔网络科技有限公司</a> 出品
</div>
</div>
</template>
<script>
import { createSocket } from '@/assets/utils/websocket'
const securityCodeUrl = '/m/securitycode/createCode?v=';
import { mapMutations, mapState } from "vuex";
export default {
name: 'login',
name: "login",
data() {
return {
systemName: process.env.VUE_APP_sysName,
originData: [],
loading: false,
form: {
loginName: "admin",
password: "admin",
},
};
},
computed: {
...mapState(["sysName"]),
},
created() {
this.refreshCode();
this.getInfo();
},
methods: {
...mapMutations(["SET_sysName", "SET_sysLogo"]),
// 获取token和站点信息
getInfo() {
let { sysName, sysLogo, siteid } = this.$route.query;
if (siteid && sysName && sysLogo) {
sessionStorage.setItem("siteid", siteid);
this.SET_sysName(sysName);
this.SET_sysLogo(sysLogo);
}
},
login() {
this.loading = true;
this.$post('/login/login', this.form).then(this.loginSuccess).catch(this.loginFail)
this.$post("/login/login", this.form)
.then(this.loginSuccess)
.catch(this.loginFail);
},
loginSuccess({data}) {
this.$store.commit('setUserData', data);
this.$router.replace({
path: this.redirect,
});
//成功 创建websocket连接
// createSocket('ws://127.0.0.1:17011/m/ws?accessToken='+data.id)
loginSuccess({ data }) {
this.$store.commit("setUserData", data);
let { token } = data;
sessionStorage.setItem("token", token);
this.$router.push("/index");
//成功 创建websocket连接 process.env.VUE_WEBSOCKET_BASE_API +
// createSocket("ws://"+process.env.VUE_APP_BASE_API +"/ws?accessToken="+data.id)
},
loginFail(error) {
this.loading = false;
this.refreshCode();
//this.refreshCode();
this.$message.error(error.message);
},
refreshCode() {
this.form.securityCode = '';
this.securityCodeUrl = securityCodeUrl + Math.random();
},
// refreshCode() {
// this.form.securityCode = '';
// this.securityCodeUrl = securityCodeUrl + Math.random();
// },
onSubmit(e) {
e.preventDefault();
if(!this.form.loginName.length){
return this.$message.warning('请输入用户名')
if (!this.form.loginName.length) {
return this.$message.warning("请输入用户名");
}
if(!this.form.password.length){
return this.$message.warning('请输入密码')
}
if(!this.form.securityCode.length){
return this.$message.warning('请输入验证码')
if (!this.form.password.length) {
return this.$message.warning("请输入密码");
}
this.login();
},
},
data() {
return {
loading: false,
redirect: this.$route.query.redirect || '/',
securityCodeUrl: securityCodeUrl,
form: {
loginName: '',
password: '',
securityCode: '',
}
}
}
}
};
</script>
<style lang="less">
.el-divider--horizontal {
margin: 5px 0;
background: 0 0;
border-top: 2px solid #e8eaec;
}
.page-login {
background-image: linear-gradient(45deg, #333, #111);
background-size: 40px 40px;
margin: 0;
height: 100%;
.el-form{
.el-form {
margin: auto;
width: 400px;
padding: 25px 25px 0 0;
background: #fff;
h1{
h1 {
text-align: center;
font-size: 20px;
font-weight: 500;
margin-bottom: 20px;
}
button{
button {
margin-top: 10px;
width: 240px;
}
.el-input-group__append{
.el-input-group__append {
padding: 0;
font-size: 0;
}
}
.footer{
.footer {
height: 80px;
font-size: 12px;
color: #999;
text-align: center;
line-height: 80px;
a{
a {
color: #999;
}
}
......
<template>
<layout-form>
<Breadcrumb slot='breadcrumb' :list='breadcrumbList'></Breadcrumb>
<!-- <Breadcrumb slot='breadcrumb' :list='breadcrumbList'></Breadcrumb> -->
<el-form :model="extendFormData" :rules="rules" ref="form" label-width="100px" size='small'>
<el-row><Field label="旧密码" prop="oldPwd" v-model="extendFormData.oldPwd" type='password'/></el-row>
<el-row>
......@@ -41,10 +41,10 @@ export default {
urls: {
saveUrl: '/login/updatePwd',
},
breadcrumbList: [
{name: '系统管理',},
{name: '修改密码',},
],
// breadcrumbList: [
// {name: '系统管理',},
// {name: '修改密码',},
// ],
rules: {
oldPwd: [
{ required: true, message: '请输入旧密码', trigger: 'blur' },
......
......@@ -16,7 +16,7 @@ module.exports = {
hot: true,//自动保存
proxy: {
'/m': {
target: 'http://127.0.0.1:18011',
target: 'http://192.168.0.250:18011',
changeOrigin: true,
secure: false
}
......
......@@ -3022,21 +3022,16 @@ core-js-compat@^3.40.0, core-js-compat@^3.6.5:
dependencies:
browserslist "^4.24.4"
core-js@3.8.1:
version "3.8.1"
resolved "https://registry.npmmirror.com/core-js/-/core-js-3.8.1.tgz#f51523668ac8a294d1285c3b9db44025fda66d47"
integrity sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==
core-js@3, core-js@^3.6.5:
version "3.42.0"
resolved "https://registry.npmmirror.com/core-js/-/core-js-3.42.0.tgz#edbe91f78ac8cfb6df8d997e74d368a68082fe37"
integrity sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==
core-js@^2.4.0:
version "2.6.12"
resolved "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.6.5:
version "3.42.0"
resolved "https://registry.npmmirror.com/core-js/-/core-js-3.42.0.tgz#edbe91f78ac8cfb6df8d997e74d368a68082fe37"
integrity sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==
core-util-is@1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
......
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