1 Star 0 Fork 173

大春哥1 / 出入人员登记系统

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-1.0

项目负责人:DCloud_UNI_GSQ。在QQ群797192690里。

项目预览地址:wlry.m3w.cn。体验账户用户名:admin;密码:12345678。此地址为测试体验地址,具体某单位上线时,需要单独部署。

本项目已经在几十家社区成功应用。

本项目是基于木兰宽松许可证的开源项目,代码全部开源,开发者可自由使用其中的代码,自己部署相关的系统。

项目运行说明

  1. 下载HBuilderX

本项目需要HBuilderX 2.5.11以上版本才能运行。切记看清版本号

下载地址

根据自己的操作系统下载,下载标准版即可,运行项目时会自动安装依赖的插件。

HBuilderX是绿色的,Windows版解压后直接运行里的HBuilderX.exe即可。

  1. 拉取项目源码

从本项目中复制git地址:https://gitee.com/dcloud/xinguan2020-alien-registration.git

在HBuilderX中点菜单文件-导入,选择从git导入,粘贴刚才复制的git地址。

输入图片说明

如果Windows版,在HBuilderX安装Git插件时,需同时安装TortoiseGit软件。

如不参与开源项目开发,也可以在gitee仓库里下载zip包,解压到硬盘,将目录拖到HBuilderX中(注意根目录需包含项目的manifest文件)

  1. 登陆

如果以前注册过HBuilderX,请保持登陆状态。如没有,在HBuilderX左下角点登陆。

  1. 申请appid

源码项目不含appid,需要自己在manifest.json中申请。

具体操作方式为打开项目下的manifest.json文件,在右边点击申请appid。 输入图片说明

  1. 申请和绑定服务空间

本项目构建在uniCloud云开发模式下,使用的是阿里云severless引擎,通过js云函数方式完成后台开发。开发者需要创建一个阿里云的serverless空间,并把服务端代码(也就是云函数)部署到自己的服务空间里。

DCloud和阿里云合作,疫情期间免费提供服务器,没有容量和并发限制。即便瞬间进入几百万用户也毫无影响。基于这套serverless架构,开发者无需关心双机热备、并发扩充、DDoS攻击等问题。详见uniCloud的官网:https://uniapp.dcloud.io/uniCloud/README

对项目下的cloudfunctions目录点右键,选择你的服务空间。如果没有服务空间,需要创建,创建时会引导登录和注册uniCloud。(如果看不到服务空间选择菜单,说明你使用的HBuilderX版本过低)

项目需要注册和开通uniCloud,因阿里云审核要求,需要实名认证。疫情期间,工作时间一般半小时内完成审核。

创建好服务空间后,继续对项目下的cloudfunctions目录点右键,选择你之前创建的服务空间,完成绑定。

输入图片说明

  1. 初始化服务空间

服务空间包括云数据库和云函数。刚建的服务空间,在uniCloud的web控制台看,里面数据库和云函数都是空的,需要建表和上传云函数。

(云数据库是mogodb,基于nosql)

数据库的结构说明在项目文件根目录下的db.md文件中。同时HBuilderX提供了快捷初始化数据库的方法,打开cloudfunctions目录下的db_init.json文件,点右键,初始化云数据库,会自动完成表的创建。

输入图片说明

下一步是上传云函数到你的服务空间。对cloudfunctions目录点右键,上传所有云函数到你的服务空间中。

输入图片说明

你可以在uniCloud的web控制台,查看云端的数据库和云函数情况。打开web控制台的方式是对cloudfunctions目录点右键,打开uniCloud web控制台。

  1. 运行项目

项目初始化完毕,可以运行了。

uni-app框架开发的项目,都可以运行在所有平台,不管是浏览器还是小程序,或者iOS、Android的App。点击工具栏的运行,或者Ctrl+r快捷键,可看到运行菜单。

点击运行到内置浏览器,或者不通过运行菜单,直接点HBuilderX右上角的预览,可以在直接运行H5版。

输入图片说明

若之前下载的HBuilderX是标准版,此时会开始安装uni-app插件,插件安装完毕后重新运行一下。

