插件安装
ionic plugin add cordova-sqlite -storage
选择操作数据库的库PouchDB
下载PouchDBjs库 自行下载或者使用bower管理器下载 index引入PouchDBjs库
<script src ="lib/pouchdb/dist/pouchdb.min.js" > </script >
http: //blog.csdn .net /qq_29287973/article/details/53334075
将操作数据库的方法封装成Service
.factory('appSQL' , function () {
var _db;
_db = new PouchDB('appSQL' , {adapter: 'websql' });
return {
initDB: function () {
_db = new PouchDB('appSQL' , {adapter: 'websql' });
},
getinfo: function (id,callback) {
_db.get (id).then(function (result) {
callback(result);
}).catch (function (err) {
callback(err);
});
},
updataInfo:function (id,data,callback) {
_db.get (id).then(function (doc) {
return _db.put({
_id: id,
_rev: doc._rev,
data: data
}).then(function (response) {
callback(response);
});
}).catch (function (err) {
if (err.status == '404' ){
_db.put({
_id: id,
data: data
}).then(function (response) {
callback(response);
});
}
});
},
removeInfo: function (id) {
_db.get (id).then(function (doc) {
return _db.remove(doc);
})
}
}
})
appSQL服务的使用
.run(function ($ionicPlatform ,appSQL,$cordovaNativeAudio ) {
console.log('leason' );
$ionicPlatform .ready(function () {
appSQL.initDB();
.
.
.
$scope .login = function () {
var opr = 'login' ,
action = 'login.do ' ,
psw = hex_md5(hex_md5(hex_md5($scope .loginCtrl.psw))),
tel = $scope .loginCtrl.tel;
var data = {
user_name:tel,
pwd:psw
};
var sqlData = {
'user_name' :tel
};
if (regularServe.tel.test(tel)){
mainServe.showLoading();
ajaxServe.pubAjax(opr,data,action,function (data) {
$cordovaToast .show(data.msg, 'long' , 'top' );
$rootScope .loginState = true ;
appSQL.updataInfo(SSID,data.ssid);
appSQL.updataInfo(PER_INFO,sqlData,function () {
mainServe.hideLoding();
$state .go('tab.index' , {}, {
reload: true
});
});
});
}else {
$cordovaToast .show('手机号格式错误!' , 'long' , 'top' );
}
}
appSQL.getinfo(PER_INFO,function (data) {
if (data.status == '404' ){
$cordovaToast .show('请先登录!' , 'long' , 'top' );
$location .path('/tab/index/login' );
}else {
if (data.data.user_name == '' || data.data.user_name == undefined) {
$cordovaToast .show('请先登录!' , 'long' , 'top' );
$location .path('/tab/index/login' );
} else {
console.log('login' );
socket.init();
}
}
});