共计 1513 个字符,预计需要花费 4 分钟才能阅读完成。
零碎整体需要
收益模型
-
广告
- 访客及普通用户展示广告
-
付费内容
- 访客及普通用户无奈查看付费内容的全部内容
- 付费内容收费浏览
- 付费内容可单篇付费
- 付费资源附件须要付费购买(普通用户原价,VIP 会员 X 折)
-
会员
- VIP 会员免广告
- 付费内容收费浏览
零碎架构图
模块阐明
用户核心
注册、登录
- Github 账号登录
- 微信扫码登录
- 短信验证码登录
- 账号密码登录
会员中心
- 非会员:提醒开明
- 会员:显示到期工夫和提醒续费
领取历史
次要能够查问以下三类领取数据:
- 会员开明记录
- 内容付费记录
- 资源购买记录
内容
文章、页面、代码片段
字段 | 阐明 | 必填 | 文章 | 页面 | 代码片段 |
---|---|---|---|---|---|
slug | 链接 | ✅ | ✅ | ✅ | ✅ |
title | 题目 | ✅ | ✅ | ✅ | ✅ |
content | 内容 | ✅ | ✅ | ✅ | ✅ |
paid | 是否为付费 | ❌ | ✅ | ✅ | ✅ |
price | 售价 | ❌ | ✅ | ✅ | ✅ |
tags | 标签 | ❌ | ✅ | ❌ | ✅ |
标签
slug
:stringname
:i18nObjdesc
:i18nObj
附件
slug
:stringtitle
:i18nObjdesc
:i18nObjpath
:stringtags
:Tag[]
付费内容外围业务流程
广告
暂定为两类广告:
- 默认展现 Google Adsense
- 广告位可付费预约(分阶段实现)
要求
对浏览器广告屏蔽插件进行检测,如果访客(非 VIP 用户)开启了广告拦挡插件,则禁止显示文章内容注释,改为提醒敞开广告拦挡插件。
零碎具体设计
待欠缺。
系统结构设计
-
用户模块
- 注册登录
- 个人信息补全
- 会员模块
-
领取模块
- Prisma Schema
- 支付宝二维码订单预创立
- 领取回调解决
- 手动查问更新订单状态
-
内容模块
- Sanity Schema
- 广告模块
我的项目代码构造
.
├── app # 外围利用代码,上司目录酌情增加
│ ├── components # 前端组件
│ ├── i18n # 翻译
│ ├── layout # 布局页面(可省,算组件也行)│ ├── routes # Nested 路由
│ ├── services # 后端服务,如 Cache、Prisma 等
│ └── types # 类型定义(不肯定须要)├── prisma # Prisma 数据库 Schema
├── public # Assets 动态资源
└── styles # Tailwind CSS 源码
我的项目根目录还会搁置其余配置类的文件,如 Sanity、ESLint、Prettier 配置等。
功能模块具体设计
用户模块
应用 Authing 服务,注册、登录合并,反对第三方登录(如 Github、Gitee、支付宝、微信小程序等)。
界面具体设计
正文完