# BSPHP Java Demo

## 简体中文

这是 BSPHP 的 Java Swing 演示仓库，包含两个独立项目，分别复刻账号模式与卡密模式的核心功能与界面流程。

### 项目结构

- `bsphp.java.login`：账号模式（对应 `bsphp.mac.demo`）
- `bsphp.java.car`：卡密模式（对应 `bsphp.mac.demo.card`）

### 环境要求

- JDK 17+
- Maven 3.8+
- macOS/Linux/Windows（推荐在终端运行脚本）

### 快速开始

在仓库根目录执行：

```bash
chmod +x run-login.sh run-car.sh
./run-login.sh
./run-car.sh
```

### 进入子项目单独运行

```bash
cd bsphp.java.login
mvn -DskipTests package dependency:copy-dependencies
java -cp "target/classes:target/dependency/*" com.bsphp.car.BsphpCarApp
```

```bash
cd bsphp.java.car
mvn -DskipTests package dependency:copy-dependencies
java -cp "target/classes:target/dependency/*" com.bsphp.login.BsphpLoginApp
```

### 文档导航

- 统一运行说明：`run.md`
- 账号模式说明：`bsphp.java.login/README.md`
- 卡密模式说明：`bsphp.java.car/README.md`

### 常见问题

- `mvn: command not found`：请先安装 Maven，并确认 `mvn -version` 可用。
- `Unable to locate a Java Runtime`：请安装 JDK 17+，并确认 `java -version` 正常。
- 接口请求失败：先检查网络连通性，再核对 URL/密钥配置。

---

## 繁體中文

這是 BSPHP 的 Java Swing 示範倉庫，包含兩個獨立專案，分別重現帳號模式與卡密模式的核心功能與介面流程。

### 專案結構

- `bsphp.java.login`：帳號模式（對應 `bsphp.mac.demo`）
- `bsphp.java.car`：卡密模式（對應 `bsphp.mac.demo.card`）

### 執行需求

- JDK 17+
- Maven 3.8+
- macOS/Linux/Windows（建議於終端執行腳本）

### 快速啟動

在倉庫根目錄執行：

```bash
chmod +x run-login.sh run-car.sh
./run-login.sh
./run-car.sh
```

### 進入子專案單獨執行

```bash
cd bsphp.java.login
mvn -DskipTests package dependency:copy-dependencies
java -cp "target/classes:target/dependency/*" com.bsphp.car.BsphpCarApp
```

```bash
cd bsphp.java.car
mvn -DskipTests package dependency:copy-dependencies
java -cp "target/classes:target/dependency/*" com.bsphp.login.BsphpLoginApp
```

### 文件導覽

- 統一執行說明：`run.md`
- 帳號模式說明：`bsphp.java.login/README.md`
- 卡密模式說明：`bsphp.java.car/README.md`

### 常見問題

- `mvn: command not found`：請先安裝 Maven，並確認 `mvn -version` 可用。
- `Unable to locate a Java Runtime`：請安裝 JDK 17+，並確認 `java -version` 正常。
- 介面請求失敗：先檢查網路連線，再核對 URL/金鑰配置。

---

## English

This repository contains Java Swing BSPHP demos with two standalone projects, covering both account mode and card-license mode with matching core flows and UI behavior.

### Project Layout

- `bsphp.java.login`: account mode (mapped from `bsphp.mac.demo`)
- `bsphp.java.car`: card-license mode (mapped from `bsphp.mac.demo.card`)

### Requirements

- JDK 17+
- Maven 3.8+
- macOS/Linux/Windows (terminal script execution recommended)

### Quick Start

Run from repository root:

```bash
chmod +x run-login.sh run-car.sh
./run-login.sh
./run-car.sh
```

### Run Each Project Manually

```bash
cd bsphp.java.login
mvn -DskipTests package dependency:copy-dependencies
java -cp "target/classes:target/dependency/*" com.bsphp.car.BsphpCarApp
```

```bash
cd bsphp.java.car
mvn -DskipTests package dependency:copy-dependencies
java -cp "target/classes:target/dependency/*" com.bsphp.login.BsphpLoginApp
```

### Docs

- Unified run guide: `run.md`
- Account-mode readme: `bsphp.java.login/README.md`
- Card-mode readme: `bsphp.java.car/README.md`

### Troubleshooting

- `mvn: command not found`: install Maven and verify with `mvn -version`.
- `Unable to locate a Java Runtime`: install JDK 17+ and verify with `java -version`.
- API request failures: check network first, then verify URL/key configuration.
