计算机系统应用  2018, Vol. 27 Issue (3): 57-63   PDF    
基于微信企业号的干部学习平台
陈乾国     
重庆工商大学 重庆干部教育研究中心, 重庆 400067
摘要:针对干部在线教育信息化水平偏低和已有APP客户端干部学习平台使用效率低的现状, 设计并实现了一种基于微信企业号的干部学习平台, 并以重庆干部网络学院官方微信学习平台为例, 对平台的可行性进行了验证. 该平台应用微信企业号提供的接口实现了与PC平台、APP客户端的数据对接与同步, 采用PHP、HTML5、JSON等Web开发技术实现了个人中心、每日一课、电子书等功能. 干部可以在社交网络环境中, 通过信息交互完成在线学习并获取资讯与服务. 为广大干部学习者提供了一种新的学习途径, 提升了干部使用的便捷性, 有效提高了学习效率.
关键词: 微信企业号    干部    移动学习    PHP    
Cadre Learning Platform Based on WeChat Enterprise Account Number
CHEN Qian-Guo     
Education Research Center for Chongqing Carder, Chongqing Technology and Business University, Chongqing 400067, China
Abstract: In view of the low level of the present cardres online education information and the low efficiency of the APP client cardres learning platform, a mobile learning platform based on WeChat enterprise account number is designed and implemented. In this study, taking the WeChat learning platform of the Chongqing E-Learning Academy Leadership as an example, the feasibility of the platform is verified. By implementing WeChat enterprise account number open API and connecting with the PC platform and the APP client, and applying the PHP, HTML5 and JSON, and other Web development technology, this study designs and implements the daily lesson, personal center and E-book, and other function for cadres’ learning platform. Cadres can conveniently use the learning platform’s services and resources to accomplish the learning task via command interaction in the social network environment. It provides a new way for the majority of cadres to learn, and effectively improves the convenience, and the efficiency of the cadres’ E-Learning.
Key words: WeChat enterprise     cadres     mobile learning     PHP    

1 引言

随着移动互联网的迅速发展, 以微信为代表的即时通信工具逐渐被人们认可和使用, 已经成为一种重要的移动互联网入口. 2012年8月17日, 腾讯推出了微信公众平台, 为个人和企业带来了一个新的机会[1]. 微信公众号成为微信的主要服务之一, 近八成的微信用户关注了公众账号. 并且企业和媒体的公众账号是用户的主要关注对象, 占比达到了73.4%. 用户关注微信公众号的主要目的是为了获取资讯、方便生活和学习知识[2]. 腾讯于2014年9月推出了针对企业进行内部管理的微信企业号平台, 该平台只针对特定群体开放, 通过丰富的接口企业可以进行自主开发或与第三方应用对接.

智能手机的普及与即时通讯工具的快速发展, 使得利用碎片化时间的移动学习作为一种在线教育方式也得到迅速发展. 党政领导干部作为一种特殊的学习群体, 工学矛盾突出, 很多干部开始在学习工具选择中, 倾向于选择一些简单易用的公众号或自媒体来学习和获取知识. 截止2017年3月1日, 重庆干部网络学院注册学员人数为149227人, 安装移动APP的用户才6222人, 仅占注册人数的4.2%. 分析其原因, 主要有以下3方面: 1) 移动APP学习平台需要用户下载安装才能使用, 而目前部分领导干部年龄偏大, 信息化素养不高, 无法完成移动APP的下载、安装、更新等操作. 2) 移动APP不能稳定兼容各种型号的手机, 使用过程中会出现突然死机、闪退等现象. 3) 移动APP运行会占用手机内存, 造成手机使用不畅, 影响用户体验.

腾讯自2014年推出微信企业号后, 为在线学习平台的建设提供了新的思路. 但目前, 利用微信进行移动学习平台的研究还处于一种“试水”的状态, 多数教育类平台只是将微信作为一个交流工具或信息发布平台, 缺少人与人、人与平台间的互动[3]. 因此尝试设计基于微信的干部学习平台来解决上述问题, 本文采用PHP、HTML5、JSON等Web开发技术, 设计并实现了一种基于微信企业号的干部学习平台, 该平台实现了个人中心、每日一课、电子书、实时资讯等功能模块, 实现了与现有PC学习平台、移动APP学习端的对接与数据同步, 为干部提供了新的学习途径. PC学习平台、移动APP学习端与微信公众学习平台有效结合, 形成三位一体式的学习模式, 有效扩展了在线学习渠道, 提升干部的学习体验.