若编译控制台提示node_module条件编译报错,可忽略。

如果要运行在外部浏览器,需要在uniCloud的web控制台的H5安全域名界面绑定安全域名,否则会有跨域问题。

如果要运行在手机App上,请通过数据线连接手机和电脑,然后点运行菜单,会刷出识别到的手机设备,进一步运行。

  1. 创建管理员账户并登陆

运行起来的系统,需要登陆。因账户密码是通过算法加密存储的,所以之前的数据库初始化无法直接把admin账户预置进去。目前系统也暂无可视化界面创建用户,所以提供了一个创建用户用的云函数。

在cloudfunctions目录下找到云函数create-user,在其目录上右键点击上传并运行。 输入图片说明

这个云函数运行后会在云数据库的user表里插入以下操作员信息。

{
  username: 'admin',
  password: '123456'
}

然后就可以在前端界面里,用上述账户密码登陆了。

实际部署时应更换cloudfunctions-module/src/utils/constants.js内的passSecret为自己的key,更换之后重新编译上传云函数,导入操作员信息。

阿里云serverless的云函数第一次调用时,有冷启动过程,访问较慢,大约5秒左右才能联网返回数据。第二次调用是正常速度。目前阿里云在一定时间后会回收一直没再运行的云函数资源,回收后再执行仍然需要冷启动过程。这个问题阿里云正在优化。

项目发布和部署

点击HBuilderX的发布菜单,可以发布到H5、App和小程序。

  • 发布小程序

     // #ifdef MP-WEIXIN
     //微信小程序这里要写死为小程序的二维码地址或者是H5平台的二维码地址,或者直接填 '' 则在微信小程序中不显示二维码。
     //如果用h5的二维码,记得把域名换成自己的域名,程序会根据地址自动生成二维码。如果用微信的二维码,那种菊花码需要去微信后台生成。
     val: "https://wlry.m3w.cn/#/pages/tabbar/add?id=" + uni.getStorageSync('username'),
     // #endif
  • 发布H5

  1. 首先在发布菜单中发布H5,生成前端html页面文件,将页面部署到自己的web服务器,比如NGINX下面。
  2. 然后自己准备一个域名,将域名解析到NGINX的服务器ip。
  3. 最后在uniCloud的web控制台配置安全域名,参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=h5%e4%b8%ad%e4%bd%bf%e7%94%a8unicloud

项目功能说明

底部5个tab:列表、图表、+、搜索、我的

本软件设计为操作员必须登录,访客无需登录。但操作员登陆后,可以在“我的”里看到一个二维码,把这个二维码出示或打印张贴给外来人员,外来人员可以扫描此码,打开一个H5页面,自助填写表单。

列表

主屏是来访人员列表,点击人员item进详情,详情里每个人的电话可以点击拨叫。

如果访客登记时填写了春运车次航班情况,列表显示时会自动去危险车次数据源查询,验证外来人员乘坐的车次、航班,是否是国家通告的已发现确诊人员的车次。

图表

显示按时间为横轴的曲线,表达隔离、发烧、疑似、确诊、死亡的曲线

+

表单,按数据库字段填写。

姓名、联系电话是必填项。如部署时各单位有定制需求,比如删减一些字段、改一些字段为必填项,可在开源项目基础上自行修改。

电话是人的标记,同一个电话,再次录入时,会更新之前的基本信息。

保存入库时,除了表单填写内容,还需要在数据库里同时存入操作人员的姓名、id、操作时间、操作ip。

搜索

可以按人名、手机号、登记时间来查询外来人员登记记录,搜索结果同列表。

在pc浏览器打开本页面后,在界面右上角可以看到导出按钮,导出格式是csv,可以用excel打开。如果需要对导出的字段删减。自行在开源代码中删减。

我的

操作员登陆、登出、修改密码。

本系统不支持注册。操作员账户由管理员通过云函数创建,然后每个操作员登陆后,可自行修改密码。

如忘记密码,请管理员在云函数中重置其密码。

云函数create-user目录上右键点击上传并运行。

