zoukankan      html  css  js  c++  java
  • [Other]来做一个微信打印机吧 -- 微信打印的设计思路參考

    项目源代码地址:https://github.com/callmewhy/why-wechat-printer

    近期微信打印机小火了一把。比方印美团。747微信打印机,都是利用微信公共平台实现照片的打印。

    详细流程:

    1. 扫描二维码关注公共主页
    2. 发送图片
    3. 发送微信打印机上的打印码

    简单三步,实现微信打印照片的功能。

    那么它是怎么实现的呢?在此提供一下自己的思路供大家參考

    源代码已经写好了。确实可行。


    假设大家有好的思路欢迎一起分享^_^

    微信的后台接口

    用户把照片发给微信公共账号,在接收到的时候是有图片的url的,所以我们不用考虑图片的存储问题。

    • 在接收到用户发送图片消息的时候,把用户的ID和图片的地址写入到数据库的wx_images表中,
    • 在接受到用户的文字信息的时候,推断一下是不是四位数字的打印码。然后写入到刚刚那条记录里,以供打印机依据打印码获取。

    至此,微信接口的任务就算是完毕了。



    打印机的后台接口

    打印机在执行之后,首先要做的事情是获取打印码。
    设置打印码的目的。是为了防止有人随便发送照片捣乱。所以在打印机刚执行的时候,要去server获取它自己的打印码。
    为了防止打印码反复,我新建了一个wx_printers表。
    用random随机插入了100条数据,也就是100个随机的打印码,然后用一个状态标示符来标记这个打印码的状态是已用还是未用。
    打印机执行之后会先去server获取一个打印码并存到本地。然后依据这个打印码不断地訪问server,获取打印任务。
    获取到打印任务之后,直接下载图片并存到本地的暂时文件。然后调用打印的借口。



    主要的流程图:




    源代码下载地址:https://github.com/callmewhy/why-wechat-printer

  • 相关阅读:
    sed 搜索并替换
    error: call of overloaded ‘sqrt(double&)’ is ambiguous
    C++数组读入MATLAB数据
    Ubuntu 18.04 安装 Octave 5.1
    Ubuntu 18.04 安装 CUDA 9.0
    LSTM 神经网络输入输出层
    tf.nn.rnn_cell.MultiRNNCell
    w = tf.Variable(<initial-value>, name=<optional-name>)
    linux下修改环境变量
    linux内核编程学习——草稿
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6853147.html
Copyright © 2011-2022 走看看