2 系统分析及关键技术 2.1 系统分析

基于微信企业号的干部在线学习平台继承了PC端和APP客户端的部分功能, 同时又有所扩展与补充, 扩充了干部获取资讯的渠道与在线学习的途径. 本系统在现有PC平台和APP客户端的基础上, 结合微信企业号的特点, 对现有网络学习资源进行甄选、转码和整合, 然后同步发送至微信学习平台; 同时抽取部分形式短小但内容精致的学习资源推送至微信学习平台. 通过此种方式, 既充分利用了现有PC和APP端的学习资源, 又与PC与APP端的资源有所区别, 具有显明的特色, 为学员提供了多样化和差异化的学习选择.

本系统利用微信开发者模式提供的接口, 实现与PC平台绑定, 系统可自动完成学员身份的验证, 将学员在PC平台与微信公众平台中的身份对应起来, 形成一个整体的在线学习空间. 学员关注并绑定此微信企业号后就可以在此平台上获得资讯、进行在线学习等, 学员学习所获学分通过接口与PC端进行同步.

2.2 关键技术 2.2.1 微信企业号

微信企业号是微信为企业客户提供的移动应用入口, 它帮助企业建立员工卡、上下游供应链与企业IT系统间的连接. 利用企业号, 企业或第三方合作伙伴可以帮助企业快速、低成本的实现高质量的移动轻应用, 实现生产、管理、协作、运营的移动化. 用户通过微信企业号提供的开发接口, 建立本企业应用与企业号之间的连接, 从而实现内容丰富且具有个性化的企业移动应用[4]. 微信企业号作为移动应用的入口, 具有以下特点[5]: 广泛并有效的连接; 开放且有利的平台; 让信息传递随时随地; 可靠的安全保障; 丰富的功能体验.

2.2.2 PHP开发技术

PHP语言是一种在服务器端执行的内嵌式语言, 还可以执行编译后的代码, 具有非常强大的功能, 支持几乎所有流行的操作系统与数据库[6]. PHP与主流开发技术相比, 有以下优点[7,8]: 嵌入在HTML页面中, 开发速度快, 运行快, 执行效率高; PHP开放开源, 跨平台性强; PHP消耗相当少的系统资源; 具有丰富的函数接口, 易进行语言扩展; 可以用C、C++进行程序扩展; PHP是在Web端运行的脚本语言, 具有很高的安全性.

2.2.3 HTML5

HTML5是2012年发布的下一代超文本标记语言, 在HTML的功能特性上加入了一些新特性, 不仅仅用来表示Web网页内容, 它能支持语义化标签、视频、音频、图像、动画、离线存储和多线程处理等[9,10].

HTML5音频/视频等多媒体对象不再绑定在object或embed Tag上, 而音频/视频均有自己的Tag标签. 这一功能应用在干部学习平台中, HTML5丰富的标签为微信学习平台的人机交互界面带来炫丽的画面, 其控制标签还可以为终端应用提供动画视频播放[11].

3 系统设计 3.1 系统框架设计

本系统主要是借助微信企业号提供的开发接口与已有PC端学习平台提供的Web Service接口设计完成的, 系统框架设计是分别部署Web服务器与数据库服务器, 将2台H3C 5100网络交换机配置为双机热备, 为系统相关设备提供冗余的网络链接. 用户发送的指令可直接送达微信服务器或Web服务器, 微信服务器接收到用户指令后将处理请求通过接口形式送至Web服务器, Web服务器再将处理结果返回给微信服器. 系统整体的框架拓扑如图1所示.

图 1 系统架构拓扑图

3.2 系统架构设计

基于企业号的微信学习平台提供与用户进行信息交互等功能, 实现与已有的PC平台进行数据同步与对接, 为学员提供便捷的服务功能.

本系统采用B/S结构的软件体系, 服务器采用Windows Server 2008 R2系统、PHPDesigner 7开发环境、Mysql 5.1 数据库平台和Apache 2.2服务器建设部署. 系统是基于表现层、业务逻辑层和数据访问层三层架构搭建, 数据层位于系统架构的最底层, 直接对数据库进行增、删、改、查操作, 并把结果返回给业务逻辑层; 业务逻辑层主要处理逻辑判断类及对各类接口方法进行发布与管理, 同时对数据层进行调用; 表现层为微信企业号人机交互界面, 作为数据输入与输出后的展示. 系统架构图如图2所示.

3.3 系统功能设计

微信企业号通过应用的形式将功能模块提供给用户, 每个功能模块都是一个独立的应用. 因此, 根据干部学习平台的需求, 基于微信企业号的干部学习平台功能模块初步规划为以下9个模块, 加登录验证模块, 系统总计10个模块, 包括: 登录验证模块、时实资讯模块、个人中心模块、每日一课模块、电子书模块、凤凰大视野模块、世纪大讲堂模块、干部大讲堂模块、专题片模块及在线服务模块. 其整体功能架构图如图3所示.

图 2 系统技术架构图

图 3 系统整体模块架构图

1) 登录验证模块: 该模块功能较为简单, 主要提供用户认证功能, 用户需要输入PC平台注册账号、姓名进行验证, 只有通过验证的用户才能登录系统使用其他功能.

2) 时实资讯模块: 每日推送国家、各部委、市委重大决策部署及社会热点资讯, 资讯以列表的形式呈现, 点击某一条资讯就会进入资讯详情页面, 用户对感兴趣的资讯可以点赞.

3) 个人中心模块: 学员首先要与已有PC平台进行账号关联绑定后, 才能在个人中心查看所有学习信息, 包括: 个人身份信息、已获学分、必修学分、选修学分等相关信息; 方便学员实时查看自己的学分情况.

4) 每日一课模块: 该功能模块每个工作日会定时上传一部学习视频, 所有视频以列表形式呈现, 但仅保留五天的课程. 学员点击某一课程后就可进行视频课程学习, 如果是第一次学习该课程, 则学完后可以获得学分, 若非第一次学习该课程, 则只能学习不计学分.

5) 电子书模块: 该模块主要为学员提供在线阅读的功能, 所有电子书以列表形式呈现, 学员点击某一书名, 系统会自动判断学员当前使用的移动终端为Android操作系统或是IOS操作系统, 根据不同的操作系统进入相应的书箱阅读界面.

6) 凤凰大视野、世纪大讲堂、干部大讲堂及专题片模块: 这四个功能模块功能基本一致, 为学员提供观看视频资讯的功能, 所有视频节目以列表列式呈现, 学员点击列表中的某一节目后, 即可进入播放页面, 此类视频节目不计学分, 仅作为补充学习资源供学员学习.

7) 在线服务模块: 该模块主要提供在线咨询服务及客服在线答疑服务功能, 为学员解答学习过程遇到的技术问题及政策性问题.

3.4 系统数据库设计

数据库设计是根据系统自身的业务逻辑, 构造最优的数据库模式, 建立数据库和数据表, 能够有效存储数据, 满足系统所有的功能需求[5,12]. 分析本系统各功能模块之间的相互关系和数据信息, 设计数据库表, 总计有10张表, 各数据库表的详细描述如表1所示.

表 1 数据库描述表

4 系统实现 4.1 微信与干部网络学院用户的实名认证

(1) 初步验证: 首先将PC端的学员信息按组织架构导出, 将导出的数据处理成微信企业号后台要求的标准格式, 字段包括: 学员账号、姓名、身份证号、手机号码、邮箱、部门、职务、职级. 学员关注后, 按要求提交验证信息, 如果学员信息已经导入微信企业号后台, 则通过验证, 关注成功; 如果学员信息尚未导入微信企业号后台, 则验证失败, 需要学员与管理员联系, 确认身份后, 按要求将相关信息导入, 并通过验证, 若不是干部网络学院注册用户则无法通过验证. 其流程图如图4所示.

图 4 初步验证流程图

(2) 二次验证绑定: 通过初步验证的学员在个人中心模块中输入PC端注册账号, 与PC平台进行账号绑定, 如果输入账号正确, 则绑定成功, 从而实现学习数据与学习信息同步; 如果账号不正确或账号尚未在PC端注册, 则绑定失败. 其流程图如图5所示.

图 5 二次验证绑定流程图

二次验证绑定是对微信企业号的二次开发, 采用POST请求方式, 数据为JSON格式. POST请求所需参数及获取学员信息参数如表2所示.

表 2 微信二次绑定获取参数

JONS作为轻量级的数据交换格式, 广泛的应用于移动设备, 本平台二次绑定及获取学员信息JSON数据交换格式例子如下:

{

 data“:[{

  “IdCard”: “50011319911514586*”,

  “UserName”: “张三”,

  “ShouldCredits”: “70”,

  “CompletedCredit”: “50”,

  “CreditRanking”: “150”,

  “ElementaryCredits”: “20”,

  “CompulsoryCredits”: “20”,

  “WeixinCredits”: “10”

 }]

}

4.2 每日一课功能模块的实现

学员通过微信学习平台请求学习每日一课, 微信学习平台将学员信息发送给应用服务器, 应用服务器对用户身份进行验证, 将结果返回给微信服务器. 若解析结果为true, 则验证通过, 学员已绑定账号, 可以正常学习每日一课, 若为false, 则转向用户二次绑定页面. 当用户通过上述验证后, 点击课程学习时将学习请求发送给应用服务器, 应用服务器对所学课程进行判断, 并将判断结果返回给微信服务器, 若解析结果为true, 则学员为第一次学习该课程, 在学分完成后可以获得学分; 若为解析结果为false, 则学员不是第一次学习该课程, 在学习完成后, 不再加学分. 其流程图如图6所示.

增加学分所需参数如表3所示.

图 6 每日一课功能流程图

表 3 每日一课验证参数

4.3 电子书功能模块的实现

学员通过微信客户端请求查阅电子书, 客户端将设备信息发给应用服务器, 应用服务器接收到客户端的请求后, 验证客户设备操作系统类型, 根据不同的操作系统(IOS或Android)分别进入不同的阅读页面. 其流程图如图7所示.

图 7 电子模块功能流程图

开发者通过分析浏览器的userAgent属性来判断设备操作系统类型, 其关键代码如下:

<?php

