- 重构设备ID生成逻辑,采用多重降级策略确保唯一性与稳定性- 移除客户端SQLite缓存依赖,改用localStorage存储token与设备ID - 优化认证流程,简化token管理与会话恢复逻辑- 增加设备数量限制检查,防止超出配额 - 更新SSE连接逻辑,适配新的认证机制 - 调整Redis连接池配置,提升并发性能与稳定性 - 移除冗余的缓存接口与本地退出逻辑 - 修复设备移除时的状态处理问题,避免重复调用offline接口 - 引入OSHI库用于硬件信息采集(备用方案)- 更新开发环境API地址配置
Electron Vue Template
A simple starter template for a Vue3 + Electron TypeScript based application, including ViteJS and Electron Builder.
About
This template utilizes ViteJS for building and serving your (Vue powered) front-end process, it provides Hot Reloads (HMR) to make development fast and easy ⚡
Building the Electron (main) process is done with Electron Builder, which makes your application easily distributable and supports cross-platform compilation 😎
Getting started
Click the green Use this template button on top of the repository, and clone your own newly created repository.
Or..
Clone this repository: git clone git@github.com:Deluze/electron-vue-template.git
Install dependencies ⏬
npm install
Start developing ⚒️
npm run dev
Additional Commands
npm run dev # starts application with hot reload
npm run build # builds application, distributable files can be found in "dist" folder
# OR
npm run build:win # uses windows as build target
npm run build:mac # uses mac as build target
npm run build:linux # uses linux as build target
Optional configuration options can be found in the Electron Builder CLI docs.
Project Structure
- scripts/ # all the scripts used to build or serve your application, change as you like.
- src/
- main/ # Main thread (Electron application source)
- renderer/ # Renderer thread (VueJS application source)
Using static files
If you have any files that you want to copy over to the app directory after installation, you will need to add those files in your src/main/static directory.
Files in said directory are only accessible to the main process, similar to src/renderer/assets only being accessible to the renderer process. Besides that, the concept is the same as to what you're used to in your other front-end projects.
Referencing static files from your main process
/* Assumes src/main/static/myFile.txt exists */
import {app} from 'electron';
import {join} from 'path';
import {readFileSync} from 'fs';
const path = join(app.getAppPath(), 'static', 'myFile.txt');
const buffer = readFileSync(path);