WEBAPP 개발 MUI 프레임 워 크 다음 간단 한 JS 모방 redis 데이터 저장 플러그 인
프레임 워 크 홈 페이지:http://www.dcloud.io/ 프레임 API:http://www.html5plus.org/doc/h5p.html
회사 개발 앱 은 안 드 로 이 드 와 ios 개발 을 추가 로 채용 하지 않 아 도 되 고 각종 해상도 호 환 문 제 를 골 치 아 프 게 하지 않 아 도 된다.
이전에 어떤 앱 은 일부 사용자 의 데 이 터 를 핸드폰 에 저장 해 야 하고 사용자 가 자발적으로 삭제 할 수 없 는 것 이 필요 했다. 캐 시 를 사용 하면 요 구 를 만족 시 킬 수 없 을 것 이다. 나중에 나 는 js 로 redis 와 유사 한 간단 한 데이터 저장 플러그 인 을 모 의 했다.다음은 코드 를 첨부 합 니 다. [사용 사례 가 있 습 니 다]:
/**
* [ ]
*
*
* , PC redis
*
* :
* :2017-05-04
*
*
* new CwAppDB().InsertOrUpdate(table,key,value);
* , ,key , key value 。 , " "
* 【 , , (1-2 ) InsertOrUpdate , 】
*
*
* new CwAppDB().SelectKey(table,key,OnSelectOver);
* , ,key , OnSelectOver(key,value),
* , key , , ,
*
*
* new CwAppDB().DeleteKey(table,key);
* , , key , , ,
*
*
* new CwAppDB().InsertOrUpdateArry(table,keys,values);
* , key value 。 ,key value
*
*
* new CwAppDB().DeleteKeyArry(table,keys);
* , , key
*
*
* new CwAppDB().SelectAll(table,OnSelectOver);
* , , ,
* JSON
*
*
* new CwAppDB().SelectToValue(table,keyword,OnSelectOver);
* value , , , ,
* JSON
*/
!(function(){
window.CwAppDB = function(){
mui.init({});
}
CwAppDB.prototype={
InsertOrUpdate: function(table,key,value,OnSelectOver){// 【key , 】。table: key value , OnSelectOver:
key=key.replace('>','').replace('','').replace('");
if(KV[0]==key){// ,
keysValues[i]=key+'>'+value;
var DataStr=keysValues.join("\r
");
fileEntry.createWriter( function (writer) {// ( )
writer.write(DataStr);
if (typeof OnSelectOver === "function"){
OnSelectOver("success");//
}
}, function ( e2 ) {
alert(" ");
});
return;
}
}
}
}
// , ,
fileEntry.createWriter( function (writer) {// ( )
// writer.seek( writer.length-1 );//
// writer.write(key+'>'+value+'\r
');// [ , ]
var DataCentent=(evt.target.result+key+'>'+value+'\r
').replace('\r
\r
','\r
');//
writer.write(DataCentent);// ,
if (typeof OnSelectOver === "function"){
OnSelectOver("success");//
}
}, function ( e2 ) {
alert(" ");
});
}
});
});
}, function ( exp ) {
alert(" ");
});
});
},SelectKey: function(table,key,OnSelectOver){// 。table: OnSelectOver:
key=key.replace('>','').replace('");
if(KV[0]==key){
SelStr=KV[1];
break;
}
}
}
}
if (typeof OnSelectOver === "function"){
OnSelectOver(key,SelStr);//
}
}
});
});
}, function ( exp4 ) {
alert(" ");
});
}catch(e3){
alert(" ");
}
});
},DeleteKey: function(table,key){// table: key: ,
key=key.replace('>','').replace('");
if(KV[0]==key){//key ,
keysValues[i]="";
var DataStr=keysValues.join("\r
").replace('\r
\r
','\r
');
fileEntry.createWriter( function (writer) {// ( )
writer.write(DataStr);
}, function ( e2 ) {alert(" "); });
}
}
}
}
}
});
});
}, function ( exp ) {
alert(" ");
});
});
},InsertOrUpdateArry: function(table,keys,values){//
mui.plusReady(function() {
plus.io.requestFileSystem( plus.io.PRIVATE_DOC, function( fs ) {
fs.root.getFile('DB/'+table+'.cdb',{create:true}, function(fileEntry){
fileEntry.file( function(file){// ,
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
if(evt.target.result!=""){//
var keysValues=evt.target.result.split("\r
");//
for(var k=0;k','').replace('','').replace('");
if(KV[0]==keys[k]){// ,
keysValues[i]=keys[k]+'>'+values[k];
numInd++;// ,
break;
}
}
}
if(numInd==0){// ,
keysValues[keysValues.length]=keys[k]+'>'+values[k];
}
}
var DataStr=keysValues.join("\r
");
fileEntry.createWriter( function (writer) {// ( )
writer.write(DataStr);
}, function ( e2 ) {alert(" "); });
}else{//
var Arr=[];
for(var k=0;k"+values[k];
}
var DataStr=Arr.join("\r
");
fileEntry.createWriter( function (writer) {// ( )
writer.write(DataStr);// ,
}, function ( e2 ) {alert(" "); });
}
}
});
});
}, function ( exp ) {
alert(" ");
});
});
},DeleteKeyArry: function(table,keys){// table: keys: ,
mui.plusReady(function() {
plus.io.requestFileSystem( plus.io.PRIVATE_DOC, function( fs ) {
fs.root.getFile('DB/'+table+'.cdb',{create:true}, function(fileEntry){
fileEntry.file( function(file){// ,
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
if(evt.target.result!=""){
var keysValues=evt.target.result.split("\r
");
for(var k=0;k','').replace('");
if(KV[0]==keys[k]){//key ,
keysValues[i]="";
break;
}
}
}
}
var DataStr=keysValues.join("\r
").replace('\r
\r
','\r
');
fileEntry.createWriter( function (writer) {// ( )
writer.write(DataStr);
}, function ( e2 ) {alert(" "); });
}
}
});
});
}, function ( exp ) {
alert(" ");
});
});
},SelectAll:function(table,OnSelectOver){
mui.plusReady(function() {
try{
plus.io.requestFileSystem( plus.io.PRIVATE_DOC, function( fs ) {
fs.root.getFile('DB/'+table+'.cdb',{create:true}, function(fileEntry){
fileEntry.file( function(file){// ,
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
//alert(evt.target.result);//
var DataCentent=evt.target.result;
var SelJsonStr=[];//
if(DataCentent!=""){
var keysValues=DataCentent.split("\r
");
for(var i=0;i");
SelJsonStr.push({"key":KV[0],"value":KV[1]});
}
}
}
if (typeof OnSelectOver === "function"){
OnSelectOver(SelJsonStr);//
}
}
});
});
}, function ( exp4 ) {
alert(" ");
});
}catch(e3){
alert(" ");
}
});
},SelectToValue:function(table,keyword,OnSelectOver){// , ,
mui.plusReady(function() {
try{
plus.io.requestFileSystem( plus.io.PRIVATE_DOC, function( fs ) {
fs.root.getFile('DB/'+table+'.cdb',{create:true}, function(fileEntry){
fileEntry.file( function(file){// ,
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
//alert(evt.target.result);//
var DataCentent=evt.target.result;
var SelJsonStr=[];//
if(DataCentent!=""){
var keysValues=DataCentent.split("\r
");
for(var i=0;i");
if((KV[1]).indexOf(keyword)!=-1){
SelJsonStr.push({"key":KV[0],"value":KV[1]});
}
}
}
}
if (typeof OnSelectOver === "function"){
OnSelectOver(SelJsonStr);//
}
}
});
});
}, function ( exp4 ) {
alert(" ");
});
}catch(e3){
alert(" ");
}
});
}
}
})();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.