Ionic Cordova Sqlite 实现保存用户名登陆
1.添加sqlite 组件
cordova plugin add https://github.com/litehelpers/Cordova-sqlite-storage.git --save
2.编写代码 app.js =>run=> $ionicPlatform.ready 添加
if(window.cordova ) {
ltdb = $cordovaSQLite.openDB({name: "ltapp.db", location: 1});
//创建用户表
$cordovaSQLite.execute(ltdb, "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT, phonenumber INTEGER, password TEXT)"); $cordovaSQLite.execute(ltdb, 'SELECT COUNT(*) FROM users ').then(function (res) {
if (res.rows.length < 0) {
var query = "INSERT INTO users (name,email,phonenumber,password) VALUES ( ?, ?, ?, ?)";
$cordovaSQLite.execute(ltdb, query, ['admin', 'sulin11026@163.com', '13683365354', '123']).then(function (result) {
console.log("success");
}, function (error) {
})
}
},
function (error) {
console.log(error);
}
);
}
controllers .js
controller('LoginCtrl',['$scope', '$state', '$ionicPopup', 'AuthService', function($scope, $state, $ionicPopup, AuthService) {
$scope.login = function() {
var user= $scope.user;
AuthService.login(user.uname, user.pwd).then(function(authenticated) { $state.go('tabs.home', {}, {reload: true});
$scope.setCurrentUsername(user.username);
}, function(err) {
var alertPopup = $ionicPopup.alert({
title: '登录失败',
template: '请输入正确的账号密码!'
});
});
};
}])
servcies.js
.factory('AuthService',['$q', '$http','$cordovaSQLite', function($q, $http,$cordovaSQLite) {var username = '';var login = function(name, pw) {
return $q(function(resolve, reject) {
try {
$cordovaSQLite.execute(ltdb, "SELECT * FROM users WHERE name = ? ",[name]).then(
function(res) {
if (res.rows.length > 0) {
if(pw.toLocaleUpperCase()==res.rows.item(0).password.toLocaleUpperCase()){
resolve('Login success.');
}
}else{
reject('Login Failed.');
}
},
function(error) {
reject('Login Failed.');
}
);
}
catch(ex){
}
});
};return {
login: login
};
}])
index.html
<ion-view class="login" hide-nav-bar="true" style="z-index: 1" cache-view="false">
<form ng-submit="login()" name="theform">
<div id="login">
<div class="logo"><img src="img/fixed/logo.png"></div>
<div class="fill">
<label class="item item-input ion-ios-person-outline">
<input type="text" placeholder="账号" ng-model="user.uname"
ng-focus="hide='1'" ng-blur="hide='1'" ng-required="true" >
</label>
<label class="item item-input ion-ios-locked-outline">
<input type="password" placeholder="密码" ng-model="user.pwd" ng-required="true"
ng-focus="hide='1'" ng-blur="hide='1'" >
</label>
<label class="btn">
<button class="button button-block button-light" type="submit">登录</button>
</label>
</div>
以上测试正常通过,如果有问题需要耐心慢慢调试
Ionic Cordova Sqlite 实现保存用户名登陆的更多相关文章
- 搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo
目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...
- ionic 使用sqlite
昨天被ionic和sqlite折腾一天,怎么也无法实现读取,后来才发现,原来是codova中的sqliteplugin版本问题. 问题:Database location or iosDatabase ...
- 基于ionic+cordova+angularJs从零开始搭建自己的移动端H5 APP
这里详细介绍下如何用ionic+cordova+angularjs搭建自己的移动端app,包括环境搭建,框架使用等,具体项目已放置在github上,可下载下来自行启动. 下载地址:https://gi ...
- ionic+cordova+angularJs
ionic+cordova+angularJs 这里详细介绍下如何用ionic+cordova+angularjs搭建自己的移动端app,包括环境搭建,框架使用等,具体项目已放置在github上,可下 ...
- cookie保存用户名及密码
登陆页中,用户输入用户名密码,点击提交,后台对照mysq数据库中,看是否有对应的用户名,以及密码是否正确.如果正确 则将用户名密码分两份Cookie保存.页面跳转到登陆成功页. 用户再次访问登陆页时, ...
- 用户登录保存数据实例(慕课笔记 使用SharedPreferences保存用户名)
学习视频之后自己操作时的笔记. 0.视频地址:http://www.imooc.com/video/3265 1.功能预览: 说明:1)输入错误用户名和密码,点击登录,弹出提示框“禁止登录”: 2)输 ...
- NSUserDefaults保存用户名和密码
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...
- Ionic Cordova 调用原生 Api 实现拍照上传 图片到服务器功能
Ionic 调用 Device 设备 Api 获取手机的设备信息 1. 找到对应的Api: https://ionicframework.com/docs/native/device/ 2. 安装相关 ...
- Ionic + Cordova 跨平台移动开发环境配置
1.下载安装JDK(根据各自系统选择32位或64位下载),安装完成之后需要做以下环境变量配置 在“系统变量”中,设置3象属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),如果已经 ...
随机推荐
- 17个方法防止dedeCMS织梦网站被黑挂木马
dede织梦cms系统的程序存在漏洞,黑客攻击方法层出不穷,导致网站经常被黑,被百度安全中心等拦截,影响排名和流量,让站长非常头疼,下面总结一些防止dede织梦cms系统被攻击设置的方法,可有效的防止 ...
- Delphi 最小化窗体到托盘
---- 现在很多的应用程序都有这样一种功能,当用户选择最小化窗口时,窗口不是象平常那样最小化到任务栏上,而是“最小化”成一个任务栏图标.象FoxMail 3.0 NetVampire 3.0等都提供 ...
- 软件-开发工具:Gradle
ylbtech-软件-开发工具:Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明 ...
- System.Web.Mvc.HttpOptionsAttribute.cs
ylbtech-System.Web.Mvc.HttpOptionsAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutra ...
- STM32之glossary
glossary Word: data/instruction of 32-bit length. Half word: data/instruction of 16-bit length. Byte ...
- 第三篇:异步请求遇上for循环怎么做
场景:读取Excel数据(地名),发送请求到百度地图,从返回的json格式数据取出坐标数据(逗号隔开的两个float型数值),拼接成了分号隔开的一个字符串data,接下来需要利用“百度坐标转换API” ...
- JS之缓冲动画
原素材 main.html <!DOCTYPE html> <html lang="en"> <head> <link href=&quo ...
- 关于ueditor 文本框
遇到一个问题,需要将从ueditor中的获得的带格式的文本,从数据库中取出,在放回到 ueditor中去,但是 文本中\n总是截断字符串,出现 这种情况,后面的字符就不能算到里面去了,程序就报错了. ...
- 02-python 学习第二天
今天学习了以下几个方面的内容,虽然部分内容不能理解,跟着老师写出了代码. 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 程序练习1:购物车程序 请闭眼写出以下程序. 程序: ...
- 如何解决:修改.gitignore后,不生效
1.git rm -r --cached . 删除缓存 2.git add . 添加要提交的文件 3.git commit -m "update .gitignore" 提交 ...