$agent=strtolower($_SERVER[‘HTTP_USER_AGENT’);

$type = ‘other’;

if(strpos($agent, ‘iphone’) || strpos($agent, ‘ipad’))

{//IOS设备

 header(“Location:readebookios.php?ID=”.$id);

 exit;

}

if(strpos($agent, ‘android’))

{//Android设备

 include(‘databind.php’);

 $array=GetEbookByID($id);

 $src=“./Ebook/ebook/Android/”.$array[“bookaddress”];

 header(“Location:$src”);

 exit;

}

?>

4.4 视频节目功能模块的实现

学员关注并通过身份验证后, 在功能栏目中会显示所有视频节目列表, 包括: 世纪大讲堂、凤凰大视野、干部大讲堂及专题片. 点击某一视频栏目进入相应的详细视频节目列表, 在此列表页面中点击想要观看的视频即可进行观看, 播放功能直接使用HTML5所提供的视频插放标签实现. 其流程图如图8所示.

4.5 实时资讯及在线服务功能模块的实现

实时资讯与在线服务功能模块无需二次开发, 实时资讯模块直接调用微信企业号发消息功能, 通过企业号可以主动发送消息给所有关注学员, 调用接口使用Https协议、JSON数据包格式, 且数据包不做加密处理, 支持文本、图片、语音、视频、图文等消息类型[13].

在线服务功能模块直接调用微信企业号客服服务的内部客服功能, 学员关注成后, 可以向客服人员发起问题咨询, 学员是在应用中发送和接收消息, 而客服人员是在企业会话中接收和发送消息. 在线服务功能模块下设三个菜单栏目: 微信学习、PC学习和APP学习, 分类对三种不同学习方式常见问题进行整理, 并对三种不同的学习方式所产生的疑难进行解答.

图 8 视频节目功能流程图

5 实现结果

基于微信企业号的干部在线学习平台充分应用微信企业号提供的接口, 实现微信服务器与应用服务器的对接与数据交互. 目前, 该平台已经正式上线运行, 其实现效果如图9所示.

经过测试及上线运行3个月后, 截止2017年3月16日关注用户已达20000人, 运行效果良好, 与PC端、APP客户端有效结合, 形成三位一体的学习模式. 微信企业号学习平台课程以5至10分钟的微课为主, 干部可以利用业余碎片化时间进行学习, 提高了干部在线学习的效率与便捷性, 访问速度和响应速度快.

6 结语

本文通过研究与分析微信企业号平台在干部在线教育中应用的可行性, 并应用PHP、HTML5、JSON等Web开发技术, 设计并实现了基于微信企业号的干部在线学习平台. 基于微信企业号的在线学习平台开发成本低, 技术门槛低, 而且可以应用企业号所提供的丰富的接口, 与已有的PC端平台和APP移动端平台进行数据对接与同步, 来实现全方位的学习与管理功能. “重庆干部网络学院”微信企业号自2016年12月上线以来, 截止2017年3月16日, 累积关注人数已超过20000人, 累计学习次数205308次, 在干部在线学习活动中发挥了积极的作用.

图 9 系统实现效果图

微信企业号虽然功能强大, 但仍有一些不太完善的地方. 首先, 微信企业号后台导入人员数量初次不能超过10万, 如果一个企业或单位人员超过10万就无法导入, 亦无法完成关注验证; 其次, 微信企业号后台人员库没有提供开放接口, 通过微信企业号后台导入的人员信息无法与现有第三方平台人员信息进行同步, 如发生信息变更, 需要人工完成; 最后, 微信版本更新频繁, 需要专门的技术人员根据版本更新造成的问题进行维护与开发.

参考文献
[1]
武志军. 马化腾: 微信是这样炼成的. http://news.hexun.com/2014-01-06/161192438.html. [2014-01-06].
[2]
腾讯. 2016年微信用户数据报告. http://www.sohu.com/a/122852866_466941. [2016-12-28].
[3]
张晓兰, 陈奋. 基于微信公众号的移动学习平台建设. 通化师范学院学报(自然科学), 2016, 37(4): 5-7.
[4]
腾讯. 微信推出企业号 今起对外公测. http://tech.qq.com/a/20140918/074135.htm. [2014-09-18].
[5]
郭敏智. 基于微信企业号的移动办公系统的设计与实现[硕士学位论文]. 北京: 北京交通大学, 2015.
[6]
Suzumura T, Trent S, Tatsubori M, et al. Performance comparison of Web service engines in PHP, Java and C. Proceedings of 2008 IEEE International Conference on Web Services. Beijing, China. 2008. 385–392.
[7]
刘海岩, 梅健. 基于PHP的网上办公系统实现与安全设计. 计算机工程, 2004, 30(2): 187-189.
[8]
杨生举, 赵昕晖. 基于PHP+XML的人才信息管理系统实现与安全设计. 计算机应用与软件, 2012, 29(2): 221-223, 257.
[9]
刘华星, 杨庚. HTML5——下一代Web开发标准研究. 计算机技术与发展, 2011, 21(8): 54-58, 62.
[10]
Anthes G. HTML5 leads a web revolution. Communications of the ACM, 2012, 55(7): 16-17. DOI:10.1145/2209249
[11]
邱炳发, 马燕. 基于微信的研究生信息服务系统的设计与实现. 计算机技术与发展, 2016, 26(1): 190-194.
[12]
华艳. 大型数据库设计方法的研究. 电脑知识与技术, 2011, 7(26): 6321-6323. DOI:10.3969/j.issn.1009-3044.2011.26.001
[13]
腾讯. 微信JS-SDK说明文档. http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5. [2016-08-25].