Commit 40c236854b5d8e0469a75d7c60c1176ce3bee223

Authored by sqy
1 parent 42380f1b

fix:[DEFECT-382]:修复不好点击验证码按钮问题

1 -<template>  
2 - <view class="code-page">  
3 - <!-- 公共组件-每个页面必须引入 -->  
4 - <public-module></public-module>  
5 - <view class="f__login">  
6 - <view class="loginPhone">  
7 - <view class="phone-main" style="margin-top: 173rpx;">  
8 - <text class="text">手机验证码登录</text>  
9 - <view class="circleStyle"></view>  
10 - </view>  
11 - <view class="form-row">  
12 - <input class="input" type="number" v-model="phone" placeholder="请输入手机号码"  
13 - placeholder-style="font-weight:normal;color:#bbbbbb;"></input>  
14 - </view>  
15 - <view class="form-row">  
16 - <input class="input" type="number" v-model="vCode" placeholder="请输入验证码"  
17 - placeholder-style="font-weight:normal;color:#bbbbbb;"></input>  
18 - <view class="getvcode" :class="{forhidden:readonly}" @click="getVcode">{{ codeText }}</view>  
19 - </view>  
20 - <button class="submit" size="default" @click="onSubmit">  
21 - <text class="text">登录</text>  
22 - </button>  
23 - <view class="u-flex account-style">  
24 - <view class="content" @click="openAccountFunc">账号密码登录</view>  
25 - </view>  
26 - <view class="circleStyleBottom"></view>  
27 - </view>  
28 - </view>  
29 - </view>  
30 -</template>  
31 -  
32 -<script>  
33 - var clear;  
34 - import { mapState, mapMutations } from 'vuex';  
35 - export default {  
36 - data() {  
37 - return {  
38 - readonly: false,  
39 - codeText: '发送验证码',  
40 - phone: '', //号码  
41 - vCode: '', //验证码  
42 - }  
43 - },  
44 - methods: {  
45 - ...mapMutations(['setUserInfo']),  
46 - //验证码按钮文字状态  
47 - getCodeState() {  
48 - const _this = this;  
49 - this.readonly = true;  
50 - this.codeText = '60S后重新获取';  
51 - var s = 60;  
52 - clear = setInterval(() => {  
53 - s--;  
54 - _this.codeText = s + 'S后重新获取';  
55 - if (s <= 0) {  
56 - clearInterval(clear);  
57 - _this.codeText = '发送验证码';  
58 - _this.readonly = false;  
59 - }  
60 - }, 1000);  
61 - },  
62 - //获取验证码  
63 - getVcode() {  
64 - if (this.readonly) {  
65 - uni.showToast({  
66 - title: '验证码已发送~',  
67 - icon: 'none'  
68 - });  
69 - return;  
70 - }  
71 - if (this.phone == '') {  
72 - uni.showToast({  
73 - title: '请输入手机号~',  
74 - icon: 'none'  
75 - });  
76 - return;  
77 - }  
78 - const phoneRegular = /^1\d{10}$/;  
79 - if (!phoneRegular.test(this.phone)) {  
80 - uni.showToast({  
81 - title: '手机号格式不正确~',  
82 - icon: 'none'  
83 - });  
84 - return;  
85 - }  
86 - // 获取验证码接口  
87 - uni.$u.http.post(`/yt/noauth/sendLoginSmsCode/${this.phone}` ).then(res => {  
88 - if(res){  
89 - this.getCodeState(); //开始倒计时  
90 - }  
91 - })  
92 - },  
93 - onSubmit() {  
94 - const phoneRegular = /^1\d{10}$/;  
95 - if(this.phone==''){  
96 - uni.showToast({  
97 - title: '请输入手机号码~',  
98 - icon: 'none'  
99 - });  
100 - return;  
101 - }else if (!phoneRegular.test(this.phone)) {  
102 - uni.showToast({  
103 - title: '手机号格式不正确~',  
104 - icon: 'none'  
105 - });  
106 - return;  
107 - }  
108 - if (this.vCode == '') {  
109 - uni.showToast({  
110 - title: '请输入验证码~',  
111 - icon: 'none'  
112 - });  
113 - return;  
114 - } else if(!(/^\d{6}$/.test(this.vCode))){  
115 - uni.showToast({  
116 - title: '验证码格式不正确~',  
117 - icon: 'none'  
118 - });  
119 - return  
120 - }  
121 - let httpData = {  
122 - code: this.vCode,  
123 - phoneNumber: this.phone  
124 - }  
125 - uni.$u.http.post('/yt/auth/code/login', httpData).then(res => {  
126 - if (res) {  
127 - // 储存登录信息  
128 - let resObj = {  
129 - refreshToken: res.refreshToken,  
130 - isToken: res.token  
131 - };  
132 - let userInfo = {  
133 - ...resObj,  
134 - token: true ,//token用于判断是否登录  
135 - isThirdLogin: false  
136 - };  
137 - if (userInfo.token) {  
138 - this.setUserInfo(userInfo);  
139 - }  
140 - uni.showToast({  
141 - title: '登录成功~',  
142 - icon: 'none'  
143 - }).then(res => {  
144 - uni.reLaunch({  
145 - url: '/pages/personal/personal'  
146 - });  
147 - });  
148 - this.saveUserInfo();  
149 -  
150 - }  
151 - });  
152 - },  
153 - saveUserInfo() {  
154 - //储存个人信息  
155 - uni.$u.http.get('/yt/user/me/info').then(res => {  
156 - if (res) {  
157 - this.setUserInfo(res);  
158 - }  
159 - });  
160 - },  
161 - openAccountFunc(){  
162 - uni.navigateTo({  
163 - url:"../public/login"  
164 - })  
165 - }  
166 - }  
167 - }  
168 -</script>  
169 -  
170 -<style lang="scss" scoped>  
171 - @import './static/code.scss'; 1 +<template>
  2 + <view class="code-page">
  3 + <!-- 公共组件-每个页面必须引入 -->
  4 + <public-module></public-module>
  5 + <view class="f__login">
  6 + <view class="loginPhone">
  7 + <view class="phone-main" style="margin-top: 173rpx;">
  8 + <text class="text">手机验证码登录</text>
  9 + <view class="circleStyle"></view>
  10 + </view>
  11 + <view class="form-row">
  12 + <u-input v-model="phone" type="number" placeholder="请输入手机号码" border="bottom"></u-input>
  13 + </view>
  14 + <view class="form-row">
  15 + <u-input type="number" v-model="vCode" placeholder="请输入验证码" border="bottom">
  16 + <template slot="suffix" @click="getVcode">
  17 + <view class="getvcode" >{{ codeText }}</view>
  18 + </template>
  19 + </u-input>
  20 + </view>
  21 + <button class="submit" size="default" @click="onSubmit"><text class="text">登录</text></button>
  22 + <view class="u-flex account-style"><view class="content" @click="openAccountFunc">账号密码登录</view></view>
  23 + <view class="circleStyleBottom"></view>
  24 + </view>
  25 + </view>
  26 + </view>
  27 +</template>
  28 +
  29 +<script>
  30 +var clear;
  31 +import { mapState, mapMutations } from 'vuex';
  32 +export default {
  33 + data() {
  34 + return {
  35 + readonly: false,
  36 + codeText: '发送验证码',
  37 + phone: '', //号码
  38 + vCode: '' //验证码
  39 + };
  40 + },
  41 + methods: {
  42 + ...mapMutations(['setUserInfo']),
  43 + //验证码按钮文字状态
  44 + getCodeState() {
  45 + const _this = this;
  46 + this.readonly = true;
  47 + this.codeText = '60s后重新获取';
  48 + var s = 60;
  49 + clear = setInterval(() => {
  50 + s--;
  51 + _this.codeText = s + 's后重新获取';
  52 + if (s <= 0) {
  53 + clearInterval(clear);
  54 + _this.codeText = '发送验证码';
  55 + _this.readonly = false;
  56 + }
  57 + }, 1000);
  58 + },
  59 + //获取验证码
  60 + getVcode() {
  61 + if (this.readonly) {
  62 + uni.showToast({
  63 + title: '验证码已发送~',
  64 + icon: 'none'
  65 + });
  66 + return;
  67 + }
  68 + if (this.phone == '') {
  69 + uni.showToast({
  70 + title: '请输入手机号~',
  71 + icon: 'none'
  72 + });
  73 + return;
  74 + }
  75 + const phoneRegular = /^1\d{10}$/;
  76 + if (!phoneRegular.test(this.phone)) {
  77 + uni.showToast({
  78 + title: '手机号格式不正确~',
  79 + icon: 'none'
  80 + });
  81 + return;
  82 + }
  83 + // 获取验证码接口
  84 + uni.$u.http.post(`/yt/noauth/sendLoginSmsCode/${this.phone}`).then(res => {
  85 + if (res) {
  86 + this.getCodeState(); //开始倒计时
  87 + }
  88 + });
  89 + },
  90 + onSubmit() {
  91 + const phoneRegular = /^1\d{10}$/;
  92 + if (this.phone == '') {
  93 + uni.showToast({
  94 + title: '请输入手机号码~',
  95 + icon: 'none'
  96 + });
  97 + return;
  98 + } else if (!phoneRegular.test(this.phone)) {
  99 + uni.showToast({
  100 + title: '手机号格式不正确~',
  101 + icon: 'none'
  102 + });
  103 + return;
  104 + }
  105 + if (this.vCode == '') {
  106 + uni.showToast({
  107 + title: '请输入验证码~',
  108 + icon: 'none'
  109 + });
  110 + return;
  111 + } else if (!/^\d{6}$/.test(this.vCode)) {
  112 + uni.showToast({
  113 + title: '验证码格式不正确~',
  114 + icon: 'none'
  115 + });
  116 + return;
  117 + }
  118 + let httpData = {
  119 + code: this.vCode,
  120 + phoneNumber: this.phone
  121 + };
  122 + uni.$u.http.post('/yt/auth/code/login', httpData).then(res => {
  123 + if (res) {
  124 + // 储存登录信息
  125 + let resObj = {
  126 + refreshToken: res.refreshToken,
  127 + isToken: res.token
  128 + };
  129 + let userInfo = {
  130 + ...resObj,
  131 + token: true, //token用于判断是否登录
  132 + isThirdLogin: false
  133 + };
  134 + if (userInfo.token) {
  135 + this.setUserInfo(userInfo);
  136 + }
  137 + uni
  138 + .showToast({
  139 + title: '登录成功~',
  140 + icon: 'none'
  141 + })
  142 + .then(res => {
  143 + uni.reLaunch({
  144 + url: '/pages/personal/personal'
  145 + });
  146 + });
  147 + this.saveUserInfo();
  148 + }
  149 + });
  150 + },
  151 + saveUserInfo() {
  152 + //储存个人信息
  153 + uni.$u.http.get('/yt/user/me/info').then(res => {
  154 + if (res) {
  155 + this.setUserInfo(res);
  156 + }
  157 + });
  158 + },
  159 + openAccountFunc() {
  160 + uni.navigateTo({
  161 + url: '../public/login'
  162 + });
  163 + }
  164 + }
  165 +};
  166 +</script>
  167 +
  168 +<style lang="scss" scoped>
  169 +@import './static/code.scss';
