用一周时间落地了一套溯源信息查询平台,我太难了

这一切的开始还得从买一袋竹叶青的茶叶说起:

当前跟我一哥们一起品茶的时候,看到了他这个包装袋背面的二维码溯源平台,我扫了一下,内容如下:

朋友当时问了我一句:这系统开发起来难不?

我回:这系统没什么难度啊,,3天就能给你搞上线。。。

于是乎,踏上了一条不归的踩坑路。。。

 

项目的需求大概是这样,有自己的工厂,有自己的品牌,需要在自己的产品包装上贴上这么一个溯源贴。尽量不要增加太多工人的工作量。

于是我也大概想了下,步骤应该是下面这个样子的:

1、生成10W个防伪标签,找防伪标工厂印刷出来。

2、每个标签上 印上溯源的二维码,其实就是一个手机网页url,如:http://t.xxxx.com/r/test/1234567890123456

3、其中test是客户标识,16位数字是 溯源的加密码,可以被解密成1-2亿内的一个纯数字 。

4、把这些标签用贴标机 全部贴的盒身

5、在盒身 喷生产日期的流水线上,加一到工序,taobao了一下,有种二维码的扫描头是固定式的,可以固定的流水线。

6、二维码扫描出来的数据呢?如何处理?

7、还得需要一台 触摸屏的工控机,用串口方式和这个扫描头连接,接收的数据发送到阿里云服务器。

8、工控机上面的用户交换软件用什么技术,目前我掌握了electron和c#两种技术。二选一。

9、扫描头和工控机 有两种连接方式,串口和USB,二选一。最后定了串口。不会有抢焦点的问题。

10、扫描出来的数据 通过什么方式传到阿里云?websocket  和http请求,二选一,肯定是websocket,相对于socket这个我熟悉一些。

11、服务器websocket服务端收到数据,直接入数据库 或 通过队列异步入库?二选一,我选择了redis异步写入mysql 

12、接收到的 二维码url,把test和 16位数字 解析出来,在写入mysql之前,把16位数字 解密 成1。2。3,和溯源信息相关联。

13、二维码溯源页面展示就用这个世界上最好的语言php实现吧。。。样式模仿竹叶青的。。

服务器上已经搭建好的软件 有 thinkphp页面展示 ,redis ,websocket(基于workerman),c#打包的16位数字解密dll

主要的时间都是花在了工控机这套用户交互系统 的开发上面的,c#和electron两种技术 纠结好好几天, 各有各的优缺点。

最终在electron的解决方案找到了 node-serialport 这个比较 NB的第三方库,数据读取稳定。。c#在读取串口数据发送的时候,总是出现字符被截断的情况,,,短时间内我也解决不了,,果断放弃了。

以前没开发过这种交互软件,也没有个参考的对象,两眼一摸黑。。

最后使用了element 勉强搭建出来几个页面,用了一周时间 完成了基本所有主要的功能,

主要时间其实全花在一些细节上,有些功能对于强迫症的我来说,,花再多时间也必须在上线前也得完成。

比如软件开机自启动,软件自动更新,消息异步落地,你说要不要,现在省的时间,以后只会花更多的时间去填坑

明天准备去工厂安装 调试。。。。

想一想,这种溯源平台,可能 在某些公司要有一个10来人的团队,开发维护数月,,,,我直接7天全平台搞定,,想想有点 可笑?讽刺?没有吹嘘自己的想法,虽然 开发这一周了 搜索了很多资源 ,踩了很多坑,,也克服了很多难点,但我现在的想法和7天前还是一样,,这平台没什么难度,,,,无法就是些增删改查(CURD)的事。。。。很多码农看不上增删改查的工作或系统 ,,,但是细细想来,所有信息化系统的本质 无非就是数据的增删改查啊。。。