var filegUP = require('../../utils/getUserPassword.js');
var filemd5 = require('../../utils/md5.min.js');
var fileUtil = require('../../utils/util.js');
var chkStrLength = fileUtil.chkStrLength;
var gd = getApp().globalData;
var apiUrlApp = gd.apiUrlApp;
var localImgPath = gd.localImgPath;
var loginTypeArr = Array('手机号', '用户名');
var loginTypeAreaMobile = true;
var loginTypeStr = loginTypeArr[1];
Page({
onLoad: function(option) {
console.log("加载登录页面")
wx.clearStorageSync()
console.log("同步清理本地数据缓存")
},
data: {
localImgPath: localImgPath,
loginTypeStr: loginTypeStr,
loginTypeAreaMobile: loginTypeAreaMobile
},
formSubmit: function(e) {
var usernameChk = e.detail.value.username;
var passwordChk = e.detail.value.password;
if (usernameChk.length == 0 || passwordChk.length == 0) {
wx.showToast({
title: '用户名或密码不得为空!',
icon: 'loading',
duration: 1500
}),
setTimeout(function() {
wx.hideToast()
}, 2000)
} else if (passwordChk.length < 1) {
wx.showToast({
title: '请输入大于1位用户名!',
icon: 'loading',
duration: 1500
}),
setTimeout(function() {
wx.hideToast()
}, 2000)
} else if (passwordChk.length < 1 || passwordChk.length > 20) {
wx.showToast({
title: '请输入1-20密码!',
icon: 'loading',
duration: 1500
}),
setTimeout(function() {
wx.hideToast()
}, 2000)
} else {
wx.request({
url: apiUrlApp + 'acc/get_salt/?username=' + usernameChk,
header: {},
method: "GET",
data: {},
success: function(res) {
if (res.data.status != 1) {
wx.showToast({
title: 'Fail-getSalt',
icon: 'loading',
duration: 2000
})
} else if (res.data.status == 1) {
var salt = res.data.data.salt;
var pwdWithSalt = passwordChk + '-' + salt;
var pwdMd5 = filemd5.md5(pwdWithSalt);
var pwdSubmit = pwdMd5.slice(-17) + pwdMd5.slice(0, -17);
wx.request({
url: apiUrlApp + 'acc/login/',
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
method: "POST",
data: {
username: usernameChk,
password: pwdSubmit
},
success: function(res) {
//storage
wx.setStorageSync("username", res.data.data["username"]);
wx.setStorageSync("gid", res.data.data["gid"]);
wx.setStorageSync("uid", res.data.data["uid"]);
wx.request({
url: apiUrlApp + 'acc/get_userinfo/',
header: {
'Content-Type': 'application/x-www-form-urlencoded',
'cookie': wx.getStorageSync('username'),
'cookie': wx.getStorageSync('uid'),
'cookie': wx.getStorageSync('gid')
},
method: "GET",
data: {
username: wx.getStorageSync('username')
},
success: function(res) {
console.log(res)
if (res.data.status == 1) {
wx.showToast({
title: "帐号详情",
icon: 'success',
duration: 1500
});
wx.setStorageSync("userinfo", res.data.data);
wx.request({
url: apiUrlApp + 'common/get_orginfo/',
header: {
'Content-Type': 'application/x-www-form-urlencoded',
'cookie': wx.getStorageSync('username'),
'cookie': wx.getStorageSync('uid'),
'cookie': wx.getStorageSync('gid')
},
method: "GET",
data: {
uid: wx.getStorageSync('uid')
},
success: function(res) {
if (res.data.status == 1) {
wx.showToast({
title: "帐号详情",
icon: 'success',
duration: 1500
});
res.data.data.cat_id_1 = industryClassification[res.data.data.cat_id_1];
wx.setStorageSync("companyinfo", res.data.data);
} else if (res.data.status == 0) {
wx.showToast({
title: "无数据返回",
icon: 'success',
duration: 1500
})
} else if (res.data.status == -1) {
wx.showToast({
title: "请求异常,请检查重试",
icon: 'loading',
duration: 2000
})
}
}
})
} else if (res.data.status == 0) {
wx.showToast({
title: "无数据返回",
icon: 'success',
duration: 1500
})
} else if (res.data.status == -1) {
wx.showToast({
title: "请求异常,请检查重试",
icon: 'loading',
duration: 2000
})
}
}
})
if (res.data.status == 1) {
wx.showToast({
title: "登录成功,页面跳转中",
icon: 'success',
duration: 1500
});
wx.reLaunch({
url: '../user_center/userCenter'
})
} else if (res.data.status == 0) {
wx.showToast({
title: "用户名或密码错误!",
icon: 'loading',
duration: 1500
})
} else if (res.data.status == -1) {
wx.showToast({
title: "请求异常,请检查重试",
icon: 'loading',
duration: 1500
})
}
}
})
}
}
})
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function() {
},
changeLoginType: function(e) {
console.log('changeLoginType--->')
var title ='';
loginTypeAreaMobile == true ? (loginTypeStr = loginTypeArr[1], title = loginTypeArr[0]) : (loginTypeStr = loginTypeArr[0], title = loginTypeArr[1])
wx.setNavigationBarTitle({
title: title + '登录'
});
this.setData({
loginTypeStr: loginTypeStr,
loginTypeAreaMobile: loginTypeAreaMobile
})
loginTypeAreaMobile = !loginTypeAreaMobile
}
})
<!--index.wxml-->
<view id="login">
<form bindsubmit="formSubmit" bindreset="formReset" >
<view class="page__bd" class="{{loginTypeAreaMobile===true ? '':'hide' }}" >
<view class="weui-cells">
<navigator url="" class="weui-cell weui-cell_access" hover-class="weui-cell_active">
<view class="weui-cell__hd">
<image src="{{localImgPath}}mobile.svg" style="margin-right: 5px;vertical-align: middle;width:20px; height: 20px;"></image>
</view>
<input class="weui-input" type="number" value="{{usernameMobile}}" name="username" maxlength="13" auto-focus placeholder="请输入手机号码" />
</navigator>
<navigator url="" class="weui-cell weui-cell_access" hover-class="weui-cell_active">
<view class="weui-cell__hd">
<image src="{{localImgPath}}mobilePwd.svg" style="margin-right: 5px;vertical-align: middle;width:20px; height: 20px;"></image>
</view>
<input class="weui-input" type="number" value="{{passwordMobile}}" name="password" maxlength="13" placeholder="请输入短信验证码" />
<view class="weui-cell__ft">
<button class="weui-vcode-btn sub-font-size-01">获取验证码</button>
</view>
</navigator>
</view>
</view>
<view class="page__bd" class="{{loginTypeAreaMobile===true ? 'hide':'' }}" >
<view class="weui-cells">
<navigator url="" class="weui-cell weui-cell_access" hover-class="weui-cell_active">
<view class="weui-cell__hd">
<image src="{{localImgPath}}usernameLogin.svg" style="margin-right: 5px;vertical-align: middle;width:20px; height: 20px;"></image>
</view>
<input class="weui-input" type="text" value="{{username}}" name="username" maxlength="13" auto-focus placeholder="用户名" />
</navigator>
<navigator url="" class="weui-cell weui-cell_access" hover-class="weui-cell_active">
<view class="weui-cell__hd">
<image src="{{localImgPath}}usernamePwd.svg" style="margin-right: 5px;vertical-align: middle;width:20px; height: 20px;"></image>
</view>
<input class="weui-input" type="password" value="{{password}}" name="password" maxlength="13" placeholder="请输入密码" />
</navigator>
</view>
</view>
<view class="section btn-area">
<button formType="submit" class="submit-button font_fff">登录</button>
</view>
</form>
<view class=" page__bd page__bd_spacing">
<view class="button-sp-area">
<button class="weui-btn weui-btn_mini weui-btn_primary width_p_40 sub-font-size-01" style="margin-right:0.8em" bindtap="changeLoginType" >切换{{loginTypeStr}}登录</button>
</view>
</view>
</view>