This commit is contained in:
2025-11-25 11:41:56 +08:00
parent af24b473cd
commit c8228cc68f
3 changed files with 67 additions and 24 deletions

18
get_machine_code.py Normal file
View File

@@ -0,0 +1,18 @@
import platform
import uuid
import hashlib
def get_machine_id() -> str:
"""生成机器码。
根据当前系统信息平台、架构、MAC地址生成唯一机器码
使用 SHA256 取前16位并转大写前缀为 HERTZ_STUDIO_。
"""
system_info = f"{platform.platform()}-{platform.machine()}-{uuid.getnode()}"
return 'HERTZ_STUDIO_' + hashlib.sha256(system_info.encode()).hexdigest()[:16].upper()
if __name__ == "__main__":
machine_code = get_machine_id()
print(f"您的机器码是: {machine_code}")

View File

@@ -1,9 +1,5 @@
from setuptools import setup, find_packages
import sys
import platform
import uuid
import hashlib
import requests
package_name = 'hertz_studio_django_xxx'
@@ -17,23 +13,15 @@ def read_requirements():
with open("requirements.txt", "r", encoding="utf-8") as f:
return [line.strip() for line in f if line.strip() and not line.startswith("#")]
# 机器码验证请求
def request_verify_machine_code(package_name, machine_code):
"""请求验证机器码"""
url = "http://activate.hzsystems.cn/api/activate_machine"
data = {"package_name": package_name, "machine_code": machine_code}
try:
response = requests.post(url, json=data, timeout=10)
return response.json()
except requests.RequestException as e:
print(f"机器码验证请求失败: {e}")
return None
# 机器码验证功能
def verify_machine_license():
"""验证机器码"""
import platform
import uuid
import hashlib
print("\n" + "="*60)
print("欢迎使用 Hertz System xxx!")
print("欢迎使用 Hertz System Xxx!")
print("="*60)
print("本软件需要机器码验证才能安装。")
print("请联系作者获取安装权限hertz studio(563161210@qq.com)")
@@ -47,8 +35,18 @@ def verify_machine_license():
print("请将此机器码发送给作者进行注册。")
# 请求验证机器码
response = request_verify_machine_code(package_name, machine_id)
if response.get('success') == True:
import requests
url = "http://activate.hzsystems.cn/api/activate_machine"
data = {"package_name": package_name, "machine_code": machine_id}
try:
response = requests.post(url, json=data, timeout=10)
result = response.json()
success = result.get('success') == True
except requests.RequestException as e:
print(f"机器码验证请求失败: {e}")
success = False
if success:
print("=" * 60)
print("机器码验证成功!")
print("=" * 60)

View File

@@ -1,4 +1,10 @@
# APP打包步骤
# APP打包教程
请先运行get_license.py脚本获取机器码
并将机器码交给机器码管理人员负责授权!!!
@@ -107,8 +113,29 @@ project_urls={
完成上述的修改后,在终端的项目输入以下命令并回车进行打包
```
python setup.py sdist
```bash
python setup.py sdist bdist_wheel
```
运行完成后会在dist目录下生成一个打包过后的文件
运行完成后会在dist目录下生成两个文件,如:
hertz_studio_django_yolo-1.0.1.tar.gz和hertz_studio_django_yolo-1.0.1-py3-none-any.whl
## 七、测试pip下载
测试时请将下面的hertz_studio_django_yolo-1.0.1-py3-none-any.whl换成你自己生成的文件
```bash
pip install dist/hertz_studio_django_yolo-1.0.1-py3-none-any.whl
```
## 八、将生成的两个文件交给仓库源管理人员上传