撰稿人、站长、产品经理、架构师、独立开发者。
对我自己做的平台型CMS,会员订阅这部分一直是“简单实现”。这个周末重新对这部分做了架构,并把核心部分开发完成。
一、方式
会员订阅,一般来说,主要包含:会员订阅计划及购买、会员权限控制、会员管理三个部分。
1、对于会员订阅计划及购买
准备基于已有的商城系统做一些扩展即可。
2、对于会员权限控制,
这个得特别说一下,不打算基于角色权限系统来做,而是单独做一个会员控制的系统。
基于角色权限系统,把会员做成一个角色系列,把每一种会员做成这个角色系列中的角色。听起来,似乎很合理。但是,这样的话,无论做起来还是用起来,都特别麻烦,尤其是业务比较多的时候,各种逻辑会很复杂,一不小心就会造成各种混乱。并且也不够灵活。
而且,实际上,很多优秀的系统的会员订阅部分,也都不会基于角色。而是基于“标记”或者基于订单来实现权限控制。包括wordpress的很多卖得很好的会员订阅类的插件都是这样来做的。
基于“用户标记”:
本质上,其实和角色系统原理一样。就是定义一些会员的“标记”,购买了与这个“标记”关联的会员订阅计划的用户会被“打上这个标记”,这样就能实现会员权限的控制。
基于订单:
购买会员订阅计划,形成订单,支付后,将到期时间写入订单。所以,就可以根据订单来判断用户是否是会员、是哪种会员,以及是否已过期。这样就可以对控制会员权限。
之前曾经做过基于订单的方式,这次打算基于”用户标记“。
基于订单并没有什么不好,只不过,我现在做的这个平台型CMS的订单系统支持的订单类型比较多,造成订单模型比较”庞大“,不打算再给它”增加体重“了,所以选择基于”用户标记“。
3、会员管理
基于现有的用户管理扩展,不打算单独做会员管理。
二、适用场景
1、基本场景
整个产品有一个或几个订阅计划,用户购买,享受会员服务。
全局定义会员标记,每一种会员标记至少包含name、slug、关联的订阅计划id,三个字段。
当用户购买了某个会员标记的订阅计划,此会员标记和到期时间就会被写入此用户的meta数据中。
2、平台/多租户场景
对于平台和做多租户SAAS,有一个很重要的场景:供应商自己提供的订阅计划。
在供应商的用户的meta数据中定义此供应商的会员标记,供应商的会员标记的key和全局会员标记的key不能相同。
当用户购买了此供应商的订阅计划后,相应的会员标记和到期日期就会被写入到购买用户的meta数据中。
这次的迭代只实现基本场景即可,但要能扩展到平台和多租户场景。
三、登录时判断会员是否到期
用户登录时判断是否到期,如果到期,更新meta数据中的会员标记为false、到期日期为false。
一、社交产品是做什么的? 首先,我们需要知道,社交产品究竟是做什么的? 所有的社交产品都是平台产品。或者说,都 […]
对于wordpress的theme作者和plugin作者,翻译自己的theme和plugin就避不开po文件和 […]
2019年做了一个出海的短视频社交APP。当时对tiktok和抖音用户行为做了一些对比分析。以下是当时的一些笔记。
1、关于短视频和直播
对于国内用户,短视频和直播都是用来做内容的,所以,短视频和直播都是内容形式。
对于海外用户,短视频和直播,首先是通讯方式,短视频首先是短信的概念,只不过发的是视频。直播,首先是打电话的概念,只不过可以同步视频画面,无论是一对一还是一对多。
这也是为什么海外会有很多基于短视频和直播通讯的社交APP,而国内,大多是制作短视频和为更好地做直播节目而服务的产品。
2、关于粉丝
对于国内用户来说,粉丝就是钱,关注量就是用来变现的关键数字。
对于海外用户来说,尤其对欧美用户来说(tiktok的用户群普遍年龄比较小),粉丝就是朋友,这是一个很值得炫耀的数字,tiktok上大量的年龄比较小的用户普遍以有很多朋友为傲。
3、关于直播和直播礼物
国内的直播都是做内容的。主要就是卖艺和卖商品。画面精美、各种诱惑、费尽心机。
海外的直播,包括tiktok,真的就是“通讯工具”。
首先,是直播总量上,和抖音没法比。
然后,最常见的就是一个女的和一群男的瞎聊天,画面?诱惑?那是啥?就是随便聊个天。这样的,送礼物,极少。
偶尔也有卖艺的,但其质量、人气等和国内的直播相去甚远。送礼物的情况,整体上也和国内的直播没法比。
js的问题,都是异步的问题。
wordpress对各种js的加载也是按一定的顺序的。wordpress基本上是先加载本身的js,然后再加载自己定义的js。
$(function(){})
这样如果遇到如下问题
uncaught typeerror: $ is not a function
可以换个写法
jQuery(function($){})