|
- <template>
- <div class="app-container">
- <div class="title">
- <img style="display: block;
- margin: 0 auto;" src="../../static/images/onlineHome/yinnongLogo.jpg" alt="">
- </div>
- <van-tabs v-model="active" :swipeable="true" style="margin-top:0.5rem;padding:0 10px;">
- <van-tab title="密码登录" name="1">
- <van-form style="margin:50px 0;" v-if="!showMessage">
- <van-field
- v-model="formData.username"
- placeholder="请输入手机号/账号"
- :rules="[{ required: true, message:'' }]"
- />
- <van-field
- v-model="formData.password"
- type="password"
- style="margin-top: 20px"
- placeholder="请输入密码"
- :rules="[{ required: true, message:'' }]"
- />
- <van-field
- v-model="formData.code"
- center
- clearable
- label="验证码"
- placeholder="图形验证码"
- >
- <template #button>
- <img style="width: 100px" :src="codeUrl" @click="getCode" />
- </template>
- </van-field>
- <van-checkbox style="float: left;margin-top:10px;margin-left:20px;" v-model="formData.rememberMe" shape="square">{{showMessage ? "记住手机号" : "记住密码"}}</van-checkbox>
- <p style="float: right;margin-top:10px;margin-right:20px;color:#1D6FE9 ">忘记密码</p>
- <div class="clear"></div>
- <div style="margin: 50px 16px 16px;">
- <van-button block type="info" native-type="submit" @click="handleLogin">登录</van-button>
- <!-- <p style="text-align: center;margin-top: 20px;color:#878787 " @click="showMessagePop">短信验证码登录</p>-->
- </div>
- </van-form>
- </van-tab>
- <van-tab title="短信登录" name="2">
- <van-form style="margin:50px 0;">
- <van-field
- v-model="formData.mobile"
- name="请输入手机号"
- placeholder="请输入手机号"
- :rules="[{ required: true, message: '' }]"
- />
- <van-field
- v-model="formData.code"
- center
- clearable
- label="验证码"
- placeholder="图形验证码"
- >
- <template #button>
- <img style="width: 100px" :src="codeUrl" @click="getCode" />
- </template>
- </van-field>
- <div style="margin: 50px 16px 16px;">
- <van-button block type="info" native-type="submit" @click="getSmsCode">获取验证码</van-button>
- <!-- <p style="text-align: center;margin-top: 20px;color:#878787 " @click="showMessagePop">密码登录</p>-->
- </div>
- </van-form>
- <!-- <van-form style="margin:50px 0;">-->
- <!-- <van-field-->
- <!-- v-model="formData.memberName"-->
- <!-- name="请输入姓名"-->
- <!-- placeholder="请输入姓名"-->
- <!-- :rules="[{ required: true, message: '' }]"-->
- <!-- />-->
- <!-- <van-field-->
- <!-- v-model="formData.idcard"-->
- <!-- name="请输入身份证号"-->
- <!-- style="margin-top: 20px"-->
- <!-- placeholder="请输入身份证号"-->
- <!-- :rules="[{ required: true, message: '' }]"-->
- <!-- />-->
- <!-- <van-field-->
- <!-- v-model="formData.mobile"-->
- <!-- name="请输入手机号"-->
- <!-- style="margin-top: 20px"-->
- <!-- placeholder="请输入手机号"-->
- <!-- :rules="[{ required: true, message: '' }]"-->
- <!-- />-->
- <!-- <van-field-->
- <!-- v-model="formData.code"-->
- <!-- center-->
- <!-- clearable-->
- <!-- label="验证码"-->
- <!-- placeholder="图形验证码"-->
- <!-- >-->
- <!-- <template #button>-->
- <!-- <img style="width: 100px" :src="codeUrl" @click="getCode" />-->
- <!-- </template>-->
- <!-- </van-field>-->
- <!-- <van-field-->
- <!-- v-model="formData.smsCode"-->
- <!-- style="margin-top: 20px"-->
- <!-- placeholder="请输入验证码"-->
- <!-- :rules="[{ required: true, message: '' }]"-->
- <!-- >-->
- <!-- <template #button>-->
- <!-- <!– <van-button size="mini" type="info" @click="getRegisterSmsCode" >获取验证码</van-button> –>-->
- <!-- <div class="registerSmsBtn" @click="getRegisterSmsCode">{{-->
- <!-- computeTime > 0 ? `(${computeTime}s)已发送` : "获取短信码"-->
- <!-- }}</div>-->
-
-
- <!-- </template>-->
- <!-- </van-field>-->
- <!-- <div style="margin: 50px 16px 16px;">-->
- <!-- <van-button block type="info" native-type="submit" @click="registerSubmit">注册</van-button>-->
- <!-- </div>-->
- <!-- </van-form>-->
- </van-tab>
- </van-tabs>
- <van-popup v-model="showKeyboard" :style="{ height: '100%',width:'100%' }" >
- <van-nav-bar
- left-arrow
- fixed
- placeholder
- @click-left="showPopup"
- />
- <div style="padding: 20px">
- <h1>输入短信验证码</h1>
- <h3 style="color: #878787">验证码已发送至{{(formData.mobile+"").substr(0,3) + "****" + (formData.mobile+"").substr(7)}},请在下方输入框内输入4位数字验证码</h3>
- </div>
- <van-password-input
- :value="smsCodeValue"
- :length="4"
- :focused="showKeyboard"
- @focus="showKeyboard = true"
- />
- <van-number-keyboard
- v-model="smsCodeValue"
- :show="showKeyboard"
- theme="custom"
- close-button-text="完成"
- />
- </van-popup>
- </div>
- </template>
- <style scoped>
- .app-container{
- background: #fff;
- height: 100vh;
- }
- .title{
- padding-top: 20%;
- width: 88%;
- margin: 0 auto;
- }
- .van-tab--active{
- font-size: .6rem;
- font-weight: bold;
- }
- .van-tabs__line{
- background:#1D6FE9;
- width: 0.15rem;
- height: 0.15rem;
- border-radius: 0.07rem;
- bottom: 0.3rem;
- }
- .van-tabs__nav{
- padding:0
- }
- .van-tab{
- display: inline-block;
- flex: inherit;
- margin-left: 30px;
- line-height: .8rem;
- }
- .van-tab__text--ellipsis {
- overflow: auto;
- }
- .van-password-input{
- width: 50%;
- margin: 0 auto;
- }
- [class*=van-hairline]::after{
- border:none;
- }
- .van-password-input__security li{
- margin: 0 10px;
- border-bottom: 3px solid black;
- }
- .registerSmsBtn{
- color: rgb(29, 111, 233);
- font-size: 0.34rem;
-
- }
- </style>
- <script>
- import { getCodeImg, getSmsCode ,getRegisterSmsCode,registerCheck,registerOn} from "../api/login";
- import Cookies from "js-cookie";
- import { encrypt, decrypt } from "../utils/jsencrypt";
- //引用wx sdk
- import wx from "weixin-js-sdk";
- export default {
- name: "yinnongLogin",
- data() {
- return {
- showMessage:false,
- smsCodeValue:"",
- showKeyboard:false,
- formData: {
- username: "", //账号
- password: "", //密码
- code: null, //图片验证码
- uuid: null, //识别uuid
- mobile: null, //手机号
- smsCode: null, //短信验证码
- memberName:null, //身份信息
- idcard:null, //身份号码
- rememberMe:false
- },
- loading: false,
- codeUrl: "", //验证码
- isSmsLogin: false, //是否手机验证码
- computeTime: 0,
- active:1
- };
- },
- created() {
- this.getCode();
- this.getCookie();
- this.reset();
- },
- methods: {
- reset(){
-
- },
- showPopup(){
- this.showKeyboard = !this.showKeyboard
- },
- showMessagePop(){
- this.showMessage = !this.showMessage
- },
- getCode() {
- getCodeImg().then((res) => {
- this.formData.uuid = res.uuid;
- this.codeUrl = "data:image/gif;base64," + res.img;
- });
- },
- getCookie() {
- const username = Cookies.get("username");
- const password = Cookies.get("password");
- const rememberMe = Cookies.get("rememberMe");
- this.formData = {
- username: username === undefined ? this.formData.username : username,
- password:
- password === undefined ? this.formData.password : decrypt(password),
- rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
- };
- },
- getSmsCode() {
- if (this.formData.code == "") {
- this.$dialog.alert({
- message: '图片验证码不能为空',
- });
- return false;
- }
- if (!this.computeTime) {
- let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
- if (!myreg.test(this.formData.mobile)) {
- this.$dialog.alert({
- message: '手机号格式不正确',
- });
- return false;
- }
- /* getSmsCode(this.formData.mobile).then((res) => {
- if (res.code === 200) {
- this.$dialog.alert({
- message: '验证码已发送',
- });
- this.showKeyboard = !this.showKeyboard;
- this.loginForm.uuid = res.uuid;
- this.computeTime = 60;
- this.timer = setInterval(() => {
- this.computeTime--;
- if (this.computeTime <= 0) {
- clearInterval(this.timer);
- }
- }, 1000);
- }
- });*/
- }
- },
- handleLogin(values) {
- if (this.isSmsLogin) {
- //短信登录
- let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
- if (!myreg.test(this.formData.mobile)) {
- this.$dialog.alert({
- message: '手机号格式不正确',
- });
- return false;
- } else if (this.formData.smsCode == "") {
- this.$dialog.alert({
- message: '短信验证码不能为空',
- });
- return false;
- }
- this.loading = true;
- this.$store
- .dispatch("SmsLogin", this.formData)
- .then(() => {
- this.$router.push({ path: "/yinnong/doneCompleted/completed" }).catch(() => {});
- })
- .catch((error) => {
- this.loading = false;
- });
- } else {
- if (this.formData.rememberMe) {
- Cookies.set("username", this.formData.username, { expires: 30 });
- Cookies.set("password", encrypt(this.formData.password), { expires: 30 });
- Cookies.set("rememberMe", this.formData.rememberMe, { expires: 30 });
- } else {
- Cookies.remove("username");
- Cookies.remove("password");
- Cookies.remove("rememberMe");
- }
- //账号密码登录
- if (this.formData.username == "") {
- this.$dialog.alert({
- message: '账号不能为空',
- });
- return false;
- } else if (this.formData.password == "") {
- this.$dialog.alert({
- message: '密码不能为空',
- });
- return false;
- } else if (!this.formData.code) {
- this.$dialog.alert({
- message: '图片验证码不能为空',
- });
- return false;
- }
- this.$store
- .dispatch("Login", this.formData)
- .then(() => {
- this.$router.push({ path: "/yinnong/doneCompleted/completed" }).catch(() => {});
- })
- .catch((error) => {
- console.log(error)
- this.loading = false;
- this.getCode();
- });
- }
- },
- getRegisterSmsCode(){
- if (!this.computeTime) {
- let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
- if (!myreg.test(this.formData.mobile)) {
- this.$dialog.alert({
- message: '手机号格式不正确',
- });
- return false;
- }else if (this.formData.code == "") {
- this.$dialog.alert({
- message: '图片验证码不能为空',
- });
- return false;
- }
- if (this.active==2) {
- let formObj = {
- code :this.formData.code,
- mobile:this.formData.mobile,
- uuid:this.formData.uuid
- }
- getRegisterSmsCode(formObj).then((res) => {
- console.log(res)
- console.log(res.code == 200)
- if(res.code == 200) {
- this.$dialog.alert({
- message: '验证码已发送',
- });
- this.formData.uuid = res.uuid;
- this.computeTime = 60;
- this.timer = setInterval(() => {
- this.computeTime--;
- if (this.computeTime <= 0) {
- clearInterval(this.timer);
- }
- }, 1000);
- }
- }).catch((res)=>{
- if(res=='Error: 验证码已失效'){
- this.getCode()
- }
- });
- }
- }
- },
- registerSubmit(){
-
- //注册
- if (this.formData.memberName == "") {
- this.$dialog.alert({
- message: '姓名不能为空',
- });
- return false;
- } else if (this.formData.idcard == "") {
- this.$dialog.alert({
- message: '身份证号不能为空',
- });
- return false;
- } else if (this.formData.mobile == "") {
- this.$dialog.alert({
- message: '手机号码不能为空',
- });
- return false;
- }else if (this.formData.smsCode == "") {
- this.$dialog.alert({
- message: '短信验证码不能为空',
- });
- return false;
- }
- //registerCheck,registerOn
- console.log(this.formData)
- registerCheck(this.formData).then((res)=>{
- if(res.code == 200){
- registerOn(this.formData).then((res)=>{
- if(res.code == 200){
- //
- this.$dialog.alert({
- message: '您的初始密码:'+res.password,
- }).then(() => {
- this.$router.push({ path: "/yinnong/doneCompleted/completed" }).catch(() => {});
- });
- }
- })
- }
- })
-
- }
- },
- };
- </script>
|