YouTube2Text

MkSaaS模板的积分模块配置教程 — Transcript

by MkSaaS · 654 words · 357 segments · language en · Watch on YouTube

Full transcript

  1. 0:01今天介绍一下 MkSaaS 模板的积分制的这个模块。
  2. 0:06主要介绍如何开启积分制,以及这个积分制模块如何进行配置。
  3. 0:11MkSaaS 模板的话,已经集成了一个功能比较全面
  4. 0:15而且配置还算灵活的一个积分系统。
  5. 0:19建议如果是做 AI SaaS 的朋友的话
  6. 0:23直接开启就行了。
  7. 0:24如果你看完了这个视频,或者看完代码觉得哪个地方不符合你预期的话
  8. 0:31你可以自行定制一下。
  9. 0:33相对来说,通过一些配置还是能满足大部分情况下的要求的。
  10. 0:41首先我们看一下积分制这个功能的整体的架构图。
  11. 0:48从积分的操作来看的话,积分主要有三种操作
  12. 0:52第一种呢,就是消费积分,第二种呢
  13. 0:55就是获取积分,第三种呢,就是积分过期了。
  14. 0:59我们先看一下第一种消费积分,什么场景下会消费积分呢?
  15. 1:04如果用户在网站当中使用了一些高级的付费的一些功能的时候
  16. 1:09,这可能就会消费他的一些积分。
  17. 1:12那如何实现这个积分的消费呢?
  18. 1:15我们这边 MkSaaS 模板是,创建了两张表
  19. 1:20第一张表呢是 user credit,这个表呢是记录了每一个用户的积分余额
  20. 1:26也就是说任何时候你拿着这个 user ID 去查
  21. 1:30就能查到这个用户的积分余额。
  22. 1:33第二张表呢,就是 user transaction,就是记录
  23. 1:36记录用户的积分交易记录,任何时候用户的积分增加了或者减少了
  24. 1:42都会在这里面有一条相应的记录。
  25. 1:47然后第二个呢,是获取积分,获取积分在 MkSaaS 模板里面已经内置了六种可能性。
  26. 1:55第一种呢,是新用户,他注册就给他送一些积分
  27. 1:59送一定量的积分,这个积分是否送
  28. 2:02积分以及积分送多少,以及送的积分的有效期
  29. 2:07你都是可以配置的。
  30. 2:09然后,新增的用户的话,注册送的积分是立即生效
  31. 2:14然后这个实现方式的话是通过
  32. 2:18database hooks 实现注册就送积分
  33. 2:24因为它里面的 hooks 其中有一个就是创建新用户。
  34. 2:28创建新用户的时候,我们就给这个新用户的 36 00:02:31,480 --> 00:02:36,579 user transaction 里面去增加一条记录,标明是注册送的积分
  35. 2:36然后再更新用户的积分余额。
  36. 2:40第二种可能性呢,就是免费的用户
  37. 2:42免费用户每个月送一定量的积分
  38. 2:47比如说,你的网站可能是,有一些功能让用户每个月都能够持续使用的
  39. 2:54每个月送一些积分,那么这种情况下呢
  40. 2:58就可以把这个功能给开启,然后呢
  41. 3:02这个功能的实现呢,是要依靠一个定时任务
  42. 3:06这个定时任务呢,要每天执行,然后再按月为周期去发放这个积分
  43. 3:13,也就是说有一个定时任务,这个定时任务呢
  44. 3:18每天会去检测有哪些用户,哪些免费用户
  45. 3:23他当月的积分没有发放,如果检测到一批用户
  46. 3:28当月的积分没有发放,然后就会批量给这些用户发放当月的免费积分。
  47. 3:36第三种可能性呢,就是付费用户
  48. 3:39他按月订阅了你的产品,那么呢,因为我们的支付集成的是 Stripe
  49. 3:46Stripe 的话每月订阅更新的时候会有一个事件触发到网站的一个路由
  50. 3:51然后我们在那个地方就可以,也就是说我们可以通过监听 Stripe 的 webhook 53 00:04:01,200 --> 00:04:05,940 订阅更新的这个事件,然后呢,就可以实现给这个用户发放
  51. 4:05每个月按月发放积分。
  52. 4:08但是呢,还有第四种情况,就是说欸
  53. 4:10这个用户是付费了,但是呢他是按年订阅
  54. 4:13按年订阅的话,Stripe 不会按月去触发这个订阅更新的事件
  55. 4:19而是按年,那么这种情况下,我们也要依靠这个定时任务
  56. 4:23这个定时任务也是每天执行,每天去拉取有哪些用户是按年订阅的
  57. 4:28然后再给他按月去检测他当月是否已经发放了积分
  58. 4:34如果没有的话就给他发放。
  59. 4:37第五种呢,也是付费用户,但是呢
  60. 4:39这个用户可能是一次性购买,然后成为了终身会员
  61. 4:43虽然他是终身会员,并不是说一次性给了他一大堆积分
  62. 4:47让他去消费掉,而是实际上每个月去给他发放一定量的积分
  63. 4:55让他每个月可以持续使用。
  64. 4:59第六种情况下呢,也是一个付费用户
  65. 5:03这个用户呢,是购买了一个积分套餐
  66. 5:05这个积分套餐呢,是另外一种形式
  67. 5:08它是在订阅制的基础之上,就类似手机的那个套餐
  68. 5:14比如说用户按月订阅了的话,就像是购买了一个手机的月基础套餐
  69. 5:20里面内置了实际的流量,这个流量就相当于实际的积分。
  70. 5:24然后用户如果实际的流量用完了不够的话
  71. 5:27他可能还需要用流量,他可能就会购买一个额外的流量包。
  72. 5:32这个流量包呢,就相当于这里的积分
  73. 5:35积分包的积分套餐的意思。
  74. 5:37默认情况下,MkSaaS 模板当中 78 00:05:41,720 --> 00:05:45,160 内置了四种积分包,也就是有四个配置
  75. 5:45你可以配置四种不同的价格,分别对应多少积分
  76. 5:50以及这些积分的有效期,你都可以随便定制。
  77. 5:53然后完了之后有一个默认设置是只有付费的用户可以购买积分套餐。
  78. 5:58也就是说你至少要订阅了,然后你才能去购买那个 83 00:06:03,980 --> 00:06:04,772 积分包。
  79. 6:04但你也可以配置为免费用户就可以购买积分包
  80. 6:08但是这时候你就要想清楚了,因为如果免费用户就能购买积分包的话
  81. 6:13用户可以直接不进行产品订阅,直接去购买积分包就可以使用。
  82. 6:19所以你要考虑清楚你的网站的收费方式呢
  83. 6:23是纯积分包的方式,还是说在订阅制的基础之上
  84. 6:29然后再增加补充积分包的方式。
  85. 6:34第三个积分操作的话就是积分过期。
  86. 6:38基本上所有的积分都会设置一个有效期
  87. 6:41不建议去设置永久有效的积分。
  88. 6:45然后呢,积分如果设置了有效期,那么它到期就会失效。
  89. 6:50失效的话,这个逻辑的实现也是通过这个定时任务,定时任务每天执行
  90. 6:57它检测所有的用户,他哪些积分到今天已经到期了
  91. 7:02那么就把这个积分从用户的积分余额里面减掉。
  92. 7:08下面我们看一下如何在 MkSaaS 模板当中开启积分制
  93. 7:12以及如何配置这个积分制的这个模块。
  94. 7:16大概这一两周吧,我把积分制这个模块的代码进行了一个重构
  95. 7:21然后呢,让它和 Billing 这个模块进行了一个解耦
  96. 7:27也就是说 Billing 的界面和 Credits 界面
  97. 7:30把它们分开了。
  98. 7:32因为这样的话,当你的 SaaS 网站并不需要积分制的时候
  99. 7:38也就是说把这个积分制功能关闭的话
  100. 7:40代码看起来就更干净,并不会在 Billing 的页面里面出现一些跟 Credits 相关的逻辑。
  101. 7:47我们看一下代码怎么弄。
  102. 7:51首先呢,我们有一段时间没有更新这个代码了
  103. 7:54所以首先要同步一下代码。
  104. 8:01先 fetch 一下远程的这个分支,其实也就是对应模板的这个分支。
  105. 8:07然后呢,我们假设我不另开一个新的分支
  106. 8:12我直接在当前的主分支去同步远程的这个模板的 main 分支。
  107. 8:21我这边是没有什么冲突的,之前的那个视频里面有介绍到如何解决那个冲突
  108. 8:30就在更新过程当中如何,如何进行一个更新
  109. 8:34虽然我们更新了那个代码,但是呢
  110. 8:38可能依赖也需要更新,所以我们执行一下 PNPM install。
  111. 8:48然后呢,因为不确定是否数据库进行了更新
  112. 8:52稳妥起见我们把这两个执行一下会好一些。
  113. 9:00代码更新完成之后呢,我们来本地运行试一下。
  114. 9:11这里是 localhost 的 3000 端口。
  115. 9:19网站是可以正常启动的,没有什么问题。
  116. 9:30然后我们看一下这个积分的文档,如何去开启积分制。
  117. 9:41要开启积分制的话,首先要在 website 这个配置文件当中去找到 Credits 的这个模块
  118. 9:48然后去开启积分,也就是这一部分 Credits 然后 Enable credits 设置为 true 就开启了积分制了。
  119. 9:58第二个参数呢,是 Enable package for free plan。
  120. 10:02也就是说默认呢,MkSaaS 模板只有付费订阅的用户才可以购买积分套餐
  121. 10:10如果设置为 true 的话,那就会支持免费用户也可以购买这个积分套餐。
  122. 10:18这边的话我还是使用默认的 false。
  123. 10:22也就是说我们选择以订阅制加积分套餐的这种形式作为 129 00:10:27,483 --> 00:10:33,344 收费方式,而并不是,免费用户就能购买积分的。
  124. 10:33第三个呢,就是 Register gift credits 配置新用户注册的时候是否送积分
  125. 10:40也就是 Enable 是否送积分,以及 Credits 送多少积分
  126. 10:45以及这个积分的有效期,默认是三十天。
  127. 10:52可以配置为三十天。
  128. 10:55这边默认是配置为,是有注册就送积分的
  129. 11:00然后送五十个,然后有效期是三十天。
  130. 11:06然后我们再看一下,,因为我们是订阅制加那个积分包的收费形式
  131. 11:12所以我们要在产品的价格计划当中去设置它的每个产品的价格的那个积分。
  132. 11:21也就在 website 的这个配置文件当中找到这个 price 价格
  133. 11:25然后价格计划有 plans,默认的话 140 00:11:29,376 --> 00:11:33,144 MkSaaS 模板是有三个 plan,一个是 Free
  134. 11:33一个是 Pro,一个是 Lifetime。
  135. 11:38Free 呢,就是免费计划。
  136. 11:40然后我们可以给它配置一个 Credits,然后里面是开启积分
  137. 11:46然后数量是五十,有效期是三十天。
  138. 11:49也就是说免费的用户的话,每个月都会给他赠送五十个积分。
  139. 11:54赠送的积分有效期是三十天。
  140. 11:57然后 Pro 呢,是订阅制,有两种价格
  141. 12:01一个是按月付费
  142. 12:04按月订阅的价格,一个是按年订阅的价格
  143. 12:08同时也可以给大家开启积分的功能
  144. 12:10也就是说每个月给订阅的用户发放一千个积分
  145. 12:17这个积分的有效期也是三十天。
  146. 12:19还有一种呢,价格计划是 lifetime,这就是一次性支付
  147. 12:24但是呢,是终身会员。
  148. 12:25终身会员的话,每个月也给他一千个积分
  149. 12:29积分有效期是三十天。
  150. 12:33这个就是这么配置的。
  151. 12:35然后看一下配置积分套餐(点击鼠标声)
  152. 12:38MkSaaS 模板的话,默认带了四个积分套餐
  153. 12:43你可以分别配置这四个积分套餐的积分数量和价格。
  154. 12:49一个是 Basic、Standard、Premium,还有一个 Enterprise
  155. 12:53这个你随便命名都没有关系。
  156. 12:56然后,你需要配置的就是这个积分套餐里面的积分的数量是多少
  157. 13:03积分的有效期是多少。
  158. 13:05同时呢,要配置这个积分套餐包的价格是多少。
  159. 13:11这个 price ID 对应的就是 Stripe 的一个 price ID
  160. 13:15然后它价格是九点九美刀,这个意思就是说 168 00:13:20,932 --> 00:13:23,712 支付九点九美刀可以购买一百个积分
  161. 13:23这个积分的有效期是三十天。
  162. 13:26这个意思就是说购买积分的价格是十四点九刀
  163. 13:30积分是两百个,然后有效期是三十天。
  164. 13:34下面的就类似,把这个积分套餐配置完了之后呢
  165. 13:40就要配置前面的那个每个积分套餐里面的具体的那个价格。
  166. 13:46这个价格比较好配置。
  167. 13:48前面我们配置那个产品价格计划当中的那个价格已经配置过了。
  168. 13:54下面我来演示一下如何在 Stripe 的那个 dashboard 当中去添加几个积分相关的价格。
  169. 14:01我们可以新建一个产品,这个产品假设就叫它 credits
  170. 14:09然后呢,它是一次性支付。
  171. 14:14价格是九点九美刀。
  172. 14:20这是第一个价格,我们把它的 price ID 复制一下
  173. 14:26然后填到环境变量里面。
  174. 14:30环境变量中 Basic 的 credits 套餐的价格 ID。
  175. 14:37然后我们来填一下第二个价格,第二个价格是十四点九美刀。
  176. 14:41这里我们再新建一个 One off 十四点九美刀
  177. 14:46创建,复制 price ID,保存到环境变量。
  178. 14:55第三个是三十九点九美刀,后面是六十九点九美刀。
  179. 15:00三十九点九美刀,复制 price ID,再创建一个
  180. 15:09六十九点九美刀,都是一次性支付。
  181. 15:11支付完成之后获得立即发放一定数量的积分
  182. 15:16然后有效期也是可以配置,这边有效期配置的都是三十天
  183. 15:20这里并没有说是像手机套餐一样,就是你当月购买的流量包只能在当月使用
  184. 15:25这里的购买额外购买的积分包的积分有效期是你自行可以配置的
  185. 15:29这边默认是使用三十天。
  186. 15:30因为如果说是当月购买当月使用的话
  187. 15:32可能不太合理。
  188. 15:33在这个 AI SaaS 这个领域,比如我最后几天买的话
  189. 15:36那只能用几天,就不太合理。
  190. 15:38这样四个 price ID 就已经设置好了。
  191. 15:43然后是为基本套餐设置翻译,这个是在 credits config 文件进行配置
  192. 15:48也就是这个文件。
  193. 15:49这个文件设置了四个默认的这个套餐
  194. 15:51里面每个套餐的积分套餐的名称和描述
  195. 15:54这个大家到时候可以自行定义,随便改。
  196. 15:56这边我直接使用模板默认的就可以了。
  197. 15:58最后一步呢,是设置定时任务,这个定时任务的设置呢
  198. 16:02要在那个定时任务的这个文档里面去看。
  199. 16:05MkSaaS 模板默认集成了 Chrome Job
  200. 16:07它是一个免费的而且是开源的一个定时任务调度器
  201. 16:10主要用于执行定时任务。
  202. 16:13在我们这个系统当中的话,主要是用来处理积分过期和发放积分的功能。
  203. 16:17下面我们看一下如何进行操作。
  204. 16:19首先你要创建一个新账号,然后在 Chrome Jobs 里面创建一个 Chrome Job
  205. 16:23。
  206. 16:24然后呢,要在 Cron Job 的描述当中设置一下
  207. 16:27填写一下它的 title、URL 以及执行的周期。
  208. 16:31这边我们 title 可以写一个 MkSaaS video
  209. 16:34然后 URL 呢是 mksaas-video.
  210. 16:38vercel.
  211. 16:39app,然后路径的话大家也要参考文档去写
  212. 16:42是后面要接 api/distribute/credits。
  213. 16:46这个路径呢,是代码里面写好的一个路径
  214. 16:48只要请求这个路径的话,就会去触发那个 223 00:16:52,392 --> 00:16:55,972 过期积分的处理以及发放积分的一个逻辑。
  215. 16:55然后任务呢?
  216. 16:56执行的周期呢,我们可以设置为每天执行一次
  217. 16:59可以是零点,也可以说比如说一点钟
  218. 17:00凌晨一点钟去执行。
  219. 17:02这个其实可以根据自己网站的主流用户的主要地区去设置一下。
  220. 17:09然后其他保持默认就行了。
  221. 17:10然后点击这个 create,这边我们就创建好了一个定时任务。
  222. 17:17但是呢,这个定时任务你可以看到这个接口
  223. 17:21只要知道这个地址的话,它就可以请求
  224. 17:23所以它并不是特别安全。
  225. 17:25所以代码里面它做了一个身份的一个校验。
  226. 17:27我们看一下文档,也就说请求这个端口的请求这个路径的时候呢
  227. 17:33我们要设置那个一个身份认证,这边使用的是一个基本的一个认证凭证
  228. 17:36也就是说你只要设置好用户名和密码就行了。
  229. 17:39这边我们可以设置一下,用户名是 MkSaaS video
  230. 17:45然后密码呢,比如说随便填一个一二三四
  231. 17:49一二三四五六七八。
  232. 17:51然后呢,这个 timeout 它最多是三十秒
  233. 17:53然后保存就行了。
  234. 17:55这样就有了一个账号密码,意思就是说请求这个接口的时候带上这个账号密码
  235. 18:02那么我们的这个接口呢,就会去校验这个账号密码是否正确 245 00:18:05,452 --> 00:18:07,311 如果正确的话,我们才真的去执行那个任务
  236. 18:07如果不正确的话,我们就不执行。
  237. 18:09那既然定时任务里面配置了账号密码
  238. 18:13那系统这个网站要校验的时候,要根据这个账号密码进行一个匹配
  239. 18:17所以我们要把账号密码配置到环境变量当中
  240. 18:19找到环境变量。
  241. 18:21这个是我们过去的环境变量,新的环境变量就会有这个 Cron Job 的两个值。
  242. 18:29在这里,我们把它复制过来。
  243. 18:31我们旧的是没有这个值的,假设我们放在积分的那个后面这里
  244. 18:38然后用户名是 MkSaaS-Video,密码是刚刚说的一二三四五六七八。
  245. 18:46到这里的话,定时任务就设置好了。
  246. 18:50那基本上,积分的功能就基本上都设置完成了。
  247. 18:55前面我们已经配置好了环境变量,也配置好了这个积分制的这个模块。
  248. 19:00现在我们来本地启动一下。
  249. 19:04同时呢,因为会涉及到支付,所以我们 260 00:19:08,048 --> 00:19:11,848 把 Stripe Client 的那个监听也启动一下。
  250. 19:11。
  251. 19:16然后我们进入到Localhost 3000,刷新一下。
  252. 19:30好,我们假设用一个新的一个账号进行登录。
  253. 19:36,登录进来了,我们会看到它初始的积分有一百个。
  254. 19:42我们看一下它的积分的一个界面。
  255. 19:47显示它有一百个积分,这一百个积分将会在三十天之后 267 00:19:52,248 --> 00:19:53,748 失效。
  256. 19:53然后这边呢,是它的那个积分的一个记录。
  257. 19:57首先呢,有五十个积分呢,是注册的时候赠送的。
  258. 20:02另外有五十个积分呢,是因为它目前是免费用户
  259. 20:06免费用户的话,每个月会发放五十个积分。
  260. 20:12然后我们看一下 Billing 的这个页面
  261. 20:15目前这个用户是一个免费的用户,所以呢
  262. 20:19可以给他我们先给他开启一个订阅
  263. 20:23我们按月订阅就行了。
  264. 20:33我们模拟一个用户支付按月订阅的这种情况
  265. 20:38然后正常来说他会得到一定的积分
  266. 20:42现在的积分变成了一千一百个。
  267. 20:45原来的话是有一百个
  268. 20:48然后现在新增了一千个,这一千个积分呢
  269. 20:52是他订阅了,然后增加了一千个
  270. 20:56发放了一千个积分给这个用户。
  271. 21:02假设这个用户这个月使用
  272. 21:05然后发现这个积分不够了,那他还可以购买额外的积分包。
  273. 21:10刚才我们已经配置了四个积分包,假设我们购买其中一个积分包
  274. 21:15也就是说再补充一些积分给这个用户。
  275. 21:19现在就变成了一千三百个积分了。
  276. 21:36就是说,前面一千一百个积分,然后额外又购买了两百个积分
  277. 21:42然后现在这个用户总共有一千三百个积分了。
  278. 21:45这里可以看到那个积分的这个交易记录。
  279. 21:51我们可以在用户的这个头像这里也可以非常直观地看到这个积分的余额。
  280. 21:59下面我们进到 MkSaaS 模板的 AI Text 这个 Demo 页面
  281. 22:05然后来模拟一下消费这个积分。
  282. 22:09刚才的话,这个用户总共有一千三百个积分
  283. 22:12如果每一次使用这个功能的话,会消耗一百个积分。
  284. 22:18这个功能的作用呢,是先使用 FireCrawl 的接口
  285. 22:24去抓取这个网站的信息以及截图,然后呢
  286. 22:28再利用 ChatGPT 的模型对这个网页的内容进行一个总结
  287. 22:33每次会消耗掉一百个积分,我们看一下待会儿这个积分余额是不是会减小。
  288. 22:41内容抓取好了,有这个网站的描述
  289. 22:46简介、功能。
  290. 22:49让我们回到这里,我们发现他的积分余额已经变成了一千两百个了。
  291. 22:58刚刚这个演示基本上把目前积分的核心功能都演示出来了。
  292. 23:08然后关于这个定时任务的话,目前来说是一定要进行配置的
  293. 23:14因为这个定时任务里面会执行积分过期失效的逻辑
  294. 23:20所以现在的定时任务是一定要进行配置的。
  295. 23:23如果你不想在这个 Cron Job 里面进行配置的话
  296. 23:26也没有关系,就是其他的工具,比如说 N8N 的这个工具
  297. 23:31你也可以去使用。
  298. 23:35任何一个只要能够定时触发那个接口的工具都是可以的。
  299. 23:41下面我介绍一下 N8N 的这个触发的方式。
  300. 23:46这个 N8N 的这个工作流的文件的话
  301. 23:49我已经分享到 Discord 的那个群里面了
  302. 23:54大家有需要的话可以去把那个文件直接导入进来
  303. 23:58就可以看到这个效果了。
  304. 23:59然后只不过你可能需要做一些简单的修改。
  305. 24:03这个 N8N 的工作流实际上是这样的
  306. 24:06它的触发的话是这个,这个节点是一个定时触发
  307. 24:11我设置的是在每天的一点钟的时候定时进行触发。
  308. 24:16触发完成之后呢,它会发送一个 HTTP 的一个接口
  309. 24:21一个请求,然后这个请求呢,前面我们说了
  310. 24:25为了安全的话,我们加了一个身份验证
  311. 24:27这个身份验证呢,是一个 Basic Auth。
  312. 24:30然后呢,这个 Basic Auth 的信息呢
  313. 24:32你要配置好,也就是说配置一个账号密码
  314. 24:35这个账号密码很好添加,就是这里
  315. 24:38你新建一个 credential,然后设置好这个账号密码就行了。
  316. 24:42这边的话我已经配置好了,你把你的账号密码给填上去就可以了。
  317. 24:47这个的话都不需要进行什么配置,你唯一需要修改的是你这个请求的地址
  318. 24:52你的地址是这里是填你的网站的域名
  319. 24:56这里不能保留跟我一样的 332 00:25:01,576 --> 00:25:05,236 你即使保留跟我一样的也没有用,你这个身份认证是通不过的
  320. 25:05你不知道我的账号密码,你请求不到我这里的。
  321. 25:08然后的话,这边是如果请求成功了
  322. 25:12它会打印一条消息,这个消息呢,会发送到一个 Discord 的那个 channel
  323. 25:17这边就随便了,这边我设置的是成功和失败
  324. 25:21都发送那个 Discord 的那个消息到我指定的一个 channel 里面
  325. 25:26然后我就可以看到当天的定时任务执行的结果。
  326. 25:32当然我也可以在这里面看到,因为它可以看到所有历史每天的执行的结果
  327. 25:37比如说这个结果,distribute credit success
  328. 25:43然后有多少个用户,然后处理了多少个用户
  329. 25:46成功和失败什么的,这个你也可以在那个
  330. 25:50这个 Cron Job 里面去模拟。
  331. 25:53这边的话,因为我还没有把这个代码 Push 上去
  332. 25:56没有部署,所以我请求这个是请求不了的。
  333. 25:59如果你已经部署好了,你想测试这个
  334. 26:03定时任务是否正常的话,你可以点击这个 Test Run
  335. 26:06然后 Start test run 就可以了。
  336. 26:09正常情况下的话,你会看到一个这样的一个界面。
  337. 26:18正常情况下,你会看到一个这样的一个界面
  338. 26:21这个就是 200,就表示这个定时任务请求成功了。
  339. 26:27这基本上就是我要讲的关于积分制如何开启
  340. 26:37以及如何配置,以及 MkSaaS 模板的整个积分架构。
  341. 26:43大家主要是需要理解这个架构。
  342. 26:46我有一个设定,就是说不论你是以哪种方式付费了这个
  343. 26:53网站,积分的发放周期都是按月进行发放的
  344. 26:59你终身会员或者按年订阅,我都是按月进行发放的。
  345. 27:04所以这需要有一个定时任务。
  346. 27:06同时呢,可能有给免费用户发放积分
  347. 27:11以及积分过期的逻辑。
  348. 27:15所以这种情况下呢,都会有一个定时任务去把积分过期 362 00:27:21,996 --> 00:27:24,936 失效这个逻辑进行处理。
  349. 27:24当然积分你是可以设置为不过期的。
  350. 27:27以上呢,就是关于 MkSaaS 模板的积分制模块。
  351. 27:31因为开发的时间比较长,然后中间的细节比较多
  352. 27:36或多或少可能现在还有一些小 bug
  353. 27:39如果大家遇到问题可以跟我进行商量
  354. 27:42但如果你不是这种模式的话,或者有其他需求的话
  355. 27:50建议参考目前这个积分制模块的整体架构
  356. 27:56然后自行进行定制。
  357. 27:58有问题大家可以在 Discord 群里面进行交流。

About this transcript

This page contains the full transcript of MkSaaS模板的积分模块配置教程 by MkSaaS, generated from the public captions YouTube serves with the video. The transcript has 654 words across 357 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.