fix(*): 大版本更新,后续代码版本为3.0

This commit is contained in:
2025-09-28 11:55:35 +08:00
parent f2038f1bc3
commit 6a650e3389
20 changed files with 364 additions and 52 deletions

View File

@ -6,7 +6,9 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="xin-launcher" level="project" />
<orderEntry type="library" name="xin-admin" level="project" />
<orderEntry type="library" name="xin-launcher" level="project" />
<orderEntry type="library" name="xin-admin" level="project" />
<orderEntry type="library" name="xin-launcher" level="project" />
</component>
</module>

View File

@ -66,5 +66,10 @@
1. 优化全局过滤功能,区分已授权与未授权状态(前者自动跳转登录界面,后者自动跳转授权界面)
2. 修复全局过滤功能在项目重启后无法正确处理相应拦截的异常
2025-09-28
1. 大版本更新后续代码版本为3.0
2. 注册表存储随机字符串由机械码及下发授权文件决定

View File

@ -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字符串

View File

@ -0,0 +1,87 @@
# LocalLauncherValid工具函数释义
本文档用于解释新增LocalLauncherValid工具函数的使用释义开发使用。
本文档书写事件2025-09-28 对应 xinlauncher_20250928.zip 。
## 简介
该类统一了内部鉴权相关操作函数。
## 调用函数
基于外部调用,针对每一个函数进行调用释义。
注意:该内容需要跟随版本进行修改,查看文档时请注意是否为对应版本包及文档。
1. 静态资源
无。
2. 静态函数
依次对函数进行释义:
1. 读取授权码文件内容
- 函数名loadCipher
- 调用:可外部调用
- 调用方式LocalLauncherValid.loadCipher();
- 基础逻辑:读取授权文件对应字符串。
- 入参:无
- 出参:返回授权文件字符串信息。
2. 验证授权文件
- 函数名valid
- 调用:私有函数,不可外部调用
- 调用方式:无;
- 基础逻辑:校验系统授权文件,为空或鉴权失败时,清除已有文件并重新生成机械码信息。
- 入参:无
- 出参:无
3. 验证系统信息
- 函数名validCipher
- 调用:私有函数,不可外部调用
- 调用方式:无
- 基础逻辑:获取存储在机械码文件中的加密字符串信息,比对机械实际硬件信息,对照失败时,重新生成并删除已有授权文件。
- 入参:无
- 出参:无
4. 解码校验系统信息
- 函数名validCipher
- 调用:私有函数,不可外部调用
- 调用方式:无
- 基础逻辑:解密传入的机械码加密字符串,比对机械实际硬件信息,对照失败时,重新生成并删除已有授权文件。
- 入参:无
- 出参:无

View File

@ -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 | 授权文件字符串 |
- 出参:无

Binary file not shown.

View File

@ -165,7 +165,6 @@
'token': sessionStorage.getItem("token")
}
}).then(function (res) {
console.log(res)
if (res.data.state === "success") {
that.$message.success('修改成功');
setTimeout(() => { //设置延迟执行

View File

@ -57,9 +57,8 @@
<div class="des">授权文件:
<span style="color: green">正常</span>
<span>
<el-link type="primary" :underline="false"
style=" font-size: 12px;margin-left: 8px;"
@click="dialogTableVisible = true">
<el-link type="primary" :underline="false" style="font-size: 12px;margin-left: 8px;"
@click="openUploadLicense">
更换授权文件
</el-link>
</span>
@ -86,8 +85,8 @@
<div class="app-des">版本:{{item.version}}</div>
<div class="app-license">{{item.grade == 'custom' ? '定制授权' : item.gradeName}}</div>
<div class="app-time" style="color: green"
v-if="new Date().getTime() < new Date(item.expiryTime).getTime()"> {{item.expiryTime |
dateFilter('YYYY-MM-DD')}}到期
v-if="new Date().getTime() < new Date(item.expiryTime).getTime()">
{{item.expiryTime | dateFilter('YYYY-MM-DD')}}到期
</div>
<div v-else style="color: red">已过期</div>
</div>
@ -124,19 +123,23 @@
<el-dialog title="授权码" :visible.sync="dialogCodeVisible" :close-on-click-modal="false">
<div class="demo-input-suffix">
<el-button style="float: right; margin-top: -25px" icon="el-icon-document-copy" @click="copy()" type="text">
复制授权码
</el-button>
<div>
<div style="display: flex;margin-top: 10px;width: 100%;">
<div id="qrcode" style="width:200px;height: 200px;"/>
<div style="display: flex;margin-top: 10px;">
<div style="display: flex;width: 200px;">
<div id="qrcode" style="width:200px;height: 200px;"></div>
</div>
<el-input type="textarea" ref="copy" autosize="true" v-model="single.code" resize="none"
readonly="true" :autosize="{ minRows: 9, maxRows: 10}" style="flex:1;margin-left: 10px"/>
readonly="true" :autosize="{ minRows: 9, maxRows: 10}"
style="flex:1;margin-left: 10px"></el-input>
</div>
</div>
<div style="padding:10px;display: block">
<el-button style="float: right; " icon="el-icon-document-copy" @click="copy()"
type="text">
复制授权码
</el-button>
</div>
</el-dialog>
<el-dialog title="授权文件修改" :visible.sync="dialogTableVisible" :close-on-click-modal="false">
@ -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;
},
}
})
</script>

View File

@ -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=

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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

View File

@ -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