# M疫情
**Repository Path**: wxless/m_epidemic
## Basic Information
- **Project Name**: M疫情
- **Description**: 疫情人员流动管理小程序-适用于学校,工厂,公司等有人员出差和活动的场景。✔ 允许教学交流或使用(非盈利)❌ 未经授权,禁止盈利使用(给个 star❤))
- **Primary Language**: JavaScript
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 33
- **Forks**: 5
- **Created**: 2020-03-09
- **Last Updated**: 2023-07-06
## Categories & Tags
**Categories**: 2019-ncov
**Tags**: None
## README
  
### 效果预览
### 主要功能介绍
> 1.来访/出差人员登记
使用了百度的OCR识别功能,在本小程序中的应用为火车票和身份证识别。**DDAdd.js**
关于接入百度接口内容详细介绍可参考我的博客园文章
[微信小程序接入百度OCR(身份证识别)](https://www.cnblogs.com/masterchd/p/12452005.html)
百度接口需要定时刷新access_token,该部分功能实现可参考我的博客园文章
[微信小程序开发技巧总结(三)-- 云开发时效数据刷新和存储 (access_token等)](https://www.cnblogs.com/masterchd/p/12431426.html)
1. ✔身份证OCR
2. ✔车票OCR
3. ✔Token定时刷新
> 2.历史访问记录快速检索
使用云函数提供的接口进行快速的查询(仅展示一个字段匹配),具体查看 **DDList.js**
~~~javascript
{
name: db.RegExp({
regexp: _.searchkey,
options: 'm',
})
}
~~~
> 3.Echarts统计展示
导入echarts组件(**DDCount.js**)引入了自定义的饼图、线图和柱状图组件和地图绘制ec-canvas组件
~~~json
{
"component": true,
"usingComponents": {
"ec-canvas": "../../../ec-canvas/ec-canvas",
"ec-pie":"../../EchartsPrints/DDPie/DDPie",
"ec-line":"../../EchartsPrints/DDLine/DDLine",
"ec-bar":"../../EchartsPrints/DDAxis/DDAxis"
}
}
~~~
具体实现内容代码较多,参考**DDCount**目录
如上内容展示第四张图所示,引入的饼图和柱状图都是作为组件封装好的 ,组件在**EchartsPrints**目录下。
其大致概念介绍可参考博客园文章
[小程序Echarts 构建中国地图并锚定区域点击事件](https://www.cnblogs.com/masterchd/p/12457812.html),
组件中图形的点击事件绑定与其类似,整体的项目也可以作为组件被引入他人项目中去。
> 4.拓展功能-全国疫情数据展示
接口新浪 - 数据展示,不作赘述。
#### 导入项目
准备工作
[申请小程序云开发权限](https://jingyan.baidu.com/article/5d368d1eb418153f60c057b1.html)
> 1.下载项目
`git clone https://gitee.com/Kindear/m_epidemic.git`
> 2.项目导入
微信小程序引入项目 修改`project.config.josn`文件
~~~
"appid": "修改为你的小程序appid",
~~~
修改 `application.js`文件中云环境id
~~~js
var CloudSetting = {
UseCloud: true, //是否使用云开发服务器
CloudId:'云环境id', //云开发环境id
TraceUser:true, //记录用户访问日志
AdaptStorge:true, //允许缓存用户数据
}
~~~
> 3.云函数部分配置
配置timer云函数,修改其appid和appsecret,在[百度云](https://ai.baidu.com/)创建并引入
1. 右键整体timer -> 上传并部署云端安装依赖
2. 右键config ->上传触发器
~~~js
// 定时器
exports.main = async(event, context) => {
const appkey = '';
const appsecret = '';
}
~~~
其余云函数只执行步骤 1即可。
> 4.部分细节配置
1. 业务域名
2. 开通云环境等
3. 云开发环境新建集合 `authlog`和`setconfig`修改权限为所有用户可读,仅创建者可读写
刷新小程序完成导入。