|
本帖最后由 yyddydy 于 2016-1-28 16:35 编辑
记住密码本可以用localStorage实现 但是安卓手机退出程序后localStorage会失效 所以用到了sqlite 那么问题又来了 浏览器不支持sqlite所以我写了下面的例子 供参考 有问题可以给我留言- define(function(require){
- var $ = require("jquery");
- var justep = require("$UI/system/lib/justep");
-
-
- var Model = function(){
- this.callParent();
- this.db;
- };
- Model.prototype.resetbtnClick = function(event){
- this.comp("username").val("");
- this.comp("pwd").val("");
- };
- Model.prototype.loginbtnClick = function(event){
-
-
-
- var username=this.comp("username").val();
- var pwd=this.comp("pwd").val();
- if(username=="zy"||username=="aaa"){
- if(pwd=="zy"){
- //如果选择了记住我
- if(this.comp("remembercb").val()){
- try{
- //更新sqlite中的用户名密码
- this.db.transaction(function(tx) {
- tx.executeSql("UPDATE rememberuser SET username = ?, pwd = ?, isremember = ? WHERE id=1;", [ username, pwd ,1 ], function(tx, res) {
- }, function(e) {
- alert("ERROR: " + e.message);
- });
- });
- }catch(e){
- //如果不支持sqlite比如浏览器用localStroage存储
- localStorage.username= username;
- localStorage.pwd= pwd;
- localStorage.remember= 1;
- }
- //没有选择记住我
- }else{
-
- try{
- //更新sqlite中的用户名密码
- this.db.transaction(function(tx) {
- tx.executeSql("UPDATE rememberuser SET username = ?, pwd = ?, isremember = ? WHERE id=1;", [ "", "" ,0 ], function(tx, res) {
- }, function(e) {
- alert("ERROR: " + e.message);
- });
- });
- }catch(e){
- //如果不支持sqlite比如浏览器用localStroage存储
- localStorage.username= "";
- localStorage.pwd= "";
- localStorage.remember= 0;
- }
- }
-
- justep.Shell.showPage("$UI/yim/home.w");
- }else{
- this.comp("pwderr").show();
- }
- }else{
- this.comp("unerr").show();
- }
- };
- Model.prototype.modelLoad = function(event){
- var me = this;
- document.addEventListener("deviceready", onDeviceReady, false);
- // sqlite设备就绪
- function onDeviceReady() {
- me.db = window.sqlitePlugin.openDatabase({
- name : "yim.db"
- });
- me.db.transaction(function(tx) {
- tx.executeSql('CREATE TABLE IF NOT EXISTS rememberuser (id integer primary key, username text, pwd text , isremember integer)');
- });
- }
- //默认插入一条数据
- try{
- var totalcount=0;
- //判断表里有几条数据
- this.db.transaction(function(tx) {
- tx.executeSql("select count(*) as count from rememberuser", [], function(tx, res) {
- totalcount=res.rows.item(0).count;
- //alert(totalcount);
- }, function(e) {
- alert("ERROR2: " + e.message);
- });
- });
- //如果表里没有数据 填一条
- this.db.transaction(function(tx) {
- if(totalcount<1){
- tx.executeSql("INSERT INTO rememberuser (isremember) VALUES (?)", [ 0 ], function(tx, res) {
- }, function(e) {
- alert("ERROR: " + e.message);
- });
- }
- });
- //查询数据库判断是否记住了密码
- this.db.transaction(function(tx) {
- tx.executeSql("select id,username,pwd,isremember from rememberuser limit 1;", [], function(tx, res) {
-
- if(res.rows.item(0).isremember){
- me.comp("username").val(res.rows.item(0).username);
- me.comp("pwd").val(res.rows.item(0).pwd);
- me.comp("remembercb").set({"checked":true,"value":1});
- }
- });
- });
- }catch(e){
- //不支持sqlite情况
-
- if(localStorage.remember==1){
- this.comp("username").val(localStorage.username);
- this.comp("pwd").val(localStorage.pwd);
- this.comp("remembercb").set({"checked":true,"value":1});
- }
- return false;
- }
-
- };
- return Model;
- });
复制代码
|
|