需要先了解的
    . electronjs官网: https://www.electronjs.org/docs
    . nodejs官网: https://nodejs.org/docs/latest-v13.x/api
    . 打包工具（可选）: https://www.npmjs.com/package/electron-forge
    . 主进程和渲染进程: 主进程只有一个, 没有浏览器上下文中的对象, 可以执行nodejs代码, 不可以和渲染进程直接函数调用
    . ipcMain和ipcRenderer, 主进程和渲染进程通讯通道, 可以同步、异步调用

一、代码结构
resource
    icon -- 程序图标
    page -- 本地页面
    logs -- 日志文件
    node_modules -- 第三方代码
    kass_modules -- kass代码
    main.js      -- 启动主进程

kass_modules

    extends -- 拓展组件
        ...

    kframes -- 窗口组件
        . klogin.js -- 登录界面
        . kmian.js -- 主界面

    kcomm   -- 通用组件
        . kdownload.js  -- 下载
        . kupload.js  -- 上传

    kapis -- 接口层
        . klogin.js
        . ..

    ksdk -- 客户端套件
        . krequest.js
        . ksession.js
        . kframeabstract.js

    kutils -- 基础工具
        . fstools.js -- 文件系统
        . reqtools.js -- 请求通信

服务端
    kclientsdk.js -- server端配套函数

二、运行过程
. 启动主进程

. 登录流程
    . 加载登录页面
        . 登录
        . 配置
        . 登录成功
            . 加载主窗体, ssologin, 登录成功->设置会话到mian, 登录失败->退回登录页
            . 登录成功事件 -> . 创建托盘程序
. 注销流程
    . 系统内点击
        . 页面不注销 -> 发送注销事件 -> main进程注销 --> 退回登录页

. 本地文件调用(助手功能)
    . 发送事件 -> 处理事件 -> 反馈状态

. 文件上传操作
    . 发送事件 -> 传输组件实例化 -> 发送传输信息 -> 传输进度


三、调试方法
. 初始化开发环境: cmd -> 项目路径 -> npm install
. 运行实例: npm run start
. 调试: vscode F5 (launch.json -> Debug Main Process)
. 打包配置资料: https://www.electronforge.io/configuration
. 打开每个app页面的F12: 运行参数加 --opendevtool

四、其他
. linux 上运行程序会出现错误, 需要解决 --no-sandbox app.commandLine.appendSwitch('remote-debugging-port', '8315')
. 打包只能到对应的平台上去打包
. 本地|远程页面都可以调用nodejs模块

五、打包
    . 参考打包文档
    . 平台代码: --arch=mips64el --arch=arm64