【赏金猎人第一期】利用前端事件、云打印机、云函数 ,现实远程自动打印(思路分...

楼主
我是社区第652491位番薯,欢迎点我头像关注我哦~

场景:用户通过外链提交数据,提交后自动打印小票,方便后续业务使用。



要求:

  • 用户无需手动执行打印操作,无感打印。
  • 打印机无需连接电脑,可远程打印。
  • 考虑成本原因,不使用简道云API,使用前端事件实现。



思路:计划通过简道云 前端事件 发送打印数据到云打印机,但向打印机发送数据的时候,发现多家云打印机都要求对参数进行加密签名,如:飞鹅要求对参数进行SHA1加密,但简道云没有SHA1函数,理论上可以自己写一个SHA1公式出来,但太麻烦。这个时候考虑引入云函数来实现SHA1加密,得到SHA1后再通过前端事件POST数据到云打印机。

步骤:

  • 购买云打印机,常见品牌:飞鹅、易联云。本文使用飞鹅58小票云打印机;
  • 注册飞鹅开发者账号,https://admin.feieyun.com/regist.php,绑定打印机;
  • 在腾讯云(或者阿里云、百度云)开通并设置云函数。(有免费额度,一般都够用)。
  • 在简道云通过两次前端事件实现自动打印。

 

参考:

 

备注:

  • 云函数的唯一功能就是对参数进行SHA1签名。
  • 即使数据最后没有提交,也会打印票据,需要根据实际场景灵活使用。



打印效果见附件。

最后,感谢简道云提供如此高效、高性价比的产品!

编辑于 2021-4-26 22:16  

---------------------------------------------------------------------------------------------------------------------------
4月29日补充

关于云函数:云函数的用途就是获取签名,本文中飞鹅要求拼接参数后,进行sha1签名。腾讯云提供了免费的云函数和API网关,简道云也有封装接口的视频教程:https://edu.fanruan.com/video/play/1741


现在就利用腾讯免费提供的云函数,来给我们做sha1签名,我使用的PHP(临时学习的,效果是做到了,但可能写的不规范),流程就是简道云把一段字符传给云函数,然后云函数利用PHP内置的sha1函数,获取到签名,再返还给简道云。以下是php的代码。阿里云、百度云一样的流程。

  1. function main_handler($event, $context) {

  2.     print "start main handler\n";
  3.     $event = json_decode(json_encode($event), true);
  4.     $str = $event['headers']['str'];
  5.     $sha = sha1($event['headers']['str']);
  6.  

  7.     //Generate return msg from API Gateway 构造API网关返回值

  8.     $rep = array(
  9.  
  10.  

        "isBase64Encoded" => false,
        "statusCode"=> 200,
  11.     "headers"=> array(
  12.         "Content-Type"=>"text/html"
  13.         ),
  14.     "body"=> "{\"sig\":\" $sha \"}",
  15.     );
  16.     //$rep = json_encode($rep.true)
  17.     return $rep;
  18. }

     

  19. ?>

  20.  
  21.  

复制代码


编辑于 2021-4-29 17:43
编辑于 2021-4-29 20:58  

分享扩散:
参与人数 +2 F豆 +10 贡献 +10 理由
fangaohao + 10
云团 + 10 太棒了,给你32个赞,么么哒

查看全部评分

沙发
发表于 2021-4-27 09:31:58
恭喜大佬破获赏金任务:50F币和10贡献值已发放,F币可以在商城买买书或者周边,存够了能换京东卡和提现!
https://bbs.fanruan.com/thread-135155-1-1.html
板凳
发表于 2021-4-27 10:32:33
感觉很牛,但是不知道这么实现。不会。
地板
发表于 2021-4-28 16:27:03
确实还是超出了平时使用函数的范围,求更加详尽的攻略。
5楼
发表于 2021-6-8 13:35:39
道友 求联系方式
6楼
发表于 2021-6-11 09:54:36
非常nice
7楼
发表于 2021-6-11 10:12:44

贫道看不懂
8楼
发表于 2021-6-12 00:34:49 发布于APP客户端
急需这样远程无感打印
9楼
发表于 2021-6-13 10:01:54 发布于APP客户端
现在演示的当场录入信息,然后出打印机打印,那如果提交成功后的数据能像原来标准的点打印,也发出来吗?
10楼
发表于 2021-6-25 16:57:35 发布于APP客户端
是对打印机有要求吗?请问?
11楼
发表于 2021-9-29 16:06:06
12楼
发表于 2021-10-31 12:59:40
这能套用在云打印盒或者别家的云打印机吗?
13楼
发表于 2022-1-14 09:00:51
有没案例提供一下,我们需要这个
14楼
发表于 2023-11-29 16:11:12
非常好,关于云函数用php的编写的代码是复制了以后贴在简道云前端事件里吗?能不能指教一下啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

17回帖数 14关注人数 13827浏览人数
最后回复于:2023-11-29 16:11

返回顶部 返回列表