172 </style> 170 </style>
1 -<template>  
2 - <view class="find-password-page">  
3 - <public-module></public-module>  
4 - <view class="top u-flex" >  
5 - <view @click="showPhone" :style="{color:!nextStatus?'#0079fe':''}" class="item">1.验证手机号码</view>  
6 - <view :style="{color:!nextStatus?'':'#0079fe'}" class="item">2.设置新密码</view>  
7 - </view>  
8 - <view v-if="!nextStatus" style="margin-top: 40rpx;" class="f__login">  
9 - <view class="loginPhone">  
10 - <view class="form-row">  
11 - <input class="input" type="number" v-model="phone" placeholder="请输入手机号码"  
12 - placeholder-style="font-weight:normal"></input>  
13 - </view>  
14 - <view style="height: 25rpx;"></view>  
15 - <view class="form-row">  
16 - <input class="input" type="number" v-model="vCode" placeholder="请输入短信验证码"  
17 - placeholder-style="font-weight:normal"></input>  
18 - <view class="getvcode" :class="{forhidden:readonly}" @click="getVcode">{{ codeText }}</view>  
19 - </view>  
20 - <button class="submit" size="default" @click="onNextSubmit">  
21 - <text style="color:#fff">下一步</text>  
22 - </button>  
23 - </view>  
24 - </view>  
25 - <view v-else style="margin-top: 40rpx;" class="f__login">  
26 - <view class="loginPhone">  
27 - <view style="margin-top:50rpx" class="form-row u-flex">  
28 - <view class="v-input"><input type="text" v-model="password" maxlength="32" placeholder="请设置6-20位新的登录密码" :password="!showPasswordF" /></view>  
29 - <view class="v-password"><u-icon size="25" @click="showPasswordModeF" :name="showPasswordF ? 'eye-fill' : 'eye-off'"></u-icon></view>  
30 - <u-icon></u-icon>  
31 - </view>  
32 - <view style="margin-top:70rpx" class="form-row u-flex">  
33 - <view class="v-input"><input type="text" v-model="rePassword" maxlength="32" placeholder="请再次输入新的登录密码" :password="!showPasswordS" /></view>  
34 - <view class="v-password"><u-icon size="25" @click="showPasswordModeS" :name="showPasswordS ? 'eye-fill' : 'eye-off'"></u-icon></view>  
35 - <u-icon></u-icon>  
36 - </view>  
37 - <button class="submit" size="default" @click="onSubmit">  
38 - <text style="color:#fff">确定</text>  
39 - </button>  
40 - </view>  
41 - </view>  
42 - </view>  
43 -</template>  
44 -  
45 -<script>  
46 - var clear;  
47 - export default {  
48 - data() {  
49 - return {  
50 - readonly: false,  
51 - codeText: '发送验证码',  
52 - phone: '', //号码  
53 - vCode: '', //验证码  
54 - nextStatus: false,  
55 - password:'',  
56 - rePassword:'',  
57 - showPasswordF: false,  
58 - showPasswordS: false,  
59 - }  
60 - },  
61 - methods: {  
62 - //验证码按钮文字状态  
63 - getCodeState() {  
64 - const _this = this;  
65 - this.readonly = true;  
66 - this.codeText = '60S后重新获取';  
67 - var s = 60;  
68 - clear = setInterval(() => {  
69 - s--;  
70 - _this.codeText = s + 'S后重新获取';  
71 - if (s <= 0) {  
72 - clearInterval(clear);  
73 - _this.codeText = '发送验证码';  
74 - _this.readonly = false;  
75 - }  
76 - }, 1000);  
77 - },  
78 - //获取验证码  
79 - getVcode() {  
80 - if (this.readonly) {  
81 - uni.showToast({  
82 - title: '验证码已发送~',  
83 - icon: 'none'  
84 - });  
85 - return;  
86 - }  
87 - if (this.phone == '') {  
88 - uni.showToast({  
89 - title: '请输入手机号~',  
90 - icon: 'none'  
91 - });  
92 - return;  
93 - }  
94 - const phoneRegular = /^1\d{10}$/;  
95 - if (!phoneRegular.test(this.phone)) {  
96 - uni.showToast({  
97 - title: '手机号格式不正确~',  
98 - icon: 'none'  
99 - });  
100 - return;  
101 - }  
102 - let httpData = {}  
103 - // 获取验证码接口  
104 - uni.$u.http.post(`/yt/noauth/resetCode/${this.phone}` ).then(res => {  
105 - this.getCodeState(); //开始倒计时  
106 - })  
107 - },  
108 - onNextSubmit() {  
109 - const phoneRegular = /^1\d{10}$/;  
110 - if(this.phone==''){  
111 - uni.showToast({  
112 - title: '请输入手机号码~',  
113 - icon: 'none'  
114 - });  
115 - return;  
116 - }else if (!phoneRegular.test(this.phone)) {  
117 - uni.showToast({  
118 - title: '手机号格式不正确~',  
119 - icon: 'none'  
120 - });  
121 - return;  
122 - }  
123 - if (this.vCode == '') {  
124 - uni.showToast({  
125 - title: '请输入验证码~',  
126 - icon: 'none'  
127 - });  
128 - return;  
129 - } else if(!(/^\d{6}$/.test(this.vCode))){  
130 - uni.showToast({  
131 - title: '验证码格式不正确~',  
132 - icon: 'none'  
133 - });  
134 - return  
135 - }  
136 - this.nextStatus = true  
137 - },  
138 - showPhone(){  
139 - this.nextStatus = false  
140 - },  
141 - onSubmit() {  
142 - const passReg=/^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$/  
143 - if(this.password=='' &&this.rePassword==''){  
144 - uni.showToast({  
145 - title: '请输入密码~',  
146 - icon: 'none'  
147 - });  
148 - return;  
149 - }else if (!passReg.test(this.password)&&!passReg.test(this.rePassword)) {  
150 - uni.showToast({  
151 - title: '密码格式不正确(至少一个大写英文字母、至少一个小写英文字母、至少一位数字、至少一个特殊字符、最少八个字符)~',  
152 - icon: 'none',  
153 - duration: 3000  
154 - });  
155 - return;  
156 - }  
157 - if(this.password!==this.rePassword) return uni.$u.toast('两次输入密码不一致');  
158 - let httpData={  
159 - password: this.password,  
160 - phoneNumber: this.phone,  
161 - userId: this.vCode  
162 - }  
163 - uni.$u.http.post(`/yt/noauth/reset/${this.phone}`, httpData).then(res => {  
164 - uni.showToast({  
165 - title: '重置密码成功~',  
166 - icon: 'none'  
167 - }).then(res=>{  
168 - uni.reLaunch({  
169 - url: '/pages/personal/personal'  
170 - });  
171 - /**  
172 - * 有些时候不起作用  
173 - */  
174 - // uni.navigateBack({  
175 - // delta:2  
176 - // })  
177 - })  
178 - });  
179 - },  
180 - showPasswordModeF() {  
181 - this.showPasswordF = !this.showPasswordF;  
182 - },  
183 - showPasswordModeS() {  
184 - this.showPasswordS = !this.showPasswordS;  
185 - },  
186 - }  
187 - }  
188 -</script>  
189 -  
190 -<style lang="scss" scoped>  
191 - @import './static/findPassword.scss'; 1 +<template>
  2 + <view class="find-password-page">
  3 + <public-module></public-module>
  4 + <view class="top u-flex">
  5 + <view @click="showPhone" :style="{ color: !nextStatus ? '#0079fe' : '' }" class="item">1.验证手机号码</view>
  6 + <view :style="{ color: !nextStatus ? '' : '#0079fe' }" class="item">2.设置新密码</view>
  7 + </view>
  8 + <view v-if="!nextStatus" style="margin-top: 40rpx;" class="f__login">
  9 + <view class="loginPhone">
  10 + <view class="form-row"><u-input v-model="phone" type="number" placeholder="请输入手机号码" border="bottom"></u-input></view>
  11 + <view style="height: 25rpx;"></view>
  12 + <view class="form-row">
  13 + <u-input type="number" v-model="vCode" placeholder="请输入短信验证码" border="bottom">
  14 + <template slot="suffix" @click="getVcode">
  15 + <view class="getvcode">{{ codeText }}</view>
  16 + </template>
  17 + </u-input>
  18 + </view>
  19 + <button class="submit" size="default" @click="onNextSubmit"><text style="color:#fff">下一步</text></button>
  20 + </view>
  21 + </view>
  22 + <view v-else style="margin-top: 40rpx;" class="f__login">
  23 + <view class="loginPhone">
  24 + <view class="form-row u-flex">
  25 + <u-input v-model="password" :password="showPasswordF" placeholder="请设置6-20位新的登录密码" border="bottom">
  26 + <template slot="suffix" @click="showPasswordModeF">
  27 + <view style="padding:20rpx"><u-icon :name="showPasswordF ? '/static/eye-hide.png' : '/static/eye.png'"></u-icon></view>
  28 + </template>
  29 + </u-input>
  30 + </view>
  31 + <view class="form-row u-flex">
  32 + <u-input v-model="rePassword" :password="showPasswordS" placeholder="请再次输入新的登录密码" border="bottom">
  33 + <template slot="suffix" @click="showPasswordModeS">
  34 + <view style="padding:20rpx"><u-icon :name="showPasswordS ? '/static/eye-hide.png' : '/static/eye.png'"></u-icon></view>
  35 + </template>
  36 + </u-input>
  37 + </view>
  38 + <button class="submit" size="default" @click="onSubmit"><text style="color:#fff">确定</text></button>
  39 + </view>
  40 + </view>
  41 + </view>
  42 +</template>
  43 +
  44 +<script>
  45 +var clear;
  46 +export default {
  47 + data() {
  48 + return {
  49 + readonly: false,
  50 + codeText: '发送验证码',
  51 + phone: '', //号码
  52 + vCode: '', //验证码
  53 + nextStatus: false,
  54 + password: '',
  55 + rePassword: '',
  56 + showPasswordF: true,
  57 + showPasswordS: true
  58 + };
  59 + },
  60 + methods: {
  61 + //验证码按钮文字状态
  62 + getCodeState() {
  63 + const _this = this;
  64 + this.readonly = true;
  65 + this.codeText = '60s后重新获取';
  66 + var s = 60;
  67 + clear = setInterval(() => {
  68 + s--;
  69 + _this.codeText = s + 's后重新获取';
  70 + if (s <= 0) {
  71 + clearInterval(clear);
  72 + _this.codeText = '发送验证码';
  73 + _this.readonly = false;
  74 + }
  75 + }, 1000);
  76 + },
  77 + //获取验证码
  78 + getVcode() {
  79 + if (this.readonly) {
  80 + uni.showToast({
  81 + title: '验证码已发送~',
  82 + icon: 'none'
  83 + });
  84 + return;
  85 + }
  86 + if (this.phone == '') {
  87 + uni.showToast({
  88 + title: '请输入手机号~',
  89 + icon: 'none'
  90 + });
  91 + return;
  92 + }
  93 + const phoneRegular = /^1\d{10}$/;
  94 + if (!phoneRegular.test(this.phone)) {
  95 + uni.showToast({
  96 + title: '手机号格式不正确~',
  97 + icon: 'none'
  98 + });
  99 + return;
  100 + }
  101 + let httpData = {};
  102 + // 获取验证码接口
  103 + uni.$u.http.post(`/yt/noauth/resetCode/${this.phone}`).then(res => {
  104 + this.getCodeState(); //开始倒计时
  105 + });
  106 + },
  107 + onNextSubmit() {
  108 + const phoneRegular = /^1\d{10}$/;
  109 + if (this.phone == '') {
  110 + uni.showToast({
  111 + title: '请输入手机号码~',
  112 + icon: 'none'
  113 + });
  114 + return;
  115 + } else if (!phoneRegular.test(this.phone)) {
  116 + uni.showToast({
  117 + title: '手机号格式不正确~',
  118 + icon: 'none'
  119 + });
  120 + return;
  121 + }
  122 + if (this.vCode == '') {
  123 + uni.showToast({
  124 + title: '请输入验证码~',
  125 + icon: 'none'
  126 + });
  127 + return;
  128 + } else if (!/^\d{6}$/.test(this.vCode)) {
  129 + uni.showToast({
  130 + title: '验证码格式不正确~',
  131 + icon: 'none'
  132 + });
  133 + return;
  134 + }
  135 + this.nextStatus = true;
  136 + },
  137 + showPhone() {
  138 + this.nextStatus = false;
  139 + },
  140 + onSubmit() {
  141 + const passReg = /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$/;
  142 + if (this.password == '' && this.rePassword == '') {
  143 + uni.showToast({
  144 + title: '请输入密码~',
  145 + icon: 'none'
  146 + });
  147 + return;
  148 + } else if (!passReg.test(this.password) && !passReg.test(this.rePassword)) {
  149 + uni.showToast({
  150 + title: '密码格式不正确(至少一个大写英文字母、至少一个小写英文字母、至少一位数字、至少一个特殊字符、最少八个字符)~',
  151 + icon: 'none',
  152 + duration: 3000
  153 + });
  154 + return;
  155 + }
  156 + if (this.password !== this.rePassword) return uni.$u.toast('两次输入密码不一致');
  157 + let httpData = {
  158 + password: this.password,
  159 + phoneNumber: this.phone,
  160 + userId: this.vCode
  161 + };
  162 + uni.$u.http.post(`/yt/noauth/reset/${this.phone}`, httpData).then(res => {
  163 + uni
  164 + .showToast({
  165 + title: '重置密码成功~',
  166 + icon: 'none'
  167 + })
  168 + .then(res => {
  169 + uni.reLaunch({
  170 + url: '/pages/personal/personal'
  171 + });
  172 + /**
  173 + * 有些时候不起作用
  174 + */
  175 + // uni.navigateBack({
  176 + // delta:2
  177 + // })
  178 + });
  179 + });
  180 + },
  181 + showPasswordModeF() {
  182 + this.showPasswordF = !this.showPasswordF;
  183 + },
  184 + showPasswordModeS() {
  185 + this.showPasswordS = !this.showPasswordS;
  186 + }
  187 + }
  188 +};
  189 +</script>
  190 +
  191 +<style lang="scss" scoped>
  192 +@import './static/findPassword.scss';
