# BSPHP-Delphi-Card-DEMO

![卡密登录](../项目演示与配置/1.png)

Delphi 10（VCL）卡密模式 GUI 演示。

---

## 简体中文

### 功能

- 启动时 Bootstrap 并加载公告
- Tab1：卡串 + 密码验证（`login.ic`）
- Tab2：机器码账号验证 / 充值续费（`AddCardFeatures.key.ic` + `login.ic` / `chong.ic`）
- 验证成功后打开主控制面板 `PanelForm`
- 续费、购买充值卡、购买库存卡入口
- BSPHP 加密通信（MD5 / AES-128-CBC / RSA / WinHTTP）

### 工程结构

```text
BsphpCardDemo.dpr          主程序入口
MainCardForm.pas/dfm       主卡密窗体
PanelForm.pas/dfm          验证成功后的控制面板
bsphp_card_demo.ini        演示配置（推荐修改此文件）
core/
  BsPhpClient.pas          API 客户端
  BsPhpCrypto.pas          加密与 HTTP
  BsPhpConfig.pas          卡密演示配置
  BsPhpMachineId.pas       机器码
```

### 构建与运行

1. 用 Delphi 10.x 打开 `BsphpCardDemo.dpr`
2. 目标平台选择 **Win32**，编译运行
3. 演示 `appid=66666666`，配置文件为程序目录下的 `bsphp_card_demo.ini`

### 配置

参数集中在 `TBsPhpInitConfig`（见 `core\BsPhpConfig.pas`）。

**方式一：INI 文件（推荐）**

编辑 `bsphp_card_demo.ini`，保存后重启即可。

**方式二：代码默认值**

修改 `core\BsPhpConfig.pas` 中的 `DefaultBsPhpInitConfig`。

---

## 繁體中文

### 功能

- 啟動時 Bootstrap 並載入公告
- Tab1：卡串 + 密碼驗證（`login.ic`）
- Tab2：機器碼帳號驗證 / 充值續費
- 驗證成功後開啟主控制面板 `PanelForm`
- 續費、購買充值卡、購買庫存卡入口
- BSPHP 加密通訊（MD5 / AES-128-CBC / RSA / WinHTTP）

### 工程結構

```text
BsphpCardDemo.dpr          主程式入口
MainCardForm.pas/dfm       主卡密窗體
PanelForm.pas/dfm          驗證成功後的控制面板
bsphp_card_demo.ini        示範設定
core/                      BSPHP 客戶端與加密通訊
```

### 建置與執行

1. 以 Delphi 10.x 開啟 `BsphpCardDemo.dpr`
2. 目標平台 **Win32**，編譯執行
3. 示範 `appid=66666666`，設定檔為 `bsphp_card_demo.ini`

---

## English

### Features

- Bootstrap on startup and load announcements
- Tab1: card string + password verification (`login.ic`)
- Tab2: machine-id account verification / top-up renewal
- Opens `PanelForm` control panel after successful verification
- Renewal and card purchase links
- BSPHP encrypted HTTP (MD5 / AES-128-CBC / RSA / WinHTTP)

### Project layout

```text
BsphpCardDemo.dpr          Main program
MainCardForm.pas/dfm       Main card dialog
PanelForm.pas/dfm          Post-login control panel
bsphp_card_demo.ini        Demo configuration
core/                      BSPHP client and crypto
```

### Build & run

1. Open `BsphpCardDemo.dpr` in Delphi 10.x
2. Target **Win32**, build and run
3. Demo `appid=66666666`; config file: `bsphp_card_demo.ini`
