系统总体需求盈利模式广告访客及普通用户展示广告付费内容访客及普通用户无法查看所有付费内容付费内容可免费浏览付费内容可付费观看单篇资源附件需付费购买(普通用户原价,VIP会员X折)会员VIP会员免广告付费内容免费浏览系统架构图图LRapp【知识付费系统】app---用户【用户中心】app---内容【内容】app---广告【广告】用户---注册/登录用户---会员中心用户---支付记录内容---文章---费用附件内容---页面---收费附件内容---代码片段---费用附件内容---comp1【禁止文本选择和复制组件】内容---comp2【代码复制组件】广告---会员无广告组件广告---comp3[AntiAdBlockPlugin]模块使用说明用户中心注册,登录Github账号登录微信扫码登录短信验证码登录账号密码登录会员中心非会员:提示开通会员:显示到期时间并提示续费支付历史可以查询以下三类支付数据:会员激活记录Content付费记录资源购买记录ContentArticle,Page,CodeSnippetFieldDescriptionMandatoryArticlePageCodeSnippetslugLink????titleTitle????contentContent????Paid是付费的????Price售价????tags????tagslug:stringname:i18nObjdesc:i18nObjattachmentslug:stringtitle:i18nObjdesc:i18nObjpath:stringtags:Tag[]付费内容核心业务流程图TB开始([开始])--访问付费内容-->check1{是否登录}--F-->free[只显示免费内容]check1--T-->check2{是否是VIP会员}--F-->check3{是否购买该内容}--F-->freecheck2--T-->paid[全部内容可见]check3--T-->paidpaid--下载付费资源-->check4{是否购买付费资源}free--下载付费资源-->check4check4--F-->payment[购买支付页面]check4--T-->download[Download]download-->Stop([Stop])payment-->停止广告暂分为两种广告:默认显示GoogleAdsense广告付费预订(分阶段完成)需要检测浏览器广告拦截插件。如果访问者(非VIP用户)启用了广告拦截插件,则禁止显示文章内容正文,而是提示关闭广告拦截插件。该系统的详细设计正在等待中。完全的。系统结构设计用户模块注册登录个人信息填写会员模块支付模块PrismaSchema支付宝二维码订单预创建支付回调处理手动查询更新订单状态内容模块SanitySchema广告模块项目代码结构。├──app#核心应用代码,下级目录酌情添加│├──components#前端组件│├──i18n#翻译│├──layout#布局页面(可保存,连组件)│├──routes#嵌套路由│├──services#后端服务,如Cache、Prisma等│└──types#类型定义(不一定需要)├──prisma#Prisma数据库Schema├──public#Assetsstaticresources└──styles#TailwindCSS源码项目根目录其他配置类的文件也都放着,比如Sanity、ESLint、Prettier配置等,功能模块设计的很详细。用户模块使用Authing服务,注册登录一体化,支持第三方登录(如Github、Gitee、支付宝、微信小程序等)。详细的界面设计
