195 lines
4.9 KiB
JavaScript
195 lines
4.9 KiB
JavaScript
let sqlite = {
|
||
//创建数据库或者有该数据库就打开
|
||
openSqlite: function() {
|
||
//创建数据库或者打开
|
||
//这plus.sqlite只在手机上运行
|
||
return new Promise((resolve, reject) => {
|
||
console.log("打开数据库");
|
||
plus.sqlite.openDatabase({
|
||
name: "main", //数据库名称
|
||
path: "_doc/sql.db", //数据库地址,uniapp推荐以下划线为开头,这到底存在哪里去了,我也不清楚,哈哈
|
||
success(e) {
|
||
console.log("success")
|
||
resolve(e); //成功回调
|
||
},
|
||
fail(e) {
|
||
console.log(e)
|
||
reject(e); //失败回调
|
||
},
|
||
});
|
||
});
|
||
},
|
||
|
||
getFriendMaxSeq: function(fromId, appId) {
|
||
|
||
var sql = "";
|
||
|
||
|
||
sql =
|
||
"select ifnull(max(friend_sequence),0) as maxSeq from im_friendship " +
|
||
" where app_id = " +
|
||
appId +
|
||
" and from_id = '" +
|
||
fromId + "'";
|
||
return new Promise((resolve, reject) => {
|
||
plus.sqlite.selectSql({
|
||
name: "main",
|
||
sql: sql,
|
||
success(e) {
|
||
console.log(e)
|
||
resolve(e);
|
||
},
|
||
fail(e) {
|
||
console.log(e)
|
||
reject(e);
|
||
},
|
||
});
|
||
});
|
||
},
|
||
|
||
addFriend: function(fromId, toId, remark, status, black, friendSeq, blackSeq, addSource, ex, appId) {
|
||
var sql =
|
||
" insert into im_friendship(from_id,to_id,remark,status,black,friend_sequence,black_sequence,add_source,extra,app_id) " +
|
||
' values ("' +
|
||
fromId +
|
||
'","' +
|
||
toId +
|
||
'","' +
|
||
remark +
|
||
'","' +
|
||
status +
|
||
'","' +
|
||
black +
|
||
'","' +
|
||
friendSeq +
|
||
'","' +
|
||
blackSeq +
|
||
'","' +
|
||
addSource +
|
||
'","' +
|
||
123 +
|
||
'","' +
|
||
appId +
|
||
'")';
|
||
console.log(sql)
|
||
plus.sqlite.executeSql({
|
||
name: "main",
|
||
sql: sql,
|
||
success(e) {
|
||
console.log("插入成功")
|
||
resolve(e);
|
||
},
|
||
fail(e) {
|
||
console.log(e)
|
||
reject(e);
|
||
},
|
||
});
|
||
},
|
||
|
||
bathAddFriend: function(data) {
|
||
// console.log(data)
|
||
var sql =
|
||
" insert into im_friendship(from_id,to_id,remark,status,black,friend_sequence,black_sequence,add_source,extra,app_id) values ";
|
||
for (var i = 0; i < data.length; i++) {
|
||
var f = data[i];
|
||
sql += ' ("' +
|
||
f.fromId +
|
||
'","' +
|
||
f.toId +
|
||
'","' +
|
||
f.remark +
|
||
'","' +
|
||
f.status +
|
||
'","' +
|
||
f.black +
|
||
'","' +
|
||
f.friendSequence +
|
||
'","' +
|
||
f.blackSequence +
|
||
'","' +
|
||
f.addSource +
|
||
'","' +
|
||
123 +
|
||
'","' +
|
||
f.appId +
|
||
'"),';
|
||
}
|
||
|
||
sql = sql.substring(0, sql.length - 1); //末尾是&
|
||
// console.log(sql)
|
||
plus.sqlite.executeSql({
|
||
name: "main",
|
||
sql: sql,
|
||
success(e) {
|
||
console.log("插入成功")
|
||
resolve(e);
|
||
},
|
||
fail(e) {
|
||
console.log(e)
|
||
reject(e);
|
||
},
|
||
});
|
||
},
|
||
clearAllFriend: function() {
|
||
var sql = "delete from im_friendship"
|
||
plus.sqlite.executeSql({
|
||
name: "main",
|
||
sql: sql,
|
||
success(e) {
|
||
console.log("清除成功")
|
||
resolve(e);
|
||
},
|
||
fail(e) {
|
||
console.log(e)
|
||
reject(e);
|
||
},
|
||
});
|
||
},
|
||
// ---------------------------------------------------监听数据库是否开启-----------------------------------------------------------------
|
||
//监听数据库是否开启
|
||
isOpen: function(name, path) {
|
||
var ss = name || "main";
|
||
var qq = path || "_doc/sql.db";
|
||
//数据库打开了就返回true,否则返回false
|
||
var open = plus.sqlite.isOpenDatabase({
|
||
name: ss,
|
||
path: qq,
|
||
});
|
||
return open;
|
||
},
|
||
|
||
// ---------------------------------------------------创建表----------------------------------------------------------------
|
||
|
||
//在该数据库里创建表格, 这一步也必须要!
|
||
//下面注释里说的都是说sql:'create table if not exists....这里
|
||
//userInfo是表格名,你也可以写其他的名,不能用数字作为表格名的开头!!!
|
||
//括号里是表格的结构,列,这里我写了四列,list,id,gender,avatar这四列
|
||
//list后面大写的英文是自动增加的意思,因为表格里的每一行必须有唯一标识
|
||
//这sql语句会数据库的应该都看的懂,我是前端菜鸡,所以详细说明以便跟我一样不懂sql的前端看
|
||
//"id" TEXT 意思是这一列放的值为字符串之类的,如果是想存数字之类的就改为INTEGER
|
||
//数据库不能存对象,数组
|
||
//创建 9、定位表(d_location)
|
||
createTable: function() {
|
||
return new Promise((resolve, reject) => {
|
||
//创建表格在executeSql方法里写
|
||
plus.sqlite.executeSql({
|
||
name: "main",
|
||
//表格创建或者打开,后面为表格结构
|
||
sql: "create table if not exists im_friendship(\"from_id\" text(50) NOT NULL,\"to_id\" text(50),\"app_id\" INTEGER(10) NOT NULL,\"remark\" TEXT(50),\"status\" int(5),\"black\" int(5),\"friend_sequence\" bigint(20),\"black_sequence\" bigint(20),\"add_source\" TEXT(20),\"extra\" TEXT(2000),PRIMARY KEY (\"app_id\", \"from_id\", \"to_id\"))",
|
||
success(e) {
|
||
console.log("创建成功")
|
||
resolve(e);
|
||
},
|
||
fail(e) {
|
||
console.log(e)
|
||
console.log("创建失败")
|
||
reject(e);
|
||
},
|
||
});
|
||
});
|
||
}
|
||
};
|
||
|
||
//把这些方法导出去
|
||
export default sqlite;
|