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 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 193 </style>
... ...
... ... @@ -33,7 +33,7 @@
33 33
34 34 .form-row {
35 35 position: relative;
36   - border-bottom: 1rpx solid #e8e8e8;
  36 + // border-bottom: 1rpx solid #e8e8e8;
37 37 margin-top: 30rpx;
38 38 .input {
39 39 font-size: 34rpx;
... ... @@ -62,11 +62,6 @@
62 62 transform: translateY(-50%);
63 63 right: 0;
64 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 25 .loginPhone {
26 26 .form-row {
27 27 position: relative;
28   - border-bottom: 1px solid #e5e5e5;
29 28 justify-content: space-between;
30 29 .v-input {
31 30 width: 620rpx;
... ...
... ... @@ -14,18 +14,14 @@
14 14
15 15 <view class="f__login">
16 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 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 25 </view>
30 26
31 27 <button class="submit" size="default" @click="onSubmitFunc"><text class="text">登录</text></button>
... ... @@ -68,7 +64,7 @@ export default {
68 64 password: ''
69 65 },
70 66
71   - showPassword: false,
  67 + showPassword: true,
72 68
73 69 code: '',
74 70
... ... @@ -261,7 +257,8 @@ export default {
261 257
262 258 token: true, //token用于判断是否登录
263 259
264   - isThirdLogin: false
  260 + isThirdLogin: false,
  261 + isThirdLoginAndNoDind:false
265 262 };
266 263
267 264 if (userInfo.token) {
... ... @@ -314,4 +311,4 @@ export default {
314 311 /deep/ button {
315 312 background: rgba(0, 0, 0, 0);
316 313 }
317   -</style>
  314 +</style>
... ...
... ... @@ -38,7 +38,7 @@
38 38 .form-row {
39 39 position: relative;
40 40 justify-content: space-between;
41   - margin-top: 60rpx;
  41 + // margin-top: 60rpx;
42 42 .v-input {
43 43 width: 690rpx;
44 44 border-bottom: 1px solid #e5e5e5;
... ...