辩论投票工具 实现代码讲解

编程入门 行业动态 更新时间:2024-10-16 18:39:42

辩论投票工具 实现<a href=https://www.elefans.com/category/jswz/34/1771412.html style=代码讲解"/>

辩论投票工具 实现代码讲解

代码地址:

辩论投票工具 实现代码讲解

  • 代码地址:
  • 一 事情起源
  • 二 整理需求
  • 三 演示视频:
  • 四 方案一(WNMP,PHP,Nginx,Vue)
    • 开发环境
    • 第三方库
      • 前端:
      • 后端
    • 工程目录结构
    • 存在的问题
  • 五 方案二(python,tk)
    • 开发环境
    • 第三方库
      • 前端
      • 后端
    • 工程目录结构
    • 编译
    • 场景部署
      • 部署方案一:100人以下
      • 部署方案二:当人数校多时100人以上时,使用2-3个WIFI6,做一个简单本地组网。
    • 安装运行
    • 存在的问

一 事情起源

单位新同学要举办一场辩论活动,工会同事想要一个投票功能,类似奇葩说投影到大屏幕,观众可以通过手机进行观点选择。考虑到还没有见到这一类型的小工具,而且认识一些老师,在班里也会组织这些活动。这种交互式活动会比单纯的辩论更有活力。

二 整理需求

1、辩论双放观众投票信息大屏实时展示。
2、投票方式支持,每人只能投一票不能变更,每人只能投一票但可以变更,每人可以重 复投票。
3、可以增删辩论话题,并统计阶段性票数。
4、使用场景,50-200人会议厅。

三 演示视频:

.mp4
.mp4

四 方案一(WNMP,PHP,Nginx,Vue)

考虑以上几个功能,想着在没有内网的情况下可放到公网服务器上用,在没有网的情况下可以把WNMP环境打包,尽量精简功能和简单部署。

开发环境

win10 64位
notepad++
WNMP

第三方库

前端:

bootstrap
VUE

后端

PHP websocket( )
PHP Psr\Log

工程目录结构

│  index.html
│  manage.html
│  readme.txt
│  userListConfg.txt
│  util.php
│  vote.php
│  voteAdmin.html
│  voteConfig.php
│  voteOpt.php
├─lib
│  ├─Psr
│  │  └─Log
│  └─WebSocket
│          BadOpcodeException.php
│          BadUriException.php
│          Base.php
│          Client.php
│          ConnectionException.php
│          Exception.php
│          Server.php
│          TimeoutException.php
├─res
└─shvoteStartAll.phpvoteStopAll.php

存在的问题

1、由于当时想着在公网服务器上部署,就是专业人部署仍然需要配置很多系统配置,很繁琐
2、本地环境部署有点难,不是傻瓜式的。普通人不会用啊。做不到点击运行。

五 方案二(python,tk)

针对方案一的问题,用python实现,集成web服务。打包成exe,安装运行。
不在考虑支撑公网服务器上部署,只支撑本地,50-200人会议厅【一台电脑,一台支持3000M的WIFI6 路由器】华为的理论支持128终端。

开发环境

win10 64位
winrar
anaconde3 py39,
pycharm 2021.2

第三方库

前端

WEB bootstrap
WEB VUE
GUI tkinter

后端

psutil,获取系统本地信息
gevent,websocket服务
gevent-websocket,websocket服务
pyinstaller,生成exe打包
bottle,只有一个文件的web服务框架,遵循 WSGI,几乎支撑所有常用的功能。个人开发小型WEB推荐。

工程目录结构

│  build-winrar-conf.ini
│  build.bat
│  build.ps1
│  README.md
│  requirements.txt
│  voteMain.py
│
├─app-dist
│   voteMain.exe
│   voteMain.rar
│
├─src
│    app_gui.py
│    app_http.py
│    bottle.py
│    http_server.py
│    util.py
│
├─tool
│  │  upx-3.95-win64.zip
│  └─upx-3.95-win64
│          upx.exe
│
└─www│  404.html│  manage.html│  vote_client.html│└─res

编译

1、二次打包工具winrar,安装路径"C:\Program Files\WinRAR\WinRAR.exe",如不是请修改build.batwinrar参数。

2、win10:打开anaconda prompt终端执行build.bat,在app-dist目录下生成exe,rar以及源数据目录voteMain

3、build.ps1powershell环境下的执行脚本,没有测试过。

场景部署

本地,50-200人会议厅【一台电脑,一台支持3000M的WIFI6 路由器】华为的理论支持128终端。

部署方案一:100人以下

需要硬件设备:电脑一台,路由器一台

无线链接 无线链接 WIFI-6路由器 电脑web服务器 手机

部署方案二:当人数校多时100人以上时,使用2-3个WIFI6,做一个简单本地组网。

需要硬件设备:电脑一台,路由器2-3台

链接 有线AP 有线AP 无线链接 WIFI-6路由器 电脑web服务器 WIFI-6 WIFI-6 手机 手机 手机

安装运行

1、使用rar解压安装,生成源文件目录,进入找到voteMain.exe并运行。

2、使用exe安装,生成源文件目录,并在桌面生成快捷方式,双击运行。

3、cmd 运行参数

Usage: voteMain.exe [options]Options:-h, --help            show this help message and exit-p PORT, --port=PORT  指定web服务端口,默认值【8080】--gui               GUI运行,默认值【True】

存在的问

更多推荐

辩论投票工具 实现代码讲解

本文发布于:2024-03-23 23:37:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744184.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:代码   工具

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!