prod
lily.zhang 3 years ago
parent fb177eb595
commit d8c3733820

@ -0,0 +1,3 @@
NOOE_ENV = development
VUE_APP_API_URL = 'http://cloud.sws010.com'
VUE_APP_ENV_DESC = 开发环境

@ -1,3 +0,0 @@
NOOE_ENV = development
VUE_APP_API_URL = ''
VUE_APP_ENV_DESC = 开发环境

@ -0,0 +1,57 @@
/*
* @Author: your name
* @Date: 2021-10-20 13:17:25
* @LastEditTime: 2021-10-20 15:44:23
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/api/login/index.js
*/
import httpService from "@/request"
// 登录
export function loginSubmit(params) {
let obj = Object.assign({action: 'logUser'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'get',
params: obj
})
}
// 获取验证码
export function getVerifycode(params) {
let obj = Object.assign({action: 'getVerifycode'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'get',
params: obj
})
}
// 获取手机验证码
export function getVERCode(params) {
let obj = Object.assign({action: 'getVERCode', iType: 1}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'get',
params: obj
})
}
// 检查手机验证码
export function checkVERCode(params) {
let obj = Object.assign({action: 'checkVERCode'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'get',
params: obj
})
}
// 修改密码
export function updPhonePwd(params) {
let obj = Object.assign({action: 'updPhonePwd'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'get',
params: obj
})
}

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-10-12 13:56:13
* @LastEditTime: 2021-10-12 13:58:22
* @LastEditTime: 2021-10-20 16:00:57
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/mixins/index.js
@ -12,10 +12,10 @@ export default {
install(Vue) {
Vue.mixin({
computed: {
...mapGetters(['getZoom'])
...mapGetters(['getZoom','getToken', 'getUser', 'getAccount'])
},
methods: {
...mapActions(["setZoom"])
...mapActions(["setZoom", 'setToken', 'setUser', 'setAccount'])
}
})
}

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-10-13 09:28:02
* @LastEditTime: 2021-10-14 14:01:31
* @LastEditTime: 2021-10-20 15:19:35
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/request/index.js
@ -22,7 +22,7 @@ function filterRequestData(obj) {
}
//创建axios的实例
const httpService = axios.create({
baseUrl: process.env.VUE_APP_API_URL,// TODO:具体的配置可以根据项目情况而来
baseURL: '/sws',// TODO:具体的配置可以根据项目情况而来
timeout: 5000
})
@ -33,6 +33,7 @@ httpService.interceptors.request.use(config => {
// config.headers.token = localStorage.getItem('token')
// }
const rqData = filterRequestData(config.data);
const rqParams = filterRequestData(config.params);
// post 'Content-Type' === 'application/x-www-form-urlencoded'
if(config.method === 'post' && config.headers['content-type' === 'application/x-www-form-urlencoded']) {
config.data = qs.stringify(rqData);
@ -43,7 +44,7 @@ httpService.interceptors.request.use(config => {
}
// get
if(config.method === 'get') {
config.params = rqData;
config.params = rqParams;
}
return config;
},err => {
@ -55,14 +56,14 @@ httpService.interceptors.response.use(response => {
// TODO:具体的code对应的处理可继续添加修改
let data = null;
let msg = '';
if(response.data.Code === 200){
// console.log('请求成功')
data = response.data.Data;
msg = response.data.Msg;
let res = response.data;
if(res.Code == 1){
data = res.Data;
msg = res.Msg;
return {data, msg};
} else {
data = response.data
return Promise.reject(new Error(res))
}
return {data, msg};
},err => {
// TODO:具体的code对应的处理可继续添加修改
if(err.response.Code === 301){

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-10-12 13:36:49
* @LastEditTime: 2021-10-12 13:41:21
* @LastEditTime: 2021-10-20 15:57:58
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/actions.js
@ -9,6 +9,15 @@
const actions = {
setZoom: ({commit}, log) => {
commit('setZoom', log)
},
setToken: ({commit}, log) => {
commit('setToken', log)
},
setUser: ({commit}, log) => {
commit('setUser', log)
},
setAccount: ({commit}, log) => {
commit('setAccount', log)
}
}
export default actions

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-10-12 13:37:06
* @LastEditTime: 2021-10-12 13:41:51
* @LastEditTime: 2021-10-20 15:59:37
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/getters.js
@ -9,6 +9,15 @@
const getters = {
getZoom(state) {
return state.$zoom
},
getToken(state) {
return state.token
},
getUser(state) {
return state.user
},
getAccount(state) {
return state.account
}
}
export default getters

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-10-12 13:37:35
* @LastEditTime: 2021-10-12 13:39:52
* @LastEditTime: 2021-10-20 16:11:54
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/mutations.js
@ -9,6 +9,20 @@
const mutations = {
setZoom: (state, log) => {
state.$zoom = log;
},
setToken: (state, log) => {
sessionStorage.setItem('token', log);
state.token = log
},
setUser: (state, log) => {
state.user = log;
let str = JSON.stringify(log);
sessionStorage.setItem('user', str);
},
setAccount: (state, log) => {
state.account = log;
let str = JSON.stringify(log);
localStorage.setItem('account', str);
}
}

@ -1,12 +1,15 @@
/*
* @Author: your name
* @Date: 2021-10-12 13:37:50
* @LastEditTime: 2021-10-12 13:37:50
* @LastEditTime: 2021-10-20 16:11:46
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/state.js
*/
const state = {
$zoom: 1
$zoom: 1,
token: sessionStorage.getItem('token') || "",
user: JSON.parse(sessionStorage.getItem('user')) || {},
account: JSON.parse(localStorage.getItem('account')) || {}
}
export default state;

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-10-19 14:45:23
* @LastEditTime: 2021-10-19 16:42:35
* @LastEditTime: 2021-10-20 15:45:49
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/Login/forgetPWD/index.vue
@ -10,12 +10,12 @@
<div class="fpwd-outter">
<span class="fpw-label">忘记密码</span>
<a-form-model layout="horizontal" :model="form" :rules="rules" ref="forgetForm">
<a-form-model-item label="手机号码" prop="phone">
<a-input v-model="form.phone" placeholder="手机号码" autocomplete="off"/>
<a-form-model-item label="手机号码" prop="sPhone">
<a-input v-model="form.sPhone" placeholder="手机号码" autocomplete="off"/>
</a-form-model-item>
<a-form-model-item label="验证码" prop="code">
<a-input v-model="form.code" placeholder="验证码" autocomplete="off">
<span class="fp-s1" slot="suffix" v-if="showCode" @click="countdown"></span>
<a-form-model-item label="验证码" prop="iCode">
<a-input v-model="form.iCode" placeholder="验证码" autocomplete="off">
<span class="fp-s1" slot="suffix" v-if="showCode" @click="getCode"></span>
<span class="fp-s1" slot="suffix" v-else>{{count}}</span>
</a-input>
</a-form-model-item>
@ -30,6 +30,7 @@
</template>
<script>
import {getVERCode, checkVERCode} from "@/api/login"
export default {
name: "forgetPWD",
data() {
@ -57,16 +58,28 @@ export default {
timer: null,
count: 0,
form: {
phone: "",
code: "",
sPhone: "",
iCode: ""
},
rules: {
phone: [{ validator: validatePhone, trigger: "change" }],
code: [{ validator: validateCode, trigger: "change" }],
sPhone: [{ validator: validatePhone, trigger: "change" }],
iCode: [{ validator: validateCode, trigger: "change" }],
},
};
},
methods: {
//
getCode() {
this.$refs.forgetForm.validateField('sPhone', errMsg => {
if(!errMsg) {
getVERCode({sPhone: this.form.sPhone}).then(() => {
this.countdown()
})
} else {
console.log('验证失败')
}
})
},
//
countdown() {
const TIME_COUNT = 60;
@ -92,7 +105,9 @@ export default {
onNext() {
this.$refs.forgetForm.validate((valid) => {
if (valid) {
this.$emit("nextStep")
checkVERCode(this.form).then(() => {
this.$emit("nextStep", this.form)
})
} else {
console.log("error submit!!");
return false;

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-10-19 11:53:35
* @LastEditTime: 2021-10-19 16:32:04
* @LastEditTime: 2021-10-20 15:47:32
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/Login/index.vue
@ -15,7 +15,7 @@
<div class="login-div">
<loginForm @forgetPassword="handlerForget" v-if="dateType===1"></loginForm>
<forgetPWD v-if="dateType===2" @reLogin="handlerRelogin" @nextStep="handlerNext"></forgetPWD>
<resetPassword v-if="dateType===3" @reLogin="handlerRelogin"></resetPassword>
<resetPassword v-if="dateType===3" @reLogin="handlerRelogin" :forgetForm="forgetForm"></resetPassword>
</div>
</div>
</div>
@ -34,6 +34,7 @@ export default {
},
data() {
return {
forgetForm: {},
dateType: 1,
};
},
@ -44,8 +45,9 @@ export default {
handlerRelogin() {
this.dateType = 1;
},
handlerNext() {
handlerNext(obj) {
this.dateType = 3;
this.forgetForm = {...obj}
},
},
};

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-10-19 14:14:52
* @LastEditTime: 2021-10-19 16:42:11
* @LastEditTime: 2021-10-20 16:13:29
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/Login/loginForm/index.vue
@ -9,19 +9,19 @@
<template>
<div class="lgf-outter">
<a-form-model layout="horizontal" :model="form" :rules="rules" ref="loginForm">
<a-form-model-item label="用户名" prop="phone">
<a-input v-model="form.phone" placeholder="请输入账号" autocomplete="off"/>
<a-form-model-item label="用户名" prop="sUserName">
<a-input v-model="form.sUserName" placeholder="请输入账号" autocomplete="off" :maxLength="30"/>
</a-form-model-item>
<a-form-model-item label="密码" prop="pwd">
<a-input v-model="form.pwd" :type="pwdType" placeholder="请输入密码" autocomplete="off">
<a-form-model-item label="密码" prop="sPwd">
<a-input v-model="form.sPwd" :type="pwdType" placeholder="请输入密码" autocomplete="off">
<span slot="suffix" class="iconfont icon-zhengyan-21 login-eye" v-if="pwdType==='password'" @click="changePwdType"></span>
<span slot="suffix" class="iconfont icon-in_biyan login-eye" v-else @click="changePwdType"></span>
</a-input>
</a-form-model-item>
<a-form-model-item label="验证码" prop="code">
<a-input v-model="form.code" placeholder="请输入验证码" autocomplete="off">
<a-button slot="addonAfter" style="width: 100px" @click="countdown" v-if="showCode">FNMAK</a-button>
<a-button slot="addonAfter" style="width: 100px" v-else>{{count}}</a-button>
<a-form-model-item label="验证码" prop="sVerifycode">
<a-input v-model="form.sVerifycode" placeholder="请输入验证码" autocomplete="off">
<a-button slot="addonAfter" style="width: 100px" @click="getCode" v-if="!codeImg" :loading="btnLoading"></a-button>
<img style="width: 100px; height: 30px;cursor: pointer;" slot="addonAfter" :src="codeImg" @click="getCode" v-else>
</a-input>
</a-form-model-item>
</a-form-model>
@ -38,6 +38,7 @@
</template>
<script>
import {loginSubmit, getVerifycode} from "@/api/login"
export default {
name: "loginForm",
data() {
@ -60,16 +61,7 @@ export default {
if (value === "") {
callback(new Error("请输入账户"));
} else {
let reg = /^[0-9a-zA-Z]*$/;
if (!reg.test(value)) {
callback(
new Error("用户名是英文字母或英文字母与数字的组合")
);
} else if (value.length < 8 || value.length > 13) {
callback(new Error("账号在8~13位之间"));
} else {
callback();
}
callback();
}
};
const validateCode = (rule, value, callback) => {
@ -82,43 +74,42 @@ export default {
return {
pwdType: "password",
remCheck: false,
count: 0,
showCode: true,
timer: null,
codeImg: "",
btnLoading: false,
form: {
phone: "",
pwd: "",
code: "",
sUserName: "",
sPwd: "",
sVerifycode: "",
},
rules: {
phone: [{ validator: validateAccount, trigger: "change" }],
pwd: [{ validator: validatePass, trigger: "change" }],
code: [{ validator: validateCode, trigger: "change" }],
sUserName: [{ validator: validateAccount, trigger: "change" }],
sPwd: [{ validator: validatePass, trigger: "change" }],
sVerifycode: [{ validator: validateCode, trigger: "change" }],
},
};
},
created() {
if(JSON.stringify(this.getAccount) != "{}") {
this.remCheck = this.getAccount.remCheck;
this.form.sUserName = this.getAccount.sUserName;
this.form.sPwd = this.getAccount.sPwd;
}
},
methods: {
//
changePwdType() {
this.pwdType = this.pwdType === "password" ? "" : "password";
},
//
countdown() {
const TIME_COUNT = 60;
if (!this.timer) {
this.count = TIME_COUNT;
this.showCode = false;
this.timer = setInterval(() => {
if (this.count > 0 && this.count <= TIME_COUNT) {
this.count--;
} else {
this.showCode = true;
clearInterval(this.timer);
this.timer = null;
}
}, 1000);
}
//
getCode() {
this.btnLoading = true;
getVerifycode().then(res => {
this.codeImg = `data:image/jpeg;base64,${res.data}`
this.btnLoading = false;
})
},
//
forgetPassword() {
this.$emit("forgetPassword");
@ -127,7 +118,16 @@ export default {
onSubmit() {
this.$refs.loginForm.validate((valid) => {
if (valid) {
alert("submit!");
loginSubmit(this.form).then(res => {
let data = res.data;
this.setToken(data.toKen);
this.setUser(data);
if(this.remCheck) {
this.setAccount({sUserName:this.form.sUserName, sPwd: this.form.sPwd, remCheck: this.remCheck})
} else {
this.setAccount({});
}
})
} else {
console.log("error submit!!");
return false;

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-10-19 15:36:15
* @LastEditTime: 2021-10-19 16:40:01
* @LastEditTime: 2021-10-20 15:52:26
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/Login/resetPassword/index.vue
@ -27,8 +27,17 @@
</template>
<script>
import {updPhonePwd} from "@/api/login"
export default {
name: "resetPassword",
props: {
forgetForm: {
type: Object,
default: () => {
return {}
}
}
},
data() {
const validatePass = (rule, value, callback) => {
if (value === "") {
@ -82,7 +91,11 @@ export default {
onSuccess() {
this.$refs.resetForm.validate((valid) => {
if (valid) {
alert("submit!");
let obj = {...this.forgetForm};
obj.sPwd = this.form.pwd2;
updPhonePwd(obj).then(() => {
this.reLogin()
})
} else {
console.log("error submit!!");
return false;

@ -0,0 +1,25 @@
/*
* @Author: your name
* @Date: 2021-10-20 13:15:16
* @LastEditTime: 2021-10-20 13:45:55
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/vue.config.js
*/
module.exports = {
devServer: {
port: "8081",
proxy: {
'/sws': {//代理api
target: "http://cloud.sws010.com",// 代理接口
changeOrigin: true,//是否跨域
ws: true, // proxy websockets
pathRewrite: {//重写路径
"^/sws": ''//代理路径
}
}
}
}
}
Loading…
Cancel
Save