hookehuyr

feat(disable): 屏蔽视频播放功能(个人主体限制)

- 屏蔽 useFileOperation 中的视频跳转逻辑
- 注释 app.config.js 中的 video-player 路由
- 新增功能屏蔽文档便于后续恢复

原因:个人主体小程序不支持视频服务类目
审核反馈:你的小程序涉及视频服务,属个人主体小程序未开放类目

恢复方法:详见 docs/disabled-features/video-player.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
......@@ -7607,3 +7607,12 @@
**变更摘要**:
- 无详细描述
## 2026-03-13
### 11:49:08 - 完成任务
**影响文件**:
- `src/components/cards/ArticleCard.vue`
**变更摘要**:
- 无详细描述
......
......@@ -8,6 +8,7 @@
## 📚 项目文档索引
- **[功能屏蔽说明](docs/disabled-features/README.md)** - 因个人主体限制而屏蔽的功能及恢复方法
- **[经验教训总结](docs/lessons-learned.md)** - Taro 项目开发经验、最佳实践和常见陷阱
- **[接口联调日志](docs/api-integration-log.md)** - API 集成状态和联调记录
- **[变更日志](docs/CHANGELOG.md)** - 项目版本更新历史
......
# 功能屏蔽说明总览
> 本目录记录了因**个人主体小程序限制**而屏蔽的功能及其恢复方法。
---
## 📋 目录
- [视频播放功能](./video-player.md) - 个人主体不支持视频服务类目
---
## 🚫 为什么需要屏蔽功能?
微信小程序**个人主体**有以下限制:
| 类别 | 状态 | 说明 |
|------|------|------|
| ❌ 视频服务 | 禁止 | 需要企业主体 |
| ❌ 微信支付 | 禁止 | 需要企业认证 |
| ❌ 直播功能 | 禁止 | 需要企业主体 |
| ❌ 虚拟支付/会员 | 禁止 | 需要企业主体 |
| ❌ 新闻资讯 | 禁止 | 需要前置审批 |
| ❌ 金融类 | 禁止 | 需要特殊资质 |
本项目因**视频服务**审核未通过,已屏蔽相关功能。
---
## 🔄 如何恢复功能?
当小程序升级为**企业主体**后,可以恢复被屏蔽的功能:
### 恢复流程
1. **申请企业主体小程序**
- 注册企业类型小程序
- 完成微信认证
- 迁移或重新提交审核
2. **按功能文档恢复代码**
- 参考各功能文档中的"恢复方法"章节
- 取消相关代码的注释
- 恢复路由配置
3. **测试功能**
- 开发环境测试
- 体验版测试
- 提交审核
### 快速恢复检查清单
- [ ] 小程序已升级为企业主体
- [ ] 微信认证已完成
- [ ] 相关类目资质已申请
- [ ] 代码已按文档恢复
- [ ] 功能测试通过
- [ ] 重新提交审核
---
## 📂 当前屏蔽功能
| 功能 | 屏蔽日期 | 恢复文档 | 优先级 |
|------|---------|---------|--------|
| 视频播放 | 2026-03-13 | [video-player.md](./video-player.md) | 高 |
---
## 💡 常见问题
### Q1: 为什么不直接删除代码?
**A**: 保留代码便于后续恢复。升级为企业主体后,只需要取消注释即可快速恢复功能,无需重新编写。
### Q2: 屏蔽的代码会影响小程序性能吗?
**A**: 不会。屏蔽的代码只是不会被调用,不会增加包体积或运行时开销。
### Q3: 如何升级为企业主体?
**A**: 需要准备以下材料:
- 营业执照
- 对公账户信息
- 企业法定代表人身份证
- 管理员信息
具体流程参考:[微信官方文档](https://developers.weixin.qq.com/miniprogram/product/)
---
## 🔗 相关资源
- [微信小程序服务类目](https://developers.weixin.qq.com/minigame/product/material/)
- [小程序注册与审核](https://developers.weixin.qq.com/miniprogram/product/)
- [项目 CLAUDE.md](../../CLAUDE.md)
---
## 📅 变更日志
| 日期 | 功能 | 操作 |
|------|------|------|
| 2026-03-13 | 视频播放 | 屏蔽 |
# 视频播放功能屏蔽说明
> **屏蔽日期**: 2026-03-13
> **屏蔽原因**: 个人主体小程序不支持视频服务类目
> **审核反馈**: "你的小程序涉及视频服务,属个人主体小程序未开放类目"
---
## 📋 功能概述
**功能名称**: 视频播放器
**技术实现**: 原生 `video` 组件 + 独立播放页面
**触发场景**: 用户点击资料库中的视频文件
---
## 🔍 原实现方式
### 1. 视频播放页面
**文件**: `src/pages/video-player/index.vue`
- 使用 Taro `video` 组件
- 支持全屏播放、进度控制、音量控制
- 支持的格式:MP4、M4V、MOV
### 2. 跳转逻辑
**文件**: `src/composables/useFileOperation.js:378-393`
```javascript
// 原代码(已屏蔽)
if (isVideoFile(item)) {
await Taro.navigateTo({
url: `/pages/video-player/index?url=${encodeURIComponent(item.downloadUrl)}&title=${encodeURIComponent(item.title || item.fileName)}`
})
return true
}
```
### 3. 路由配置
**文件**: `src/app.config.js`
```javascript
// 原配置(已注释)
const pages = [
// ...
'pages/video-player/index',
// ...
]
```
---
## 🚫 屏蔽后的行为
### 当前实现
**文件**: `src/composables/useFileOperation.js:378-394`
```javascript
if (isVideoFile(item)) {
// 视频文件:已屏蔽跳转功能(个人主体小程序限制)
console.log('[文件操作] 视频文件预览已屏蔽(个人主体限制):', item.fileName)
showToast({
title: '小程序暂不支持视频预览',
icon: 'none',
duration: 2000
})
return false
}
```
### 用户体验
- 点击视频文件时,显示提示:"小程序暂不支持视频预览"
- 不会跳转到播放页面
- 不会触发视频播放
---
## ✅ 恢复方法(企业主体)
当小程序升级为企业主体后,按以下步骤恢复功能:
### 步骤 1: 恢复路由配置
**文件**: `src/app.config.js`
```javascript
const pages = [
// ...
'pages/message/index',
'pages/message-detail/index',
'pages/video-player/index', // ✅ 取消注释
'pages/article-detail/index',
]
```
### 步骤 2: 恢复跳转逻辑
**文件**: `src/composables/useFileOperation.js`
```javascript
// 判断是否为视频文件(优先使用 extension 字段)
if (isVideoFile(item)) {
// 视频文件:跳转到视频播放页面
try {
await Taro.navigateTo({
url: `/pages/video-player/index?url=${encodeURIComponent(item.downloadUrl)}&title=${encodeURIComponent(item.title || item.fileName)}`
})
return true
} catch (error) {
console.error('[文件操作] 视频打开失败:', error)
showToast({
title: '视频打开失败',
icon: 'none',
duration: 2000
})
return false
}
}
```
### 步骤 3: 删除屏蔽提示
删除 `useFileOperation.js` 中的屏蔽提示代码:
```javascript
// 删除以下内容
showToast({
title: '小程序暂不支持视频预览',
icon: 'none',
duration: 2000
})
```
### 步骤 4: 重新编译
```bash
pnpm build:weapp
```
---
## 📝 相关文件清单
| 文件 | 状态 | 说明 |
|------|------|------|
| `src/pages/video-player/index.vue` | 保留 | 视频播放页面组件 |
| `src/pages/video-player/index.config.js` | 保留 | 页面配置 |
| `src/composables/useFileOperation.js` | 已修改 | 屏蔽视频跳转逻辑 |
| `src/app.config.js` | 已修改 | 注释路由配置 |
**注意**: 所有源代码文件均保留,仅修改调用逻辑,便于后续恢复。
---
## 🔗 相关资源
- [微信小程序个人主体限制](https://developers.weixin.qq.com/minigame/product/material/)
- [小程序服务类目](https://developers.weixin.qq.com/minigame/product/material/)
- [恢复总览](./README.md)
---
## 📅 变更日志
| 日期 | 操作 | 说明 |
|------|------|------|
| 2026-03-13 | 屏蔽 | 个人主体审核不通过 |
| - | - | 待恢复(升级企业主体后) |
......@@ -30,7 +30,7 @@ const pages = [
'pages/help-center/index',
'pages/message/index',
'pages/message-detail/index',
'pages/video-player/index',
// 'pages/video-player/index', // [屏蔽] 个人主体小程序不支持视频服务
'pages/article-detail/index',
'pages/article-favorites/index',
]
......
......@@ -375,23 +375,23 @@ export function useFileOperation() {
}
// 判断是否为视频文件(优先使用 extension 字段)
// [屏蔽原因] 个人主体小程序不支持视频服务类目
// [恢复方法] 将下方注释的代码恢复,删除 showToast 提示
// [相关文档] docs/disabled-features/video-player.md
if (isVideoFile(item)) {
// 视频文件:跳转到视频播放页面
try {
await Taro.navigateTo({
url: `/pages/video-player/index?url=${encodeURIComponent(item.downloadUrl)}&title=${encodeURIComponent(item.title || item.fileName)}`
})
return true
} catch (error) {
console.error('[文件操作] 视频打开失败:', error)
// 视频文件:已屏蔽跳转功能(个人主体小程序限制)
// 原:跳转到视频播放页面
// await Taro.navigateTo({
// url: `/pages/video-player/index?url=${encodeURIComponent(item.downloadUrl)}&title=${encodeURIComponent(item.title || item.fileName)}`
// })
console.log('[文件操作] 视频文件预览已屏蔽(个人主体限制):', item.fileName)
showToast({
title: '视频打开失败',
title: '小程序暂不支持视频预览',
icon: 'none',
duration: 2000
})
return false
}
}
// 非视频文件:下载并打开
// 显示加载提示
......