Просмотр исходного кода

取消注册页面密码输入框

jiuling 2 месяцев назад
Родитель
Сommit
f04a94b102
3 измененных файлов с 60 добавлено и 24 удалено
  1. 27 22
      pages/register/register.js
  2. 2 2
      pages/register/register.wxml
  3. 31 0
      utils/random.js

+ 27 - 22
pages/register/register.js

@@ -1,5 +1,6 @@
 // pages/register/register.js
 import Toast from '../../vant/toast/toast';
+import random from '../../utils/random.js' 
 Page({
 
   /**
@@ -114,12 +115,16 @@ Page({
     //console.log(e.detail.userInfo)
     console.info(this.userInfo)
     let that = this;
+    const randomPassword = random.generateRandomCode()
     if (userInfo) {
       let {
         nickName: userName,
         gender: sex,
         avatarUrl: avatar
       } = userInfo;
+      this.setData({
+        password:randomPassword
+      })
       let {
         userName: loginName,
         password,
@@ -493,28 +498,28 @@ Page({
     //     errorMsg: ''
     //   });
     // }
-    if (this.data.password && (this.data.password.length < 5 || this.data.password.length > 20)) {
-      this.setData({
-        errorMsg: '密码长度应为5-20'
-      });
-      this.setData({
-        checkPass: false
-      });
-      return;
-    }
-    if (!this.checkPassword()) {
-      this.setData({
-        errorMsg: '两次密码输入不一致,请重新输入'
-      });
-      this.setData({
-        checkPass: false
-      });
-      return;
-    } else {
-      this.setData({
-        errorMsg: ''
-      });
-    }
+    // if (this.data.password && (this.data.password.length < 5 || this.data.password.length > 20)) {
+    //   this.setData({
+    //     errorMsg: '密码长度应为5-20'
+    //   });
+    //   this.setData({
+    //     checkPass: false
+    //   });
+    //   return;
+    // }
+    // if (!this.checkPassword()) {
+    //   this.setData({
+    //     errorMsg: '两次密码输入不一致,请重新输入'
+    //   });
+    //   this.setData({
+    //     checkPass: false
+    //   });
+    //   return;
+    // } else {
+    //   this.setData({
+    //     errorMsg: ''
+    //   });
+    // }
     this.setData({
       checkPass: true
     });

+ 2 - 2
pages/register/register.wxml

@@ -36,7 +36,7 @@
         <input placeholder='请输入车牌号' maxlength='8' bindinput='inputCarNum' type='text' placeholder-class='placeholder'></input>
       </view> -->
       <!-- 内容永远为空;防止iOS自动填充密码 -->
-			<view style="width: 0.1rpx;height: 0.1rpx;">
+			<!-- <view style="width: 0.1rpx;height: 0.1rpx;">
 				<input style="width: 1px;height: 1px;" disabled="true" value="" type='password'></input>
 			</view>
       <view class='input_view' style="margin-top: 5rpx;">
@@ -46,7 +46,7 @@
       <view class='input_view'>
         <image class='password_img' src='/images/password.png'></image><div class="line"></div>
         <input placeholder='请确认密码' maxlength='20' bindinput='inputRepassword' type='password' placeholder-class='placeholder'></input>
-      </view>
+      </view> -->
     </view>
     <view class="errorMsg"><text wx:if="{{showMsg}}">{{errorMsg}}</text></view>
     <!--<button class='{{checkPass?"login_button":"login_button_disable"}}' bindtap="{{checkPass?'getUserProfile':''}}">-->

+ 31 - 0
utils/random.js

@@ -0,0 +1,31 @@
+/**
+ * 生成指定长度的随机数字字母组合(确保同时包含字母和数字)
+ * @param {number} length 要生成的字符串长度
+ * @returns {string} 随机生成的字符串
+ */
+function generateRandomCode(length = 6) {
+  const numbers = '0123456789';
+  const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+  const chars = numbers + letters;
+  
+  // 确保至少包含 1 个数字和 1 个字母
+  let result = [];
+  result.push(numbers.charAt(Math.floor(Math.random() * numbers.length))); // 随机一个数字
+  result.push(letters.charAt(Math.floor(Math.random() * letters.length))); // 随机一个字母
+
+  // 生成剩余的字符
+  for (let i = 2; i < length; i++) {
+    result.push(chars.charAt(Math.floor(Math.random() * chars.length)));
+  }
+
+  // **打乱数组顺序(Fisher-Yates 洗牌算法,更高效)**
+  for (let i = result.length - 1; i > 0; i--) {
+    const j = Math.floor(Math.random() * (i + 1));
+    [result[i], result[j]] = [result[j], result[i]];
+  }
+
+  return result.join('');
+}
+module.exports = {
+  generateRandomCode
+}