diff --git a/.idea/xin-launcher.iml b/.idea/xin-launcher.iml index c7221e1..e87619d 100644 --- a/.idea/xin-launcher.iml +++ b/.idea/xin-launcher.iml @@ -6,7 +6,9 @@ + + \ No newline at end of file diff --git a/ReadMe.md b/ReadMe.md index 9335e21..694b48f 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -66,5 +66,10 @@ 1. 优化全局过滤功能,区分已授权与未授权状态(前者自动跳转登录界面,后者自动跳转授权界面) 2. 修复全局过滤功能在项目重启后无法正确处理相应拦截的异常 +2025-09-28 + + 1. 大版本更新,后续代码版本为3.0 + 2. 注册表存储随机字符串由机械码及下发授权文件决定 + diff --git a/documents/LauncherCommonFunc工具函数释义-202509928.md b/documents/LauncherCommonFunc工具函数释义-202509928.md new file mode 100644 index 0000000..5fc7724 --- /dev/null +++ b/documents/LauncherCommonFunc工具函数释义-202509928.md @@ -0,0 +1,183 @@ +# LauncherCommonFunc工具函数释义 + + 本文档用于解释新增LauncherCommonFunc工具函数的使用释义,开发使用。 + 本文档书写事件:2025-09-28 对应 xinlauncher_20250928.zip 。 + +## 简介 + + 该类统一了鉴权通用的静态资源(路径、命名规范等)及通用的调用功能函数。 + +## 调用函数 + + 基于外部调用,针对每一个函数进行调用释义。 + 注意:该内容需要跟随版本进行修改,查看文档时请注意是否为对应版本包及文档。 + +1. 静态资源 + + 定义内容以表格信息展示: + + | 资源名称 | 调用 | 调用方式 | 释义 | + | --------------------------- | ---- | ------------------------------ | ---------------------- | + | BaseBoradSN | Y | LauncherCommonFunc.BaseBoradSN | 主板序列号 | + | CpuSN | Y | LauncherCommonFunc.CpuSN | CPU序列号 | + | DiskSN | Y | LauncherCommonFunc.DiskSN | 硬盘S/N | + | UD | Y | LauncherCommonFunc.UD | 授权唯一UUID | + | configFile | N | 不可外部调用 | 系统配置文件 | + | cipherFile | Y | LauncherCommonFunc.cipherFile | 机械码文件 | + | licenseFile | Y | LauncherCommonFunc.licenseFile | 系统授权文件 | + | cipherContent | N | 不可外部调用 | 机械码信息(加密字符串) | + | SYSTEM_CUSTOMER_AUTHOR_CODE | N | 不可外部调用 | 系统授权前缀信息 | + + + +2. 静态函数 + + 依次对函数进行释义 + + 1. 机械码初始化函数 + + - 函数名:init + + - 调用:不可外部调用 + + - 调用方式:LauncherCommonFunc.init(); + + - 基础逻辑:初始化缓存项目所在机械对应主板序列号、CPU序列号及硬盘S/N编码。 + + - 入参:无 + + - 出参:无 + + + + 2. 获取本机机械码秘钥 + + - 函数名:generateKey + + - 调用:不可外部调用 + + - 调用方式:LauncherCommonFunc.generateKey(); + + - 基础逻辑:获取系统授权文件秘钥信息。 + + - 入参:无 + + - 出参:无 + + + + 3. 字符串处理编码(BOM)异常 + + - 函数名:deleteUTF8Bom + + - 调用:不可外部调用 + + - 调用方式:LauncherCommonFunc.deleteUTF8Bom(fileStr); + + - 基础逻辑:将传入字符串去除编码过程中出现的BOM异常。 + + - 入参: + + | 字段 | 类型 | 释义 | + | ------- | ------ | ---------- | + | fileStr | String | 文件字符串 | + + + + - 出参:去除异常后的字符串 + + + + 4. 获取缓存授权码内容 + + - 函数名:getCode + + - 调用:可外部调用 + + - 调用方式:LauncherCommonFunc.getCode(); + + - 基础逻辑:获取缓存授权码内容。 + + - 入参:无 + + - 出参:无 + + + + 5. 设置机械码缓存授权码信息 + + - 函数名:setCode + + - 调用:不可外部调用 + + - 调用方式:LauncherCommonFunc.setCode(content); + + - 基础逻辑:设置机械码缓存授权码信息。 + + - 入参: + + | 字段 | 类型 | 释义 | + | ------- | ------ | ------------------------ | + | content | String | 系统机械码加密字符串信息 | + + + + - 出参:无 + + + + 6. 获取授权随机加密地址 + + - 函数名:getPathKey + + - 调用:不可外部调用 + + - 调用方式:LauncherCommonFunc.getPathKey(text); + + - 基础逻辑:根据传入随机码(生成机械码时会自动创建),获取注册表定义地址信息。 + + - 入参: + + | 字段 | 类型 | 释义 | + | ---- | ------ | ---------------- | + | text | String | 系统机械码随机码 | + + + + - 出参:返回加密结果字符串 + + + + 7. 生成系统机械码文件 + + - 函数名:generateCipher + + - 调用:可外部调用 + + - 调用方式:LauncherCommonFunc.generateCipher(); + + - 基础逻辑:初始化生成机械码文件(存储对应服务器的硬件加密信息)。 + + - 入参:无 + + - 出参:无 + + + + 8. 获取本机硬件加密信息 + + - 函数名:generateCipherContent + + - 调用:私有函数,不可外部调用 + + - 调用方式:无 + + - 基础逻辑:生成系统机械码必要信息对象,并转换为字符串信息。 + + - 入参:无 + + - 出参:返回存储信息JSON字符串 + + + + diff --git a/documents/LocalLauncherValid工具函数释义-202509928.md b/documents/LocalLauncherValid工具函数释义-202509928.md new file mode 100644 index 0000000..434a4cd --- /dev/null +++ b/documents/LocalLauncherValid工具函数释义-202509928.md @@ -0,0 +1,87 @@ +# LocalLauncherValid工具函数释义 + + 本文档用于解释新增LocalLauncherValid工具函数的使用释义,开发使用。 + 本文档书写事件:2025-09-28 对应 xinlauncher_20250928.zip 。 + +## 简介 + + 该类统一了内部鉴权相关操作函数。 + +## 调用函数 + + 基于外部调用,针对每一个函数进行调用释义。 + 注意:该内容需要跟随版本进行修改,查看文档时请注意是否为对应版本包及文档。 + +1. 静态资源 + + 无。 + + + +2. 静态函数 + + 依次对函数进行释义: + + 1. 读取授权码文件内容 + + - 函数名:loadCipher + + - 调用:可外部调用 + + - 调用方式:LocalLauncherValid.loadCipher(); + + - 基础逻辑:读取授权文件对应字符串。 + + - 入参:无 + + - 出参:返回授权文件字符串信息。 + + + + 2. 验证授权文件 + + - 函数名:valid + + - 调用:私有函数,不可外部调用 + + - 调用方式:无; + + - 基础逻辑:校验系统授权文件,为空或鉴权失败时,清除已有文件并重新生成机械码信息。 + + - 入参:无 + + - 出参:无 + + + + 3. 验证系统信息 + + - 函数名:validCipher + + - 调用:私有函数,不可外部调用 + + - 调用方式:无 + + - 基础逻辑:获取存储在机械码文件中的加密字符串信息,比对机械实际硬件信息,对照失败时,重新生成并删除已有授权文件。 + + - 入参:无 + + - 出参:无 + + + + 4. 解码校验系统信息 + + - 函数名:validCipher + + - 调用:私有函数,不可外部调用 + + - 调用方式:无 + + - 基础逻辑:解密传入的机械码加密字符串,比对机械实际硬件信息,对照失败时,重新生成并删除已有授权文件。 + + - 入参:无 + + - 出参:无 + + diff --git a/documents/XinadminLauncherValid工具函数释义-202509928.md b/documents/XinadminLauncherValid工具函数释义-202509928.md new file mode 100644 index 0000000..0523450 --- /dev/null +++ b/documents/XinadminLauncherValid工具函数释义-202509928.md @@ -0,0 +1,65 @@ +# XinAdminLauncherValid工具函数释义 + + 本文档用于解释新增XinAdminLauncherValid工具函数的使用释义,开发使用。 + 本文档书写事件:2025-09-28 对应 xinlauncher_20250928.zip 。 + +## 简介 + + 该类统一了外部鉴权相关操作函数。 + +## 调用函数 + + 基于外部调用,针对每一个函数进行调用释义。 + 注意:该内容需要跟随版本进行修改,查看文档时请注意是否为对应版本包及文档。 + +1. 静态资源 + + 无。 + + + +2. 静态函数 + + 依次对函数进行释义: + + 1. 读取授权码文件内容 + + - 函数名:validCipher + + - 调用: + + - 调用方式:XinAdminLauncherValid.validCipher(licenseContent,uploadFile); + + - 基础逻辑:解码授权文件信息,校验系统硬件信息。 + + - 入参: + + | 字段 | 类型 | 释义 | + | -------------- | ------- | -------------- | + | licenseContent | String | 授权文件字符串 | + | uploadFile | boolean | 是否为上传文件 | + + - 出参:返回校验结果。 + + + + 2. 验证授权文件 + + - 函数名:validMachineInfo + + - 调用:可外部调用 + + - 调用方式:XinAdminLauncherValid.validMachineInfo(licenseContent); + + - 基础逻辑:解码授权文件信息,比对机械码存储信息。 + + - 入参: + + | 字段 | 类型 | 释义 | + | -------------- | ------ | -------------- | + | licenseContent | String | 授权文件字符串 | + + - 出参:无 + + + \ No newline at end of file diff --git a/xin-launcher.zip b/xin-launcher.zip index 10594a8..cb1e221 100644 Binary files a/xin-launcher.zip and b/xin-launcher.zip differ diff --git a/xin-launcher/apps/xinadmin/WEB-INF/lib/xin-admin.jar b/xin-launcher/apps/xinadmin/WEB-INF/lib/xin-admin.jar index 269f9bd..a7404d5 100644 Binary files a/xin-launcher/apps/xinadmin/WEB-INF/lib/xin-admin.jar and b/xin-launcher/apps/xinadmin/WEB-INF/lib/xin-admin.jar differ diff --git a/xin-launcher/apps/xinadmin/editpass.jsp b/xin-launcher/apps/xinadmin/editpass.jsp index c4caa47..7d4792e 100644 --- a/xin-launcher/apps/xinadmin/editpass.jsp +++ b/xin-launcher/apps/xinadmin/editpass.jsp @@ -165,7 +165,6 @@ 'token': sessionStorage.getItem("token") } }).then(function (res) { - console.log(res) if (res.data.state === "success") { that.$message.success('修改成功'); setTimeout(() => { //设置延迟执行 diff --git a/xin-launcher/apps/xinadmin/home.jsp b/xin-launcher/apps/xinadmin/home.jsp index 306d78f..50b61dc 100644 --- a/xin-launcher/apps/xinadmin/home.jsp +++ b/xin-launcher/apps/xinadmin/home.jsp @@ -57,9 +57,8 @@
授权文件: 正常 - + 更换授权文件 @@ -86,8 +85,8 @@
版本:{{item.version}}
{{item.grade == 'custom' ? '定制授权' : item.gradeName}}
{{item.expiryTime | - dateFilter('YYYY-MM-DD')}}到期 + v-if="new Date().getTime() < new Date(item.expiryTime).getTime()"> + {{item.expiryTime | dateFilter('YYYY-MM-DD')}}到期
已过期
@@ -124,19 +123,23 @@
- - 复制授权码 - - -
-
-
+
+
+
+ readonly="true" :autosize="{ minRows: 9, maxRows: 10}" + style="flex:1;margin-left: 10px">
+ +
+ + 复制授权码 + +
@@ -236,11 +239,9 @@ rightDialogVisible: false, rightDialogTitle: '', tableData: [], - companyName: '', companyAddress: '', companyIntroduce: '', - showPassChange: false, from: { pass: '', @@ -436,7 +437,10 @@ this.generalQrCode = true; }, 100) } - } + }, + openUploadLicense() { + this.dialogTableVisible = true; + }, } }) diff --git a/xin-launcher/conf/XinLauncher.ini b/xin-launcher/conf/XinLauncher.ini index dab83e8..178a894 100644 --- a/xin-launcher/conf/XinLauncher.ini +++ b/xin-launcher/conf/XinLauncher.ini @@ -1,6 +1,7 @@ #save success #Thu Dec 17 16:49:58 CST 2020 login.user=admin +path_key= maxthreads=200 port=8080 charset=UTF-8 @@ -9,8 +10,7 @@ login.edit=0 login.pass=aeb6a04dfe285d98298f5666f02d2503 is_dev=1 maxconnections=10000 -product_version=2.0 -# 产品分组标识 为空时不进行校验 存在值时将进行产品分组数据信息校验 不一致时鉴权不通过 +product_version=3.0 product_group_code= # 该配置为 1 时 标识不加载对应鉴权数据模块 为空或其他值时进行校验 is_client= diff --git a/xin-launcher/lib/annotations-api.jar b/xin-launcher/lib/annotations-api.jar index b82d689..9c5f2c0 100644 Binary files a/xin-launcher/lib/annotations-api.jar and b/xin-launcher/lib/annotations-api.jar differ diff --git a/xin-launcher/lib/tomcat-dbcp.jar b/xin-launcher/lib/tomcat-dbcp.jar index 3edb7fd..f515806 100644 Binary files a/xin-launcher/lib/tomcat-dbcp.jar and b/xin-launcher/lib/tomcat-dbcp.jar differ diff --git a/xin-launcher/lib/tomcat-embed-core.jar b/xin-launcher/lib/tomcat-embed-core.jar index 424b3c9..103be71 100644 Binary files a/xin-launcher/lib/tomcat-embed-core.jar and b/xin-launcher/lib/tomcat-embed-core.jar differ diff --git a/xin-launcher/lib/tomcat-embed-el.jar b/xin-launcher/lib/tomcat-embed-el.jar index 5113757..d887ae2 100644 Binary files a/xin-launcher/lib/tomcat-embed-el.jar and b/xin-launcher/lib/tomcat-embed-el.jar differ diff --git a/xin-launcher/lib/tomcat-embed-jasper.jar b/xin-launcher/lib/tomcat-embed-jasper.jar index 1834797..22cdf22 100644 Binary files a/xin-launcher/lib/tomcat-embed-jasper.jar and b/xin-launcher/lib/tomcat-embed-jasper.jar differ diff --git a/xin-launcher/lib/tomcat-embed-programmatic.jar b/xin-launcher/lib/tomcat-embed-programmatic.jar index 2bd1ad0..a318264 100644 Binary files a/xin-launcher/lib/tomcat-embed-programmatic.jar and b/xin-launcher/lib/tomcat-embed-programmatic.jar differ diff --git a/xin-launcher/lib/tomcat-embed-websocket.jar b/xin-launcher/lib/tomcat-embed-websocket.jar index 483a794..90e17ca 100644 Binary files a/xin-launcher/lib/tomcat-embed-websocket.jar and b/xin-launcher/lib/tomcat-embed-websocket.jar differ diff --git a/xin-launcher/lib/xin-launcher.jar b/xin-launcher/lib/xin-launcher.jar index 72fd63c..4a1fc3a 100644 Binary files a/xin-launcher/lib/xin-launcher.jar and b/xin-launcher/lib/xin-launcher.jar differ diff --git a/xin-launcher/register.bat b/xin-launcher/register.bat deleted file mode 100644 index 4ac4b8b..0000000 --- a/xin-launcher/register.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -@rem set "LinkName=C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\XinLauncher.lnk" -mshta VBScript:Execute("Set Shell=CreateObject(""WScript.Shell""):Set Link=Shell.CreateShortcut(Shell.SpecialFolders(""Startup"") & ""\XinLauncher.lnk""):Link.TargetPath=""%~dp0\run.bat"":Link.WorkingDirectory=""%~dp0\"":Link.Save:close") -pause -exit diff --git a/xin-launcher/run.bat b/xin-launcher/run.bat deleted file mode 100644 index 39d2531..0000000 --- a/xin-launcher/run.bat +++ /dev/null @@ -1,27 +0,0 @@ -@echo off -title Xin-launcher启动器(请勿关闭) -SETLOCAL -set "CURRENT_DIR=%cd%" - -set "CATALINA_HOME=%CURRENT_DIR%" - -set MAINPATH=%cd%\lib\xin-launcher.jar - -set JAVA_HOME="C:\project\test_environment\jdk1.8.0_191" - -echo CURRENT_DIR=%CURRENT_DIR% -echo JAVA_HOME=%JAVA_HOME% -echo MAINPATH=%MAINPATH% - -@rem 设置Java虚拟机参数 -set JAVA_VM=-hotspot -@rem 设置Java虚拟机所使用的内存 -set MEM_ARGS=-Xms128m -Xmx128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:MaxDirectMemorySize=128m -Xss1024K -@rem start /b -taskkill /f /t /im javaw.exe -CHCP 65001 -@rem 如果此行命令运行失败 使用下方命令 -start /b %JAVA_HOME%\bin\javaw %MEM_ARGS% -Dfile.encoding=UTF-8 -jar %MAINPATH% -@rem start /b %JAVA_HOME%\bin\javaw %MEM_ARGS% %MAINPATH% -:end -ENDLOCAL \ No newline at end of file