GO语言开发的单据管理系统# 系列文章目录
前言
前面的文章写完之后,身边的同事都在抱怨每次手动填写费用申请单据很麻烦,每次需要手写不说,纸质单据还容易丢失,在他们的墙裂要求下只能把数据采集的事情先放一边,给他们解决眼下的需求。
提示:以下是本篇文章正文内容,下面案例可供参考
一、需求分析
经过几次的需求对接和梳理,这个小系统需要具备单据输入、打印和历史数据查询的功能。由此,数据库就必不可少了。在对数据库进行选型时,分析实际应用的需求主要是处理日常的采购费用单据,实际数据量、访问量、连接数等等并不要求很高,也并不需要数据库具备能够处理巨量数据的能力,在某种程度上其实随便一种数据库都能满足要求。前段时间一直都在搞influxDB,正好可以拿来练练,数据库算是定下了。
在应用的操作页面方面,GO语言有几大成熟的web应用框架,beego、gin、iris等,没有详细研究三者的区别,直接用了gin作为框架开发web后端。这个简单项目仅在公司内部使用,就写了些最简单的HTML和JS,能满足使用就行了,并没有对前端框架进行深入研究。
二、数据结构
在这样的系统中,由于使用了influxDB,数据结构包含两个方面:**数据库连接参数**和**表单数据**。1.数据库连接参数
influxDB现在已经升级到了v2.0.4版,貌似已经不支持windows,纠结的小伙伴可以虚拟个Ubuntu安装使用,相关的教程网上随便搜,官网地址如下 influxDB安装。
influxDB数据库连接参数主要是url和token,此外还有表单数据存储对应的org, bucket, measurement等等。为了便于未来迁移数据库或者进行备份,这里将数据库连接参数做了初始化设计并可以在需要的时候直接修改参数、灵活配置。对应的json文件如下:
{
"Influxdbtoken" :"xx",
"Influxdburl" :"xx",
"Influxdborg" :"xx",
"Influxdbbucket" :"x x",
"Inf