From d137f394713a3c4680cd4944bdf746e6156d2549 Mon Sep 17 00:00:00 2001 From: wangyifeng <812766448@qq.com> Date: Thu, 24 Apr 2025 11:18:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=B0=83=E7=94=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93sql=E5=BB=BA=E5=BA=93=E5=BB=BA=E8=A1=A8?= =?UTF-8?q?=E6=8F=92=E5=85=A5=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/dialogueList.js | 97 +++++++++++++++++++++++++++---- 1 file changed, 87 insertions(+), 10 deletions(-) diff --git a/src/store/modules/dialogueList.js b/src/store/modules/dialogueList.js index eb33aa0..b2ed2ca 100644 --- a/src/store/modules/dialogueList.js +++ b/src/store/modules/dialogueList.js @@ -10,13 +10,90 @@ import { initDatabase } from './sqlite' export const useDialogueListStore = createGlobalState(() => { const testDatabase = async () => { // 初始化数据库 - initDatabase() - // 查询所有数据 - const result = await plus.sqlite.selectSql({ - name: 'chat', - sql: 'SELECT * FROM talk_records' + let chatDatabase = { + eventType: 'openDatabase', + eventParams: { + name: 'chat', + path: '_doc/chat.db', + }, + } + let chatDBexecuteSql = { + eventType: 'executeSql', + eventParams: { + name: 'chat', + // sql: `CREATE TABLE IF NOT EXISTS talk_records ( + // id INTEGER PRIMARY KEY AUTOINCREMENT, + // msg_id TEXT NOT NULL, + // sequence INTEGER NOT NULL, + // talk_type INTEGER NOT NULL DEFAULT 1, + // msg_type INTEGER NOT NULL DEFAULT 1, + // user_id INTEGER NOT NULL DEFAULT 0, + // receiver_id INTEGER NOT NULL DEFAULT 0, + // is_revoke INTEGER NOT NULL DEFAULT 0, + // is_mark INTEGER NOT NULL DEFAULT 0, + // quote_id TEXT NOT NULL, + // extra TEXT NOT NULL, + // created_at TEXT NOT NULL, + // updated_at TEXT NOT NULL, + // biz_date TEXT + // )`, + sql: `INSERT INTO talk_records (msg_id, sequence, talk_type, msg_type, user_id, receiver_id, is_revoke, is_mark, quote_id, extra, created_at, updated_at, biz_date) VALUES ('77b715fb30f54f739a255a915ef72445', 166, 2, 1, 1774, 888890, 0, 0, '', '{"content": "我试试传送文件和图片是不是一个接口"}', '2025-03-06T15:57:07.000Z', '2025-03-06T15:57:07.000Z', '20250306')`, + }, + } + + let chatDBexecuteSql2 = { + eventType: 'executeSql', + eventParams: { + name: 'chat', + sql: `INSERT INTO talk_records (msg_id, sequence, talk_type, msg_type, user_id, receiver_id, is_revoke, is_mark, quote_id, extra, created_at, updated_at, biz_date) VALUES ('77b715fb30f54f739a255a915ef72445', 166, 2, 1, 1774, 888890, 0, 0, '', '{"content": "我试试传送文件和图片是不是一个接口"}', '2025-03-06T15:57:07.000Z', '2025-03-06T15:57:07.000Z', '20250306')`, + }, + } + let chatDBSelectSql = { + eventType: 'selectSql', + eventParams: { + name: 'chat', + sql: `SELECT * FROM talk_records ORDER BY sequence DESC LIMIT 20`, + }, + } + let chatDBSelectSql2 = { + eventType: 'selectSql', + eventParams: { + name: 'chat', + sql: `SELECT name FROM sqlite_master WHERE type='table' AND name='talk_records'`, + }, + } + document.addEventListener('plusready', () => { + let OAWebView = plus.webview.all() + OAWebView.forEach((webview, index) => { + if (webview.id === 'webviewId1') { + webview.evalJS( + `operateSQLite('${encodeURIComponent( + JSON.stringify(chatDatabase), + )}')`, + ) + webview.evalJS( + `operateSQLite('${encodeURIComponent( + JSON.stringify(chatDBexecuteSql), + )}')`, + ) + // webview.evalJS( + // `operateSQLite('${encodeURIComponent( + // JSON.stringify(chatDBexecuteSql2), + // )}')`, + // ) + webview.evalJS( + `operateSQLite('${encodeURIComponent( + JSON.stringify(chatDBSelectSql), + )}')`, + ) + webview.evalJS( + `operateSQLite('${encodeURIComponent( + JSON.stringify(chatDBSelectSql2), + )}')`, + ) + } + }) }) - console.warn('数据库内容:', result) } testDatabase() @@ -45,7 +122,7 @@ export const useDialogueListStore = createGlobalState(() => { talk: { username: dialogue.talk.username, talk_type: dialogue.talk.talk_type, - receiver_id: dialogue.talk.receiver_id + receiver_id: dialogue.talk.receiver_id, }, online: dialogue.online, records: dialogue.records || [], @@ -56,7 +133,7 @@ export const useDialogueListStore = createGlobalState(() => { isDismiss: dialogue.isDismiss, isQuit: dialogue.isQuit, unreadNum: dialogue.unreadNum, - members: dialogue.members.map(member => ({ + members: dialogue.members.map((member) => ({ id: member.id, nickname: member.nickname, avatar: member.avatar, @@ -68,9 +145,9 @@ export const useDialogueListStore = createGlobalState(() => { key: member.key, erp_user_id: member.erp_user_id, is_mute: member.is_mute, - is_mine: member.is_mine + is_mine: member.is_mine, })), - forwardType: dialogue.forwardType + forwardType: dialogue.forwardType, } dialogueList.value.push(newDialogue) } else {