欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    【《基于Android的网络投票系统的设计与实现》9600字(论文)】.docx

    • 资源ID:1701958       资源大小:202.36KB        全文页数:38页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【《基于Android的网络投票系统的设计与实现》9600字(论文)】.docx

    基于Android的网络投票系统的设计与实现目录摘要2第一章结论31.1研究意义32研究背景3第二章相关技术介绍42.1 云服务42.2 云开发42.3 B/S结树42.4 JavaScript52.5 B/S体系工作原理5第三萤系统分析73.1 可行性分析73.2 功能需求分析73.2.1 前台用户功能83.2.2 后台管理员功能83.3 韭功能需求分析83.3.1 小程序的安全性83.3.2 数据的安全性93.4 数据流程分析9第四章小程序设计104.!小程序架悯设计IO4.2 小程序总体设计IO4.3 小程序功能设计I1.44小程序数据库设计I1.4.3.1 数据需求分析I1.4.3.2 数据库概念设计I1.4.3.3 数据库表设计I1.第五章小程序实现145-1数据库为问层的实现145.2 登录模块的实现145.3 用户登录后投票模块的实现175.4 主界面轮播管理模块的实现225.5 参与者管理模块的实现245.6 投票记录模块的实现275-7用户基础信息管理模块的实现295-8活动管理和活动分组管理模块的实现315.9 监控以及审核模块的实现345.10 苞排名模块的实现36第六章小程序测试386.1 测试目的386.2 功能测试38总结与展望39参考文献40摘要微信是目前国内最火的一款社交应用.具月活跃度在全球已达十亿以上,为使用者提供社交平台就是微信的主要功能服员.越来越多的人知道或者参与过微信线上投票活动,也使用过相应的投票小程序。因为微信投票活动传播的方法就是通过微信群或者朋友圈进行传播。微信作为目前最主流移动社交平台之一,可以为我们公众号增加韭常可观的给丝累。想要投票活动取得好的效果,制作投票活动的平台不能忽视。这也是为什么最近会有越来越多的第三方平台出现在我们面前。与传统的投票系统相比,第三方平台有功能更多、更细化,实用性更强.技术更强大,流程更简活等优点。微信投票.顾名思义就是在微信上诳行的投票.和网络投票形式差不多,也是属于网络范围,现在很多商家为了提高公众号和产(S的亘传做了一系列的投票活动为了宣传自己,提高知名度。微信投票公司是利用一个微信号进行的投票.投票方式衙单.但是只麋在微信上进行操作,现在使用微信的人越来越多,自然微信投票的比例也越多了。因此制作一个基于安卓的微信小程序,对于日常生活和需求也显得非常重要。所以对于如何制作一个徵信投票小程序,会在之后的内容中展示,包括如何实现一个人只能投一票,如何上传视频,图片,如何登陆和识别用户信息.以及利用前后端分离的技术,对上传的投票进行审核,检杳投票的内容等。并且由于是制作微信小程序所以会使用酶讯开发的小程序制作软件,以及对应的云函数和云开发等技术。并且会对上述内容进行解释和分析。关铤词:网络投票:微信小程序:前后端分离第一章绪论1.1研究意义网络投票是人们表达自己意愿的一种重要手段,但由于网络技术的发展,各种形式的选票都在增加,而传统的手工投票方法效率低下,必须人工进行.所以花费大量的人力、财力.而且安全性和公平性都无法得到充分保障,无法满足目前的选举需求,而网络技术的出现,让网络投票成为了网络投票的一种形式,并且有若更加方便和公正的特质,所以对于微信投票小程序的设计和研究也就有若重要的意义。1.2研究背景在科技创新的推动下,网络产业迅速发展C随着人们与互联网的联系日益紧密,网络投票也逐渐进入人们的日常生活。微信朋友圈里的各种投票拉票渐渐多了起来,感觉凡是评比,无论什么项目都流行挤这儿来。相信你也收到过好友的投票邀请,不知从何时起,朋友圈渐渐变成了“拉票圈”,碍于情面,你或许总是习惯给各种“最佳”“最优”“最美”投票。娱乐界的各种最佳人气偶像、最住歌手、最佳男女主角、最佳新人奖;社会上的各种感动中国的十大人物、十大道德模范、十佳青少年、最美女教师;企业单位的各种十佳员工、明星员工、十大劳动模范,以及其他领域的各种“最”、各种“十佳”、各种“十大”、各种,优秀”等等,有哪一I页评选不或多或少地涉及“网络投票”呢。所以人们对于网络投票的需要越来越大,各种各样投票软件和小程序也就层出不穷.在微信投票活动中,可以自由设定活动的风格,吸引目标段体及其周围的社交圈.使主题活动参与者更加接近目标岩体,提高主题活动的有效性;其次,投票活动可以激发参与者的主动性,引发用户自发的传播。微信投票活动中可以加入抽奖活动,完成吸粉的效果。趋利是人性的一大特点,所谓“重赏之下必有勇夫”,在和同僚交流这些活动计划时,有些同僚会说,不知道自己的经弟有多差,计划有多好,只要奖品给足,必定有人来参加。可以说,做信投票活动是商家用较小的成本来吸引更多客源的一种方法。所以在现代的日常生活中微信投票有若相当的经济效益。第二章相关技术介绍2.1 云服务云数据库它是一个性能强大的文档型数据库(非关系型数据库),支持基础读写、聚合搜索、数据库事务、实时推送等功旎;既支持小程序前端操作,还支持云服务的运行。云函数支持SDK的调用或HTTP请求,微信私有协议天然鉴权。云函数存储在云端,可以根据函数的使用情况,自动犷缗容。云存诸:云存睹提供稳定、安全、低成本、简单易用的云端存储服务.支持任意数呈和形式的非结构化数据存储,如图片、文档、音频、视频、文件等。云调用:云调用是云开发所提供的基础上的云服务.它可以让腾讯云的功艇开放,在云服务调用服务端上,例如发送模板消息、获取程序码等。云托管:云托管是一种新的基于云计算的原生应用程序引擎,它支持基于任何语言和框要的容器化程序,与云计算开发的其它产品共同提供了一个集成的云计管开发环境和工具,为开发者提供了高可用、自动扩展的后端云服务。2.2 云开发云开发是软件开发的一种方法,它可以迅速地进行定制化的软件、应用和服务。云计算的发展有两大趋势:一是面向专业编程人员的平台;一种是开发平台.它可以增加更多的商业价值。云开发的特点为:有创新的开发理念.大大简化传统软件的开发。较多的可视工具,整个开发过程,必须有各种的可视化工具支持,做到无编码开发。兼容流行开发语言.云开发过程其可兼容传统编程语言。在一个独立云服务的环境中,云开发的前提是能够提供预设的云服务架构和环境.能够快速地将以上的开发成果转换成云软件、云应用和云服务。要有足够的开放性,可以在不同的开放框架中选择不同的框架,或者是自己定义框架。2.3 B/S结构B/S(BroWer/Server,浏览器/服务器)模式也被称为B/S架见它是互联网出现后的一种新的网络化架构。在客户端中,网页浏览器是最里要的应用程序。该模型把系统的各主要功能模块整合到服务器上,从而简化了系统的开发、维护和使用;客户机仅需在其上安装SQ1.SCrVcr、Orac1.e.MySq1.等数据库的浏览器;浏览器与数据库之间的数据交互。2.4 JavaScriptJavaSCriPt是一种以文字为基础的程式设计语言。最初开发时,其目标是作为Java的一个辅助工具。但是,JavaScript作为Wcb开发的三大支柱之一已经成为了自己的生命-另外两个是HTM1.和CSSo与Java应用程序不同,JaVa应用程序需要在基于Wcb的环境中运行之前进行编年,而JavaScript则专门设计为集成到HTM1.中。所有主要的Web浏览器都支持JaVaSerip,但大多数用户都可以选择禁用它。与PHP和ASP等服务器端的脚本语言不同.JavaScript主要是在用户的浏览器中使用,而无需服务器的支持。因此,早期的编程人员更倾向于使用JavaScrip1.来减轻服务器的压力,但同时也会产生另外一个问题:安全。而且.由于服务需越来越强大,尽管如今的编程人员更倾向于使用服务端的脚本来确保安全性,JavaScripi还是凭借其跨平台和易于上手的优点而大行其道。与此同时,一些特定的特性(比如JX)需要依靠Javascript来支持客户机。随着V8和Node,js等引孥的发展,以及诸如事件驱动和异步10这样的特点.JavaScript开始被应用到服务器端编程中。2.5 B/S体系工作原理B/S体系结沟采用了基于浏览器和服务器响应的方式O用户可以为同因特网上的网络服务器所生成的各种各样的信息。客户端发送请求:用户在客户机t浏览器网页】中提交表格动作,将一个请求发送到服务器,然后等待服务器的回应;服务器端处理请求:服务器端接受和处理请求,而应用程序端则利用JSP等服务端技术,对请求迸行处理,生成相应的响应;伺服器端传送回应:伺服器端将使用者所要求的资料(网页档案、图片、声音等)传回至使用者。浏览器解释了HTM1.文件的运行,显示了用户接口。.网络支持TCP/1P的基础协议,使得Web网络和1.AN能够同时进行网络连接,完全解决了网络中的异构连接问题。.网络引入“瘦客户端”,极大地提高了系统的开放性,并放宽了对用户数量的限制。系统的集中程度便其易于维护和犷充。例如,如果数据库的存储能力不足.可以添加一个新的数据库。为了熠强系统的性能,可以添加一个应用程序服务器来执行新的功能。界面是统一的(都是浏览器),运行起来比较容易。易于发布商业规则和数据捕捉的程序。图2-1B/S体系工作原理第三章系统分析3.1可行性分析技术性方面.微信开发者平台可以轻松地完成微信应用程序的开发,它采用的是云计算技术和JavaScript技术,而云计算则主要采用了云计算技术和云计算技术。后台则主要使用了腾讯云cm管理平台,对于小程序端传来的数据进行分析和存储,并且可以对相应的投票进行审核和管理,所以利用上述技术是可以完成的。经济性方面,由于使用的是腾讯官方发行的小程序开发平台,并且是运行在腾讯云上面的,所以花费很少,只需支付腾讯云的服务器价格以及云开发平台的价格。但是当用户量祓大时可能需要更换带宽更加大,内存更加多的服务器。ISJ时流量也需要花费更多的钱,对于网站的安全也需要一定的花贽,但是以上所有的加起来也不会有太多的花费,综合以上的经济因素来看,这是非常有可能的。3.2功能需求分析投票徵信小程序主要需要实现的功能I.有利用微信直接登录,而不需要再注册登录。2.登录后可以自己上传个人信息来参与投票,其中既可以上传图片也可以上传视频。3,对其他人进行投票,并且一人只能投一次,避免刷票出现。4.对参与者进行分类,可以分成专业组,业余组等进行区别。5.对参与者进行排名,让具更加直观。6.利用cm*进行后台管理,对上传的投票进行审核,并且还在后台进行分组。用户用例图如下所示。图3-1用户用例图管理员用例图如下所示。善与舍管理图3-2管理员用例图3.2.1 前台用尸功能前台用尸可以直接使用微信直接登录。可以选择自己是参与投票.还是给别人投票。还可以选择参与哪类投票,比如业余组和专业组。并且还可以选择上传图片和视频来达到更多展示自己的目的。同时也提供了查询功能,以及排名。最后也可以查看自己的湿光量,看有多少人看过该投票。3.2.2 后台管理员功能管理员功能如下:1 .修改密码:为了确保本软件的后台安全,管理员可以婚时更改自己的密码。2 .对上传投票的审核功能,确保不会有违规的投票。3 .投票活动有期限限制,由管理员选择投票活动持续的时间。比如说2月I日到2月10o时间为独占性的,同一天内,只允许存在一个投票活动。如果活动时间存在重登部分,上传活动时会被提醒。4 .投票帖子都会被后台记录下来,通过后台可以查看投票的各种情况。5可以修改首页的滚动图片,来达到增加曝光量。33非功能需求分析3.3.1 小程序的安全性从理论上来说该投票小程序对于安全性方面的需求是比较少的,除了避免刷票,就是保住后台服务器,不会被恶意ddos,但是得益于腾讯云的相关安全服务还是比较简单的得到实现。3.3.2 数据的安全性数据库中的数据是从外部输入的,在输入数据时,不可避免地会因为各种原因而失效,甚至会出现一些不干净的数据,并且还要避免诸如SQ1.注入等安全方面。因此,怎样保证输入的数据是安全且是合法的,成为了数据库,尤其是多用户的数据库小程序必须关注的问题。所以.为了确保数据被写入数据库,一定要保证数据的完整性、正确性、一致性。3.4数据流程分析在分析投票软件的流星时,要把用户分成两种类型:一般用户和管理员。所以小程序主要对主界面信息传送,通过获取用户微信信息的验证,用户的各种探作的响应做各种相应处理。小程序大体数据流图如下图所示。图3-3大体数据流图通过微信提供的接口获取登录信息后来进行登录,再根据登录的数据跳转到对应的用户界面。通过微信客户好的数据处理,数据库中心能够接收到不向的数据.从而实现对数据库的Sq1.语句的处理。微信应用程序可以分成两个部分,一个是后台.一个是前台。前台与后台数据的联接主要是由云端数据库完成,然后根据数据库进行。第四章小程序设计4.1 小程序架构设计微信投票软件的体系结沟可以分为三个层次,分别是网站、服务、模型三个层次。网络层包含了VieW和Cong1.1.er两个层次,模型层包含了元数据和数据存取。通用类库小程序架构如下图所示。实体框架扩展应用数据库图4-1小程序架构4.2 小程序总体设计微信投票小程序总体分为前台用户模块和后台管理员模块。这两个模决虽然各自独立,但所使用的数据库却是相同的。每个模块的功麋都是在之前的需求分析和参考的基础上进行的。总而言之,下面的图表显示了Widget的功能性结构。中核艮三:图4-2系统功能结构图43小程序功能设计登录模块:用户只需在徵信上登陆即可,免去了繁琐的登记手续。用户登陆成功后,即可登陆该软件,从而在主界面提供的各种功作中选择自己要使用的功能。后台管理员可以直接通过CmS直接登录,并且可以迨时更改相应的密码。4.4小程序数据库设计4.4.1 数据需求分析从前面的分析可以看出,在数据库中,最主要的是用户的投票和上传的信息.记录用户投票的信息,用尸登录的信息.后台存储的投票信息。再通过分析可以得到如下数据描述:用户:用于记录用户的各种信息,姓名、性别、电话、照片、是否审核等数据奥投票者:照片,视频,投票数,排名,分组,审核状态信,id息等管理员:主页轮播管理,投票记录,投票用户信息.活动管理,活动分组管理,审核状蔻等4.4.2 数据库概念设计根据前面的数据流程图,结合小程序的功能模块设计,设计出符合小程序的各信息实体。4.4.3 数据库表设计由于使用的是微信的云开发平台制作微信投票小程序,所以使用的数据库也由云函数创建的云数据集合。其中主要是:c1.oud-activities表:名称圾长度不是nu1.1.主轨注称JdString64是投票编号-catcTincString64否否创建时间jupteTimcSuing64否否更新时间acti*ity1.conSuing64否否活动图标acthyINameSuing64否否活动名称包理妫Boo1.ean2否否每B用麻EiKrnmCString64否否结束时间StartTiincString64否开始时间e?oseNumNumber10否否曝光次数init*11cketNumber1否否初始票数pinNumNumber2否否参与人数c1.oud-activitics-groups表:名称类组长度不是nu1.1.王键汪和-catcTimcString64否否创建时间JigdatcTimeString64否否更刷间aEvy!dString64否活动编号grqupINuneString64否否分组名称PutnumNumber2否否参与人数c1.oud-acivities-swi>er表:名称类型长度不是nu1.1.王键注群jceatcTimcString64否否创期间_updatcTimeString64否否更新时间acuyity1.dString64否是活动ids>CoverString否否轮掇他SwiperNamcSthng64否否轮播名称锣jpbcString64否否轮搭类型c1.oud-participant去:名称翘长度不是mi1.1.主键注释JdString64是是编号String64否否创建时间_updaUfTimeSuing64否否更新时间ICtixityIdString64否是活动idGrxpIdSuing64否否分组idGroupNameSuing64否否分组名称Mobi1.eString64否否手码ogudString64否否REy涧SString64否否真实名字StatusNumber1否否状态UseidSuing2否是用户idUsehmageAmy64否否用户图片ysttm>String64否否用户介招UsoyideoAniy64否否用户视频c1.oud-uscr-basc表:名称类型长度不是m11主键注程JdString64否否用户idav-atarUriString64否否用户朱像NickNimeSuing64否是J1.实姓名PrOvinCeString64否否联系方式WateMaricSuing64否否用户昵称第五章小程序实现5.1 数据库访问层的实现微信投票小程序是通过云咨数和相应的json文件来建立的云数据集合,从而来访问和存储数据。其中主要的数据库文件是schcma-cxp<>rt-ny11)hy8dy.json,这个文件直接建立了后台数据库,而云函数的json文件也建立了相应数据去。5.2 登录模块的实现小程序可以通过微信官方提供的餐录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。调用wx.1.ogin()狭取临时登录凭证COdC,并回传到开发者服务器。调用au1.h.c<1.c2Scssion接口,换取用户唯一标识OPen1.D、用户在槌信开放平台帐号下的唯一标识UnionID(若当前小程序已绑定到徵信开放平台帐号)和会话密钥session-keyo之后开发者服务器可以根据用尸标识来生成自定义建录态,用于后续业务逻辑中前后端交互时识别用尸身份。登录界面为:0曾广的投票申设获取头像江撤值个人AMJ图5-1登录界面其中实现登录的关键代码是:1.配爸又件代码:',permissions',:(Mopcnapin:',wxacodc.gct,MsubscribcMcssagc.sendM.,subscribeMesjge.addTen1.ate'"Ienip1.aieMefisagesend”,"temp1.ateMessage.addTemp1.ate","tenip1.ateMessage.de1.eteTemp1.ate"."tcmp1.atcMcssagc.getTcmp1.atc1.ist"."(cmp1.atcMcssagc.gctTcmp1.atc1.ibraryByW"."temp1.a(cMcssage.gctTemp1.atc1.ibrary1.is("1获取登录用户信息代码:/云函数入口文件constCkH1.d=rcquirc('wx-scn'cr-sdk')c1.oud.init(env:c1.oud.DYNAM!C_CURRENT_ENV)/云函数入口函数exporis.main=async(event,context)=>/conso1.e.1.og(event)switch(event.action)case,gctWXACodc,:returngctWXACodc(cvcnt)case'getOpe11Data':returngeiOpenData(event)case'gctPhoncNum,:returngctPhoncNum(cvcnt)Icase'getUserData":returngetUserData(event)case'msgSecCheck':(returnmsgSecCheck(event)Icase'ingSccChcck":returni11gSccChcck(cvent)case'subnitPages':(returnsubnitPages(event)defau1.t:return11获取小程序码asyncfunctiongctWXACodc(evcnt)conso1.c.1.og(evcnt.ur1.)H此处将获取永久有效的小程序码,并将其保存在云文件存储中,最后返回云文件ID给前端使用constWxacodeResuIt=awaitc1.oud.openapi.wxacode.get(path:event.ur1.'pagesindexindex',)constfi1.cExtcnsionMatchcs=wxacodcRcsu1.t.contcntTypc.match(/V(1.AV+>/)constfi1.cExtcnsion=(fi1.cExtcnsionMatchcs&&fi1.cExtcnsio11MaichcsI)'jpg'constUpIoadResu1.t=awaitc1.oud.u1.oa<1.Fi1.e(云文件路径,此处为演示采用一个固定名称c1.oudPath:'wxCodcwxCodcSMath.randon()*9999999.5(fi1.cExtcnsion)*./要上传的文件内容可直接传入图片Bufferfi1.cContcnt:wxacc1.cRcsu1.t.bffcr.I)if(!up1.oadResu1.t.fi1.e1.D)thrownewErmr上传失败,文件为空,存储服务器状态代码为空Up1.oadRcsuIt.StatusCodc*)returnUp1.oadResuItJ1.Ie1.D)/获取OPCnidasyncfunctiongcipcnData(cvent)H需wx-server-sdk>=0.5.0constwxContext=c1.oud.getWXContex1.Oreturnevent.opcnid:wxContcxt.OPENID.appid:wxContext.APPID,unionid:wxConicxt.UNION1.D.获取用户更多信息asyncfunctiongctUscrData(cvcnt)(returncvcn1.c1.ou(JDa1.aI5-3用户登录后投票模块的实现投票界面:ik<a>口税介绍am入口我介用H3M上传os囱ajn-eaws(ia)0/30优发布图5-2投票界面其中的关键实现代码为:获取手机号asyncfunctiongetPhoneNum(event)1.etres=awaitc1.oud.getOpenData(1.ist:cvcnt.C1.oud1.DJ)returnres:)检测文本是否合规asyncfunctionnsgSecCheck(event)(/需Iwx-scrvcr-sdk>=0.5.0tryCOnSo1.C.1.og('待检测文本+CVCnt.content);1.etresu1.t=awaitc1.oud.openai.security.nsgSecCheck(content:event.contenI)conso1e.1.og(,resu1.t:'+JSON.stringify(resu0);if(resu1.t&&resu1.t.e11Code.toString()='87014,)return(code:300.msg:'内容含有违法违规内容.data:resu1.tIe1.sereturn(code:200.msg:'ok',data:resu1.t1IIcatch(err)(if(crr.crrCodc.toString()="87014,)returncode:300.msg:,内容含有违法违规内容;data:err)/returncode:400,msg:,调用security接口异常',data:errI/检测图片是否合规asyncfunctionimgSec<7heck(event)try(1.etresu1.t=awaitc1.oud.openapi.security.imgSecCheck(media:conentTpe:eveni.conieniType,va1.ue:Buf1.er.from(event.va1.uebase64,)I)conso1.e.1.og(resu1.t)if(resu1.t&&resu1.t.crrCo<Jc.toString()='87014,)return(code:300,msg:,内容含有违法违规内容.data:resu1.te1.sereturn(code:2(X),msg:'ok'.data:resu1.tIcatch(err)(if(err.errCode.toString()='87014,)returncode:300.msg:.内容含有违法违规内容data:errffIreturncode:400.msg:'调用security接口异常'.data:err收录页面asyncfunctionSUbmiIPageS(event)returnc1.oud.openapi.search.submitPages(pages:(path:cvcnt.path,query:CVCnI.queryI1.)1获取日期functiongctDatcTi11(sj)varnow=newDatc(sj*1000);varyear=now.geFu1.1.Year();varmonth=now.getMonth()+1;vardate=now.getDate();varhour=now.gctHours();varminute=now.gctMinutcs();/varsecond=now.gctScconds();returnyear+"年"+month+"月"+da1.e+"B"1相应的数据文件:"name":"opcnapi"."version":"1.0.0"."description":"","main":"indexjs","scripts":"test":"echo"Eor:notestspccificd"&&exitI")."author":"","1.icense":"ISC","dependencies":"wx-server-sdk":"2.3.2"5.4主界面轮播管理模块的实现轮播管理界面如下:图5-3轮播界面其中实现轮播界面的关键代码为:Pagc(OnSharCAPPMCSSagCOreturn1.ii1.e:'swiper',path:'ageconponent>fageswierswiper,I.data:background:demo-text-.'deno-text-2',"deno-text-3',indicatorDots:true.vertica1.:fa1.se.autop1.ay:fa1.se.interva1.:2000,duration:500I,ChangcIndicatorDotsO1.his.sctData(indicatorDots:!this.data.in<1.icatorDotsD,ChangcAutop1.ayOthis.sctData(autop1.ay:!this.daia.autop1.ay1)I,interva1.Changc(e)this.setData(interva1.:c.dctai1.va1.ue2)J,durationChange(c)this.setData(duration:c.<Jciai1.va1.ueDI)5.5参与者管理模块的实现参与者管理界面如下:mumsM:MD:9W:«P©:Xt1.XFWMO2Musirt*xrg<11图5-4参与者管理界面其中实现参与者管理界面的关键代码为:/云函数入口文件constc1.oud=rcquirc(,wx-scn,cr-sdk')c1.oud.init(env:C1.oudDYNAMIQCURRENT-ENVDconsttineuti1.=require,./IimeUtiI);constdb=c1.oud.databasc();constPART='c1.oud-participant':constGROUP='c1.oud-ac1.ivitics-groups'云函数入口函数exports.main=async(event,context)=>constwxContext=c1.oud.getWXContext()*获取操作类型*/1.etaction=evcnt.action:switch(action)case'savene':returnawaitsavene(event,context);breakcase'gctnc,:returnawaitgene(event,context);breakIcase'gct1.ist':*获取参与列表*/Ic1.step=CVCnI.step01.etgrou1.d=event.grouph!;returnawaitdb.co1.1.ection(ERT).where(group1.d.status:I).skip(stcp).gct();break)I1asyncfunctiongctnc(event.context)(1.etdoc1.d=evcnt.doc1.d;1.etqucryRcs=awaitdb.co)1.ection(RART),doc(docId).gct();returnquer>Res.data;*条件跳转*/)asyncfunctionsavcnc(cvcnt.contcxt)constWxContcxt=c1.oud.gctWXContcxt()IciOPCnid=wxContcxt.OPENID;*进行去单校验*/提取部分参数*/1.etrca1.Namc=cvcnt.rca1.Namc:1.etmobi1.e=cvcnt.mobi1.c:产*获取userid列IeiuserRes=awai1.c1.oud.ca1.1.Function(nanec1.oud-user-extend',data:1opcnid.rea1.Nan>e,mobi1.eI)if(uscrRcs.rcs1.t.crrC<x1.c=-1.)returnuscrRes.resu1.t;1.etuserid=userRes.resu1.t.doc1.d:*根据group1.d获取更多信息”/1.etgroup1.d=cvcnt.group1.d:1.etactivity1.d=nu1.1.;1.etgroupNa11w=nu1.1.;tryI1.etgroupRes=awaitdb.co1.1.ection(GROUP).doc(group1.d).get();1.etgroupData=groupRes.data:activityId=groupData.activity1.d:groupNamc=groupData.groupNamc:CatCh(error)returnerrCo<1.e:-1,errMsg1请传入正确的组别1D1*计算sim1.d刊1.etSiinIdRes=awaitdb.co1.1.ection(PART)vhere(activity1.d).count();sim1.d=sim1.dRcs.tota1.+1*正常情况下-继续写入*/returnawai1.db.co1.1.ection(PART).add(daia:(sim1.d,activity1.d,group1.d.rea1.Nane,mobi1.e.groupName.userid.opcni(J,UscrIntrox

    注意事项

    本文(【《基于Android的网络投票系统的设计与实现》9600字(论文)】.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开