// pages/login/login.js import WxValidate from '../../utils/wxValidate' const app = getApp() Page({ /** * 页面的初始数据 */ data: { frameStyle: { useTop: false, name: '登录', leftArrow: false, useBar: false }, // 主体高度 infoHeight: '', //判断协议是否选中 agreement: false, }, initValidate() { const rules = { phone: { required: true, tel: true }, password: { required: true, } } // 验证字段的提示信息,若不传则调用默认的信息 const messages = { phone: { required: '请输入账号', }, password: { required: '请输入密码', } }; this.WxValidate = new WxValidate(rules, messages) }, back: function () { wx.navigateBack({ url: '/pages/home/index' }) }, //使用协议 checkboxChange(e) { const that = this; let value = e.detail.value; if (value.length > 0) that.setData({ agreement: true }) else that.setData({ agreement: false }) }, // 提交登录 onSubmit: function (e) { const params = e.detail.value; if (!this.WxValidate.checkForm(params)) { const error = this.WxValidate.errorList[0]; wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 }) return false } else { if (this.data.agreement) { wx.request({ url: app.globalData.publicUrl + `/api/hc/user/login`, method: "post", data: { ...params }, header: {}, success: (res) => { if (res.data.errcode == '0') { wx.setStorage({ key: "user", data: res.data.data }); app.globalData.userInfo = res.data.data; wx.showToast({ title: `账号登录成功`, icon: 'success', duration: 2000 }) wx.navigateTo({ url: '/pages/home/index' }) } else { wx.showToast({ title: res.data.errmsg, icon: 'error' }) } }, fail: (res) => { }, complete: (res) => { }, }) } else { wx.showToast({ title: `请同意使用协议`, icon: 'error', duration: 1000 }) } } }, //微信登录 wxlogin: function () { wx.showToast({ title: `暂未开放`, icon: 'error', duration: 2000 }) }, //注册 register: function () { wx.showToast({ title: `暂未开放`, icon: 'error', duration: 2000 }) }, //忘记密码 noopen: function () { wx.showToast({ title: `暂未开放`, icon: 'error', duration: 2000 }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //验证规则函数 this.initValidate() // 计算高度 this.searchHeight() }, // 计算高度 searchHeight: function () { let frameStyle = this.data.frameStyle; let client = app.globalData.client; let infoHeight = client.windowHeight; // 是否去掉状态栏 if (frameStyle.useTop) infoHeight = infoHeight - (client.statusBarHeight + client.getMenu.height + (client.getMenu.top - client.statusBarHeight) * 2); // 是否减去底部菜单 if (frameStyle.useBar) infoHeight = infoHeight - 50; if (infoHeight) this.setData({ infoHeight: infoHeight }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })