tsy - 基于微信平台的微识系统


AGPL
跨平台
Java

软件简介

tsy

项目介绍

基于微信平台的微识系统 后台访问需要通过 127.0.0.1:8080/tsy 来访问,不要使用 localhost:8080/tsy 访问

微识系统是一款和微信公众号结合起来的一款学习系统。该系统实现 PC 端和手机微信端的交互,由后台工作人员在 PC
端对资料操作以及微信公众号常用的功能,比如向用户推送资料,学习文档等。同时,具备投票、签到、网络考研、IT 以及学习等各方面资源的搜索功能。

软件架构

软件架构说明

该系统采用 MyEclipse 作为开发工具进行系统的开发。MyEclipse 是在 Eclipse
的基础上加上其他的插件开发构成的性能强大的企业级集成开发环境。MyEclipse 主要用于 Java、JavaEE 以及移动应用的开发。MyEclipse
拥有丰富的JavaEE 功能,并且支持 JavaEE 开发中可能用到的几乎所有语言。利用 MyEclipse 进行 JavaEE
开发、发布等方面可以极大的提高工作效率[7]。因此利用 MyEclipse 作为开发基于微信平台的微识系统的工具是完全可行的

参与贡献

根据分析的业务流程,得出该系统目前需要完成的具体功能,具体功能如下: (1) 微信端 ① 关键字回复功能
用户可以在微信公众号里查找自己想要的资源的类型,找到类型后,然后查找想要资源的关键字,找到后,将关键字回复到微信公众号中,即可收到微识官方回复的消息。 ②
智能聊天功能 用户可以将微信公众号视作一个“人”,然后和他聊天。 ③ 智能接口使用功能
用户可以使用微信公众号对外提供的城际公交查询,天气查询,影视查询等服务,只需要回复指定的格式即可。 ④ 投票功能
用户可以参与微识官方发起的投票,来表达出自己对微信公众号的建议。 ⑤ 网络资源搜索功能 用户可以在公众号里回复“搜索
java”这种格式的文字,即可获得想要的网络资源。 (2) 用户PC端 ① 下载附件功能 用户可以在PC端打开微识官网后,查看视频所带的附件,然后进行下载。
② 视频查看功能 用户可以在PC端打开微识官网后,使用搜索功能查看想要看的视频资源,然后进行观看即可。 ③ 网络资源搜索功能
用户在登录过后即可使用PC端自带的网络资源搜索功能,资源内容多种多样。 ④ 注册/登录功能
用户在使用PC端的一些功能时,需要登录才可以进行,因为还包含有注册和登录的功能。用户可以注册后,然后登录,从而使用全部功能。 (3) PC后台管理 ①
权限管理功能 管理员分为不同的身份权限,超级管理员可以对管理员进行菜单的分配和身份的变更操作。 ② 投票功能
管理员可以创建投票进行市场调研,并且可以查看投票结果。 ③ 图文消息功能 管理员可以创建图文消息,并发送给所有的用户。 ④ 关键字回复功能
管理员可以添加新的关键字,如果关键字存在,则需要更换关键字,并且可以控制关键字的上下线。 ⑤ 智能聊天功能 管理员可以控制智能聊天功能的状态。 ⑥ 文章功能
管理员可以创建新的文章进行发布,在创建新的文章前,需要判断文章所属的类型存在不存在,如果不存在则需要添加,如果存在则直接点击进去添加文章即可。

普通用户在微信端可以进行查看关键字,投票,签到,网络资源搜索,智能聊天,关键字回复,智能接口搜索等操作,在PC端可以进行下载附件,发表留言,发表评论等操作。关键字部分包含有官方准备好的一些资源,用户可以在关键字里查找,如果找不到或者不合适,用户可以使用搜索功能,格式为:“搜索
java”,不过微信端智能返回十条数据,想要查看更多数据,用户可以登录PC端注册账号,然后登录进行网络资源搜索。用户功能结构图如图2-1所示。

管理员登录后台管理系统后,可以针对投票,公告,文章,视频,关键字,图文消息,微信公众号关注用户和用户在微信端发送的消息进行一些列操作。管理员同时也分为不同的管理员身份,分别拥有着不同的操作权限。管理员功能结构图如图2-2所示。

本阶段的目的是分析出设计软件的结构和系统的功能,以了解系统是怎样实现问题的。根据分析结果决定系统分为哪些功能模块,每个功能模块实现什么样的功能,由此对系统进行总体的设计。系统设计的主要目的是系统能实现所要求的功能。系统设计主要有两个阶段组成:系统设计和结构设计。系统设计是确定实现系统的具体方案,结构设计是确定系统的结构。
模块分解设计是结构化设计的核心内容。先设计系统的总体结构,再对系统的总体进行分解,分解为多个功能明确、独立而且容易实现的模块。通过模块分解将把一个复杂的系统设计转化为多个简单的模块设计,这是自上而下、逐层分解的设计思想。
基于微信平台的微识系统也称作为学习系统,主要分为微信端,PC端,PC端后台管理三大模块,经过详细的划分,三大模块主要包含以下功能: 1)微信端
资源关键字查看:用户关注微信公众号后可以进行自己想要的资源的关键字的查看; 投票操作:用户可以参与微识系统官方发起的投票;
签到操作:用户可以进行每天的签到活动,方便管理员进行忠实用户粉丝的选择; 网络资源搜索:用户可以通过关键字进行网络资源搜索来获取自己想要的视频学习资源;
微识官方文章查看:用户可以阅读和搜索微识官方发布的文章; 智能聊天:用户可以和微识官方发起的机器人进行聊天;
天气搜索:用户可以随时随地进行某个城市的天气状况的查看; 公交车搜索:用户可以查看某个城市的公交车运营状况; 影视搜索:用户可以查看最新的影视信息。
2)PC端 登录/注册:用户可以进行自己的账号的登录和注册; 微识官方文章查看:用户可以阅读和搜索微识官方发布的文章;
微识官方视频查看:用户可以欣赏微识官方推出的视频资料; 网络资源搜索:用户可以通过关键字进行网络资源搜索来获取自己想要的视频学习资源;
发表评价:用户可以对文章进行文章评价; 发表留言:用户可以进行留言方便微识官方进行改进; 下载附件:用户可以下载视频资源所携带的附件资源。
3)PC端后台管理 文章管理:管理员可以添加,修改,查看和删除文章; 视频管理:管理员可以添加,修改,查看,删除和审核视频内容;
关键字:管理员可以关键字的添加,上下线等操作; 图文消息:管理员可以创建图文信息,并进行发布; 公告管理:管理员可以操作公告的一系列信息,并进行上下线操作;
微信用户管理:管理员可以对微信公众号关注的用户进行冻结和解冻操作; 微信信息查看:管理员可以查看微信公众号关注的用户发来的消息。

src文件夹:放置的是实现系统业务逻辑的Java代码; com.ssm.interceptor存放的是拦截器,负责拦截ajax请求并作出处理;
com.ssm.tsy.bean存放的是本地数据库对象实体类; com.ssm.tsy.bean.wechat存放的是微信消息对象实体类;
com.ssm.tsy.beanmapper存放的是SQL文件,即数据库执行语句;
com.ssm.tsy.controller存放的是控制类,负责和页面的交互;
com.ssm.tsy.dao存放的是SQL接口,和SQL文件你的执行语句ID同名;
com.ssm.tsy.manager存放的是Manager,Https协议通过X509TrustManager实现接口自身创建的证书;
com.ssm.tsy.object存放的是流数据处理类,负责数据的接收和处理; com.ssm.tsy.service存放的是服务类接口;
com.ssm.tsy.service.impl存放的是服务类实现类; com.ssm.tsy.util存放的是一些时间,判断,转换等的工具类;
com.ssm.util存放的是框架用到的一些工具类,比如说过滤器,异常处理机制等; com.wechat.service存放的是微信端用到的一些接口调用。
jdbc.properties:连接数据库的相关配置,包括数据库驱动、连接数据库的帐号和密码、数据库的连接地址、数据库的初始连接数和最大、最小连接数以及最大的活动数;
log4j.properties:系统的日志配置文件; spring-mvc.xml:系统文件的后缀配置信息;
web.xml:是系统的部署配置文件,里面定义加载的配置文件和一系列相关的过滤器并且定制初始化参数等; spring-
mybatis.xml:系统数据库的后台配置信息; spring.xml:系统业务处理的配置信息。

(1) 实现微信接口 因为此系统是基于微信公众号开发的系统[8],所以需要实现微信端的接口配置。如图4-21所示。

图4-21 系统微信端配置信息

然后在后台管理系统配置微信公众号信息,如图4-22所示。

图4-22 后台管理系统配置信息

