虚拟商品
# Virtual Product Plugin for BeikeShop
## 功能特性
### 虚拟商品支持
- **商品类型设置**:支持将普通商品设置为虚拟商品,适用于电子书、数字素材、影音文件、软件系统、在线课程、激活码等无需实体物流的数字产品
- **库存管理**:虚拟商品无需实体库存,购买后自动发货,不受库存数量限制
- **订单处理**:订单支付成功后系统自动完成订单,无需人工发货操作
### 多种下载方式
- **本地上传文件**:支持上传 ZIP、PDF、MP4、MP3、EXE 等常见格式的数字文件
- 自动文件类型检测和大小限制
- 支持断点续传下载
- 文件存储在服务器本地,安全可靠
- **网盘链接分享**:支持百度网盘、夸克网盘、阿里云盘、OneDrive、Google Drive 等主流网盘
- 可设置网盘提取密码
- 支持自定义网盘链接有效期
- 客户购买后显示网盘链接和密码
### 下载控制与保护
- **下载次数限制**:可设置每个订单的最大下载次数(如:允许下载 3 次)
- **下载有效期**:可设置下载链接的有效期限(如:7 天内有效)
### 邮件自动通知
- **支付成功自动发送**:客户支付成功后,系统自动发送包含下载链接的邮件
- **邮件模板自定义**:支持自定义邮件标题和正文内容
- **变量替换支持**:邮件中可使用动态变量(订单号、客户名、商品名、下载链接等)
### 环境要求
- BeikeShop >= 1.5.0
- PHP >= 8.0
- 支持文件上传功能
### 安装步骤
1. 将插件目录放置在 `plugins/VirtualProduct/` 目录下
2. 运行数据库迁移:
```bash
php artisan migrate --path=plugins/VirtualProduct/database/migrations
```
3. 在后台插件管理中启用插件
4. (可选)配置文件上传大小限制:
- 修改 `php.ini` 中的 `upload_max_filesize` 和 `post_max_size`
- 建议设置为至少 50MB 以支持大文件上传
## 使用说明
### 后台设置
#### 启用虚拟商品功能
1. 进入后台「商品管理」→「商品列表」
2. 选择要设置为虚拟商品的商品,点击「编辑」
3. 在商品编辑页面,找到「虚拟商品」选项卡
4. 勾选「启用虚拟商品功能」
5. 选择下载类型:「本地上传」或「网盘链接」
#### 本地上传配置
1. 选择「本地上传」类型
2. 点击「选择文件」上传数字文件
3. 设置下载限制:
- **下载次数**:建议设置为 3-5 次,给客户留出重新下载的空间
- **有效期**:建议设置为 7-30 天,根据商品类型调整
4. 填写文件描述(可选,显示在下载页面)
5. 点击「保存」完成设置
#### 网盘链接配置
1. 选择「网盘链接」类型
2. 填写网盘分享链接(完整 URL)
3. 填写提取密码(如果有)
4. 设置下载限制(同本地上传)
5. 点击「保存」完成设置
#### 邮件设置
1. 进入「虚拟商品」→「邮件设置」
2. 配置邮件模板:
- **邮件标题**:建议包含订单号和商品名,如「订单 {order_number} - {product_name} 下载链接」
- **邮件正文**:支持html,可插入变量
3. 设置自动发送选项:
- **支付成功后自动发送**:建议开启
- **手动审核后发送**:适用于需要人工验证的虚拟商品
4. 点击「保存设置」
### 前台购买流程
1. **浏览商品**:客户在商城浏览并选择虚拟商品
2. **加入购物车**:与普通商品一样加入购物车结算
3. **支付订单**:完成支付流程
4. **接收邮件**:支付成功后自动收到包含下载链接的邮件
5. **下载文件**:
- 点击邮件中的下载链接
- 或登录账户,在「我的订单」中找到对应订单,点击「下载」按钮
6. **完成下载**:在有效期内使用剩余的下载次数完成下载
## 邮件模板变量
邮件模板支持以下变量,使用 `{variable_name}` 格式插入:
### 邮件模板示例
```
尊敬的客户 {customer_name},您好!
感谢您购买商品:{product_name}
您的订单号:{order_number}
请点击以下链接下载您的数字商品:
{download_links}
下载限制:
- 下载次数:{download_limit}
- 有效期至:{expire_date}
如有任何问题,请联系我们的客服团队。
祝您使用愉快!
{shop_name}
{shop_url}
```
## 常见问题
### Q: 上传的文件大小有限制吗?
A: 文件大小受 PHP 配置 `upload_max_filesize` 限制,建议设置为 50MB 或更大。如需上传更大文件,建议使用网盘链接方式。
### Q: 下载链接可以修改吗?
A: 可以。修改商品虚拟商品设置后,新的下载链接会生效,已发送邮件中的旧链接将失效。
### Q: 客户没有收到下载邮件怎么办?
A: 登录账户,在「我的订单」中找到对应订单,点击「下载」按钮。








