登录页面的设计

登录页面中的结果有三个:用户名不对、密码不对、成功登录。对应的是不同的结果。那么这三者要怎么显示是我一直思考的。
(1)首先是在后台与数据库交互方面,要返回什么样的结果,我设置的是不同的数字对应不同的结果,以便于后续在js中的操作:

 async manaAction(){
            let model = this.model('mana_info');
            let name=this.get("name");
            let pwd=this.get("pwd");
            let data = await model.where({manaName: name}).find();
            if(think.isEmpty(data)) {
                // 内容为空时的处理
                return this.success("2");
            }
            else{
                if(pwd==(data.manaKey)){
                    return this.success("1");
                }
                else{
                    return this.success("3");
                }
            }
        }

这里我开始用了.equals发现报错了,查阅才发现应该用==
(2)小程序端的js文件:
这里有一个问题,就是三种结果怎样显示以及如何去实现。
一开始我的想法是在js中处理后台返回的值,不同的值对应一个url传的参数,然后通过wxml文件跳转,但是现实中如果我们输错了用户名或密码通常只是弹窗提醒,不会跳转,所以这个思路行不通
然后我的思路转变为错误的话有弹窗提醒,正确的话直接跳转,首先我想到的是在wxml页面里引用js代码,但是显然这样太麻烦。所以我搜索了一下怎样在js文件中加弹窗和跳转,搜到了 wx.showModal以及wx.navigateTo ,使用这两者成功的解决了问题
参考:这是wx.navigateTo
https://blog.csdn.net/qq_38822390/article/details/84971401
这是wx.showModal
https://www.cnblogs.com/xinzaiyuan/p/12049865.html
下面是js的核心代码:

getCons: function () {
    wx.request({
      url: 'http://127.0.0.1:8360/home/chap/mana',
      data: {
        name: this.data.manaName,
        pwd: this.data.manaKey
      },
      success: function (res) {
        //获取相应结果
        var result = res.data.data;
        console.info(result)
        if (result == 1) {
        //如果查询成功则跳转
          wx.navigateTo({
            url: '../write/write'
          })
        }
        else {
        //查询失败则弹出窗口
          if (result == 2) {
            console.info("1")
            wx.showModal({
              title: '出错了',
              content: '用户名不存在',
              showCancel: false,//是否显示取消按钮
              cancelColor: 'skyblue',//取消文字的颜色
              confirmColor: 'skyblue',//确定文字的颜色
              success: function (res) {
                if (res.cancel) {
                  //点击,默认隐藏弹框
                }
              },
              fail: function (res) { },//接口调用失败的回调函数
              complete: function (res) { },//接口调用结束的回调函数(调用成功、失败都会执行)
            })
          }
          else {
            console.info("1")
            wx.showModal({
              title: '出错了',
              content: '请仔细检查您的密码',
              showCancel: false,//是否显示取消按钮
              cancelColor: 'skyblue',//取消文字的颜色
              confirmColor: 'skyblue',//确定文字的颜色
              success: function (res) {
                if (res.cancel) {
                  //点击,默认隐藏弹框
                }
              },
              fail: function (res) { },//接口调用失败的回调函数
              complete: function (res) { },//接口调用结束的回调函数(调用成功、失败都会执行)
            })
          }
        }
      }

    })
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值