统一帐号体系业务及模型

1 统一帐号体系业务及模型 
1.1、场景描述 
我们经常会碰到这样的需求,比如某企业需要做一个投诉报修的小系统,每个投诉报修的用户,如果他是第一次用微信登录我们的系统,那么需要输入手机号码,验证了这个手机号码后,才能进入我们的系统,提交报修信息。第一次报修后,以后用户再次提交报修信息,即可以自动识别该用户,免去登录的麻烦。我们的系统要能在微信里面运行,还要能在微博里面,浏览器里面运行,以后我们的系统还要做APP,用户同一帐号登录的APP和在微信微博里面登录的信息,应该是一样的。 
类似于这类需求模型,我们都叫做统一帐号体系模型,他的大概整体流程是像下面这样的 

该图重点在于统一登录流程,该流程的核心在于统一帐号体系,下面先来阐述统一帐号模型。 
1.2、统一帐号核心模型 
统一帐号模型的本质是以自有系统为基础,其他系统帐号标识ID与本系统相互绑定。一般的移动互联网体系中,核心帐号模型包含用户id,登录手机号、用户密码、头像、昵称、用户状态等,其他的信息,都可以在此基础上做扩展,如积分数目、用户等级、性别,年龄等,如果要使用邮箱、用户名等体系登录,我们还需要有独立的关联表,这些都在后面进行阐述。如下是统一账号基础模型。该模型中的id即为其他模型中的userid。 

相关sql语句如下.


– Table structure for account_user


