Distromate Docs

快速开始

快速上手 DistroMate CLI

1. 安装

pip install distromate
npm install -g distromate

GitHub Releases 下载 distromate.exe,放入 PATH 目录中。

验证安装:

distromate --version

2. 登录

使用你的用户名和密码登录:

distromate login

系统会提示你输入用户名和密码:

Username: admin
Password: ********
Successfully logged in as admin

3. 配置项目

在你的项目根目录创建 distromate.yaml 配置文件:

appid: b66ace14
name: 我的应用
description: 一个很棒的应用程序

package:
  name: myapp
  executable: dist/myapp.exe
  icon: assets/logo.ico
  publisher: 我的公司
  language: chinese

提示: appid 需要从 DistroMate 服务器获取。如果你还没有创建应用,请先在管理后台创建。

4. 集成 SDK

在打包之前,你需要在应用中集成 DistroMate SDK 来验证许可证。以下是一个简单的 tkinter 示例:

pip install cryptography
main.py
import tkinter as tk
from tkinter import messagebox
from dm_api import DmApi  

PUBLIC_KEY = (  
    "-----BEGIN PUBLIC KEY-----\n"
    "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...\n"
    "-----END PUBLIC KEY-----"
)  

def create_main_window(user_name: str):
    """创建主窗口"""
    root = tk.Tk()
    root.title("我的应用")
    root.geometry("400x300")

    label = tk.Label(root, text=f"欢迎, {user_name}!", font=("Arial", 16))
    label.pack(pady=50)

    root.mainloop()

if __name__ == "__main__":
    api = DmApi(PUBLIC_KEY, "dm_api.dll")  

    # 检查是否由 Launcher 启动,否则重启  
    if api.restart_app_if_necessary():  
        exit()  

    # 连接到 Launcher  
    if not api.connect(r"\\.\pipe\distromate_pipe"):  
        messagebox.showerror("错误", "连接失败,请通过启动器运行本程序")  
        exit()  

    try:  
        # 验证许可证  
        data = api.verify()  
        if not data:  
            messagebox.showerror("错误", "许可证验证失败")  
            exit()  

        api.initiated()  
        create_main_window(data.get("user_name", "用户"))  

    finally:  
        api.close()  

更多语言的 SDK 接入指南请查看 SDK 接入文档

5. 发布版本

将打包好的应用发布到服务器:

distromate publish --name 1.0.0 --description "首个正式版本"

命令会自动完成打包和上传过程:

Packaging application...
Package created successfully
Uploading setup package...
[████████████████████████] 100%
Uploading update package...
[████████████████████████] 100%
Version 1.0.0 published successfully!

下一步

恭喜!你已经成功发布了第一个版本。接下来你可以:

On this page