开发者中心与上架流程
文枢CMS 的应用市场(模板 / 源码)由开发者自助发布。本文完整走一遍 注册 → 开发者认证 → 发布应用 → 提交审核 → 上新版本 → 结算提现 的链路, 并说明每一步在官网上的入口与后台审核口径。
一、角色与前置条件
| 角色 | 说明 | 能做什麼 |
|---|---|---|
| 游客 | 未登录 | 浏览市场、看应用详情 |
| 注册用户 | 已登录普通账号 | 购买、下载、申请成为开发者 |
| 认证开发者 | dev_status = 2 | 发布 / 编辑 / 上新版本 / 查看收益 |
| 平台管理员 | 后台 | 审核开发者、审核应用、上架 / 驳回 |
入口一览
| 页面 | 地址 |
|---|---|
| 用户中心 | /user |
| 开发者中心(认证 + 概览) | /user/dev |
| 我的应用 | /user/apps |
| 发布新应用 | /user/apps/create |
| 应用市场 | /market |
只有
dev_status = 2(已通过认证)才能进入/user/apps/create。 未认证时「我的应用」页会显示「先完成开发者认证」按钮并跳回/user/dev。
二、申请开发者认证
进入 /user/dev,填写认证表单后提交(POST /user/dev/apply)。表单字段:
| 字段 | 名称 | 校验 |
|---|---|---|
| 真实姓名 | realname | 必填 |
| 手机号 | mobile | 必填,1[3-9] 开头的 11 位 |
| 证件号 | idcard | 选填 |
| 个人网站 | website | 选填 |
| 社区主页 | community | 选填 |
| 技能方向 | skill | 选填 |
| 开发者简介 | intro | 至少 10 个字 |
提交后按后台开关 dev_need_audit 分流:
- 开启审核(默认) —— 状态置为
1 待审核,写入站内消息「开发者认证已提交」,
管理员在后台「用户与开发者」逐条通过 / 驳回。
- 关闭审核 —— 直接置为
2 已通过,可立即发布应用。
审核结果会以站内消息形式下发,入口 /user/message。
三、发布应用
- 打开
/user/apps/create(GET)填写表单。
- 提交到
POST /user/apps/store,一次完成「应用记录 + 首个版本」。
表单字段与校验:
| 字段 | 名称 | 要求 |
|---|---|---|
| 应用类型 | type | template(模板)或 source(源码 / 插件) |
| 应用名称 | title | ≥ 3 个字 |
| 一句话简介 | summary | ≥ 10 个字 |
| 分类 | cat_id | 必选,模板与源码分类各自独立 |
| 应用标识 | slug | 见下方说明 |
| 版本号 | version | 留空时自动取安装包内声明值,再退化为 1.0.0 |
| 价格 | price | 元;填 0 即免费 |
| 演示地址 | demo_url | 选填 |
| 标签 | tags | 选填,逗号分隔 |
| 封面图 | cover | 选填 |
| 截图 | screenshots[] | 选填,可多张 |
| 详细介绍 | content | 支持 Markdown |
| 安装包 | package | zip,先过规范检测 |
应用标识(slug)规则
标识决定应用详情页的地址,必须唯一。系统会自动把名称转成合法标识
(slugify),也可手动填写。硬性规则:
- 长度 2–50;允许中英文、数字、中划线、下划线;不能以符号开头。
- 后端冲突时直接报错并退回,不会静默加随机后缀。
- 以下为系统保留字,不可占用:
admin api user login register app search docs blog
page download upload pay checkout market。
前台发布页提供实时查重接口 GET /user/apps/check-slug,可在输入时即时提示。
安装包校验与回填
上传的 zip 会先经 PackageValidator 规范检测(详见
安装包规范与打包):
- 不通过(errors) —— 直接退回表单,不产生半成品记录,错误明细附在提示里。
- 包内声明的标识(
name)若与官网现有应用重复 —— 同样拒绝首次提交,
需改包内 name 后重新打包。
- 通过后回填 —— 包内
version用于自动补全版本号;title/author供表单参考。
应用记录写入后,按后台开关 app_need_audit 决定状态:
开启(默认)则是 0 待审核,关闭则直接 1 已上架。同时写入 app_version
首条版本记录(含包路径、大小、MD5)。
四、审核与上架
管理员在后台处理开发者与应用审核(列表内可直接操作,也可批量):
| 审核对象 | 后台入口 | 通过 | 驳回 |
|---|---|---|---|
| 开发者认证 | 用户与开发者 · 开发者列表 | dev_status=2 | 置回未通过并附备注 |
| 应用上架 | 应用管理 · 待审核 | status=1 前台可见 | status 置回,写 reject_reason |
驳回原因会写入应用的
reject_reason字段,开发者可在「我的应用」中看到, 修改后重新提交即再次进入待审核。
五、上新版本
- 在「我的应用」点击目标应用的「新版本」→
/user/apps/version/{id}。
- 填写版本号与更新说明,上传新的安装包,提交
POST /user/apps/version。
要点:
- 新版本包同样先过规范检测,不通过直接退回。
- 提交成功后应用主表的
version与file_size同步为新包的值。
- 历史版本可在「我的应用」的「版本历史」抽屉里查看,含版本号、更新说明、
包大小、下载数与发布时间,并可下载对应安装包(/download/file/{versionId})。
六、收益与结算
- 收益在用户中心「我的收益」查看,数据源为
s_balance_log中type=income的记录。
- 平台与开发者按 7 : 3 分成:每笔付费订单结算时,作者获得 70%,平台留存 30%。
- 结算在支付回调时幂等完成(同一订单不会重复入账),退款时按规则回退。
- 余额可申请提现:个人中心「提现」提交申请,管理员后台「提现管理」审核打款。
免费应用不计收益;付费应用的价格以「元」为单位填写,库内以「分」存储。
七、常见问题
Q:提交时提示「应用标识已被占用」? 换一个标识即可。标识全局唯一且不可用保留字。
Q:上传安装包后提示规范不通过?
按提示补齐——模板包缺 theme.json、插件包缺 info.ini 或入口类是最常见原因。
参见 安装包规范与打包。
Q:已经上架的应用改价格后要重新审核吗?
开启 app_need_audit 时,编辑保存会把状态打回待审核,需重新过审。
Q:删除应用后还能恢复吗?
不能。/user/apps/delete 为软删(写 delete_time 并置 status=2),
前台不再可见,请在删除前自行备份安装包。