照片打印机系统的设计与实现基于微信公共平台外文翻译资料

 2022-12-18 04:12

英语原文共 3 页,剩余内容已隐藏,支付完成后下载完整资料


国际计算机科学与电子技术会议(CSET 2016)

照片打印机系统的设计与实现基于微信公共平台

李凡

北京邮电大学

中国北京lifan@bupt.edu.cn

摘要:本文介绍了一种基于微信公共平台的自助照片打印系统的设计与实现。用户可以通过微信公共平台上传照片,通过网络编辑照片,选择大小,然后使用机器打印照片。基于微信公共平台开发移动客户端。服务器基于Linux系统,机器系统为Windows。主要开发语言是python。

关键词:照片打印机;微信公众平台;Python

Ⅰ 我的介绍

近年来,随着移动互联网的快速发展,智能硬件的生产效率也越来越高。移动操作系统iOS和Android占据了最大的市场份额。因此,这两个系统几乎都开发了App开发。然而,两种系统的技术是如此的不同,为了满足iOS和Android用户的需求,这将增加难度。有一些平台级的超级应用,微信就是其中之一。对于不太复杂的需求,微信公共平台提供了统一的解决方案。在微信公共平台上开发的方法不仅降低了成本,而且提供了强大的支持流。

本文介绍了基于流程的微信自打印设备公共平台的基本原理和工作原理,然后描述了服务器和客户端的实现。最后,我们将展示实际的设备原型。

Ⅱ 系统概述

该系统由硬件和软件两部分组成。软件部分包括打印机终端客户端和web服务器。硬件部分是印刷机。服务器主要负责连接微信公共平台,接收、存储、处理照片。它将接收用户发送的打印信息,并与客户端软件进行通信。客户端软件主要负责从服务器下载照片,以及照片的显示和处理。它将向服务器下订单并接收付款通知,然后打印照片。基本流程如下:

图1:系统结构

A.微信公共平台

移动客户端开发基于微信公共平台。用户可以在微信公共平台的对话窗口和微信浏览器的网页上与服务器进行通信。微信公共平台提供了一系列简单的格式来传输数据,包括文本、图片、视频、音乐、链接、位置等类型。用户可以直接将照片发送到公共平台,微信服务器将根据微信管理站点的设置将照片发送到指定的服务器,使用xml格式。http服务器接收消息,然后从xml字符串中提取信息。最后,服务器将用xml格式打包我们想要响应的消息。这样就完成了交互。这个过程类似于C/S结构的形式,使用基于微信公共平台的http协议。

除了请求-响应表单,用户还可以从微信公共平台接收通知消息,方便用户完成长时间的任务(如图像处理、等待支付响应结果等)。

作为一个非常受欢迎的社交应用,微信拥有如此多的用户。在传统的应用中,用户需要注册一个账号才能获得应用的服务,应用服务器可以跟踪账号的使用情况。但这在微信公共平台上更方便,因为它为我们的服务器提供了用户的唯一标识,可以跟踪目标用户。用户不再需要注册新帐户。

微信公共平台的交互对话框也有其局限性。它只支持一些简单的格式,流程非常简单。对于更复杂的运算,我们可以在微信web浏览器中创建用户可访问的网站,可以直接、自由地进行通信。

B .服务器

web服务器是整个系统的核心部分。它负责存储数据、读取和处理照片以及操作数据库。服务器程序接收并解析由微信公共平台转发的消息。它将根据微信发送的信息从微信服务器上下载照片,然后进行处理并响应微信文本消息。与web页面中的操作一样,它是典型的B/S结构,服务器将提供web页面供用户显示和操作数据。打印机软件程序需要具备图片下载、支付、订单管理等功能。因此,作为打印机客户端与微信平台表单的桥梁,服务器应具有标准化的接口和适当的数据库设计。

数据库是存储所有数据的响应,包括用户信息、照片、订单、打印机信息等。应该有不同的模块来处理请求。

C .客户

打印机客户机软件是用于提取和预览照片、向服务器下订单以及管理打印机的响应。每一张图片都与唯一的提取代码相关,该代码由微信公共平台生成并返回。提取代码应该只在一定的时间内有效。客户端通过正确的代码下载照片后,将照片呈现给用户。当用户确认照片ok时,客户端将向服务器请求并下订单。为了保证支付的安全性,所有的订单都应该通过web服务器下单,客户端软件不直接向第三方发送支付请求。下单后,客户等待下单付款结果,然后根据付款结果打印照片。这就是客户机的工作方式。