(2) 自定义菜单 在PC端后台管理实现自定义菜单,然后通过微信接口发布,如图4-23所示。

图4-23 后台管理系统自定义菜单

(3) 爬虫 利用所学知识实现网络百度云爬虫技术,分享免费资源给所有用户[16],如图4-24所示。


图4-24 后台管理系统爬虫

(4) 图文消息 在本地实现图文消息管理,然后通过微信接口实现发送给所有用户,如图4-25所示。

图4-25 后台管理系统图文消息

按钮设计如图5-1所示。微信端知识界面,如图5-2所示。


图5-1 微信端按钮设计图 5-2 微信端知识界面设计

微信端知识搜索界面,如图5-3所示。微信端关于界面,如图5-4所示。


图5-3 微信端知识搜索界面设计 5-4 微信端系统详情介绍界面设计

微信端内容查看界面,如图5-5所示。微信端投票界面,如图5-6所示。


图5-5 微信端内容查看界面设计 5-6 微信端用户参与投票界面设计

首页门户如图5-7所示。

图5-7 PC端首页设计

图5-8是文章界面,用户可以点击菜单,跳转到文章展示界面,如果该内容已上线,会出现如图5-8的界面,如果该内容没有上线,会出现如图5-9的界面,用户可以浏览文章并进行评价和评价回复,并查看所有的用户的评价,评价时,用户可以选择此文章的星数。针对同一篇文章,如果已经选择过星数,则不能再评价星数。

图5-8 PC端已上线文章界面

图5-9 PC端未上线文章界面

评价界面如图5-10,用户将页面滚动到最下方即可看到。

图5-11是所有的视频界面,用户可以在这看到官方发布的所有视频,点击进去后,会进入播放界面进行播放,并且还可以下载附件和浏览和该视频相关的视频,也可以点击播放。

图5-11 PC端官方上线视频界面

图5-12 PC端官方上线视频播放界面

图5-13 PC端官方上线视频播放界面

图5-14 PC端官方上线视频附件下载界面

PC端用户可以使用搜索功能搜索微识官方的知识材料,如图5-15所示。

图5-15 PC端微识官方知识搜索界面界面

PC端用户可以使用搜索功能搜索网络知识的百度云链接[15],不过,需要用户登录才可以进行搜索,如果没有账号的用户,可以通过注册来获得账号。网络知识搜索如图5-16所示。

图5-16 PC端微识官方知识搜索界面界面

用户可以查看自己的信息,如图5-17所示。

图5-17 PC端个人信息界面

登录注册界面,如图5-18所示。

图5-18 PC端用户登录注册界面

权限管理
管理员登录之后,如果是超级管理员,则具备分配权限的功能,管理员点击右上角列表权限,进入权限菜单页面,管理员可以在这个页面根据菜单级别和菜单名称进行模糊查询。如图5-19所示。
待上传 图5-19 系统后台管理权限管理 (2) 添加权限菜单
管理员可以通过点击添加菜单按钮进入添加页面,然后选择添加的是一级菜单还是二级菜单,默认的是一级菜单。如果选择二级菜单,则需要添加链接,并指明所属一级菜单是哪个。如图5-20所示。
待上传 图5-20 系统后台管理权限菜单添加界面 (3) 权限分配
管理员可以点击分配权限进去权限菜单分配界面,如图5-21所示。管理员可以在这个界面对用户进行菜单分配。 待上传 图5-21
系统后台管理权限菜单分配界面 (4) 自定义菜单
管理员可以在自定义菜单项中对微信公众号的菜单进行编辑和发布,如图5-22所示。用户在左侧手机部分进行要编辑的菜单选择,然后在右侧会显示出菜单目前的信息,然后进行编辑,编辑完成后,管理员需要进行发布操作。发布完成之后,用户即可在微信端看到效果。

图5-22 系统后台管理自定义菜单界面

(5) 微信用户管理 管理员可以点击微信用户管理查看微信公众号关注的情况,并进行冻结操作。如图5-23所示。

图5-23 系统后台管理微信用户管理界面

(6) 微信投票管理
管理员可以点击投票管理查看投票的信息,如图5-24所示。管理员可以在这个界面查看此次投票中每道题的投票情况。并且点击新建投票可以重新创建投票,如果之前有正在编辑并且没有保存的投票,系统会提示是否编辑这次投票,否则则直接跳转到新添投票界面。

图5-24 系统后台管理微信投票管理界面