Files
2023-09-07 00:56:03 +08:00

195 lines
4.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;