通常H5手机取号有两种方式,一种是通过与内嵌APP的单点登录获取,另外一种是通过移动/联通/电信网关获取。

去年很多项目用到了第二种手机取号服务,现在此功能已经沉淀到共享微服务中,现总结一下通过通信网关进行手机取号服务端的核心设计流程,并跟大家介绍一下如何实现。

一、手机取号服务端的设计核心流程

如上图所示,基于通信网关获取手机号码,需要前端与后端的配合,手机终端通过通信网关访问网络,手机终端的信息会随User-Agent发给通信网关,只要终端用的是通信服务,通信网关肯定知道受访者的手机号。如果服务于用户的指定网站和各省通信网关形成映射关系,那么用户在访问指定网站的时候,这个网站就会从通信网关获取手机号,核心流程就是这么简单。

二、关键实现代码片段如下

SurveySession session;
if (token.startsWith(RwkConstant.SURVEY_ACCESSTOKEN_PREFIX)){log.info("网关回调取号入口");session = (SurveySession)redisService.get(token, SurveySession.class);if(session != null){session.setMobile(inputMobile);session.setNetwayMobile(inputMobile);/**获取网关手机号码对应号段省份,加载入session**/RwkPrefix prefix = rwkCommonService.findPrefix(inputMobile,logUniqueFlag);if(prefix != null){String provinceId = prefix.getProvinceid().toString();session.setUserProvinceId(provinceId);}log.info("网关回调取得Session对象号码={}、省份代码={}",session.getNetwayMobile(),session.getUserProvinceId());}redisService.set(token, session,10,TimeUnit.MINUTES);session = (SurveySession)redisService.get(token, SurveySession.class);if (session != null){log.info("网关回调redis中取出对象号码={}",session.getNetwayMobile());}else {log.info("网关回调redis未set数值成功");}log.info("网关回调取号出口");
}

基于通信网关获取手机号码的核心设计与实现相关推荐

  1. “华为杯”研究生数学建模竞赛2020年-【华为杯】A题:基于通信仿真的载波恢复算法设计与 ASIC 实现(附获奖论文及matlab代码实现)

    目录 摘 要: 1. 问题重述 1.1 问题背景 1.2 问题要求 2. 模型假设 3. 符号说明

  2. 基于modbus协议的工业自动化网络规范_一种基于Modbus的工业通信网关设计

    近年来,随着工业自动化领域的发展,工业现场对网络的可靠性及成本有极高的要求.传统基于串口的工业网关可以满足工业现场的应用,但却要付出高额成本.一种基于 ModBus 设计的工业通信网关就走进人们的眼中 ...

  3. 基于蓝牙的家居网关数据采集处理系统的设计与实现

    王雅志 , 王绍源 ( 湖南大学 电气与信息工程学院 , 湖南 长沙 410082) 摘要 : 介绍了一种基于蓝牙技术的智能家居网关中数据采集处理系统的实现方案 , 该系统以 ARM - Linux ...

  4. 基于RS485的简单现场总线通信系统设计-南邮自动化课程设计

    基于RS485的简单现场总线通信系统设计 指导书   1.     课程设计目的 1)       进一步融合大学期间所学的理论知识和实践技能: 2)       提高学生问题分析能力和实际操作能力: ...

  5. 基于8086简易电子琴系统仿真设计-基于8086红外自动门控制系统设计-基于单片机8x8矩阵键盘两机串口通信-基于单片机8层电梯控制系统仿真设计-基于单片机ADC0809和DAC0832模数和数模设计

    1189基于8086简易电子琴系统仿真设计-设计资料 编写一实现电子琴的程序,并实现若干扩展功能. 基本功能:用键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶: 扩展功 ...

  6. linux嵌入式 控制io口,基于ARM9嵌入式的RS485总线接口设计,自动控制IO口实现通信方向控制...

    描述 随着ARM处理器应用的范围的不断深入,根据需求的不同ARM提供的外设也越来越丰富,常用的通信接口有RS232.RS485.CAN.以太网等.RS485总线凭其传输距离远.抗干扰能力强.价格低廉等 ...

  7. springboot基于web的摩托车销售系统的设计与实现毕业设计源码031706

    基于web的摩托车销售系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难 ...

  8. 网关系统就该这么设计(万能通用),贼稳!

    什么是网关 网关通俗理解 为什么需要网关 网关与服务器集群 网关设计思路 1. 请求路由 2. 服务注册 3. 负载均衡 4. 弹力设计 5. 安全方面 网关设计重点 1. 高性能 2. 高可用 3. ...

  9. 网关系统就该这么设计,万能通用,稳的一批!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

最新文章

  1. angular学习笔记(二十五)-$http(3)-转换请求和响应格式
  2. 安卓上为什么不能用system.io.file读取streammingAssets目录下的文件
  3. HTML+CSS+JS实现 ❤️电商商品图片幻灯片特效❤️
  4. JS 打印 iframe
  5. ARMv8体系结构基础03:加载和存储指令
  6. Debug模式启动tomcat超时
  7. 想用Python做自动化测试?Python反射机制的应用
  8. debian编译openjdk8
  9. 企业微信扫码登录流程
  10. OFDM插入导频过程详解
  11. 单片机C语言code关键字
  12. 走遍美国 下载(78集)
  13. VHD轉換VHDX格式
  14. 实现office365和visio2016共存
  15. 基带信号与频带信号的基础认识
  16. php 策略模式 理解
  17. Mysql数据库乱码解决方案
  18. Golang map源码浅析
  19. 微信小程序-wx-charts 图表插件
  20. 海伦公式计算三角形面积

热门文章

  1. 留学教育大数据管理平台
  2. 互联网协议 — TCP — 滑动窗口
  3. 数字化时代需要迎接新技术
  4. 让用户输入一个数字(0-9),然后输出对应的大写汉字。
  5. 【Android N7.0】Framework层实现派发HOME按键到Application层的一种简单方案
  6. 4412 audio 分析
  7. 发信息服务器恢复,手机短信删除了怎么恢复?看完恢复原理你就懂了!
  8. 七星彩长奖表图_新版够力七星彩奖表图手机版
  9. AHB-Lite总线协议
  10. 管道爬行机器人内部陀螺仪_油管内壁爬行机器人的机械结构设计