# 小程序改造方案 - 开发者中心 & 企业控制台

> 制定时间：2026-04-12
> 项目中心：以「项目」为核心构建所有功能

---

## 一、整体架构设计

### 1.1 用户角色划分

```
┌─────────────────────────────────────────────────────────────┐
│                         小程序端                             │
├─────────────────────────┬───────────────────────────────────┤
│    🛠️ 开发者角色          │    🏢 企业客户角色                 │
│    (Developer)          │    (Enterprise)                  │
├─────────────────────────┼───────────────────────────────────┤
│ • 拥有开发者权限的用户     │ • 拥有企业权限的用户               │
│ • 可开发/发布应用         │ • 可管理企业应用、成员、账单         │
│ • 独立于企业存在          │ • 属于某个企业组织                  │
│                         │ • 可申请成为开发者                   │
└─────────────────────────┴───────────────────────────────────┘
```

### 1.2 角色获取方式

| 角色 | 获取方式 | 说明 |
|------|---------|------|
| 开发者 | 申请审核制 | 用户主动申请 → 资料审核 → 获得开发者权限 |
| 企业客户 | 购买产品 | 下单支付 → 自动开通企业账号 → 成为企业主 |

---

## 二、页面结构设计

### 2.1 入口设计

```
首页 (pages/index/index)
├── 产品展示区
├── 快捷入口区
│   ├── 🛠️ 开发者中心 (开发者角色入口)
│   └── 🏢 企业控制台 (企业客户入口)
└── 底部 TabBar (商城/购物车/我的)
```

**注意**：两个入口对普通用户可见，但需要对应角色权限才能进入。

### 2.2 开发者中心 (developer/)

```
developer/
├── index.tsx                    # 开发者工作台
│   ├── 我的项目列表
│   ├── 快捷操作 (新建项目、查看文档)
│   └── 开发者动态/通知
│
├── project/
│   ├── index.tsx                # 项目列表
│   ├── create.tsx               # 创建项目
│   └── [id]/
│       ├── index.tsx            # 项目概览
│       ├── settings.tsx         # 项目设置
│       ├── members.tsx          # 项目成员
│       ├── api-keys.tsx         # API Key 管理
│       ├── deployments.tsx      # 部署记录
│       └── logs.tsx             # 运行日志
│
├── app/                         # 应用管理
│   ├── index.tsx                # 应用列表
│   ├── create.tsx               # 创建应用
│   └── [id]/
│       ├── index.tsx            # 应用详情
│       ├── version.tsx          # 版本管理
│       ├── config.tsx           # 应用配置
│       └── publish.tsx          # 发布管理
│
├── market/                      # 开发者市场
│   ├── index.tsx                # 市场首页
│   ├── templates.tsx            # 模板市场
│   └── plugins.tsx              # 插件市场
│
├── orders/                      # 开发订单 (已有)
│   └── index.tsx
│
├── developer/                   # 开发者中心
│   ├── index.tsx                # 开发者设置
│   ├── profile.tsx              # 个人资料
│   ├── credentials.tsx          # 开发者凭证
│   └── notification.tsx         # 通知设置
│
└── docs/                        # 文档中心
    ├── index.tsx                # 文档首页
    ├── quickstart.tsx          # 快速开始
    ├── api-docs.tsx            # API 文档
    └── sdk-download.tsx        # SDK 下载
```

### 2.3 企业控制台 (enterprise/)

```
enterprise/
├── index.tsx                    # 企业工作台
│   ├── 企业概览仪表盘
│   ├── 快捷入口 (应用/成员/账单)
│   └── 最新动态
│
├── apps/                        # 企业应用
│   ├── index.tsx                # 应用列表
│   ├── [id]/
│   │   ├── index.tsx            # 应用详情
│   │   ├── monitor.tsx          # 运营监控
│   │   ├── analytics.tsx        # 数据分析
│   │   └── settings.tsx         # 应用设置
│   └── purchase.tsx             # 购买应用
│
├── members/                     # 成员管理
│   ├── index.tsx                # 成员列表
│   ├── invite.tsx               # 邀请成员
│   ├── roles.tsx                # 角色权限
│   └── audit.tsx                # 权限审批
│
├── orders/                      # 订单账单
│   ├── index.tsx                # 订单列表
│   ├── detail.tsx               # 订单详情
│   ├── invoice.tsx              # 发票管理
│   └── bills.tsx                # 账单明细
│
├── billing/                     # 费用中心
│   ├── index.tsx                # 费用概览
│   ├── consumption.tsx          # 消费明细
│   ├── recharge.tsx             # 充值中心
│   └── coupons.tsx              # 优惠券
│
├── enterprise/                  # 企业设置
│   ├── index.tsx                # 企业设置
│   ├── info.tsx                 # 企业信息
│   ├── domain.tsx               # 域名配置
│   ├── security.tsx             # 安全设置
│   └── notification.tsx         # 通知设置
│
└── developer/                   # 开发者入口
    ├── index.tsx                # 开发者介绍
    └── apply.tsx                # 申请开发者
```

---

## 三、核心功能设计

### 3.1 项目管理 (项目中心)

**项目类型**：
| 类型 | 说明 | 适用角色 |
|------|------|---------|
| 基础项目 | 免费，限制功能 | 所有开发者 |
| 专业项目 | 付费，功能完整 | 开发者/企业 |
| 企业项目 | 全功能，支持团队协作 | 企业 |

**项目核心属性**：
```typescript
interface Project {
  id: string
  name: string                    // 项目名称
  type: 'basic' | 'pro' | 'enterprise'
  owner: string                   // 所有者 (开发者ID 或 企业ID)
  ownerType: 'developer' | 'enterprise'
  description?: string            // 项目描述
  icon?: string                   // 项目图标
  status: 'active' | 'suspended' | 'archived'
  createdAt: string
  updatedAt: string

  // 关联信息
  apps: string[]                  // 关联的应用
  members: ProjectMember[]        // 项目成员
  apiKeys: ApiKey[]               // API Key

  // 统计
  appCount: number
  memberCount: number
  apiCallCount: number            // API 调用次数
  storageUsed: number             // 存储使用量
}
```

### 3.2 开发者角色功能

**权限项**：
| 权限 | 说明 | 默认 |
|------|------|------|
| project.create | 创建项目 | ✅ |
| project.edit | 编辑项目 | ✅ |
| project.delete | 删除项目 | ✅ |
| app.create | 创建应用 | ✅ |
| app.publish | 发布应用 | ✅ |
| apiKey.manage | 管理 API Key | ✅ |
| market.access | 访问市场 | ✅ |
| docs.access | 访问文档 | ✅ |

**开发者特有功能**：
- ✅ 创建和管理个人项目
- ✅ 开发、测试、发布应用
- ✅ 访问模板/插件市场
- ✅ 生成和管理 API Key
- ✅ 查看开发者文档和 SDK
- ✅ 提交工单和技术支持

### 3.3 企业客户角色功能

**权限项**：
| 权限 | 说明 | 适用角色 |
|------|------|------|
| enterprise.manage | 企业管理 | 企业主 |
| app.manage | 应用管理 | 企业主/管理员 |
| member.invite | 邀请成员 | 企业主/管理员 |
| member.role | 分配角色 | 企业主/管理员 |
| order.view | 查看订单 | 所有成员 |
| billing.view | 查看账单 | 企业主/财务 |
| billing.pay | 支付充值 | 企业主/财务 |

**企业特有功能**：
- ✅ 企业仪表盘和数据概览
- ✅ 应用运营监控
- ✅ 成员邀请和权限管理
- ✅ 订单管理和发票
- ✅ 费用中心和充值
- ✅ 企业信息配置

### 3.4 角色切换机制

```
用户登录
    │
    ├── 开发者身份
    │   └── 可进入开发者中心
    │
    ├── 企业身份
    │   └── 可进入企业控制台
    │
    └── 两者皆有
        └── 可切换身份入口
            ├── [开发者] 🛠️ 开发者中心
            └── [企业] 🏢 企业控制台
```

---

## 四、开发优先级与里程碑

### Phase 1：基础框架 ⭐ 必须上线

**目标**：建立核心框架，实现最小可用产品

| 模块 | 页面 | 工作量 | 优先级 |
|------|------|--------|--------|
| 入口设计 | 首页快捷入口 + 身份切换 | ⭐⭐ | P0 |
| 开发者工作台 | 开发者首页/概览 | ⭐⭐⭐ | P0 |
| 项目管理 | 项目列表 + 创建 | ⭐⭐⭐⭐ | P0 |
| 应用管理 | 应用列表 + 创建 | ⭐⭐⭐⭐ | P0 |
| 企业工作台 | 企业首页/概览 | ⭐⭐⭐ | P0 |
| 企业应用 | 应用列表 + 详情 | ⭐⭐⭐⭐ | P0 |

### Phase 2：核心功能 ⭐ 必须上线

**目标**：完成核心业务闭环

| 模块 | 页面 | 工作量 | 优先级 |
|------|------|--------|--------|
| API Key | 生成/查看/禁用 | ⭐⭐⭐ | P0 |
| 项目成员 | 邀请/移除/角色 | ⭐⭐⭐ | P0 |
| 应用发布 | 版本管理/发布 | ⭐⭐⭐ | P0 |
| 企业成员 | 列表/邀请/角色 | ⭐⭐⭐⭐ | P0 |
| 订单管理 | 列表/详情 | ⭐⭐⭐ | P0 |
| 账单查看 | 消费明细 | ⭐⭐⭐ | P0 |

### Phase 3：增强功能 🔄 后续迭代

