前言
在各个平台写博客,偶尔会遇到内容发出去,审核不通过,很扫兴。
还是自己搭建一个网站,不管啥内容,怎么发都行。对比各个方案后,计划用VitePress来搭建知识内容站,用于知识积累与分享。
想通过写作搞点收入,直接用各种平台,也是个不错的方式,只管输出内容,啥都不用操心。
如果是做技术内容,搭建一个独立网站,把每个功能和每个问题都讲讲,足够水很多篇文章了,边写边做。
想实现的目标
主要目标:对文档中部分需要开通会员才可见。
主要功能:
- 用户登录,使用微信扫码登录
- 接入支付,使用微信JSAPI支付
- 会员体系,可以购买天会员、月会员、年会员,只是有效期不一样,权益都一样。
效果预览:
具体的实现步骤
1. 服务端设计开发
开发语言:Golang
数据库:PostgreSQL
功能不多,表结构也比较简单。
数据库表:
- 用户信息表: 用户微信授权信息
- 会员产品表: 定义会员产品价格,比如天卡、月卡、年卡等
- 订单信息表: 用户开会员的订单记录
核心功能就是:1.微信授权登录;2.开通会员;3.看会员可见内容;
2. 微信登录组件
VitePress实现微信扫码登录,我单独写了一篇文章说明:《Vitepress 文档加微信网页授权登录功能》 ,直接去看即可,这里不重复说明。
3. 实现会员可见功能
VitePress文档的内容主要是Markdown文档文件,实现会员可见,最好不要额外做配置或者改动结构,不给写作增加额外工作。
Vue的功能,在VitePress中基本都可以用的,可以自定义个一个组件,把会员可见内容放组件中间。
比如文档:docs/index.md
::: code-group
# 文档标题
所有人可见内容。
<mosong-vip-content>
Vip可见内容,这里可以是Vitepress支持的所有Markdown格式内容。
</mosong-vip-content>
:::
对文档的侵入只是加了一对标签<mosong-vip-content></mosong-vip-content>
,其它所有功能都正常使用即可。
支付完成即可看标签内的会员可见内容。
可以先创作内容,再选取部分作为VIP内容,加上标签即可,也可以随时调整,使用还算方便。
完整功能体验请访问 【https://vitepress.mosong.cc】
总结
目前还是一个初级版本,初步实现了登录、支付、会员可见 三个核心功能。
刚开始有这个想法时,预估2天即可完成,结果前前后后搞了三周。功能虽然有了,还有不少细节可以优化,慢慢来。
推荐阅读
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。