116 lines
2.5 KiB
Markdown
116 lines
2.5 KiB
Markdown
|
|
# MT Pay Frontend
|
|||
|
|
|
|||
|
|
PingPong支付系统前端页面(Vue3)
|
|||
|
|
|
|||
|
|
## 技术栈
|
|||
|
|
|
|||
|
|
- Vue 3
|
|||
|
|
- Vue Router 4
|
|||
|
|
- Element Plus
|
|||
|
|
- Axios
|
|||
|
|
- Vite
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
MTKJPAY-FRONT/
|
|||
|
|
├── src/
|
|||
|
|
│ ├── api/ # API接口
|
|||
|
|
│ │ ├── request.js # Axios封装
|
|||
|
|
│ │ └── payment.js # 支付相关API
|
|||
|
|
│ ├── router/ # 路由配置
|
|||
|
|
│ │ └── index.js
|
|||
|
|
│ ├── views/ # 页面组件
|
|||
|
|
│ │ ├── CreateOrder.vue # 创建订单页面
|
|||
|
|
│ │ ├── Checkout.vue # 收银台页面
|
|||
|
|
│ │ ├── PaymentResult.vue # 支付结果页面
|
|||
|
|
│ │ └── OrderQuery.vue # 订单查询页面
|
|||
|
|
│ ├── App.vue # 根组件
|
|||
|
|
│ └── main.js # 入口文件
|
|||
|
|
├── index.html # HTML模板
|
|||
|
|
├── vite.config.js # Vite配置
|
|||
|
|
└── package.json # 项目配置
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 安装依赖
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm install
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 开发运行
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
访问:http://localhost:3000
|
|||
|
|
|
|||
|
|
## 构建生产版本
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run build
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 功能说明
|
|||
|
|
|
|||
|
|
### 1. 创建订单页面 (/)
|
|||
|
|
- 填写订单信息(金额、币种、交易类型等)
|
|||
|
|
- 填写风控信息(客户信息、商品信息、地址信息等)
|
|||
|
|
- 提交后跳转到收银台
|
|||
|
|
|
|||
|
|
### 2. 收银台页面 (/checkout)
|
|||
|
|
- 集成PingPong支付SDK
|
|||
|
|
- 用户完成支付操作
|
|||
|
|
- 支付完成后跳转到结果页面
|
|||
|
|
|
|||
|
|
### 3. 支付结果页面 (/result)
|
|||
|
|
- 显示支付结果
|
|||
|
|
- 显示订单详情
|
|||
|
|
- 提供继续支付和查询订单操作
|
|||
|
|
|
|||
|
|
### 4. 订单查询页面 (/query)
|
|||
|
|
- 根据商户订单号查询订单状态
|
|||
|
|
- 显示订单详情
|
|||
|
|
- 支持继续支付(如果订单未完成)
|
|||
|
|
|
|||
|
|
## 配置说明
|
|||
|
|
|
|||
|
|
### API代理配置
|
|||
|
|
|
|||
|
|
在 `vite.config.js` 中配置了API代理:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
server: {
|
|||
|
|
proxy: {
|
|||
|
|
'/api': {
|
|||
|
|
target: 'http://localhost:8080', // 后端服务地址
|
|||
|
|
changeOrigin: true
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### PingPong SDK模式
|
|||
|
|
|
|||
|
|
在 `Checkout.vue` 中配置SDK模式:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
mode: 'sandbox' // 根据环境修改:sandbox/test/build
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **后端服务**:确保后端服务已启动(默认端口8080)
|
|||
|
|
2. **CORS配置**:如果跨域,需要后端配置CORS
|
|||
|
|
3. **SDK模式**:生产环境需要将 `mode` 改为 `build`
|
|||
|
|
4. **重定向URL**:创建订单时的重定向URL会自动设置为当前域名
|
|||
|
|
|
|||
|
|
## 开发建议
|
|||
|
|
|
|||
|
|
1. 根据实际需求调整表单字段
|
|||
|
|
2. 根据业务需求添加更多验证规则
|
|||
|
|
3. 优化用户体验和错误提示
|
|||
|
|
4. 添加加载状态和错误处理
|
|||
|
|
|