标题 | 基于Android平台的校园资讯手机APP设计与开发 |
范文 | 张现 田继宏 摘要:针对公司每年举办的多种评比活动,响应降本增效与规范化管理的发展理念,基于公司的企业微信平台入口,形成一套适应公司各种类型评比活动的数字化评分系统研发解决方案。活动评委可通过手机、平板电脑等移动终端以企业微信为入口,在工作台中进入相应的评比活动应用中来完成评分工作,系统针对评委的评分数据自动计算分数,通过报表的形式实时生成评分结果,完成名次排序,确保评分工作的有效性、公平性。 关键词:企业微信;数字化;评分系统 中图分类号: TP311? ? ? ? 文献标识码:A 文章编号:1009-3044(2019)21-0109-02 开放科学(资源服务)标识码(OSID): 公司每年都会开展多种评比活动,如课题年终检查、青年技术交流、团支部评比、各专业年会等活动,其中大部分活动为现场活动,每次都需要制作评分表进行现场评分,浪费了大量纸张,同时分数统计工作不但耗费许多人力资源,而且评分数据人工校对也容易出现错误,影响活动的公平性与有效性。为使评比活动更加符合公司降本增效的发展理念,需要研发数字化评分系统,一个能让评委在各类评比活动中便捷、高效完成评分工作的平台[1]。 随着移动互联的迅速发展,智能手机、平板电脑已成为人们日常必备的移动设备,公司的现场评比活动利用评委手中的移动设备进行评分是较为理想的操作方式,而企业微信作为公司的日常移动应用APP可以便捷地为该评分系统提供平台入口,部署各类移动评分应用,并且使系统能够轻松地获取评委信息,免去了登录操作。 1研究内容与思路 此系统的主要研究目标是使用户能够不受地域限制,在任意场合通过智能手机等移动终端,基于企业微信APP进入系统应用,通过点选、滑动数字等操作,对各个分数项进行分数选择并提交分数,系统根据相应算法计算总分,生成报表展示所有总分排序,最终完成评分工作。设计思路如下: 1)开发三套分数项评分模版,针对单一分数项评分;针对多个分数项评分;针对多个分数项中的小分子项评分三种方式,能够覆盖公司绝大部分的评比活动类型。 2)因评分环境的不确定性,存在无法连接公司内网WIFI的情况,需要开发互联网应用,在公司外网服务器上部署前端应用,用户使用手机4G网络进行访问。 3)使用微服务架构进行服务端开发,针对不同评比活动开发各自的业务处理服务,通过JSON数据格式与前端进行数据交互,开发数据服务接口,部署在内网服务器。 4)数据库不做过多的个性化设计,能够覆盖大部分评比活动类型,对评分数据进行统一管理。 5)利用报表工具进行报表的个性化定制,针对不同的评比活动分别单独定制,自动计算平均分和排列名次,通过HTTP访问。 2设计与实现 系统基于企业微信进行应用部署,通过企业微信服务接口获取用户访问数据,前端界面基于H5技术开发,前端业务逻辑使用C#语言开发,服务端基于JAVA语言开发,使用微服务框架进行服务的设计与管理,采用HTTP协议进行通信,数据库使用SQLServer 2008,使用润乾报表工具进行统计报表的设计与开发。 2.1企业微信服务接口 开发基于企业微信的系统登录模块,通过调用https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET接口获取企业微信登录凭证,用于鉴权调用者身份,该凭证有7200秒的有效期,利用Memcache缓存技术将凭证进行本地缓存,防止重复获取触发企业微信防恶意访问保护机制。 通过调用https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect接口實现页面跳转到评分系统应用中,同时获得code参数。 通过调用https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE接口可根据code参数获取用户的userid,进而完成系统登陆操作。 2.2基于JqueryMobile框架的前端UI开发 JqueryMobile框架是针对触屏智能手机与平板电脑的网页开发框架,工作于所有主流的智能手机和平板电脑,构建于jQuery以及jQuery UI类库之上,使用了极少的HTML5、CSS3、JavaScript和AJAX 脚本代码来完成页面的布局渲染,解决了不同设备不同系统的兼容问题,因为它只使用所有移动网络浏览器的标准,操作简单及灵活[2]。 针对评比活动的具体需求,开发了评分列表页面、评分页面、分数范围控制、总分计算、小数点精度控制、表单提交验证、提交结果提醒、分数展示等,同时,开发了三套分数项评分模版,可兼容只需一个总分的情况、有多个分数项计算总分的情况、有多个分数项下的小分子项计算总分的情况,针对不同的评分需求进行页面的快速定制,分数的选取使用了range滑动条,没有select这种弹出式选择框,不但使用户在评分过程中更容易的选择相应的分数,而且缺少了弹出式的交互界面使页面运行更加流畅。JqueryMobile框架中精致样式渲染,以及触发事件时的动画效果,提高了用户UI的美观度。 2.3基于Jersey框架的微服务应用 Jersey框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现,提供了更多的特性和工具,可以进一步地简化 RESTful service和client 开发。Jersey可以很好地支持HTTP动词,形成完整的REST风格。使用Annotation机制,所有HTTP相关的参数设置都通过注解实现,在程序设计时针对的仍然是POJO对象[3]。 在Jersey框架下,开发资源加载器APIApplication.java和各类服务接口: checkUser接口:根据loginname参数判断是登录用户否为合法用户。 getList接口:实现对评比活动业务信息的查询,展示所有被评分选手列表,计算每个选手的总分; getOneList接口:实现对评比活动业务信息的查询(单一分数项),展示所有被评分选手列表。 getData接口:展示某个被评分选手的打分明细数据。 postForm接口:更新/提交评分分数。 将各类服务写入资源加载器中进行加载,并将微服务应用部署在Apache-Tomcat8.0容器中,外网服务器的前端应用通过HTTP動词与各类微服务接口进行JSON通信,实现前后端数据交互。Jersey框架的引入使服务的开发部署变得十分简单,开发人员不用考虑服务的加载、对象和JSON格式的转换等步骤,只需要关注业务的逻辑处理工作;同时,服务的管理也变得简单便捷,对代码进行维护无须重启服务应用,即可完成逻辑替换。 2.4 润乾报表开发 润乾报表是国内的一个企业级报表工具,提供了高效的报表设计方案、强大的报表展现能力、灵活的部署机制,擅长应对各种复杂报表,通过报表设计器与SQL数据源进行绑定,能够快速生成Excel、PDF等多种文件类型的报表,为公司提供高性能、高效率的报表系统解决方案。 针对公司的各类评比活动,分别开发各自的分数统计报表,在报表设计器中编写SQL语句,对评委和选手进行分组,获取每个选手对应所有评委的各自分数,利用报表中的函数在每行末尾计算出平均分,根据业务需求设置是否去掉最高分和最低分,同时标注最高分和最低分,保留小数,并自动根据平均分进行升序或降序排名,使评分工作人员通过浏览器即可直观地获得评分结果。同时,报表提供多种文件类型的报表生成功能,评分工作人员可生成Excel等类型的文件对结果进行进一步筛选和处理。 3总结 本文完成了基于企业微信的数字化评分系统研发与应用,并广泛应用于公司的各类评比活动中,从应用效果来看,该系统节约了活动主办部门工作人员的大量工作,活动开始前,不用再准备大量打分表;活动进行中,也省去了收取打分表、分数校对、总分计算、排列名次等一系列工作,节约了人力资源,提高了组织效率,节省了纸张成本,奖励发放更公平、准确,活动也更加具有科技含量,实现了公司评比活动的数字化、规范化管理。 参考文献: [1] 刘冶,李娟,白兰,等.基于Android平台的评委打分系统设计与实现[J].福建电脑,2017,33(4):47-48. [2] Hong Ma. Tech Services on the Web: jQuery Mobile jquerymobile.com[J]. Technical Services Quarterly,2013,30(2). [3] liushilang.(分享)几种支持REST的Java框架[EB/OL].https://liushilang.iteye.com/blog/1872782,2013-05-21. 【通联编辑:唐一东】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。