另外,出于安全考虑,客户机和服务器之间的通信应该有检查签名的方法,以确保请求不是假的。我们使用对称密钥算法。客户机和服务器具有相同的密钥,客户机加密http请求参数。服务器使用相同的密钥加密它,并将结果与签名进行比较。这样可以保证请求的真实性。

Ⅲ 实现

A. 微信和Linux服务器

首先,构建可以在公共网络中访问的http服务器,微信服务器将根据微信公共平台管理页面中的设置向其转发消息。正如微信开发文档所述,需要添加回调url和秘密令牌。此外,在对消息进行加密和解密时,应该提供一个密钥。

服务器应响应微信服务器以不同格式发送的不同消息,包括文本消息、图片消息和菜单消息。服务器根据用户的指令指定相应的响应规则。收到图片信息后,服务器会下载

并存储图像,以及诸如裁剪、调整大小、压缩照片等处理操作。然后服务器用唯一的提取代码将通知发送给用户。菜单消息包含显示有用提示、查看订单历史记录等功能。

用户上传的照片大小比例不固定。为了使打印出来的照片好看,服务器为用户提供了两种解决方法。首先,照片由系统自动处理,不剪切原始图像。添加白色边框以确保比例一致。其次,用户手工裁剪网页。通过这种方式,服务器需要提供用于裁剪和预览的页面。这个函数是在微信浏览器中实现的。此外,浏览器web页面还可以提供更多的扩展。

服务器程序是用django[2]开发的,django[2]是python的一个流行web框架。使用PIL[3]开发完成图像处理的模块,PIL[3]是python编写的一种图像工具包,界面友好。用户与微信公众号的通信方式如下:

1)用户对焦微信公共号并发送照片,服务器将响应照片编辑链接和提取代码给用户。

2)如果用户不需要编辑照片,直接进入步骤4;

3)点击链接跳转到微信网页,选择打印尺寸,点击ok按钮。服务器的裁剪操作完成后,用户可以在新的页面中预览裁剪结果,并从服务器上得到完成的通知。

4)用打印机客户端提取的代码下载照片。

B.终端客户端系统

客户负责提取、显示照片、下单、接收付款结果、打印照片。用户与设备的通信方式如下:

1)在客户端软件主页,用户可以输入来自微信公共平台的代码。这将下载相应的照片并预览它。提取代码在一段时间内有效。

2)有一些可选的功能,包括旋转图片,给图片添加边框,选择打印数量等。当用户对此步骤没有疑问时,转到下一个步骤。

3)选择支付方式,包括北京公交卡支付和微信支付。使用微信支付时,用户需要在微信app中打开相机扫描二维码,然后按照说明付款。

4)客户成功收到付款通知后,照片打印软件将打印照片,用户等待完成。

在使用微信支付时,服务器程序需要配合微信服务器和终端客户端。通知基于web-socket协议,这是一种全双工的通信方法,不像http,它是半双工的。服务器可以主动地向客户端发送消息,并且可以避免频繁的请求,这是在浪费带宽。

卡支付需要卡制造商提供的动态链接库接口。接口包括活动、查询、支付等。

C.打印机管理

为了管理多台打印机,服务器系统提供了可视化的web界面来操作数据库。这些特性是:

1)从客户端接收周期心跳包,确保每台机器处于在线状态,可以正常工作。

2)当客户端出现一些问题时,如脱机、缺纸、硬件问题等。管理员可以以某种方式自动接收来自服务器的通知(电子邮件、短信、微信消息)。

3)检测并记录机器的在线和离线日志。

4)远程管理客户。动态在线管理管理密码。

5)管理用户、订单、上传照片、提供用户反馈等功能。

Ⅳ 结论

本文设计并实现了一个照相打印机系统。系统为自助服务,支持1寸、2寸、6寸、8寸等多种尺寸。

参考文献:

[1]戴申Z,洪亮Q.微信公共平台开发——订阅功能研究[J]。引用本文:电子技术与软件工程,2013,19:66-68。

[5]刘建民,刘建民,等。基于b0的Python web开发[M].北京:北京大学出版社。addison - wesley专业,2008年。

[6]刘建民,刘建民。Python图像库(PIL)的设计与实现[J].北京:北京大学出版社。2012.

用Python和Qt快速GUI编程:PyQt编程的权威指南[M]。培生教育,2007年。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[20056],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。