Initial commit
This commit is contained in:
parent
4744811515
commit
298a1af86f
865
README.md
865
README.md
|
@ -1,3 +1,864 @@
|
|||
# home-school-contact-app
|
||||
# 基于Android的家庭学校联系平台APP开发与实现
|
||||
|
||||
基于Android的家庭学校联系平台APP开发与实现
|
||||
# 摘要
|
||||
|
||||
学校教育与家庭教育的不一致,容易产生教育断层的局面,而现有的校讯通等家校互动平台,又存在教师与家长单向沟通等方面的问题。如今信息技术的飞速发展为家校共育的健康发展提供了强有力的保障,“互联网+”已成趋势。学校和教师要一改过去传统的沟通交流方式,借用互联网与手机短信相结合的家校互动信息平台,扩展沟通交流渠道,架起家校沟通的桥梁,从而让家校教育形成合力,提高教育的时效性,促进学生健康成长。因此,本文就目前“互联网+教育”的新趋势进行了说明,以明确进行研究的目的。随后,将对本平台实现的过程和原理进行一一探讨,以让读者能了解实现其的具体方法。最后,为了实现这个软件平台,本文对这个软件作了系统分析和系统设计,最终实现了该软件。通过测试,该平台能正常运行在Android系统下的智能设备,也验证了本文所探讨的设计正确性和重要性。
|
||||
|
||||
**关键词:**互联网、家校互动、家校协作、功能应用
|
||||
|
||||
# Abstract
|
||||
|
||||
Nowadays, the inconsistency of school education and family education may easily result in education gap. And the existing home-school interactive platforms like School Paper still have some problems including the issue of one-way communication between teachers and parents. The rapid development of information technology has provided a strong guarantee for the healthy development of home-school coeducation. Currently, the” Internet+” mode has become a trend, which requires the schools and teachers update the traditional communication ways with parents. They can combine the internet with mobile phone text message to establish a home-school interaction information platform, expanding the communication channel, setting up the bridge of communication so as to produce a unified strength of home-school education, improving the efficiency of education and promote the healthy growth of students. Therefore, This paper puts forward the aim of this research by describing the current trend of “Internet +Education”. In addition, It explores the process and principles of the new platform to make the readers understand the specific methods. Finally, in order to achieve this software platform, this paper makes a systematic analysis and system design. Through the test, the platform can run in the intelligent equipment of Android system, thus verifying the correctness and importance of the design discussed in this paper.
|
||||
|
||||
**Key words:** Internet; home schoolinteraction; home school cooperation; Function Application
|
||||
|
||||
# 1. 概述
|
||||
|
||||
## 1.1 研究背景和意义
|
||||
|
||||
社会的发展,智能手机的普及让各种各样的手机应用APP成为我们生活中必不可少的一部分,教育行业也搭上了这趟车,走上了“互联网+”教育,为了方便学生、家长、学校三体互动,让家长和学生能及时收到学校发送的消息,满足用户之前的实时交流,“爱吖校推”应运而生。
|
||||
|
||||
“爱吖校推”是一款基于Android的家校互动平台。随着社会的发展,各种APP在手机行业发展的助推下应用越来越广泛。某权威调研机构表示,2016年,Android系统已经占领市场份额高达81.3%,而大名鼎鼎的iPhone屈居第二,仅占17.8%,更令人惊奇的是,Android的市场份额还在持续增多。
|
||||
|
||||
社交是人类社会性群体的基本属性。而“爱吖校推”就是一款基于教育行业的社交类APP。它支持所有的即时通讯应该包含的功能,文件发送、位置发送、音视频通话、图片、视频等,同样也支持校方和教师发送公告作业并推送到相应群体的Android智能终端。在当前微信用户如日中天的基础上,“爱吖校推”采用微信朋友圈的方式,支持消息发送、点赞、评论、拍照、秒拍、微视频等群体社交,真正进入微社交时代。这是一件非常有意义的事情。
|
||||
|
||||
## 1.2 国内现状
|
||||
|
||||
家校互动的需求长期已有,它的研究和设计从本世纪初就开始了,而且也取得了不小的成效。但在早期由于技术的限制,所以存在信息的单项沟通,比如早期的“校讯通”。它就是单纯的通过收发短信来达到家校信息交流,教师得不到任何的反馈。之后随着移动互联网的发展,微信平台如鱼得水,其双向沟通性让一线教师感觉是雪中送炭,但其信息筛选性一直为人诟病。虽然微信等即时通讯软件一定意义上解决了家校互动的问题,但这样的处理,无疑是增加了教师的工作量。
|
||||
|
||||
近年来,有 “爱上学”、“和校园”、“爱学习”、“校讯通”等已经运行的家校互动支持平台20多个,这些平台主要实现信息发布查看等功能,对于信息的及时推送功能匮乏,加之在校大学生多用QQ群或者微信群作为沟通平台,常常使得通知公告信息错过,导致了学生之间的信息不对等,而国内超高量的外出打工家长,想看到没有手机的孩子实在困难。所以“爱吖校推”在操作简单的基础上,优化了拍照和微视频,让老师可以把学生的学校情况实时地分享给大家。消息的离线推送也使得信息的准确到达率迅速提升,而附带音视频通话的及时通讯板块,也是拉近了学生、家长、教师之间的距离。
|
||||
|
||||
## 1.3 论文的思路和结构
|
||||
|
||||
该论文分十个部分进行逐一讲解:
|
||||
|
||||
首先把概述作为了第一部分,该系统平台的研究背景和意义以及国内现状作为主要讲述内容。
|
||||
|
||||
第二部分是研究方案和架构概述,主要阐述了本课题预计花费时间的设计方案、软件开发设计方案以及设计目标,最后做了架构概述。
|
||||
|
||||
第三部分是需求分析,主要从用户需求、性能需求和功能需求三方面阐述了需求板块需要具备的东西。本部分还用了用例图、用例说明增加相关人员的理解。
|
||||
|
||||
第四部分是概要设计,主要从Android端和服务器端分别阐述了功能总体设计,然后画了数据库E-R图,最后是系统类图和界面设计。
|
||||
|
||||
第五部分是详细设计,主要从数据库设计、CS协议通信、时序图三个方面阐述。
|
||||
|
||||
第六部分是系统实现,主要介绍了本次系统实现所用到的开发工具,并展示了开发界面总览和核心功能代码的讲解。
|
||||
|
||||
第七部分是软件测试,分版块进行功能、性能、安全、交叉事件以及兼容性板块进行测试并修改系统bug。
|
||||
|
||||
第八、九部分是本次毕业设计中的收获和结论以及自己的感想。
|
||||
|
||||
最后是本文所参考的各种有价值的资料列表。
|
||||
|
||||
# 2. 研究方案和架构概述
|
||||
|
||||
## 2.1 预计花费时间设计方案
|
||||
|
||||
- 花费7天查阅了关于即时通讯的资料以及小米推送的官方文档,并对其进行分析整理
|
||||
|
||||
- 花费10天查阅了一些技术博客和相关论坛以及GitHub上比较火的框架和项目
|
||||
|
||||
- 花费15天进行数据库设计,并对系统框架做一个全局性思考
|
||||
|
||||
- 花费10天编写后台API数据接口,并做简单测试
|
||||
|
||||
- 花费1个月编写Android端代码,并对后台数据可行性进行验证修改
|
||||
|
||||
- 最后进行常规测试,并在各大机器上运行,以保证不会出现致命Bug
|
||||
|
||||
## 2.2 软件开发设计方案
|
||||
|
||||
采用MVC开发模式,按照功能可划分为:发通知,发作业,互评点赞,图片并茂,即时通讯,小米推送等模块。
|
||||
|
||||
功能模块细化:
|
||||
|
||||
- **班级圈**:班级圈包含教师可发放通知、作业,基本支持图文并茂社区化和微视频上传。家长可查看自己班级的每一条信息,以及进行互评回复点赞
|
||||
|
||||
- **即时通讯**:即时通讯板块主要依赖于环信,在环信SDK的大前提下,引入基本的即时通讯和音视频通话
|
||||
|
||||
- **社区板块**:社区板块是用户只要在一个班级即可进行类似朋友圈的交流,依然可以进行互评点赞回复
|
||||
|
||||
- **发现板块**:发现板块主要是为加载一些广告和活动
|
||||
|
||||
- **我的板块**:我的板块主要是提供用户信息的更改设置等
|
||||
|
||||
- **推送板块**:当前推送继承了Google推送、华为推送和小米推送,以最大的可能提高推送接收率
|
||||
|
||||
## 2.3 本课题的设计目标
|
||||
|
||||
模块功能实现的目标:
|
||||
|
||||
- **班级圈**:保证班级圈数据的正常显示,非本班人员应该不具备查看该班信息权限的能力。采用广播、接口回调及其其它方式完成数据的传递和更新
|
||||
|
||||
- **即时通讯**:保证音视频通话的离线呼起,保证长连接的引用,保证用户能正常收发消息
|
||||
|
||||
- **社区**:同班级圈
|
||||
|
||||
- **发现**:保证广告的通畅性和可行性
|
||||
|
||||
- **我的板块**:保证用户信息的修改处理正常,做到信息不泄漏
|
||||
|
||||
- **推送**:保证推送成功率与正确率
|
||||
|
||||
- **交互性良好**:采用materialdesign 风格设计,以及动画效果的引用,使用户和软件具有更加青睐的交互体验,并通过信息圈子推送,增加了用户粘性
|
||||
|
||||
- **代码风格佳**:在编码过程中,严格要求分包逻辑,采用模块化分包,并对代码进行合理的封装处理,使代码更加模块化,让其他人能更易上手
|
||||
|
||||
- **实用性**:通过不断的更新产品功能和接收用户反馈,让该产品更加地符合消费者思维
|
||||
|
||||
## 2.4 架构概述
|
||||
|
||||
本系统采用C/S架构,分为客户端和服务器端。
|
||||
|
||||
客户端被分为了表现层、业务逻辑层和数据访问层三个层面。
|
||||
|
||||
- **表现层**:主要通过Android应用页面来展示数据,以及一系列事件响应的UI控件
|
||||
|
||||
- **业务逻辑层**:主要用于业务逻辑的处理。通常由业务服务Service类和业务实体类Entity组成
|
||||
|
||||
- **数据访问层**:本系统采用的数据库是MySQL,采用XAMPP进行服务器搭建,采用PHP作为后台数据接口编写,用花生壳做域名解析,以达到Android客户端与服务器之间的访问
|
||||
|
||||
# 3. 需求分析
|
||||
|
||||
需求分析是“爱吖校推”应用分析的必要阶段,下面分软硬件需求、功能需求和用户需求三方面做介绍,
|
||||
|
||||
## 3.1 软硬件需求
|
||||
|
||||
本系统的软硬件需求如下:
|
||||
|
||||
- **在Android平台上运行**,系统在4.0以上
|
||||
|
||||
- **后台数据库**:MySQL
|
||||
|
||||
- **开发环境**:JavaJDK1.7 ,Windows 10
|
||||
|
||||
- **开发工具**:AndroidStudio、Eclipse For PHP、XAMPP、
|
||||
|
||||
- **个人计算机**:华硕飞行堡垒笔记本
|
||||
|
||||
## 3.2 功能需求
|
||||
|
||||
“爱吖校推”作为一款功能性软件,其功能需求相当重要。以下为“爱吖校推”的功能需求:
|
||||
|
||||
**发通知、发作业**
|
||||
|
||||
发通知和发作业,是学校教师特有的功能,教师可以通过“爱吖校推”平台进行通知和作业的发放,每当发一条信息,该班的所有人员便可以收到来自服务器的信息推送,提醒家长打开APP查看。每一条通知和作业家长都可以点赞和互评和回复。这样让家长和学校的关系更贴切,也增加了信息筛选机制,从而避免了QQ群、微信群等多余信息的影响。
|
||||
|
||||
**传视频、传照片**
|
||||
|
||||
传视频是在社区和通知作业板块均具备的功能,紧跟微视频的时代步伐,教师可以把孩子在学校的精彩表演,录制下来发到班群里,家长便可以看到。家长也可以把孩子在家里做的有意义的事情放到社区,让同一个班级的家长朋友们借鉴。良好的图文并茂社区化,不仅增进了家长和学校的交流,还增进了家长之间的联系和友谊。
|
||||
|
||||
**即时通讯**
|
||||
|
||||
即时通讯板块是一个整体的板块,基本包含QQ微信的所有功能,依然可以发图片、发消息、发语音、发定位、音视频通话等。意在增加朋友之间的联系和家长和学校教师的一对一交流和多对多交流。
|
||||
|
||||
**发现板块**
|
||||
|
||||
发现板块主要是轮播的一些优秀且有利于教师家长的APP功能板块,并且会组织一些活动,邀请大家参加。
|
||||
|
||||
**离线推送**
|
||||
|
||||
离线推送在家校互动平台软件中是一个必备功能,也算是一个核心功能,有它才能保证用户真正收到来自教师发放的信息,以及即时通讯过来的消息。同时音视频通话等即时性要求较高的功能,也得依赖它。并且,推送信息到通知栏的方式向用户传递信息,也是可以增加用户粘性。
|
||||
|
||||
## 3.3 用户需求
|
||||
|
||||
在“爱吖校推”应用的开发过程中,为了尽量满足学校老师和家长用户的要求。目前得到的需求有:
|
||||
|
||||
- 图片显示清晰,但不能太大,以免浪费流量
|
||||
|
||||
- 微视频的压缩要处理好,不能太浪费流量
|
||||
|
||||
- 即时通讯要通畅
|
||||
|
||||
- 要具备离线推送,确保家长用户能收到教师发送的作业和通知
|
||||
|
||||
- 要有权限管理,不能让外班人员看到本班的消息
|
||||
|
||||
- 公告和作业不能插广告
|
||||
|
||||
- 应用不能经常闪退
|
||||
|
||||
- 应用不能太大,也不能太占内存
|
||||
|
||||
- 运行要流畅,不能出现卡顿现象
|
||||
|
||||
## 3.4 用例图
|
||||
|
||||
### 3.4.1 登录板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/6138909c0da0575049377ef43e3b0279.writebug)
|
||||
|
||||
### 3.4.2 班圈板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/fdcd5ec8f15f42161b6b9f75e0fc0ea0.writebug)
|
||||
|
||||
### 3.4.3 消息板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/11d972e6972c3854dfe64962e989f62f.writebug)
|
||||
|
||||
### 3.4.4 发现板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/d59d37f60fa3a4e21abf7c90ae73c730.writebug)
|
||||
|
||||
### 3.4.5 我的板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/240cb69f902d9d7575f84f40b26225e3.writebug)
|
||||
|
||||
## 3.5 用例说明
|
||||
|
||||
### 3.5.1 UC1用户登录
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/65e5c68cf43a3556df1276f47d4a04ac.writebug)
|
||||
|
||||
### 3.5.2 UC2用户注册
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/f7c278e20635684af503e65203109d58.writebug)
|
||||
|
||||
### 3.5.3 UC3找回密码
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/c6ee4a4cc9766a2fa69b7536d03b8802.writebug)
|
||||
|
||||
### 3.5.4 UC4发布信息
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/897866eafcd4cc3bdfe3d3dd07dfe851.writebug)
|
||||
|
||||
### 3.5.5 UC5查看所有信息
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/8392bca0a6240a17dc9affa204501a6f.writebug)
|
||||
|
||||
### 3.5.6 UC6查看信息详情
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/f05e50e19c9425bd76bd733e28f38f3c.writebug)
|
||||
|
||||
### 3.5.7 UC7点赞评论回复
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/bb09530905a87514525ab1fad79e7a97.writebug)
|
||||
|
||||
### 3.5.8 UC8查看联系人和会话
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/b43a4e687791ec5e717743740649dfd5.writebug)
|
||||
|
||||
### 3.5.9 UC9聊天
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/2665c813c2037221d40aba56ae9a65cc.writebug)
|
||||
|
||||
### 3.5.10 UC10音视频通话
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/f6c2e69479a250aaacb59fdcf7a6f68f.writebug)
|
||||
|
||||
### 3.5.11 UC11修改个人信息
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/0cf5d4114e98a999b3112663cdee3533.writebug)
|
||||
|
||||
### 3.5.12 UC12修改孩子信息
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/3d746f9584ab9d7b539e2e208e191381.writebug)
|
||||
|
||||
### 3.5.13 UC13退出登录
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/ad96395e56cd7c327446c6643b2a7680.writebug)
|
||||
|
||||
# 4. 概要设计
|
||||
|
||||
## 4.1 系统功能总体设计图
|
||||
|
||||
### 4.1.1Android端功能总体设计图
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/aae74aa8d2ddfa0640c734b9f5183abf.writebug)
|
||||
|
||||
### 4.1.2 服务器端功能总体设计图
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/a71ad85743e731250e6e0225b653f7e5.writebug)
|
||||
|
||||
## 4.2 数据库E-R图设计
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/a9bab1ecbabc432385cab7313f99dcac.writebug)
|
||||
|
||||
## 4.3 系统类图
|
||||
|
||||
### 4.3.1 APP端登录板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/c5a13c145509eab0503ba3c9b2a52a47.writebug)
|
||||
|
||||
### 4.3.2 APP端主页板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/d40060ae6e4f270a20be48f6e3f459ec.writebug)
|
||||
|
||||
### 4.3.3 APP端班圈板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/2e07225345252b0c4169e4b474234feb.writebug)
|
||||
|
||||
### 4.3.4 APP端发布板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/1786fb557a0c2cbc77186c6a4986a29e.writebug)
|
||||
|
||||
### 4.3.5 APP端消息板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/6c68f70b142b35443b47fbb91c606734.writebug)
|
||||
|
||||
### 4.3.6 APP端发现板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/e53e756f71f60cb167eee2b8ea01235c.writebug)
|
||||
|
||||
### 4.3.7 APP端我的板块
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/e298be3bf6e8c9d3fedd56a694afd8a0.writebug)
|
||||
|
||||
## 4.4 界面设计
|
||||
|
||||
**图片选取界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/949e68f2066dbb66446cfd81d2688b3f.writebug)
|
||||
|
||||
**图片选取界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/cd163a94614be73c4482949b7b1328b3.writebug)
|
||||
|
||||
**登录界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/72793c3d5f02f6bb0f2a64d0fb421b1c.writebug)
|
||||
|
||||
**手机号验证界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/5ae302c62197b1f3b08a5ce500963b4e.writebug)
|
||||
|
||||
**主界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/0cc6fba67ab2c9ad21b38e3ebd001787.writebug)
|
||||
|
||||
**课程表界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/23f1d6e55cf03004549868eebbc3ea21.writebug)
|
||||
|
||||
**联系人列表界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/2959bc98336bc3c52df472f01694597f.writebug)
|
||||
|
||||
**聊天界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/35b1838814b50246a6417d23314e4980.writebug)
|
||||
|
||||
**音频呼叫界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/eeebd14c1718cece6b2cffed2eebf37b.writebug)
|
||||
|
||||
**发布信息界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/9b1d9b6e7be0482f05b25f5d6a082272.writebug)
|
||||
|
||||
**发布界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/be4b85cd5a26591ddb89d2f1ad2270b4.writebug)
|
||||
|
||||
**我的板块界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/da80445ae480e15eeed48c54ee77cefb.writebug)
|
||||
|
||||
**按住拍界面设计**
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/cb18b74b1d9a5eb3987a39d7be00b3ea.writebug)
|
||||
|
||||
# 5. 详细设计
|
||||
|
||||
## 5.1 数据库详细设计文档
|
||||
|
||||
本软件的数据库为MySQL数据库,主要是搭建在XAMPP上结合PHP存在。主要分为以下几个数据表:
|
||||
|
||||
### 5.1.1 用户表设计(aiya_user)
|
||||
|
||||
| 字段 | 属性 | 备注 |
|
||||
| ------------ | ------------------ | --------------------- |
|
||||
| username | varchar(20)(主键) | 账号(手机号) |
|
||||
| password | varchar(20) | 密码 |
|
||||
| nickname | varchar(20) | 用户昵称 |
|
||||
| type | int(1) | 用户类型 (1教师、2 家长、3管理员) |
|
||||
| classid | int(10)(外键) | 班级id |
|
||||
| avatar | Varchar(100) | 用户头像地址 |
|
||||
| birthday | date | 生日,实际存储为时间戳 |
|
||||
| address | text(null) | 用户地址 |
|
||||
| child_name | varchar(20) (null) | 孩子姓名 |
|
||||
| child_avatar | text(null) | 孩子头像地址 |
|
||||
|
||||
### 5.1.2 班级信息表设计(aiya_class)
|
||||
|
||||
| 字段 | 属性 | 备注 |
|
||||
| ---------- | ------------- | ---- |
|
||||
| classid | int(10)(主键自增) | 班级id |
|
||||
| classname | varchar(50) | 班级名称 |
|
||||
| schoolname | text | 学校名称 |
|
||||
|
||||
### 5.1.3 主贴表设计(aiya_main)
|
||||
|
||||
| 字段 | 属性 | 备注 |
|
||||
| -------- | --------------- | -------------------------- |
|
||||
| mainid | int(10)(主键自增) | 帖子id, |
|
||||
| classid | int(10)(外键) | 班级id |
|
||||
| username | varchar(20)(外键) | 用户名 |
|
||||
| time | timestamp | 发布时间,实际存储相当于long型时间戳 |
|
||||
| infotype | int(1) | 主贴类型(1 代表公告 2 代表作业 3 代表动态) |
|
||||
| content | text | 帖子内容 |
|
||||
|
||||
### 5.1.4 评论表设计(aiya_comment)
|
||||
|
||||
| 字段 | 属性 | 备注 |
|
||||
| -------- | --------------- | ----------------------- |
|
||||
| infoid | int(11)(主键自增) | 信息id |
|
||||
| mainid | int(10)(外键) | 主贴id,用于识别隶属于哪一条帖子的评论 |
|
||||
| username | varchar(20)(外键) | 用户名,用于识别发布人信息 |
|
||||
| time | bigint(20) | 发布时间,long型时间戳 |
|
||||
| content | text | 发布内容 |
|
||||
| reply | varchar(20)(外键) | 用户表username作为外键,用于回复@功能 |
|
||||
|
||||
### 5.1.5 点赞表设计(aiya_praise)
|
||||
|
||||
| 字段 | 属性 | 备注 |
|
||||
| -------- | ------------- | ------------------ |
|
||||
| praiseid | int(10)(主键自增) | 点赞信息id |
|
||||
| mainid | int(10)(外键) | 主贴表外键,用于识别赞的是哪一条主贴 |
|
||||
| username | varchar(20) | 用户表外键,用于识别是谁点赞了 |
|
||||
|
||||
### 5.1.6 主贴图片表设计(aiya_pic)
|
||||
|
||||
| 字段 | 属性 | 备注 |
|
||||
| ------ | -------------- | ------ |
|
||||
| picid | int(10)(主键自增) | 图片id |
|
||||
| mainid | int(10)(主贴表外键) | 主贴id |
|
||||
| url | text | 图片存放地址 |
|
||||
|
||||
## 5.2 CS协议通信文档
|
||||
|
||||
说明:返回格式为code,msg,data三个字段,code为0是代表请求逻辑正确,-1为请求异常;
|
||||
|
||||
### 5.2.1 用户系统
|
||||
|
||||
**获取用户是否注册APP**
|
||||
|
||||
接口地址: /user/usable_mobile.PHP
|
||||
|
||||
方式和返回:GET JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| ------ | ------ | ----- |
|
||||
| mobile | string | 用户手机号 |
|
||||
|
||||
**注册**
|
||||
|
||||
接口地址: /user/register.PHP
|
||||
|
||||
方式和返回:POST JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| -------- | ------ | ------------- |
|
||||
| username | string | 用户手机号 |
|
||||
| password | string | 用户密码 |
|
||||
| nickname | string | 昵称 |
|
||||
| birthday | string | 生日,传递long型时间戳 |
|
||||
| avatar | string | 头像上传的地址 |
|
||||
|
||||
**登录**
|
||||
|
||||
接口地址: /user/login.PHP
|
||||
|
||||
方式和返回:POST JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| -------- | ------ | ----- |
|
||||
| username | String | 用户手机号 |
|
||||
| password | string | 用户密码 |
|
||||
|
||||
**重置密码**
|
||||
|
||||
接口地址: /user/reset_pwd.PHP
|
||||
|
||||
方式和返回:POST JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| -------- | ------ | ----- |
|
||||
| username | string | 用户手机号 |
|
||||
| password | string | 用户新密码 |
|
||||
|
||||
**上传头像**
|
||||
|
||||
接口地址: /user/avatar.PHP
|
||||
|
||||
方式和返回:POST JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| ---- | ---- | ------- |
|
||||
| file | File | 需要上传的文件 |
|
||||
|
||||
**更新头像url**
|
||||
|
||||
接口地址: /user/update_avatar.PHP
|
||||
|
||||
方式和返回:GET JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| -------- | ------ | ------------ |
|
||||
| username | string | 用户名 |
|
||||
| iconUrl | string | 头像地址 |
|
||||
| type | int | 类型1为自己, 2为孩子 |
|
||||
|
||||
### 5.2.2 信息系统
|
||||
|
||||
**异步获取主贴等信息**
|
||||
|
||||
接口地址: /info/info_main.PHP
|
||||
|
||||
方式和返回:GET JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| -------- | ---- | ------------------------ |
|
||||
| classid | int | 班级id,用于识别可见度 |
|
||||
| infotype | int | 信息类型 1公告2作业3动态 |
|
||||
| count | int | 信息起始数,默认一次获取10条,需要更改联系后台 |
|
||||
|
||||
**获取发布信息人的信息**
|
||||
|
||||
接口地址: /info/get_user.PHP
|
||||
|
||||
方式和返回:GET JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| -------- | ------ | ---- |
|
||||
| username | string | 用户名 |
|
||||
|
||||
**评论信息**
|
||||
|
||||
接口地址: /info/insert_comment.PHP
|
||||
|
||||
方式和返回:POST JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名称 | 类型 | 说明 |
|
||||
| -------- | ------ | ------ |
|
||||
| mainId | int | 主贴id |
|
||||
| username | string | 用户名 |
|
||||
| content | string | 评论内容 |
|
||||
| reply | string | 回复人用户名 |
|
||||
|
||||
**更新点赞信息**
|
||||
|
||||
接口地址: /info/praise.PHP
|
||||
|
||||
方式和返回:GET JSON
|
||||
|
||||
请求参数:
|
||||
|
||||
| 名 | 类型 | 说明 |
|
||||
| -------- | ------ | ---- |
|
||||
| mainId | int | 主贴id |
|
||||
| username | string | 用户名 |
|
||||
|
||||
## 5.3 时序图
|
||||
|
||||
### 5.3.1 登录时序图
|
||||
|
||||
该时序图是实现用例UC1用户的登录。
|
||||
|
||||
- 用户进入LoginActivity登录界面后按照提示输入账号名(必须为正确的手机号)和密码(不少于6位)
|
||||
|
||||
- 先采用StringUtil工具类对输入数据进行验证,再把LoginPresenter把输入的数据传递给网络交互类AppService,让其与服务器进行数据交互并返回给LoginPresenter,通过回调机制让View层显示相关信息,若是登录成功则正确跳转到应用主页面,否则显示相关错误信息
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/79882ffef9d2cfe7238acfdf8da0a13b.writebug)
|
||||
|
||||
### 5.3.2 发布时序图
|
||||
|
||||
该时序图是实现用例UC4发布信息。
|
||||
|
||||
- 用户进入发布页面,可以输入相关话题信息,也可上传附件(微视频和图片不共存)
|
||||
|
||||
- 如果上传附件,则调用压缩相关的工具类进行附件压缩,如果压缩失败,则显示相关错误信息
|
||||
|
||||
- 未输入信息无法点击发布,如果点击发布按钮,则让ReleasPresenter处理相关逻辑,并把发布话题的信息传递给AppService类做网络访问处理,服务器返回相关信息,采用回调机制让View显示出相关信息
|
||||
|
||||
- 如果发布成功,则返回到主页面,并发送广播提示主页面进行数据刷新
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/e3075b7e28c2b31fa70d2ca5d13d5596.writebug)
|
||||
|
||||
### 5.3.3 圈子信息时序图
|
||||
|
||||
该时序图是实现用例UC6查看信息详情。
|
||||
|
||||
- 用户在主页面可以看到话题相关信息(包括通知、作业、社区)
|
||||
|
||||
- 如果点击任何一条信息,则可以跳转到详情页面,可以查看到相关点赞信息和评论信息
|
||||
|
||||
- 点击评论可以对该条话题信息进行评论,点击评论人可对该用户进行回复
|
||||
|
||||
![](http://www.write-bug.com/myres/static/uploads/2021/10/19/f02379593c516587d95273f2ae0f0d65.writebug)
|
||||
|
||||
### 5.3.4 聊天时序图
|
||||
|
||||
该时序图是实现用例UC9聊天。
|
||||
|
||||
- 用户可以从会话页面或者联系人页面进入聊天页面ChatActivity
|
||||
|
||||
- 可以发送任何的文本消息,也可以点击下方“加号”按钮进行语音图片视频等文件的发送
|
||||
|
||||
- 可以直接调用音视频通话,向对方发起通话
|
||||
|
||||
- 任何的与服务器交互逻辑均交给EMClient类进行处理
|
||||
|
||||
- 被呼叫的用户可以选择拒绝音视频通话并把相关信息返回给EMClient类
|
||||
|
||||