基于微信平台的微识系统 后台访问需要通过 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 系统后台管理微信投票管理界面
背景简介: 曾听闻“七度人脉”原理,意思是说,只要方法正确,我们可以通过7个人找到地球上的任何一个人。有幸和TSY相识,与其说是通过几度人脉,我更愿意相信是缘分天注定。在我的人脉资源圈子里面,优秀的人很多,有想法的人也不少,不过大多数被介绍给我的前辈们,都会有比较统一的印记,而TSY唯独吸引我眼球的是他与生俱来的豪放气质,157分钟的相处,他独特的魅力让我深信不疑,这个耿直的聪明人,这个不乏务实能
天天微信平台 是免费、开源、支持二次开发扩展的微信发布平台,让你在微信开发中更专注于业务。支持多公众账号管理。 公众号接入步骤 将授权信息(URL、TOKEN,进入后台管理,在菜单“配置授权”中查看)配置到公众平台 从微信客户端向公众号发送验证码(系统生成,如:52731 ) 完成授权 开发环境: JDK1.6 + jetty1.7 + myeclipse(IntelliJ IDEA) 开发框架:
本文向大家介绍Java微信公众平台开发(1) 接入微信公众平台,包括了Java微信公众平台开发(1) 接入微信公众平台的使用技巧和注意事项,需要的朋友参考一下 前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我们开始聊聊如何将我们的服务端和微信公众平台对接! (一)接入流程解析 在我们的开发过程中无论如何最好的参考工具当
原文链接:Serverless 应用开发指南:基于 Serverless 与 Lambda 的微信公共平台 Serverless 在事件驱动方面具有天然的优势,其中之一就是聊天机器人。可要做聊天机器人不是一件容易的事,微信和 QQ 都只能用 Hack 的方式进行。 于是,便想到微信公众号是不是一个更好的选择。当用户输入一个关键词时,做出相应的回复。总体上来说,他们之间是差不多的。这个时候,就可以开
1. 申请应用 1.注册微信开放平台账号 https://open.weixin.qq.com/ (opens new window)。如果已有则忽略该步骤,直接进入第二步。 2. 申请开发者资质认证 这儿需要重点说明的是, 微信开放平台创建应用,需要申请开发者资质认证 如上图:账号中心->开发者资质认证 但是微信不支持个人开发者认证,必须要企业信息才能提交认证。 对于个人开发者来说,我们提供三种
本文向大家介绍php实现基于微信公众平台开发SDK(demo)扩展的方法,包括了php实现基于微信公众平台开发SDK(demo)扩展的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现基于微信公众平台开发SDK(demo)扩展的方法。分享给大家供大家参考。具体分析如下: 该扩展基于官方的微信公众平台SDK,这里只做了简单地封装,实现了一些基本的功能(如天气查询,翻译,自动聊天机
本文向大家介绍基于springboot微信公众号开发(微信自动回复),包括了基于springboot微信公众号开发(微信自动回复)的使用技巧和注意事项,需要的朋友参考一下 效果图 1.准备工作 申请微信订阅号(个人只能申请订阅号,而且没什么功能,也无法认证),申请完毕,点击 开发=>基本配置,如下图: 服务器配置需要有 域名 80端口,我猜你没有,这里推荐个实用工具,pagekite,下载链接,
本文向大家介绍PHP技术开发微信公众平台,包括了PHP技术开发微信公众平台的使用技巧和注意事项,需要的朋友参考一下 下面通过图文并茂的方式介绍微信公众平台开发过程,具体内容如下: 微信公众平台有两种模式:编辑模式 和 开发模式。 普通的功能可以通过编辑模式来搞定。开发模式具有更多的功能。让我们来使用开发模式开发helloword吧 步骤如下: 第一步:先注册一个公众号(https://mp.wei
本文向大家介绍node.js微信公众平台开发教程,包括了node.js微信公众平台开发教程的使用技巧和注意事项,需要的朋友参考一下 用nodejs怎样来实现对微信公众平台的开发呢? 别的就不多说了,先来简单介绍微信公众平台的基本原理。 微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器,然后将请求转发给自定义服务(这里就是我们的具体实现)。服务处理完毕