Browse Source

支持多品种。

skyffire 1 year ago
parent
commit
e1c3038b69
2 changed files with 19 additions and 20 deletions
  1. 12 11
      example/main.js
  2. 7 9
      example/src/App.js

+ 12 - 11
example/main.js

@@ -9,11 +9,12 @@ const password = 'skyfffire-password';
 const key = crypto.createHash('sha256').update(password).digest();
 let memoryCache = {};
 
-const dataFilePath = path.join(app.getPath('userData'), 'shareSession.json');
-function readData() {
+const loginFilePath = path.join(app.getPath('userData'), 'loginSession.json');
+const symbolFilePath = path.join(app.getPath('userData'), 'symbolSession.json');
+function readData(filePath) {
   try {
-    if (fs.existsSync(dataFilePath)) {
-      const rawData = fs.readFileSync(dataFilePath);
+    if (fs.existsSync(filePath)) {
+      const rawData = fs.readFileSync(filePath);
       return JSON.parse(rawData);
     }
   } catch (error) {
@@ -22,11 +23,11 @@ function readData() {
   return {};
 }
 
-function writeData(data) {
+function writeData(filePath, data) {
   try {
-    fs.writeFileSync(dataFilePath, JSON.stringify(data, null, 2));
+    fs.writeFileSync(filePath, JSON.stringify(data, null, 2));
   } catch (error) {
-    console.error('Error writing data:', error);
+    console.error(`Error writing data to ${filePath}:`, error);
   }
 }
 
@@ -103,19 +104,19 @@ function createWindow() {
 
 app.whenReady().then(() => {
   ipcMain.handle('get-login-info-data', () => {
-    return readData();
+    return readData(loginFilePath);
   });
 
   ipcMain.handle('set-login-info-data', (event, newData) => {
-    writeData(newData);
+    writeData(loginFilePath, newData);
   });
 
   ipcMain.handle('get-symbol-data', () => {
-    return readData();
+    return readData(symbolFilePath);
   });
 
   ipcMain.handle('set-symbol-data', (event, newData) => {
-    writeData(newData);
+    writeData(symbolFilePath, newData);
   });
 });
 

+ 7 - 9
example/src/App.js

@@ -7,7 +7,6 @@ import axios from 'axios';
 import { Select, Button, Input, Space } from 'tdesign-react';
 import { DeleteIcon } from 'tdesign-icons-react';
 import 'tdesign-react/es/style/index.css';
-import value from "d3-interpolate/src/value";
 
 const {Option} = Select;
 
@@ -219,9 +218,14 @@ export default () => {
 
   // ---------- window update ------------
   React.useEffect( async () => {
+    // 处理品种选择
+    let symbolInfo = await window.electronAPI.getSymbolData();
+    if(symbolInfo.length > 0) {
+      setSymbolOptions(symbolInfo)
+    }
     // 处理是否有登录信息
-    let loginInfo = await window.electronAPI.getLoginInfoData();
-    if(loginInfo.loginInfo) {
+    let loginInfo = await window.electronAPI.getLoginInfoData() || {};
+    if(loginInfo.code) {
       toast.remove();
       try {
         const code = loginInfo.code || ''
@@ -233,12 +237,6 @@ export default () => {
       }
     }
 
-    // 处理品种选择
-    let symbolInfo = await window.electronAPI.getSymbolData();
-    if(symbolInfo.length > 0) {
-      setSymbolOptions(symbolInfo)
-    }
-
     const updateFn = () => {
       setWindowDim([
         window.innerWidth,