SaaS系统在建设过程中,因面向的用户群体业务灵活性变化,许多同仁在做系统时,基于公司/市场等多方面压力,往往在建设初期忽略最为重要的底层架构设计,将更多的视角精力投入至业务场景的支撑。
但是每当系统支撑需求到达一定阶段的时候,才会将产品视角回顾至底层架构及公有业务模块,这时基本面临底层重构的窘境。(接下里正应对那句:人在家中坐,锅从天上来。经典语录有多少同仁正在经历/经历过?)
在过往的SaaS系统架构设计中,个人看好基于OA协同办公的工具型SaaS系统的架构模式。在参考了市面多项产品后,我花了2个月的时间去进行底层架构的设计。(多数的产品同仁观念里,这样是不存在事情。开发和老板会打死你!但是你要去用不要脸的精神去说服他们。)在经历2个系统的开发过程及运行后,认证了这种设计方法的通用性。希望这种设计方法能够获得诸位同仁的认可,并且能在你们建设系统的过程中起到一定的案例参考作用。
整个底层功能结构的建设,个人入手时并没有将用户权限,人员管理,组织结构放到第一视角。而是意识到SAAS-软件即服务的租户观念。整个系统的建设前提是满足租户使用的需求,解决租户业务场景上的痛点。那么第一视角是考虑租户来了系统需要做什么?)租户怎么来产品运营考虑的事儿。
为此将底层拆分了如下图的功能类型,并且大致说下需求逻辑。
一、注册环节
SaaS系统面向用户注册与传统注册策略区别在于,字段多用性,字段变化多发性。
例如:现在一款面向企业操作工具的租户注册。需要用户输入用户名称、手机 码、图形验证码、短信验证码、密码及二次确认密码等数据。那么这些字段信息,在传统系统中的运用,多在于查询注册用户USER-ID相关数据,数据维度多以外键映射多张的数据表,不存在因其他数据表变化而影响该部分数据留存。
而基于租户模式的SaaS系统中,上述数据作用不仅仅是用于传统数据查询,获取。更多在于字段书多张业务数据表之间分离结耦,
二、低概率异常场景
因租户注册的手机 ,可能会挂失/注销,而影响整个操作系统的运用、(这种低概率业务事件,若系统底层设计时若未考虑进入,基于SaaS安全性承诺、我们是无法查询租户登录密码的)那么为了避免该类实现发生,从产品维度,是否可以将租户注册的手机 当做账 处理,将账 植入密保手机概念。
租户手机 码不可登录系统的时候,我们一则可以协助租户更换密保手机。二则可以培养租户对于系统灵活安全的平台意识。
三、租户注册功能需求明细说明
注册时,字段说明及注重逻辑事项明细如下:
1. 账
必填项、11位手机 码、 段验证。错误提示语【请输入11位未注册的手机 、】
(1)若点击【确认注册】校验账 已注册、给与提示语【请输入11位未注册的手机 】提示语定时界面3s、自动隐藏【注:短信验证码费用由*** 进行承担】
(2)企业注册的手机 做2类逻辑:
- 视作手机 为账 ;
- 视作手机 为联系方式-以防注册企业租户的人员手机丢失,手机 注销等不可控因素。
(3)且注册的账 允许以:账 +密码的形式进行登录。且注册的手机 允许视为联系电话在(个人信息详情页-联系电话)被更换,更换的时候需要提示为:该手机 为账 密保手机,请确认是本人操作,并且输入手机验证码。
2. 企业名
必填项、输入企业名后,校验该企业名是否已注册,对应错误提示语:该企业已注册,请换个企业名称再注册,提示语定时3s后自动隐藏。
注:企业名称输入后,该字段自动存储至【企业信息-企业名称中】、且系统左上角的名称显示注册时输入的名称。
此字段逻辑为:
3. 验证码
有效期60s,重复获取间隔60s,输入错误验证码,在输入框提示:请输入正确验证,或请重新获取验证码。
短信下发验证码模板内容例如:金柚 欢迎你的加入,您的验证码为56554【6位】有效期为60s,请注意保密。
4. 密码
6-20位任意纯属数字/纯英文/数字英文组合【错误提示语:请输入6-20位密码】
密码确认:两次密码输入需一致。若不一致提示语【请保持2个密码一致】
5. 勾选【我同意服务条款】、未勾提示语
请勾选服务条款。点击服务条款,则进入【服务条款详情滚动页】-注册条款详情页,先由PM提供自造文件,后续由法务提供注册服务条款明细协议。
6. 点击确认注册后,前端给与loding加载界面,此阶段为向后台传数据过程
加载过程中如遇【断 、接口异常、服务器崩溃、、】不可控因素导致注册失败。给与404 错界面。–loding加载界面及404 错界面,请UI自行设计/前端自行提供。
7. 服务协议条款展示
注册企业租户账 后,进入添加团队/申请加入团队业务功能模块。
前提:视为租户申请加入其他根机构/创建根机构【出于业务角度考虑、当前租户账 加入的根机构+自主创建的根机构,不得超过6个,即检测一个账 是否属于6个根机构范围】
如图:创建或加入根机构界面
通过点击:创建团队、进入创建团队详情操作页面、如下图
其中联系电话:为注册时所 使用的手机 码,前端自行拉取,回填至输入框即可。
团队名称为注册时,所填写的企业名称即可。前端自行拉取。回填至输入框即可
四、场景考虑
若租户不想使用注册时需要使用的手机 /租户不方便使用该 码。
用户可点击【*联系电话】输入框进行输入新的手机 、用户可点击团队名称输入新的团队名称。点击创建团队时。需要校验如下内容。
1. 新输入的手机 、是否已属于6个团队?
若不属于:可被使用,并且将注册时所使用的手机 ,存储在个人信息-联系方式的字段,uodata成为新的手机 码。触发节点为创建团队最后一步操作,即加载loding成功时做触发。
若属于:输入框内,给与提示语【该手机 已加入6个团队,请更换手机 】定时3s、自动隐藏,并且清空新输入的手机 ,输入框内为待输入状态
且需校验输入的是否为11位手机 ,如非手机 :提示语【请输入11位正确手机 码,定时1.5s、自动隐藏】
2. 输入的团队名称是否已使用?
若使用:输入框内给与提示语。【该团队名称已被使用,请换个团队名称试试、】定时3s、自动隐藏,并且清空新输入的手机 ,输入框内为待输入状态
若未使用:原注册时输入的企业名称,存储在企业信息的-企业名称做updata操作,触发节点为创建团队最后一步操作,即加载loding成功时做触发。
3. 联系方式及团队名称查询触发为输入完毕,且换输入框时触发
如图:点击创建团队,loding的加载界面及过程。
点击【创建团队】后进入创建加载页面,加载过程中可能会遇到各种因素导致创建失败(例:此时服务器崩溃,等未知因素)若创建失败,则跳转至创建失败提示页面、创建失败给与404 错界面。
404界面固定 错提示语:柚子君走丢了,请重新尝试创建。此时数据中,个人信息-联系电话 及企业信息-企业名称字段做updata的操作。且记录之前注册时的电话及名称。
创建后先给与当前页面提示语[创建成功]定时1.5s,自动隐藏。隐藏后进入初始化团队账 页面,现在暂时不做浮层指引教学。前端预留,此时数据库记录该账 对应的企业ID。手机 对应的团队名称
注册企业租户账 后,申请加入团队业务功能模块。
如图:点击申请加入团队,进入该页面。
输入框内输入用户需要加入的根机构名称。
场景:输入的团队名称已加入场景下,给与错误提示语
输入的团队名称系统内无名称,给与错误提示语。且搜索无果的场景下
提示语内容为【没有与您搜索项类似的团队,您可以换个名称试试】
点击搜索,进入加载搜索loding,加载max5s,超时给与404 错界面,
所搜结果呈现界面,如图:
①结果呈现,以表单形式给与,表单最多显示5行,排序无规则,以5个结果/页进行翻页处理。
表单字段:团队名称+团队联系人【即租户个人中心-昵称字段】
根机构搜索范围:数据库全局。搜索内容组合【包含字符串】
②点击其中的某个团队,申请加入,交互跳转页面。
备注输入框长度限制:50文字、备注输入,点击确定按钮,会向被加入的根机构admin发起一条消息:消息内容:【hr名称】您好,【雇员姓名】于【申请加入时间】申请加入团队,请处理。
五、找回密码功能需求说明
账 :11位手机 校验【提示语:请输入11位手机 ,定时器3s,自动隐藏,】
若手机 未注册【该手机 未注册-定时器3s,自动隐藏】
验证码:有效期60s,重复获取间隔60s,输入错误验证码,在输入框提示:请输入正确验证,或请重新获取验证码。
短信下发验证码模板内容例如:金柚 提示您,您找回密码的验证码为565641【六位】验证码模板配置时,设置有效期为5分钟,防止用户无聊,随意申请验证码,这样会增加我们企业验证码的费用。
密码:6-20位任意纯属数字/纯英文/数字英文组合【错误提示语:请输入6-20位密码】
密码确认:两次密码输入需一致。若不一致提示语【请保持2个密码一致】
六、登录需求说明文档
账 输入:11位手机 ,输入错误提示语【请输入11位已注册的手机 】
密码输入错误提示语:输入正确密码
记住密码时效为:7天,7天内登录无需再次输入密码
登录前需注意如下场景不可登录系统:
- 账 未经注册—提示语:您暂未注册账 ,请注册后再登录。【提示语定时1.5s、自动隐藏】
- 账 被后台管理员拉黑–提示语:您暂时无法登录系统账户,请联系客服人员。客服电话为400-0000-000。【此 码系统正式投入租户开放时,换成真实人工客服电话/机器人电话、提示语为固定在登录页面。不做定时隐藏。】
- 账 已注册、但其账 不是admin账 。并且该账 未启用状态。【您的账 暂未启用,请联系企业管理员修改账 状态。–不显示企业租户管理员联系方式。出于隐私维度考虑】
- 租户/员工账 被禁用。【您的账 当前处于禁用状态、请联系管理员。固定在提示页面,】
- 租户/员工所属角色被禁用。【您当前所属的角色已被管理员禁用,请联系管理员】
- 租户/员工所在部门被禁用。【可登陆、进入系统后仅显示菜单tab,右侧提示语:您当前所在部门属于停用状态,请联系系统管理员】
需要跳转至选择团队页面后,才能进入系统。
第三方扫码登录,可往后合理排至3/4期。做第三方登录时、请架构师提前自行查询对应各方平台的开放API。
第一次在平台上发布文章,没写好的地方欢迎诸位客官点评,文章对您有价值的话,点个赞呗(也可以用打赏来羞辱我)。下期文章《电子签章通应性功能建设》
题图来自Unsplash,基于CC0协议
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!