版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件系统开发服务项目详细设计说明书XXXX信息信息技术有限责任公司编写日期:2021年01月
一、引言1.1背景本文档旨在概要设计说明书、数据库设计说明书的基础上,更加详细的列出XX各模块功能的详细步骤与交汇逻辑,开发、测试等人员能更加清楚的理解XX业务逻辑。1.2编写目的和范围本说明书主要目的是为开发、测试等人员明确规定各模块的输入、输出格式、请求方式、服务治理、错误码、异常处理规范等。1.3术语表序号术语或缩略语说明性定义1PMProjectManager,项目经理2路由中心Zuul或Gateway路由转发3注册中心Eureka注册中心4管控端XXX管理控制端5APPXXXAPP6k8sKubernates1.4参考资料资料名称作者文件编号、版本资料存放地点软件工程知识体系指南GB/Z31102-2014全国标准信息公共服务平台1.5使用的文字处理和绘图工具文字处理工具:WPS、vscode绘图工具:PowerDesigner、ProcessOn、PhotoShop1.6设计概述1.6.1任务和目标需求概述XXX平台由APP端服务接口、管理控制端、文件中心、路由中心、注册中心、定时任务、socket服务等7部分组成,其中APP端服务有:用户中心、认证中心、搜索中心、通用中心、积分中心、商城中心。各服务均支持集群模式,应用程序只需要部署到新服务器即可,不需要额外的改动。运行环境概述本系统运行在linux服务器上,不建议使用windows环境,因为windows服务器整体对文件句柄操作比较差,尤其是安全漏洞比较多。linux服务器采用的openssl也要注意版本问题,有些版本的openssl漏洞非常严重,比如“心脏滴血”漏洞。条件与限制系统运行在云服务器,因此想让应用扩容集群部署的时候,操作比较重复,例如:假设用户中心服务现在负载比较高,想要再部署一套用户中心加入集群,这时候就需要先开一台云服务器,并让服务器都在同一个局域网环境,然后安装java运行环境,再部署用户中心服务。可见整个服务部署过程存在大量的重复工作,响应速度整体比较慢。详细设计方法和工具系统设计采用HIPO图方法,业务流程图工具使用:PowerDesigner、XMind等。1.7系统详细需求分析1.7.1详细需求分析详细功能需求分析.1系统用户管理用户列表:查询筛选系统管理员。用户编辑:修改管理员信息。用户添加:添加管理员信息。停用/启用:修改管理员状态。.2部门管理部门列表:查询部门列表。部门编辑:新增或者编辑部门、片区信息。部门删除:删除某个部门。.3角色管理角色列表:查询角色信息集。角色编辑:新增或者编辑角色。角色删除:删除角色。.4权限管理角色列表查询:查询角色列表。菜单分配:为角色分配菜单权限。.5意见反馈列表:查询加载意见反馈列表。处理:管理员填写处理意见,并向用户发送推送通知。.6农机书屋地区列表:加载农家书屋地区树形列表信息发布到移动端:发布地区信息到移动端,移动端服务会更新最新的地区信息添加:添加新的地区信息,并同步到知网编辑:修改编辑地区信息,并同步修改知网删除:删除地区信息,并同步删除知网.7广告位管理列表:查询加载广告位列表添加:添加新的广告位编辑:编辑广告位启用/停用:修改广告位状态,同步更新移动端广告位状态详情:查看广告位详情.8广告发布管理列表:查询加载广告列表详情:广告发布编辑,同步更新到移动端.9服务监测服务列表:接入socket会话,实时收发服务信息服务故障更新:接受socket推送的服务故障,动态更新指定服务的故障标识、故障时间.10通知公告管理通知公告列表:查询筛选加载公告列表发布公告:填写公告详情内容,发布后推送通知消息到客户端公告撤回:对已发布的公告撤回,客户端再看不到该公告预览:预览查看公告详情内容.11APP用户管理注册用户:查询加载XXX用户列表黑名单:查询加载XXX用户列表,并对用户进行黑/白名单操作启动页:APP启动页图片设置引导页:APP引导页图片添加、删除版本更新:查询加载APP历史版本列表、发布新的版本、修改版本信息.12首页应用管理应用列表:加载应用信息添加应用:添加新的应用编辑应用:修改应用信息删除应用:删除停用的应用应用分配:为指定的应用分配用户,分配权限后的用户才可以在首页看到快捷应用.13综合面板用户总数:截止当前时间,XXX平台中总共注册的用户总数实名用户数:当日XXX平台实名的用户总数月活用户数:本月登录过APP的用户总数日活用户:当日登录过APP的用户总数装机数:截止当前时间,下载安装,并打开过APP的总次数今日注册用户地域分布:当日总共有某个地区总共有多少注册用户,以柱状图展示快捷应用入口:当前登录人查询分配给自己的快捷应用实名用户分析:指定时间范围内的实名用户总数,以折线图的形式展示.14积分商城管理分类管理:分类列表、新增修改分类信息商品管理:查询筛选商品列表、添加修改商品详情、商品状态更改广告位推荐:查询加载广告位列表、新增修改推荐信息、下架推荐订单管理:查询筛选加载订单列表、查看订单详情,并对不同状态的订单进行处理商品推荐:查询加载正在推荐中的商品,新增或下架商品、查看商品详情公告管理:查询加载广告列表,新增、编辑、删除公告.15活跃用户统计本日、本周、本月活跃用户统计,并按照指定条件筛选,以柱状图的形式展示活跃详情查看:查看本日、本月、本周各地区活跃详情,以列表的形式展示转化率:当日或当月各地区装机数与注册用户间的转化率,筛选条件:省、时间在线时长:查询某地区当日或当月各时间段的用户活跃时长,时间段:小于等于20分钟、大于20分钟小于等于30分钟、大于30分钟小于等于60分钟、大于60分钟小于等于90分钟、大于90分钟。APP安装分析:查询指定地区的安卓、苹果的下载装机数,分别以饼状图、列表的形式展示。.16综合统计流量统计:查询指定时间段内,不同网络环境下上行、下行流量汇总月活用户:查询指定时间段内,登录过APP的用户列表用户日志:查询管理用户对管控端的增、删、改等敏感操作的记录日志,方便回溯定位用户活跃时长:统计实名认证后的某地区用户平均在线时长,以柱状图的形式展示年度用户注册量:查询某个地区指定年份内,各月份的注册用户总数省市用户量:查询各地区累计注册用户总数,以柱状图形式展示用户信息汇总:查询各地区,用户总数,以及占用户总数比例用户明细信息:查询筛选不同条件下XXX平台内的用户列表,可以导出至EXCEL.17APP用户注册手机号注册、微信注册手机号登录、微信登录忘记密码.18APP意见反馈查询意见反馈列表、新增意见反馈、意见反馈详情查看.19文件上传文件上传我们采用阿里云OOS,文件服务不参与springcloud体系.20APP通知公告查询加载通知公告列表、通知公告详情查看.21APP验证码输入手机号,发送验证到用户手机.22APP流量统计当前设备不同网络环境下的上行、下行流量统计.23用户中心用户详细信息查询当前登录账号密码修改当前登录账号的推荐人信息查询当前登录账号头像修改实名认证,当前实名认证与农家书屋设计在一起了,因此修改实名认证信息前,需要验证该用户是否借过书,用户借书未还,那么禁止修改实名认证信息.24APP通用查询APP导航菜单查询APP异常日志上报APP便民服务列表APP广告查询APP流量上报APP版本更新APP装机数上报APP农家书屋地区信息查询APP我的收藏查询APP我的足迹查询APP我的下载查询APP我的收藏删除APP我的下载删除APP首页搜索.25积分第三方积分新增第三方积分查询APP用户个人积分查询.26认证中心ticket票据获取access_token获取用户信息查询access_token有效时长更新详细性能需求分析APP属于互联网产品,随着业务的发展,可能会有相当高的QPS、TPS等,理论上XXX平台各服务可以应对大量请求,但需要结合实际,通过服务集群、优化网络环境、数据库主从、缓存服务器集群等措施来提高吞吐量。平台内各应用被拆分为了微服务,比如用户中心只要条件允许,可以部署在N台服务器上,因此实际应用吞吐量要结合当前的服务器硬件环境、当前平台内活跃用户量来实时调整,不能一概而论。平台的建设属于硬件+软件的工程体系范畴,单独强调一个应用的负载或性能,是不科学的。应用服务器、数据库服务器、公网环境、内网环境、缓存服务器均正常的情况下,接口请求均在200毫秒内。详细资源需求分析XXX应用需要的资源可根据业务发展实时调整,我们建议数据库服务器采用主从模式、缓存服务器采用集群模式;应用服务器磁盘采SSD硬盘,HHD硬盘读写速度比较慢;16核32G以上较妥。详细系统运行环境及限制条件分析项目环境说明服务器centos7.8+最低配置:8核16G数据库mysql5.7.30主从模式缓存redis5.0+单节点也可以javaopenjdk1.8web路由Openresty注册中心zookeeper3.6.1磁盘SSD盘应用服务器很少存储重要数据,可以使用SSD盘1.7.2总体方案确认XXX平台采用springcloud架构体系,针对不同的功能微服务化;结合各功能场景,加入缓存,降低对数据库的穿透;功能微服务化后,微服务间的调用需要加入容错与服务降级。1.7.3系统总体结构确认系统组成、逻辑结构及层次确认系统由应用系统、数据库系统、缓存系统三部分组成。应用系统结构确认本系统由权限认证、日志处理、缓存监听、业务处理、socket会话、定时任务等组成。支撑系统结构确认系统集成确认本系统采用微服务架构,当启动应用后,服务会自动注入到注册中心,路由中心配置该系统的访问URL后,web端、app端就可以访问本系统。系统工作流程确认1.7.4系统详细界面划分应用系统与支撑系统的详细界面划分各应用在开发过程中,开发人员需要结合缓存思想,在一些查询比较频繁,且具备共同属性的接口上,采用本地缓存+redis缓存+Mysql数据库。其中本地缓存的更新,建议采用发布订阅的模式(可以借助Redis、rocketmq、kafka等中间件),客户端收到消息后,主动去更新缓存。总而言之,总得思想就是:本地缓存>Redis缓存>Mysql数据库。Redis消息可以采用pub/sub模式,也可以采用streams模式消费,XXX平台中采用pub/sub模式。本平台中,轻量级可丢失的消息,均采用redis的pub/sub消息;比较重要的消息,则采用专门的消息中间件:rocketmq全局参数存储在数据库、redis缓存、本地缓存。应用系统、支撑系统系统内部详细界面划分无1.8全局数据结构说明全局数据常量常量中文名称常量英文名称项目名称PROJECT_NAME订阅主键PROJECT_PUB全局变量变量中文名称变量英文名称TOKEN时间tokenExpire短信验证码有效时长smsExpiresocket服务地址socketDomain文件域名地址fileDomain钉钉PC端登录重定向地址PCDomain1.8.1常量常量文件名称:ProjectInfo常量文件所在目录:功能:在做缓存、日志的时候用来标识所属项目1.8.2变量本系统中变量见上文全局变量。1.8.3数据结构平台中常量是预先规定好的,因此不存在数据结构;全局变量在数据库中采用JSON格式存储,使用的时候需要将其解析成数据对象。数据表结构:属性名类型备注idbigint主键contentjsonjson格式的全局变量add_timetimestamp存储时间据对象结构:属性名称类型备注tokenExpirelongtoken过期时间,单位:秒smsExpirelong短信码过期时间,单位:秒socketDomainstringsocket服务地址:fileDomainstring文件服务地址:1.9系统详细设计
1.9.1功能结构图1.9.2系统结构设计及子系统划分XXX服务:用户中心、商城中心、积分中心、认证中心、综合搜索中心、通用服务、管控端、文件中心、路由中心、注册中心、定时任务、健康监测中心。1.9.3系统功能模块详细设计用户中心:用户注册:用户下载APP后注册应用。第三方注册:微信openId与手机号绑定注册。手机号注册:填写手机号、密码、短信验证码、邀请码等信息注册。用户登录:用户登录APP。手机号登录:输入手机号、密码后,登录成功返回token等基本信息。第三方登录:点击微信快捷登录,登录成功返回token等基本信息。我的:基本资料:查询登录用户基本资料信息、基本资料信息修改。我的下载:查询用户下载过的图书、视频等;用户可以选择删除下载记录。我的邀请:查询当前登录人的邀请码、邀请人员等。我的收藏:查询当前登录人收藏过的看书、视频等信息,用户可以选择删除某条记录。我的积分:查询当前登录人的可用积分、已消费积分、积分明细等。浏览记录:查询当前登录人看过的图书、视频等信息。便民服务:查询平台提供的便民应用。意见反馈:当前登录人填写提交意见或建议等,并可以查看过往的提交历史与平台的处理反馈。通知公告:查看所有通知消息列表及详情通用服务:APP基本信息。广告传。流量上报。版本更新。认证中心:第三方应用通过应用编码、用户编号获取ticket。第三方应用通过应用编码、用户编号、ticket获取access_token。第三方应用通过access_token获取用户基本信息。积分中心:第三方应用新增积分。第三方应用查询用户总积分。管控端:广告管理系统管理服务监测APP用户管理通知公告统计用户时长统计积分商城首页应用便民服务定时任务:定时任务采用elastic-job,任务本身支持集群运行,当某个任务存在多个执行节点时,任务会自动选择其中的一个执行。定时任务依赖于zookeeper,定时任务的执行时间如果要修改,需要进入zookeeper客户端,将原来的执行参数删除,然后重新年启动定时任务。socket会话中心APP需要接入socket会话,socket服务端仅需要接入socket客户端即可,不需要操作数据库,尽量提高服务端处理性能,而其他业务的处理可以通过消息订阅的方式,交付其他专门的应用处理。例如:用户登录时长,socket服务端只需要定时将其所拥有的客户端连接信息推送到消息通道即可,定时任务收到消息后会自行分析处理用户的登录时长等。1.9.4系统界面详细设计外部界面设计无内部界面设计用户界面设计APP端界面参见:APP管控端界面参见:1.10发和测试生产环境说明1.10.1开发环境jdk1.8、mysql5.7.30、node、openresty、nginx、rocketmq、elk、idea2019、redis、windows+centos7.6、docker1.10.2测试及产品环境jdk1.8、mysql5.7.30、node、openresty、rocketmq、zookeeper3.6.1、elk、redis5.0+、centos7.6+、docker1.11模块设计1.11.1功能设计说明本文档需要的数据结构详情参见:数据库设计-XXXAPPAPP各功能模块所有的接口请求参数、响应参数等。.1APP用户注册.1设计图详见APP.1.2功能描述用户下载APP后注册APP,注册分两种:手机号、密码、邀请码、验证码手机号、验证码、微信openid.1.3输入数据手机号注册需要参数:微信注册需要参数:.1.4输出数据服务器响应数据格式也是JSON格式,如:.1.5业务算法和流程手机号注册,需要判断该手机号是否已经注册过,需要基于数据库、业务程序2层面多手机号的唯一认证,防止一个手机号多次注册。微信注册,需要先判断微信openid是否已经存在,已经存在则转为自动登录。注册需要短信验证码,验证码需要设置过期时间。.2APP用户登录.2.1设计图详见APP.2.2功能描述用户输入手机号密码或者点击微信登录XXX应用。.2.3输入数据用户输入手机号、密码数据格式:JSON校验规则:手机号最多输入11位.2.4输出数据.2.5业务算法和流程用户登录信息缓存在token中,token有效期为2小时,app每次请求接口都需要更新token时长。每日登录需要赠送积分给用户,当日登录多次只赠送一次积分给用户。APP每次登录均需要保存登录日志。.3APP导航菜单.3.1设计图无.3.2功能描述该功能接口返回APP导航菜单、文件域名、socket域名、引导页、导航页等基本参数。.3.3输入数据无.3.4输出数据APP基本信息.3.5业务算法和流程无.4APP心跳.4.1设计图无.4.2功能描述APP打开后,会启动socket会话,与服务器保持长连接,维持会话信息。基于该功能可以统计用户在线时长、活跃信息等。.4.3输入数据以下只以javascript作为使用示例,IOS、ANDROID可做参考。需要参数如下:province:省,app位置权限如果没有开启,传空字符。city:市,app位置权限如果没有开启,传空字符。xian:县,app位置权限如果没有开启,传空字符。userId:如果用户登录了,传用户编号;如果用户没有登录,传设备唯一编号。IOS、ANDROID需要保证每台设备的唯一编号不重复。time:当前时间戳userTime:身份认证,算法=MD5(time+userId).4.4输出数据无.4.5业务算法和流程socket服务端需要定时将用户的在线时长更新到数据库;当断开连接后,需要将本次登录的会话时长信息保存到日志表中。.5APP找回密码.5.1设计图详见APP找回密码界面.5.2功能描述用户在忘记登录密码的时候,通过该功能来设置新的登录密码。.5.3输入数据.5.4输出数据一下只是接口返回参数,APP端需要将其可视化展示提示信息给用户。.5.5业务算法和流程判断该手机号是否在平台内注册.6APP通知公告列表.6.1设计图详见APP.6.2功能描述APP端查看平台发布的通知公告列表.6.3输入数据无.6.4输出数据.6.5业务算法和流程无.7APP个人中心-基本资料.7.1设计图详见APP.7.2功能描述登录用户查询自己的基本信息资料.7.3输入数据token.7.4输出数据.7.5业务算法和流程无.8APP个人中心-我的足迹.8.1设计图详见APP.8.2功能描述登录人查询自己看过的书、视频等。.8.3输入数据显示条数:limit查询起始页:start查询类型:type,1-看书2-听书3-学习4-少儿5-影视6-大喇叭参数以url的形式传给后台接口服务。.8.4输出数据.8.5业务算法和流程我的足迹包括知网、四达影视的数据,因此需要根据type值去调用具体的接口,然后对返回数据统一封装处理后返回给前端。.9APP个人中心-我的收藏设计图详见APP功能描述该功能接口查询用户收藏的书籍、影视等信息。输入数据显示条数:limit查询起始页:start输出数据业务算法和流程无.1APP用户中心-我的下载.1.1设计图详见APP.1.2功能描述登录用户查询下载过的书籍、影视等信息。.1.3输入数据显示条数:limit查询起始页:start查询类型:type,1-看书2-听书3-学习4-少儿5-影视6-大喇叭.1.4输出数据.1.5业务算法和流程对知网、四达返回的数据统一封装处理,然后返回给前端。.2APP首页搜索.2.1设计图详见APP.2.2功能描述用户输入关键字后,搜索相应的图书、影视,统一封装处理后返回给前端。.2.3输入数据limit:显示条数start:页码search:搜索关键字type:1-看书2-听书3-学习4-少儿5-影视6-大喇叭.2.4输出数据.2.5业务算法和流程将知网、四达接口返回的数据统一封装处理后,返回给前端。.3APP用户中心实名认证.3.1设计图详见APP.3.2功能描述用户点击实名认证,输入身份证、姓名等信息后,点击确认按钮完成实名认证。.3.3输入数据.3.4输出数据.3.5业务算法和流程实名认证调用第三方服务接口校验用户姓名与身份证号是否统一。实名认证信息修改前,需要先确认当前登录用户是否存在待还的书籍,如果存在,那么禁止修改,并提示用户去还书。.4APP流量统计.4.1设计图详见APP.4.2功能描述该功能返回当前设备的不同网络环境下的上行、下行流量数据。.4.3输入数据device:设备号type:中国移动,中国电信,中国联通,WIFI.4.4输出数据.4.5业务算法和流程前端在返回数据后,需要对流量进行转化,显示MB。.5APP意见反馈.5.1设计图详见APP.5.2功能描述查询当前登录人的过往意见、查看某条意见的处理详情。.5.3输入数据请求头中加入token
.5.4输出数据.5.5业务算法和流程无.6APP广告位.6.1设计图详见APP.6.2功能描述查询广告列表信息。.6.3输入数据no:广告编号.6.4输出数据.6.5业务算法和流程从本地缓存中查询从缓存库中查询从数据库中查询.7APP流量上报.7.1设计图详见APP.7.2功能描述APP定时上报不同网络环境下的上行、下行流给平台,方便用户查看最近7天的流量使用情况。
.7.3输入数据.7.4输出数据.7.5业务算法和流程无.8APP便民服务.8.1设计图详见APP.8.2功能描述该功能查询管控端发布的便民应用,APP作为快捷入口,为用户提供更加丰富的体验。.8.3输入数据无.8.4输出数据.8.5业务算法和流程无.9APP版本更新.9.1设计图无.9.2功能描述管控端发布新的app版本后,用户打开APP后更新最新的版本。.9.3输入数据app_type:0-安卓1-ios.9.4输出数据.9.5业务算法和流程无.1055认证中心ticket.10.1设计图无.10.2功能描述知网、四达等应用通过ticket获取access_token。.10.3输入数据.10.4输出数据.10.5业务算法和流程认证中心需要校验用户编号、应用编码、应用签名等信息是否一致。ticket有效时长2小时。.11认证中心access_token.11.1设计图无.11.2功能描述知网、四达通过用户编号、ticket、应用编码获取access_token。.11.3输入数据.11.4输出数据.11.5业务算法和流程校验用户编号、应用编码、ticket等信息是否一致。获取到access_token后,删除认证服务器上的ticket。access_token有效时长为2小时。.12认证中心用户信息查询.12.1设计图无.12.2功能描述知网、四达等应用通过access_token去查询用户的详细信息,用户详细信息在认证中心做了缓存,实际使用中根据业务发展与知网、四达反馈,调整用户缓存信息的必要性。.12.3输入数据access_token.12.4输出数据用户基本信息:.12.5业务算法和流程无.13积分添加.13.1设计图无.13.2功能描述XXX平台根据对应规则,向用户赠送积分,如:看书10分钟以上,赠送1积分。知网、四达调用该接口来向满足条件的用户赠送积分。.13.3输入数据.13.4输出数据.13.5业务算法和流程积分赠送有较为详细的规则,开发过程中需要严格遵循规则,避免多次赠送积分导致平台方损失。详情参见积分规则文档。.14积分查询.14.1设计图无.14.2功能描述该功能用于向第三方服务返回用户总积分。.14.3输入数据无.14.4输出数据.14.5业务算法和流程无XXX管控端.1广告位管理.1.1设计图.1.2功能描述查询管理系统中的广告位,针对不同类型的广告位定制化编辑。.1.3输入数据.1.4输出数据广告位置数据。.1.5业务算法和流程广告位编辑时候,结合缓存,采用Redis发布订阅模式模式,同步向APP端更新。例如:当管理员新增一个广告位的时候,向数据库保存成功的同时,在向Redis发送消息,APP端监听到该类型的消息后,会自动更新APP本地缓存中的广告。.2广告管理.2.1设计图.2.2功能描述管理员维护管理广告信息,广告类型有3种,分别为:原生:APP端点击广告的时候,触发调用APP原生应用。H5:APP端点击广告的时候,跳转到相关网页。其它:无事件,APP端点击广告没有反应,不触发任何响应事件。.2.3输入数据.2.4输出数据广告列表信息。.2.5业务算法和流程管理员点击保存后,广告信息在向数据库保存后,再同步更新Redis缓存中的广告,同时向APP端服务发送Redis订阅消息,APP端服务接收到消息后,会自动更新本地缓存中的广告。广告存储形式:本地缓存>Redis缓存>MySql数据库。.3系统用户管理.3.1设计图.3.2功能描述XXX管控端中的管理用户的维护编辑功能。.3.3输入数据用户姓名,手机号等。.3.4输出数据管理员.3.5业务算法和流程校验该手机号是否已经添加在平台中,本平台中,用户只能拥有一个部门、一个角色。.4系统角色管理.4.1设计图.4.2功能描述管理维护用户角色。其中,当某个角色被分配给某个人的时候,该角色是禁止删除的。.4.3输入数据角色名称、角色ID。.4.4输出数据角色信息。.4.5业务算法和流程无。.5系统部门管理.5.1设计图.5.2功能描述维护管理系统中的部门信息,当要删除某个部门的时候,需要判断该部门是否已经被分配给某个用户,如果已分配,那么禁止删除。.5.3输入数据部门名称、部门ID。.5.4输出数据部门信息。.5.5业务算法和流程部门存在树形关系,部门的父级ID不能是该部门的ID,不然程序会进入死循环。.6农家书屋.6.1设计图.6.2功能描述维护管理农家书屋的地区信息。.6.3输入数据地区名称、ID、父级ID。.6.4输出数据地区信息。.6.5业务算法和流程当管理员点击保存的时候,先向本地数据库保存,然后调用知网的接口,向知网的数据库也推送本数据,如果知网一方调用失败,那么整个数据需要事务回滚,并提示管理员:保存失败。当删除某个地区的时候,同时要调用知网的删除接口,如果知网一方调用失败,事务回滚。APP端服务的农家书屋地区信息是从APP端本地缓存中取的,因此管理员在管控段维护完信息后,需要通知(点击发布到移动端按钮)APP端服务去更新本地缓存。.7权限管理.7.1设计图.7.2功能描述向管控端管理用户授予菜单权限。.7.3输入数据角色ID、菜单ID。.7.4输出数据授权信息。.7.5业务算法和流程当管理员点击保存按钮的时候,后台服务需要先删除该角色原来的菜单,然后再保存该角色新的菜单。.8意见反馈处理.8.1设计图.8.2功能描述处理APP端用户在使用过程中发现的问题。.8.3输入数据意见反馈ID。.8.4输出数据无.8.5业务算法和流程管理员点击处理某条意见反馈的时候,需要同步向该用户发送处理意见的推送消息,用户会在APP端收到该消息的处理通知。.9服务监测.9.1设计图.9.2功能描述该功能实时监听微服务的健康信息,运维管理人员看到后会处理后续。.9.3输入数据无。.9.4输出数据无。.9.5业务算法和流程该服务接口采用socket,服务端监测到新的客户端进入后,发送所有的微服务信息给客户端,在本次会话过程中,服务端只会主动推送某个故障服务的消息,不会再推送所有服务消息。.10通知公告.10.1设计图.10.2功能描述管理维护通知公告.10.3输入数据公告ID、公告标题、公告内容、定时发送等。.10.4输出数据公告。.10.5业务算法和流程公告通知分为实时与定时,定时的公告在发送时,预设定发送时间。发送后,APP端会接收到推送通知。.11便民服务.11.1设计图.11.2功能描述管理维护便民服务应用信息。.11.3输入数据应用ID、应用名称、应用图标、应用类型。.11.4输出数据便民服务应用.11.5业务算法和流程管理员点击保存按钮后,便民服务向数据库保存,然后再向Redis缓存库保存,再发送Redis订阅消息,通知APP端服务更新本地的缓存库。便民服务存储形式:本地缓存库>Redis缓存库>Mysql数据库。.12应用管理.12.1设计图.12.2功能描述管理维护第三方应用快捷入口。.12.3输入数据应用ID、应用图标、应用名称、跳转类型、排序等。.12.4输出数据无.12.5业务算法和流程应用的分配,以json的形式存储,如果某个应用拥有多个用户,那么以json数组的形式存储。.13APP注册用户.13.1设计图.13.2功能描述查询平台中已经注册的APP用户。.13.3输入数据手机号、身份证号、页数、显示数。.13.4输出数据APP用户。.13.4业务算法和流程导入用户的时候,需要通过手机号判断该用户是否已经注册过,同时需要标识该用户是导入进来的,不是注册。.14黑名单.14.1设计图.14.2功能描述管理员对平台中的APP用户管理,开放或禁用其登录APP的权限。.14.3输入数据用户ID。.14.4输出数据无.14.5业务算法和流程当管理员将某个用户禁用后,需要去缓存库中查询该用户当前是否在登录状态,如果已登录,那么需要删除其登录信息,该用户后续操作APP时,会自动退出登录。.15启动页.15.1设计图.15.2功能描述管理员设置APP启动时的引导页。.15.3输入数据图片地址。.15.4输出数据无.15.5业务算法和流程当管理员上传图片后,该图片在向本地数据库保存后,再保存到Redis缓存库中。APP端从缓存库中查询。.16引导页.16.1设计图.16.2功能描述管理员维护管理平台中的引导页。.16.3输入数据图片地址数组。.16.4输出数据无。.16.5业务算法和流程当管理员上传图片后,图片先保存到Mysql数据库,然后保存到Redis缓存库。图片在Redis缓存库中已list的形式存储。APP端从Redis缓存库中查询。.17版本库.17.1设计图.17.2功能描述管理员维护APP版本信息。.17.3输入数据版本ID、版本号、版本文件地址、更新内容。.17.4输出数据无。.17.5业务算法和流程版本信息保存在Mysql数据库的时候,同时保存在Redis缓存库。最新版本的记录只允许有一个。APP端从Redis缓存库中查询最新的版本。2.12接口设计接口设计时候,需要考虑接口支持的请求方式,目前本平台中仅支持:GET、POST两种。其中POST方式的请求参数以JSON格式,将请求数据放在body中;GET方式参数请求以URL传参形式。2.12.1内部接口无2.12.2全局参数查询接口接口说明请求地址:调用方式接口请求方式:GET接口请求参数类型:URLCURL调用示例:2.12.3全局参数修改接口接口说明请求地址:调用方式接口请求方式:POST接口请求参数类型:JSONCURL调用示例:2.12.4广告位查询接口接口说明请求地址:调用方式请求方式:POST接口请求参数方式:json传参CURL调用示例:2.12.5广告位编辑接口接口说明请求地址:调用方式请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.6广告位状态修改接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.7广告位编辑接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.8系统用户查询接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSONCURL调用示例:2.12.9编辑系统用户接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.10添加系统用户接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSONCURL调用示例:2.12.11角色编辑接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSONCURL调用示例:2.12.12角色删除接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.13部门查询接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.14部门新增接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.15部门修改接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.16部门删除接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.17菜单分配接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.18登录用户查询菜单接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.19查询角色菜单接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.20意见反馈查询接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.21意见反馈处理接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.22农家书屋地区查询接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.23农家书屋编辑接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.24农家书屋地区删除接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.25黑名单接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.26新增启动页接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.27查看启动页接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.28编辑引导页接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.29查看引导页接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.30版本列表页接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.31编辑版本接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.32删除版本接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.33查看版本详情接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.34通知公告编辑接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.35通知公告列表接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.36通知公告删除接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.37通知公告发布接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.38商品列表接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参CURL调用示例:2.12.39广告位下架接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:URL传参2.12.40商品推荐下架接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:URL传参2.12.41商品推荐接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:URL传参2.12.42查看商品详情接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:URL传参2.12.43保存商品接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.44保存广告位接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.45上传公告查询接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.46保存商城公告接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.47删除商城广告接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参CURL调用示例:2.12.48商品订单列表接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.49商品订单详情接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.50订单处理接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.51便民服务列表接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.52新增便民服务接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.53修改便民服务接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.54民服务状态更改接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.55删除便民服务接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.56APP登录接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.57APP注册接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.58短信验证码发送接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.59APP新增意见反馈接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.60APP意见反馈列表接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.61APP意见反馈详情接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.62APP流量查询接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.63APP个人资料详情接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.64APP我的推荐接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.65APP修改密码接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.66APP忘记密码接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.67APP便民服务接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.68APP广告接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.69APP异常日志上报接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.70APP职业接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.71APP流量上报接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.72APP通知公告列表接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.73APP通知公告详情接口接口说明接口地址:接口请求方式:GET接口请求参数方式:URL传参2.12.74APP首页搜索接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.75APP我的收藏接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.76APP我的收藏删除接口接口说明接口地址:调用方式接口请求方式:POST接口请求参数方式:JSON传参2.12.77APP我的足迹接口接口说明接口地址:调用方式接口请求方式:GET接口请求参数方式:URL传参2.12.78APP我的下载接口接口说明接口地址:调用方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贷款授权书及物业装修合同
- 共同发展合作协议书模板
- 电商代运营服务合同2024年
- 独家经纪代理协议范本
- 股权代理协议2024年
- 长期战略合作框架协议样本
- 办公楼装修合同模板
- 房地产估价师聘用协议2024年
- 2024年房屋租赁装修过程中沟通协调协议
- 鱼塘经营权转让用于还债合同
- 人教九年级历史上册《探寻新航路》教学课件
- 应急分队人员招聘方案范文
- 幼儿园班级幼儿图书目录清单(大中小班)
- 芥菜栽培技术规程
- 古风折扇的设计 (教学设计)-三年级上册劳动浙教版
- 大学生体育课学情分析
- 沂蒙红色文化与沂蒙精神智慧树知到期末考试答案章节答案2024年临沂大学
- 黑龙江省哈尔滨市第十七中学校2023-2024学年八年级上学期期中数学试题【含答案】
- (正式版)JBT 5300-2024 工业用阀门材料 选用指南
- 4.2 凝聚法治共识(教学设计)-2023-2024学年九年级道德与法治上册同步课堂(部编版)
- d级洁净区管理与操作规范
评论
0/150
提交评论