Commit e2c09a3a authored by huangjie122's avatar huangjie122

登录

parent 4c5dbe03
......@@ -8,6 +8,7 @@
"name": "dsk-srm-server",
"version": "0.1.0",
"dependencies": {
"axios": "^1.1.3",
"core-js": "^3.8.3",
"element-ui": "^2.15.10",
"vue": "^2.6.14",
......@@ -3187,6 +3188,11 @@
"babel-runtime": "6.x"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz",
......@@ -3229,6 +3235,16 @@
"postcss": "^8.1.0"
}
},
"node_modules/axios": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz",
"integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==",
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
"node_modules/babel-helper-vue-jsx-merge-props": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
......@@ -4425,6 +4441,17 @@
"integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/commander": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
......@@ -5468,6 +5495,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
......@@ -6359,7 +6394,6 @@
"version": "1.15.2",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true,
"funding": [
{
"type": "individual",
......@@ -6375,6 +6409,19 @@
}
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz",
......@@ -8668,7 +8715,6 @@
"version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
......@@ -8677,7 +8723,6 @@
"version": "2.1.35",
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
......@@ -10482,6 +10527,11 @@
"node": ">= 0.10"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"node_modules/pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz",
......@@ -14949,6 +14999,29 @@
"webpack-merge": "^5.7.3",
"webpack-virtual-modules": "^0.4.2",
"whatwg-fetch": "^3.6.2"
},
"dependencies": {
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.10.0",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.0.tgz",
"integrity": "sha512-VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
}
}
}
}
},
"@vue/cli-shared-utils": {
......@@ -15098,27 +15171,6 @@
}
}
},
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.10.0",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.0.tgz",
"integrity": "sha512-VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
}
}
},
"@vue/web-component-wrapper": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz",
......@@ -15465,7 +15517,7 @@
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"at-least-node": {
......@@ -15490,7 +15542,7 @@
},
"axios": {
"version": "1.1.3",
"resolved": "https://registry.npmmirror.com/axios/-/axios-1.1.3.tgz",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz",
"integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==",
"requires": {
"follow-redirects": "^1.15.0",
......@@ -16454,7 +16506,7 @@
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
......@@ -17224,7 +17276,7 @@
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"depd": {
......@@ -17962,7 +18014,7 @@
},
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"requires": {
"asynckit": "^0.4.0",
......@@ -20983,7 +21035,7 @@
},
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"pseudomap": {
......
import network from "@/utils/network";
//密码登录
export const login = (data) => network({
url: "/login",
method: "post",
data
});
//短信登录
export const smsLogin = (data) => network({
url: "/smsLogin",
method: "post",
data
});
//校验短信验证码
export const validateSmsCode = (data) => network({
url: "/sms/validateSmsCode?phone="+data.phone +"&code="+data.code,
method: "get",
data
});
//校验图形验证码
export const validateCaptcha = (data) => network({
url: "/validateCaptcha?uuid="+data.uuid +"&code="+data.code,
method: "get",
});
//忘记密码提交
export const forgotPassword = (data) => network({
url: "/forgotPassword",
method: "post",
data
});
//图形验证码
export const captchaImage = () => network({
url: "/captchaImage",
method: "get",
});
//验证账号并发送短信
export const checkUser = (data) => network({
url: "/checkUser",
method: "post",
data
});
export const loginApi = (data) => network({
url: "",
......
......@@ -20,10 +20,10 @@
<!--密码登录 -->
<div class="logoncont" v-if="type=='mima'">
<div class="inputs">
<el-input placeholder="请输入账号" v-model="mimaparam.username"></el-input>
<el-input placeholder="请输入账号" v-model="mimaparam.userName"></el-input>
</div>
<div class="inputs">
<el-input placeholder="请输入登录密码" v-model="mimaparam.password"></el-input>
<el-input placeholder="请输入登录密码" show-password v-model="mimaparam.password"></el-input>
</div>
<div class="inputs">
<el-input width="191px" class="small" placeholder="请输入验证码" v-model="mimaparam.code" ></el-input>
......@@ -59,7 +59,7 @@
</div>
<div class="inputs">
<el-input placeholder="短信验证码" v-model="resetparam.smsCode" class="hqyzm">
<template slot="append"><span @click="getSmsCode(1)">{{ timer }}</span></template>
<template slot="append"><span @click="getSmsCode(2)">{{ timer }}</span></template>
</el-input>
</div>
<div class="inputs">
......@@ -76,10 +76,10 @@
<!-- 提交重置的密码-->
<div class="logoncont" v-if="type=='tjmm'">
<div class="inputs">
<el-input v-model="resetparam.passWord" placeholder="请输入密码"></el-input>
<el-input v-model="resetparam.passWord" placeholder="请输入密码" show-password ></el-input>
</div>
<div class="inputs">
<el-input v-model="resetparam.passWord1" placeholder="请再次输入密码"></el-input>
<el-input v-model="resetparam.passWord1" placeholder="请再次输入密码" show-password ></el-input>
</div>
<div class="loginin" @click="resetpwd">提交</div>
<div class="loginzc" style="justify-content: center">
......@@ -331,7 +331,7 @@
<script>
import footers from '@/components/foots'
import {login,smsLogin,validateSmsCode,validateCaptcha,forgotPassword,captchaImage,checkUser} from "./api/login"
export default {
components: {footers},
data() {
......@@ -387,13 +387,13 @@ export default {
{ required: true, message: '请输入企业简介', trigger: 'change' }
],
},
type:"tjmm",//登录方式 密码:mima 验证码:yzm 忘记密码:wjmm 提交密码:tjmm
type:"mima",//登录方式 密码:mima 验证码:yzm 忘记密码:wjmm 提交密码:tjmm
yzmparam:{
phone:'',
smsCode:''
} ,
mimaparam:{
username:'',
userName:'',
password:'',
code:'',
uuid:''
......@@ -423,22 +423,26 @@ export default {
cleardata(){
},
//登录 /login
//登录
login(){
this.mimaparam.uuid = this.uuid
if(!(this.mimaparam.username || this.mimaparam.code || this.mimaparam.code)){
this.$message.error('账号、密码、验证码不能为空!');
return false;
}
// this.$store.dispatch("/login",this.mimaparam).then((res) => {
// // })
login(this.mimaparam).then(res=>{
if(res.code == 200){
let token = res.token
this.$store.commit("user/SET_TOKEN",token)
this.toList()
}else{
this.$message.error(res.msg);
}
})
},
//验证码登录 /smsLogin
//验证码登录
yzmlogin(){
if(!(this.yzmparam.phone || this.yzmparam.smsCode)){
this.$message.error('账号、验证码不能为空!');
......@@ -446,6 +450,8 @@ export default {
}
smsLogin(this.yzmparam).then(res=>{
if(res.code == 200){
let token = res.token
this.$store.commit("user/SET_TOKEN",token)
this.toList()
}else{
this.$message.error(res.msg);
......@@ -454,18 +460,22 @@ export default {
},
//验证短信验证码、图形验证码
yzSmscode(){
if(!(this.resetparam.phone || this.resetparam.smsCode || this.resetparam.code)){
this.$message.error('账号、验证码不能为空!');
return false;
}
let param = {
phone:this.resetparam.phone,
code:this.resetparam.smsCode
}
//校验短信验证码 /sms/validateSmsCode
//校验短信验证码
validateSmsCode(param).then(res=>{
if (res.code == 200){
let params = {
uuid:this.uuid,
code:this.resetparam.code
}
//校验图形验证码 /validateCaptcha
校验图形验证码
validateCaptcha(params).then(res=>{
if(res.code == 200){
this.type='tjmm'
......@@ -485,12 +495,16 @@ export default {
if(pwd!=pwd1){
this.$message.error('两次输入密码不一致');
}else{
//重置 /forgotPassword
//重置
let param = {phone:this.resetparam.phone,passWord:this.resetparam.passWord}
forgotPassword(param).then(res=>{
if(res.code == 200){
this.type = 'mima'
this.getCode()
this.$message({
message: res.msg,
type: 'success'
});
}else{
this.$message.error(res.msg);
}
......@@ -499,9 +513,9 @@ export default {
},
//获取验图形证码
getCode(){
this.getYZMimage().then(res=>{
this.codeUrl = res.data.imag
this.uuid = res.data.uuid
captchaImage().then(res=>{
this.codeUrl = 'data:image/gif;base64,'+res.img
this.uuid = res.uuid
})
},
//获取手机验证码
......@@ -515,14 +529,23 @@ export default {
type: 'warning'
});
}
if(type == 2){//忘记密码
if(this.resetparam.phone)
this.yzPohne(this.resetparam.phone)
else
this.$message({
message: '请输入手机号!',
type: 'warning'
});
}
},
// 验证手机号发送验证码 /sms/sendRegisterCode
// 验证手机号发送验证码
yzPohne(phone){
var param = {
phone:phone,
type:1 //0:注册,1:短信登录/忘记密码
}
//验证账户发送短信 /checkUser
//验证账户发送短信
checkUser(param).then(res=>{
if(res.code == 200){
this.getTimer()
......@@ -750,6 +773,10 @@ export default {
background: #FFFFFF;
border-radius: 8px;
border: 1px solid #F1F1F1;
>img{
width: 100%;
height: 100%;
}
}
}
......
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