Browse Source

添加保存操作记录

weicu
tanlongsheng 1 year ago
parent
commit
406d666c49
  1. 28
      lib/data/services/db/database_helper.dart
  2. 40
      lib/data/services/db/sqflite_api.dart

28
lib/data/services/db/database_helper.dart

@ -1,4 +1,5 @@
import 'dart:async'; import 'dart:async';
import 'package:get_storage/get_storage.dart';
import 'package:path/path.dart'; import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart'; import 'package:sqflite/sqflite.dart';
@ -6,6 +7,7 @@ class DatabaseHelper {
static final DatabaseHelper _instance = DatabaseHelper._internal(); static final DatabaseHelper _instance = DatabaseHelper._internal();
factory DatabaseHelper() => _instance; factory DatabaseHelper() => _instance;
static Database? _database; static Database? _database;
static String _userId = '';
DatabaseHelper._internal(); DatabaseHelper._internal();
@ -16,15 +18,35 @@ class DatabaseHelper {
} }
Future<Database> _initDatabase() async { Future<Database> _initDatabase() async {
final GetStorage storage = GetStorage();
Map? userInfo = storage.read("user_info");
if (userInfo != null) {
_userId = userInfo['user']['uid'];
}
String path = join( String path = join(
await getDatabasesPath(), await getDatabasesPath(),
'database.db', _userId.isNotEmpty ? '${_userId}database.db' : 'database.db',
); );
return await openDatabase(path, version: 1, onCreate: _createDB); return await openDatabase(path, version: 1, onCreate: _createDB);
} }
Future<void> _createDB(Database db, int version) async { Future<void> _createDB(Database db, int version) async {
final batch = db.batch(); final batch = db.batch();
// 用户信息
batch.execute('''
CREATE TABLE IF NOT EXISTS user (
id TEXT PRIMARY KEY,
synctime INTEGER,
)
''');
// 操作记录
batch.execute('''
CREATE TABLE IF NOT EXISTS operationrecord (
id INTEGER PRIMARY KEY,
method TEXT,
data TEXT,
)
''');
// 商务会议助手列表 // 商务会议助手列表
batch.execute(''' batch.execute('''
CREATE TABLE IF NOT EXISTS meeting ( CREATE TABLE IF NOT EXISTS meeting (
@ -82,6 +104,10 @@ class DatabaseHelper {
prompt TEXT prompt TEXT
) )
'''); ''');
batch.insert('user', {
'id': _userId,
'synctime': 0,
});
// 商务会议助手插入默认模版 // 商务会议助手插入默认模版
batch.insert('meetingcategorytemplate', { batch.insert('meetingcategorytemplate', {
'id': 1, 'id': 1,

40
lib/data/services/db/sqflite_api.dart

@ -1,9 +1,49 @@
import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'database_helper.dart'; import 'database_helper.dart';
class SqfliteApi { class SqfliteApi {
static GetStorage storage = GetStorage();
static String userId = '';
// 保存操作记录
static Future saveMeetingOperationRecord(
String method,
dynamic params,
) async {
if (userId.isEmpty) {
Map userInfo = storage.read("user_info");
userId = userInfo['user']['uid'];
}
final db = await DatabaseHelper().database;
String data = '';
if (method == 'records') {
Map records = {
...params,
'id': '${userId}_${params['id']}',
'number': params['id'],
'uid': userId,
};
data = jsonEncode(records);
} else {
data = params;
}
db.insert('operationrecord', {
'method': method,
'data': data,
});
}
// 操作记录列表
static Future getMeetingOperationRecord() async {
final db = await DatabaseHelper().database;
return await db.query('operationrecord');
}
// 获取商务会议助手列表 // 获取商务会议助手列表
static Future getMeetingList(int offset) async { static Future getMeetingList(int offset) async {
final db = await DatabaseHelper().database; final db = await DatabaseHelper().database;

Loading…
Cancel
Save