192 </style> 193 </style>
@@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
33 33
34 .form-row { 34 .form-row {
35 position: relative; 35 position: relative;
36 - border-bottom: 1rpx solid #e8e8e8; 36 + // border-bottom: 1rpx solid #e8e8e8;
37 margin-top: 30rpx; 37 margin-top: 30rpx;
38 .input { 38 .input {
39 font-size: 34rpx; 39 font-size: 34rpx;
@@ -62,11 +62,6 @@ @@ -62,11 +62,6 @@
62 transform: translateY(-50%); 62 transform: translateY(-50%);
63 right: 0; 63 right: 0;
64 z-index: 11; 64 z-index: 11;
65 -  
66 - &.forhidden {  
67 - // background: #eee;  
68 - // color: #cccccc;  
69 - }  
70 } 65 }
71 } 66 }
72 67
@@ -25,7 +25,6 @@ @@ -25,7 +25,6 @@
25 .loginPhone { 25 .loginPhone {
26 .form-row { 26 .form-row {
27 position: relative; 27 position: relative;
28 - border-bottom: 1px solid #e5e5e5;  
29 justify-content: space-between; 28 justify-content: space-between;
30 .v-input { 29 .v-input {
31 width: 620rpx; 30 width: 620rpx;
@@ -14,18 +14,14 @@ @@ -14,18 +14,14 @@
14 14
15 <view class="f__login"> 15 <view class="f__login">
16 <view class="loginPhone"> 16 <view class="loginPhone">
17 - <view class="form-row u-flex">  
18 - <view class="v-input"><input type="text" v-model="loginForm.username" maxlength="32" placeholder="请输入登录账号" /></view>  
19 - <u-icon></u-icon>  
20 - </view> 17 + <view class="form-row u-flex"><u-input v-model="loginForm.username" type="text" placeholder="请输入登录账号" border="bottom" /></view>
21 18
22 <view class="form-row u-flex"> 19 <view class="form-row u-flex">
23 - <view class="v-input"><input type="text" v-model="loginForm.password" maxlength="32" placeholder="请输入登录密码" :password="!showPassword" /></view>  
24 - <view class="v-password" style="padding: 30rpx;" @click="showPasswordMode">  
25 - <u-icon color="#9a9a9a" :name="showPassword ? '/static/eye.png' : '/static/eye-hide.png'"></u-icon>  
26 - </view>  
27 -  
28 - <u-icon></u-icon> 20 + <u-input v-model="loginForm.password" :password="showPassword" placeholder="请输入登录密码" border="bottom">
  21 + <template slot="suffix" @click="showPasswordMode">
  22 + <view style="padding:20rpx"><u-icon :name="showPassword ? '/static/eye-hide.png' : '/static/eye.png'"></u-icon></view>
  23 + </template>
  24 + </u-input>
29 </view> 25 </view>
30 26
31 <button class="submit" size="default" @click="onSubmitFunc"><text class="text">登录</text></button> 27 <button class="submit" size="default" @click="onSubmitFunc"><text class="text">登录</text></button>
@@ -68,7 +64,7 @@ export default { @@ -68,7 +64,7 @@ export default {
68 password: '' 64 password: ''
69 }, 65 },
70 66
71 - showPassword: false, 67 + showPassword: true,
72 68
73 code: '', 69 code: '',
74 70
@@ -261,7 +257,8 @@ export default { @@ -261,7 +257,8 @@ export default {
261 257
262 token: true, //token用于判断是否登录 258 token: true, //token用于判断是否登录
263 259
264 - isThirdLogin: false 260 + isThirdLogin: false,
  261 + isThirdLoginAndNoDind:false
265 }; 262 };
266 263
267 if (userInfo.token) { 264 if (userInfo.token) {
@@ -314,4 +311,4 @@ export default { @@ -314,4 +311,4 @@ export default {
314 /deep/ button { 311 /deep/ button {
315 background: rgba(0, 0, 0, 0); 312 background: rgba(0, 0, 0, 0);
316 } 313 }
317 -</style> 314 +</style>
@@ -38,7 +38,7 @@ @@ -38,7 +38,7 @@
38 .form-row { 38 .form-row {
39 position: relative; 39 position: relative;
40 justify-content: space-between; 40 justify-content: space-between;
41 - margin-top: 60rpx; 41 + // margin-top: 60rpx;
42 .v-input { 42 .v-input {
43 width: 690rpx; 43 width: 690rpx;
44 border-bottom: 1px solid #e5e5e5; 44 border-bottom: 1px solid #e5e5e5;