做社交app,难点无非:
1.socket连接,发消息,收消息
2.历史消息的处理
在使用uni-app开发时,本来用uni.setStorage去存,uni.getStorage去取,但是这两个家伙有延时,不能满足那种嗖嗖嗖刷页面的感觉,然后自己研究了sqlite客户端数据库存储,注意sqlite只能在app端使用,浏览器不行
1.首先在项目根目录下创建_doc文件夹,然后创建数据库,如test.db;
2.在页面中 使用
plus.sqlite.isOpenDatabase({
name:'数据库名称',path:'数据库的相对路径'
}) //判断数据库是否打开,
没打开执行打开数据库操作
plus.sqlite.openDatabase({
name: '数据库名称',
path: '数据库的相对路径',
success: function(e){
// console.log('打开数据库成功');
// 创建表
},
fail: function(e){
console.log('打开数据库失败: '+JSON.stringify(e));
}
});
创建表
var sql = 'create table if not exists tableName ("login_id" CHAR(40),"list_id" CHAR(40),"show_name" CHAR(40),"last_msg" CHAR(255),"photo_path" TEXT,"time" INT(11),"type" INT(11))';
// console.log(sql);
plus.sqlite.executeSql({
name: tableName , //表明
sql: sql, //sql语句
success: function(e){
// console.log(' success!');
},
fail: function(e){
console.log('创建表failed: '+JSON.stringify(e));
}
});
再就是一系列的增删改,这三个方法一样
plus.sqlite.executeSql({
name: tableName , //表明
sql: sql, //sql语句
success: function(data){
console.log('success');
},
fail: function(e){
console.log('failed: '+JSON.stringify(e));
}
});
查表
plus.sqlite.selectSql({
name: tableName , //表明
sql: sql, //sql语句
success: function(data){
// console.log('查到数据'+data.length);
},
fail: function(e){
console.log('selectSql failed: '+JSON.stringify(e));
}
});
sql语句可在菜鸟教程中搜索sqlite查看