起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: qingbo

[结贴] bex5开发APP怎样实现手机每次退出app应用再次进入都必须登录

[复制链接]

1

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
 楼主| 发表于 2016-12-23 17:40:09 | 显示全部楼层
大雁子 发表于 2016-12-23 17:32
不应该去js文件里面改么

/UI2/portal/mobile/login/login.js
  1. define(function(require){
  2.         require("css!$UI/portal/mobile/css/icon").load();
  3.         require("$UI/system/lib/cordova/cordova");
  4.         require('$UI/system/lib/jquery/transition');

  5.         var MD5 = require('$UI/system/lib/base/md5'),
  6.                 $= require('jquery'),
  7.                 justep = require('$UI/system/lib/justep'),
  8.                 biz = require('$UI/system/lib/biz'),
  9.                 md5 = new MD5(),
  10.                 loginAction = "$UI/portal/base/login/login.j";
  11.                
  12.         var LangParamName = 'language';       
  13.        
  14.         var Model = function(){
  15.                 this.callParent();
  16.     };
  17.        
  18.         Model.prototype.modelLoad = function(event){
  19.                 var me = this,
  20.                         remember = this.comp('remember'),
  21.                         name = this.comp('name'),
  22.                         password = this.comp('password'),
  23.                         lang = this.comp('lang'),
  24.                         langs = this.comp('langs'),
  25.                         autoLogin = this.comp('autoLogin');
  26.                        
  27.                 //如果只有一种语言那么隐藏语言选项
  28.                 if(langs.getCount() > 1){
  29.                         $(".lang-switch").show();
  30.                         var search = window.location.search;
  31.                         if(search){
  32.                                 search = search.substring(1);
  33.                                 search = search.split("&");
  34.                                 for(var i=0; i<search.length; i++){
  35.                                         if(search[i].indexOf(LangParamName + "=") == 0){
  36.                                                 var value = search[i].split("=")[1];
  37.                                                 lang.val(value);
  38.                                                 break;
  39.                                         }
  40.                                 }
  41.                         }
  42.                 }       

  43.                 if(this.store('rememberme') == 'remember'){
  44.                         remember.val(true);
  45.                         name.val(this.store("username"));
  46.                         password.val(this.store("password"));
  47.                         autoLogin.val(this.store("autoLogin"));
  48.                 }
  49.                
  50.                 $('body').on('keyup',function(){
  51.                         if(event.keyCode==13){
  52.                                 me.login();
  53.                                 return false;
  54.                         }
  55.                 });
  56.                
  57.         var urlParams = new justep.URL(window.location.href).params || {};//$.parseUrlQuery(window.location.href);
  58.                 var manualLogin = urlParams.manualLogin === 'true' || urlParams.manualLogin === true;
  59.                
  60.                 if(!manualLogin && autoLogin.val()){
  61.                         this.login();
  62.                 }
  63.         };
  64.        
  65.         Model.prototype.login = function(){
  66.                 var remember = this.comp('remember'),
  67.                         name = this.comp('name'),
  68.                         password = this.comp('password'),
  69.                         autoLogin = this.comp('autoLogin');
  70.        
  71.         var urlParams = new justep.URL(window.location.href).params || {};//$.parseUrlQuery(window.location.href);
  72.         delete urlParams.manualLogin;
  73.         urlParams.username = name.val();
  74.         urlParams.password = password.val();
  75.         if (urlParams.password !== this.store("password")){//说明非是明文
  76.                         urlParams.password = md5.hex_md5_salt(urlParams.password);
  77.         }
  78.         urlParams.loginDate = justep.Date.toString(new Date(), 'yyyy-MM-dd');
  79.         
  80.         var result = this.doLogin(urlParams);
  81.         
  82.         if(result.flag === true){
  83.         
  84.                         var auto = autoLogin.val();
  85.                         if(remember.val()){
  86.                                 this.store('rememberme',"remember");
  87.                                 this.store('username',urlParams.username);
  88.                                 this.store('password',urlParams.password);
  89.                                 this.store('autoLogin', auto);
  90.             }
  91.                         //对话框返回数据
  92.                         this.comp("receiver").windowEnsure(result.data);
  93.                        
  94.             return false;
  95.         }else{
  96.             alert(result.message);
  97.         }
  98.         };
  99.        
  100.         Model.prototype.doLogin = function(params){
  101.                 params['url'] = require.toUrl(loginAction);
  102.         var result = biz.Request.login(params);
  103.        if(result.status === 0){
  104.                  return {flag: false, message: "网络有问题, 请与管理员联系!"};
  105.        }else{
  106.                   return JSON.parse(result.responseText);
  107.        }       
  108.     };       
  109.        
  110.         Model.prototype.rememberChange = function(event){
  111.                 var checked = event.source.val();
  112.         if(!checked){
  113.             this.store("rememberme", false);
  114.             this.store("username", '');
  115.             this.store("password", '');
  116.         }
  117.         return false;
  118.         };
  119.        
  120.         Model.prototype.loginClick = function(event){
  121.                 this.login();
  122.                 return false;
  123.         };
  124.        
  125.         Model.prototype.store = function(name, value){
  126.                 if(value !== undefined){
  127.                         localStorage.setItem(name, value);               
  128.                 }else{
  129.                         value = localStorage.getItem(name);
  130.                         if(value === 'true') value = true;
  131.                         if(value === 'false') value = false;
  132.                         if(value === 'null') value = null;
  133.                         return value;
  134.                 }
  135.         };
  136.         Model.prototype.autoLoginChange = function(event){
  137.                 var checked = event.source.val();
  138.                 if(checked){
  139.                         this.comp('remember').val(true);
  140.                 }
  141.         return false;
  142.         };
  143.         Model.prototype.langChange = function(event){
  144.                 var lang = event.value;
  145.                 if(!lang) return;
  146.                 var search = window.location.search;
  147.                 if(search){
  148.                         search = search.substring(1);
  149.                         search = search.split('&');
  150.                         var newSearch = [];
  151.                         for(var i=0; i<search.length; i++){
  152.                                 if(search[i].indexOf(LangParamName + "=") != 0)
  153.                                         newSearch.push(search[i]);
  154.                         }
  155.                         newSearch.push(LangParamName + "=" + lang);
  156.                         search = "?" + newSearch.join("&");
  157.                 }else
  158.                         search = "?" + LangParamName + "=" + lang;
  159.                 window.location.href = window.location.origin + window.location.pathname + search + window.location.hash;
  160.         };
  161.         Model.prototype.showLangBtnClick = function(event){
  162.                 $("[xid='showLangBtn']").hide();
  163.                 $("[xid='hideLangBtn']").show();
  164.                 $(".login-lang").show();
  165.         };
  166.         Model.prototype.hideLangBtnClick = function(event){
  167.                 $("[xid='showLangBtn']").show();
  168.                 $("[xid='hideLangBtn']").hide();
  169.                 $(".login-lang").hide();
  170.         };
  171.         return Model;
  172. });
复制代码

没看出来你们缓存写那
回复 支持 反对

使用道具 举报

1

主题

1831

帖子

821

积分

高级会员

Rank: 4

积分
821
QQ
发表于 2016-12-23 17:41:25 | 显示全部楼层
这个方法
  1. Model.prototype.store = function(name, value){
  2.                 if(value !== undefined){
  3.                         localStorage.setItem(name, value);               
  4.                 }else{
  5.                         value = localStorage.getItem(name);
  6.                         if(value === 'true') value = true;
  7.                         if(value === 'false') value = false;
  8.                         if(value === 'null') value = null;
  9.                         return value;
  10.                 }
  11.         };
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-19 16:00 , Processed in 0.059243 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表