如开发者有精力,欢迎贡献一个管理员可视化创建用户、重置用户密码的界面。

请外来人员自助填写。

操作员登陆后,点tab中的”我的“,会展现一个二维码。外来人员可以扫描此码,自助填写。

第二次填写时,重复信息会辅助填写。

后续值得完善的功能

  • 支持多单位托管,目前只能一个小区部署一套,如果支持托管方式,可以在线申请和开户,小区的部署速度会大幅加快。(有开发者提供了托管版本,但后台是java方式,详见
  • 目前只登记进,没关联出 这些功能欢迎开发者持续贡献和完善。

关于源码的二次开发

本项目基于木兰宽松许可证,代码可自由使用和更改。

  • 项目前端基于uni-app框架开发,它是一个通过vue.js编写所有平台应用的多端框架。你需要了解uni-app以便于更深度的定制。uni-app的文档详见:https://uniapp.dcloud.io/README
  • 项目后端基于uniCloud,它是一个基于js的云开发模式,与微信、支付宝小程序的云开发类似,但可以跨端使用。它基于serverless模型,优势众多。建议开发者通读一遍uniCloud的介绍和快速上手,以方便做二次开发。uniCloud的文档详见:https://uniapp.dcloud.io/uniCloud/README

本开源项目的完成,感谢众多开发者的贡献DCloud_UNI_GSQ、DCloud_UNI_WYQ、DCloud_UNI_HDX、躺希腊额阿毛、反复再反复、King、丛林野战军、AHello、kagstest。

欢迎加入QQ群797192690交流。

木兰宽松许可证, 第1版 木兰宽松许可证, 第1版 2019年8月 http://license.coscl.org.cn/MulanPSL 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第1版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的一方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括仅因您或他人修改“贡献”或其他结合而将必然会侵犯到的专利权利要求。如您或您的“关联实体”直接或间接地(包括通过代理、专利被许可人或受让人),就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 条款结束。 如何将木兰宽松许可证,第1版,应用到您的软件 如果您希望将木兰宽松许可证,第1版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [2019] [name of copyright holder] [Software Name] is licensed under the Mulan PSL v1. You can use this software according to the terms and conditions of the Mulan PSL v1. You may obtain a copy of Mulan PSL v1 at: http://license.coscl.org.cn/MulanPSL THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v1 for more details. Mulan Permissive Software License,Version 1 Mulan Permissive Software License,Version 1 (Mulan PSL v1) August 2019 http://license.coscl.org.cn/MulanPSL Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v1 (this License) with following terms and conditions: 0. Definition Software means the program and related documents which are comprised of those Contribution and licensed under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, or are controlled by, or are under common control with a party to this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. Contribution means the copyrightable work licensed by a particular Contributor under this License. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed, excluding of any patent claims solely be infringed by your or others’ modification or other combinations. If you or your Affiliates directly or indirectly (including through an agent, patent licensee or assignee), institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability The Software and Contribution in it are provided without warranties of any kind, either express or implied. In no event shall any Contributor or copyright holder be liable to you for any damages, including, but not limited to any direct, or indirect, special or consequential damages arising from your use or inability to use the Software or the Contribution in it, no matter how it’s caused or based on which legal theory, even if advised of the possibility of such damages. End of the Terms and Conditions How to apply the Mulan Permissive Software License,Version 1 (Mulan PSL v1) to your software To apply the Mulan PSL v1 to your work, for easy identification by recipients, you are suggested to complete following three steps: i. Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii. Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii. Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [2019] [name of copyright holder] [Software Name] is licensed under the Mulan PSL v1. You can use this software according to the terms and conditions of the Mulan PSL v1. You may obtain a copy of Mulan PSL v1 at: http://license.coscl.org.cn/MulanPSL THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v1 for more details.

简介

疫情期间,严控出入,强化登记管理 展开 收起
JavaScript
MulanPSL-1.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/dcg1/xinguan2020-alien-registration.git
git@gitee.com:dcg1/xinguan2020-alien-registration.git
dcg1
xinguan2020-alien-registration
出入人员登记系统
master

搜索帮助