123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- new Vue({
- el: "#main",
- data: {
- type: 1, //记录选择的登录方式,1-手机号登录,2-验证码登录
- mobile: '',
- password: '',
- captcha: '',
- eyeIsOpen: false,
- infoText: '获取验证码',
- countdown: false //是否在倒计时
- },
- methods: {
- changeType: function(val){
- this.type = val;
- },
- getCaptcha: function(){
- //先校验手机号码是否正确
- var isMobile = isMobilePhone(this.mobile);
- if(!isMobile){
- tip('请输入正确的手机号码!');
- return false;
- }
- setTimer(this);
- //发送请求
- sendToGetCaptcha(this);
- },
- login: function(){
- if(this.type == 1){
- var validation = $("#form1").valid();
- if(validation){
- getPublicKey(this);
- }
- }else{
- var validation = $("#form2").valid();
- if(validation){
- login({
- mobile: this.mobile,
- captcha: this.captcha,
- platform: 4
- })
- }
- }
- },
- }
- });
- //验证码定时
- function setTimer(vm) {
- var seconds = 59;
- vm.countdown = true;
- timer = setInterval(function() {
- if(seconds == 0) {
- clearInterval(timer);
- timer = null;
- seconds = 59;
- vm.infoText = "获取验证码";
- vm.countdown = false;
- return ;
- }
- seconds --;
- vm.infoText = seconds+"s后重新获取";
- }, 1000)
- }
- function sendToGetCaptcha(vm){
- var url = "common/captcha",
- params = {
- mobile: vm.mobile,
- type: 5,
- captchaToken: 5
- };
- httpRequest.post(url, {data: params}).then(function(res){
- if(res.status == 200){
- tip('发送成功','add');
- }else{
- tip('获取验证码失败');
- }
- });
- }
- function getPublicKey(vm){
- var url = "login/public_key";
- httpRequest.post(url).then(function(res){
- if(res.status){
- var mod = res.data.modulus;
- var exp = res.data.exponent;
- key = RSAUtils.getKeyPair(exp, "", mod);
- if (key) {
- encryedPwd = RSAUtils.encryStr(key, vm.password);
- login({
- mobile: vm.mobile,
- password: encryedPwd,
- platform: 4
- })
- }else {
- tip("获取数据失败")
- $submit.removeAttr('disabled')
- }
- }else{
- tip(res.msg);
- }
- })
- }
- function login(data) {
- httpRequest.post('login/doctor', {data: data}).then(function(res){
- if(res.status == 200){
- var docInfo = res.data;
- localStorage.setItem(httpRequest.agentName,JSON.stringify({
- id: docInfo.id,
- uid: docInfo.uid,
- token: docInfo.token,
- imei: localStorage.getItem('WLYY_IMEI'),
- platform: 4
- }));
- localStorage.setItem("app_storage", JSON.stringify({
- 'api_login_doctor': docInfo,
- 'IMEI': localStorage.getItem('WLYY_IMEI')
- }))
- //将用户的角色信息单独存储在localstorage中
- localStorage.setItem("userRole", JSON.stringify(docInfo.userRole));
- window.location.href = "../home/html/index.html";
- }else{
- tip(res.msg);
- }
- });
- }
|