收藏
回答

请问微信小程序如何保存用户名和密码呢? 登录页面加了保存密码,打钩保存密码之后刷新还是要重新输入?

login.wxml代码如下:


<view>

 <view class="login-icon"> 

 <image class="login-img" src="../../image/11.png"></image> 

 </view>

<view class="usermotto">

    <text class="user-motto">{{motto}}</text>

<form bindsubmit='login'>

<view class="first">

<input id="username" placeholder="请输入用户名" 


placeholder-class="plas" class="inputs" type="text" name="username" 


value="{{strloginUser}}"></input>

</view>

<view class="second">

<input id="password" placeholder="请输入密码" 


placeholder-class="plas" class="inputs" type="password" name="password" 


value="{{strloginpassword}}"></input>

</view>

<view class="{{RemberPass}}" style="width:30%;text-


align:left;margin-left:40rpx;float:left;font-size:13px;margin-


top:20rpx;margin-bottom:20rpx;">

<switch type="checkbox" checked="{{switchChecked}}" 


bindswitcheck="switchChecked" bindchange="bindswitchchange" 


style="transform:scale(0.8)"/>记住密码

    </view>

  <view>

  <button  class="loginBtn" type="primary" form-type='submit'>登录


</button>

</view>

</form>

</view>

</view>





login.js代码如下:


const app = getApp();

Page({

  data: { motto: '欢迎访问',

  username:'',

  password:'',

  strloginUser:'',//登录用户名

  strloginpassword:'',//用户密码

  checkedValue:'',//选中按钮

},

  login: function (e) {

    var me = this;

    var formObject = e.detail.value;

    console.log(e.detail);

    var username = formObject.username;

    var password = formObject.password;

    console.log("username..." + username);

    console.log("password....." + password);

    wx.request({

      url: 'http://127.0.0.1/sqxt/login.php',

      method: 'POST',

      data: {

        'username': e.detail.value.username,

        'password': e.detail.value.password

      },

      header: {

        'content-type': 'application/x-www-form-urlencoded'

      },


      success(res) {

        console.log(res.data)


        if ("success" == res.data.replace(/^\s+|\s+$/g, '') ) {

          wx.navigateTo({

            url: '../sqxt/sqxt'

          })

        } else if ("name or password is wrong" == res.data.replace(/^\s+|


\s+$/g, '')) {


          wx.showModal({

            title: '提示',

            content: '用户名为空或用户名、密码错误,请联系管理员,TEL:560155。',

            showCancel: "false",

            success(res) {

              

                console.log('用户点击确定');

                wx.redirectTo({

                  url: '../login/login'

                })

              

            }

          })

        }


      }

    })

  },

  //获取用户名

loginUser(e) {

  this.setData({

    strloginUser: e.detail.value

  })

},

//获取密码

loginpassword(e) {

  this.setData({

    strloginpassword: e.detail.value

  })

},

//加载缓存的密码

onLoad: function (options) {

  var _this = this;

  _this.setData({

    strloginUser: wx.getStorageSync("strloginUser"),

    strloginpassword: wx.getStorageSync("strloginpassword"),

    switchChecked:wx.getStorageSync('checkedValue')

  })

},

//判断是否要记住密码

bindswitchchange: function (event) {

  //得到值

var checkedValue = event.detail.value;

 // console.log(checkedValue);

  var _this = this;

  if (checkedValue == true){

    _this.setData({

      switchChecked:true,

   

    })

  

   console.log(checkedValue);

  } else if (checkedValue == false{

    _this.setData({

      switchChecked: false

    })

  

    

  }

},

//登录缓存密码

LoginForm: function (e) { //登录加载效果

  var that = this;

  var checkedValue = that.data.switchChecked;

  console.log(checkedValue);

  //如果记住密码则向微信缓存写入账号密码

  //如果不记住密码则清空微信缓存存在的账号密码

  if (checkedValue == true{

    wx.setStorageSync("strloginUser",that.data.strloginUser);

    wx.setStorageSync("strloginpassword",that.data.strloginpassword);

    wx.setStorageSync("checkedValue", that.data.switchChecked);

  } else if (checkedValue == false{

    wx.setStorageSync("strloginUser","");

    wx.setStorageSync("strloginpassword","");

  }

},

})

回答关注问题邀请回答
收藏
登录 后发表内容