# BSPHP — bsphp.app.demo.card（iOS 卡模式演示 App）

## 项目简介

演示 BSPHP 充值卡 / 卡密登录与相关接口的 iOS 应用（SwiftUI）。与后台「当前应用」的 AppEn 地址、mutualKey、RSA 密钥须一致。

## 目录结构

```
bsphp.app.demo.card/
├── bsphp.app.demo.card.xcodeproj/     Xcode 工程
├── bsphp.app.demo.card/               主 Target 源码
│   ├── bsphp_app_demo_cardApp.swift   App 入口
│   ├── ContentView.swift              主界面、BSPHPCardConfig
│   ├── CardMainControlPanelView.swift 登录后控制台（续费/购卡链接等）
│   ├── bsphp_api_http/                BSPHPClient、BSPHPCrypto
│   ├── Assets.xcassets/
│   └── Preview Content/
├── bsphp.app.demo.cardTests/
├── bsphp.app.demo.cardUITests/
├── 效果图-配置说明/
├── 说明中文.md / 说明繁体.md / 说明英文.md
└── （构建产物在 DerivedData）
```

## 主要目录说明

| 路径 | 说明 |
|------|------|
| `bsphp.app.demo.card.xcodeproj/` | 用 Xcode 打开 |
| `bsphp.app.demo.card/` | 卡模式界面与 `BSPHPCardConfig` |
| `bsphp_api_http/` | 与 AppEn.php 通讯与加密 |
| `效果图-配置说明/` | 后台配置示意截图 |

## 配置说明

1. 编辑 `bsphp.app.demo.card/ContentView.swift` 中私有枚举 **BSPHPCardConfig**：`url`、`mutualKey`、`serverPrivateKey`、`clientPublicKey`（须与后台同一应用配套）。
2. 售卡/续费链接：检查 `CardMainControlPanelView.swift` 中 **BSPHPCardSaleWeb** 的 `daihao` 等与后台「软件代号」一致。
3. Xcode 选择主 App Scheme，运行目标为 iOS 模拟器或已签名真机。

## 配置说明截图

![](效果图-配置说明/1.png)

![](效果图-配置说明/2.png)

![](效果图-配置说明/3.png)

![](效果图-配置说明/4.png)

![](效果图-配置说明/5.png)

![](效果图-配置说明/6.png)

![](效果图-配置说明/7.png)

![](效果图-配置说明/8.png)

## 构建产物

**Xcode**：菜单 **Product → Show Build Folder in Finder**，在对应 Configuration 下查找 `.app`。