| 模块 | 页面 | 工作量 | 优先级 |
|------|------|--------|--------|
| 开发者申请 | 申请流程/审核 | ⭐⭐⭐ | P1 |
| 权限审批 | 权限申请/审批 | ⭐⭐⭐ | P1 |
| 市场浏览 | 模板/插件市场 | ⭐⭐⭐⭐ | P1 |
| 运营监控 | 数据看板 | ⭐⭐⭐⭐ | P1 |
| 开发者文档 | API文档/SDK | ⭐⭐⭐⭐ | P1 |
| 消息通知 | 通知中心 | ⭐⭐⭐ | P1 |

### Phase 4：高级功能 🔄 后续迭代

| 模块 | 页面 | 工作量 | 优先级 |
|------|------|--------|--------|
| CI/CD | 流水线管理 | ⭐⭐⭐⭐⭐ | P2 |
| 部署管理 | 一键部署 | ⭐⭐⭐⭐ | P2 |
| 数据分析 | 高级统计 | ⭐⭐⭐⭐ | P2 |
| 工单系统 | 技术支持 | ⭐⭐⭐ | P2 |
| 发票管理 | 电子发票 | ⭐⭐⭐ | P2 |
| SSO | 单点登录 | ⭐⭐⭐⭐⭐ | P2 |

---

## 五、与现有模块的关系

### 5.1 独立开发，不依赖现有模块

| 新建模块 | 说明 |
|---------|------|
| developer/ | 开发者中心全套功能 |
| enterprise/ | 企业控制台全套功能 |

### 5.2 共享基础设施

| 共享内容 | 说明 |
|---------|------|
| 用户认证 | 复用 passport 模块的登录体系 |
| 用户状态 | 复用 globalData/storage 中的用户信息 |
| 消息通知 | 可复用 notification 组件 |
| 基础 UI | 复用组件库样式 |

### 5.3 不复用模块

- ❌ 不复用 shop/ (商城) - 独立的企业应用体系
- ❌ 不复用 dealer/ (分销) - 独立的开发者体系
- ❌ 不复用 user/order (用户订单) - 使用新的企业订单体系

---

## 六、技术实现建议

### 6.1 目录结构

```
src/
├── developer/                    # 🛠️ 开发者模块
│   ├── index.tsx                # 开发者入口
│   ├── project/                 # 项目管理
│   ├── app/                     # 应用管理
│   ├── market/                  # 市场
│   └── docs/                    # 文档
│
├── enterprise/                   # 🏢 企业模块
│   ├── index.tsx                # 企业入口
│   ├── apps/                   # 企业应用
│   ├── members/                # 成员管理
│   ├── orders/                 # 订单账单
│   ├── billing/                # 费用中心
│   └── settings/               # 企业设置
│
└── shared/                       # 共享
    ├── components/              # 共享组件
    ├── types/                   # 类型定义
    └── api/                     # API 接口
```

### 6.2 路由配置

```typescript
// app.config.ts
export default {
  subpackages: [
    {
      root: "developer",
      pages: [
        "index",
        "project/index",
        "project/create",
        "project/[id]/index",
        "project/[id]/settings",
        "app/index",
        "app/create",
        "app/[id]/index",
        // ...
      ]
    },
    {
      root: "enterprise",
      pages: [
        "index",
        "apps/index",
        "apps/[id]/index",
        "members/index",
        "members/invite",
        "orders/index",
        "orders/detail",
        // ...
      ]
    }
  ]
}
```

---

## 七、API 接口设计建议

### 7.1 项目相关

| 接口 | 方法 | 说明 |
|------|------|------|
| /api/project/list | GET | 项目列表 |
| /api/project/create | POST | 创建项目 |
| /api/project/:id | GET/PUT/DELETE | 项目 CRUD |
| /api/project/:id/members | GET/POST/DELETE | 项目成员 |
| /api/project/:id/keys | GET/POST/DELETE | API Key |

### 7.2 应用相关

| 接口 | 方法 | 说明 |
|------|------|------|
| /api/app/list | GET | 应用列表 |
| /api/app/create | POST | 创建应用 |
| /api/app/:id | GET/PUT/DELETE | 应用 CRUD |
| /api/app/:id/version | POST | 发布版本 |

### 7.3 企业相关

| 接口 | 方法 | 说明 |
|------|------|------|
| /api/enterprise/info | GET | 企业信息 |
| /api/enterprise/members | GET/POST | 成员管理 |
| /api/enterprise/roles | GET/POST | 角色管理 |
| /api/enterprise/orders | GET | 订单列表 |
| /api/enterprise/bills | GET | 账单明细 |

---

## 八、下一步行动

### 立即开始 (Phase 1)

1. ✅ 创建 developer/ 和 enterprise/ 目录结构
2. ✅ 设计 API 接口文档 (与后端对齐)
3. ✅ 开发首页入口组件
4. ✅ 开发工作台基础页面

### 需要确认

- [ ] 后端 API 是否已准备好？
- [ ] 数据库表结构是否已设计？
- [ ] 是否需要支持微信小程序码扫码登录？

---

**文档版本**：v1.0
**最后更新**：2026-04-12