DROP TABLE IF EXISTS account_user
CREATE TABLE account_user ( 
id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘用户ID,自增长’, 
mobile varchar(15) NOT NULL COMMENT ‘用户登录手机号’, 
passwd varchar(40) NOT NULL COMMENT ‘用户密码,MD5加密,可以考虑策略时加盐’, 
nickname varchar(20) DEFAULT NULL COMMENT ‘用户昵称’, 
avatar varchar(150) DEFAULT NULL COMMENT ‘用户头像URL地址’, 
stat varchar(10) DEFAULT ‘ACTIVE’ COMMENT ‘ACTIVE/FROZEN/DELETED帐号状态,正常,冻结,或者删除’, 
PRIMARY KEY (id), 
KEY mobile (mobile
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=’统一登录主用户帐号信息表’; 
注意事项: 
本书sql语句目标服务器为mysql 5.0,本书数据库以UTF8编码。为了提高查询效率,我们通常会将mobile字段添加索引。为了保证系统安全,我们通常会将passwd加密存储,加密函数一般为MD5或者sha1。用户头像avatar字段一般不存储图片ID,因为该字段数据可能来自微信、微博等第三方社交媒体,是动态获取的。用户昵称nickname字段需要做好特殊字符的过滤工作,因为在微信微博等体系中,很多活跃用户会在自己的昵称中添加非打印字符,如果不过滤掉,sql语句可能会执行出错。该表读取频次远大于增改频次,一般用MyISAM做为引擎。一般来说,我们应该基于该表做缓存机制。 
1.3、用微信等第三方平台登录 
所谓用微信登录系统包括几个方面的内容,一是利用微信公众号在微信里面登录系统,二是利用APP调用微信授权接口登录APP,三是利用微信扫描登录PC站点,但是他们的模型是一样的,我们先以微信公众号为例说明。 
1.3.1 在微信中利用微信公众号授权登录 
微信公众号授权登录模型如下所示 

相关sql语句如下


– Table structure for account_weixin


DROP TABLE IF EXISTS account_weixin
CREATE TABLE account_weixin ( 
openid varchar(40) NOT NULL DEFAULT ” COMMENT ‘用户openid ‘, 
userid int(11) NOT NULL COMMENT ‘该OPENID帐号绑定的用户ID’, 
PRIMARY KEY (openid
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=’用户微信OPENID绑定信息表’;


– Records of account_weixin


统一帐号体系业务及模型相关推荐

  1. 帐号体系:后端信息结构设计

    本文由作者 誓博 发布于社区 这篇文章,我们详细介绍一下帐号体系的后端结构设计,即为了实现帐号体系的全部功能,帐号体系的后端应该如何设计. 01 帐号体系的分类 从帐号应用的范围维度,可以把帐号分为& ...

  2. 【Insights直播】华为帐号服务,打造全场景安全帐号体系

    在App运营过程中,如何保持用户增长和提升用户体验始终是开发者关注的问题,而作为用户使用体验感知的第一环节--帐号注册登录环节是不可忽视,且有很大提升空间的.如何提升帐号的注册登录体验?如何保证用户在 ...

  3. Insights直播回顾| 华为帐号服务,打造全场景安全帐号体系

    了解更多相关内容>> 访问华为开发者联盟官网 获取开发指导文档 华为移动服务开源仓库地址:GitHub.Gitee 关注我们,第一时间了解 HMS Core 最新技术资讯~

  4. 【1.6万字长文】华为战略管理方法论介绍(含开发战略到执行DSTE、业务领先模型BLM、业务执行力模型BEM、组织绩效和战略解码)

    第一本全方位阐述华为端到端战略管理体系的著作<华为战略管理法:DSTE实战体系>出版了!!当当网.京东均可下单购买. 第一本全方位阐述华为端到端战略管理体系的著作<华为战略管理法:D ...

  5. 华为帐号服务助力应用运营和用户转化

    6月10日,华为HMS Core Sparkle创新沙龙在北京成功举办.本次沙龙以"打造精品应用 共创数智生活"为主题,与广大社交.出行.新闻资讯等领域的开发者朋友见面,探讨了各领 ...

  6. 华为HMS生态和1+8+N的交叉点,点透棋局的华为帐号

    金庸小说里有无数让人记忆犹新的武功.其中大理段氏所用,号称"金庸第一指法"的"一阳指",让我印象格外深刻. 降龙十八掌嫌太刚猛,北冥神功又太阴柔,"一 ...

  7. Android AccountManager帐号管理(二)

    Android AccountManager 帐号管理(一)分享了如何将自己的帐号体系注册到系统服务AccountManagerService,统一由AccountManager来管理,这仅是自己的一 ...

  8. 「Azure」数据分析师有理由爱Azure之二-立即申请帐号开始学习之旅

    目前关于Azure的学习资料不多,除了官方的文档和Microsoft Learn频道外,几乎没有什么中文性资料可学习,就算有,也是以IT的思维方式来展开介绍,对没有IT背景的数据分析师来说,非常难于适 ...

  9. 【Account】登录过程繁琐造成用户流失?华为帐号让应用获客更简单!

    许多开发者都会面临应用获客的难题,其实想要翻越摆在面前的这座大山,有一个"利器"必不可少,那就是--接入第三方登录方式. 想想看,当用户登录时,是不是会经常遇到这种场景:下载了一个 ...

最新文章

  1. 洛谷 - P1426 - 小鱼会有危险吗 - 模拟
  2. linux非root安装go,linux – go install总是使用GOROOT / bin而不是GOPATH
  3. [转]F# Samples 101 - Visual Studio 2010
  4. redis哨兵相关详解
  5. java mvc 菜鸟_Spring MVC 简单入门
  6. 写给找工作的朋友——最典的面试葵花宝典
  7. 【Servlet】Servlet生命周期
  8. C#4.0 命名参数可选参数
  9. 用matlab的ADC和DAC过程,谈谈我理解的ADC和DAC
  10. FJ集团企业级邮件服务器——Exchange服务器安装与配置(边缘传输服务器)
  11. EnvironmentShare
  12. 软件项目中需求管理工作的重要性
  13. checkout 撤销修改_撤销修改(第8篇)
  14. oracle dba_hist tablepsace,oracle数据库dba_hist等视图中的Delta相关字段介绍
  15. VC知识库的5周年精华珍藏版光盘
  16. kux格式怎么转换成mp3_优酷kux1080转码工具 1080p kux格式转换mp4|优酷kux格式转换成MP4格式...
  17. 回溯法求解八皇后问题
  18. 【SPA项目的搭建】
  19. 微信公众号如何设置开发者密码(APPSecret)?
  20. oppo小游戏接入代码

热门文章

  1. STC51-C51基础知识
  2. 【声传播】——角谱理论、模式理论及三维傅里叶变换
  3. 位置式PID与增量式PID区别浅析
  4. 信号量、使用信号量来完成读写模型(消费者生产者模型)线程池、读写锁面试题
  5. 《Reids 设计与实现》第十七章 发布与订阅
  6. java并发初探ConcurrentHashMap
  7. 一次性计划任务at与周期性计划任务crontab
  8. Resource Hacker
  9. 原子操作、互斥锁、读写锁
  10. Press ^C at any time to quit.