外卖小程序实战-接单后小票机自动打印订单

简介: 外卖小程序实战-接单后小票机自动打印订单

1、导入小票机的sdk

https://www.feieyun.com/api/API-JAVA.zip

public static String addprinter(String snlist){
   
   //通过POST请求,发送打印信息到服务器
   RequestConfig requestConfig = RequestConfig.custom()  
            .setSocketTimeout(30000)//读取超时  
            .setConnectTimeout(30000)//连接超时
            .build();
   
   CloseableHttpClient httpClient = HttpClients.custom()
          .setDefaultRequestConfig(requestConfig)
          .build(); 
   
    HttpPost post = new HttpPost(URL);
       List<NameValuePair> nvps = new ArrayList<NameValuePair>();
   nvps.add(new BasicNameValuePair("user",USER));
   String STIME = String.valueOf(System.currentTimeMillis()/1000);
   nvps.add(new BasicNameValuePair("stime",STIME));
   nvps.add(new BasicNameValuePair("sig",signature(USER,UKEY,STIME)));
   nvps.add(new BasicNameValuePair("apiname","Open_printerAddlist"));//固定值,不需要修改
   nvps.add(new BasicNameValuePair("printerContent",snlist));
   
   CloseableHttpResponse response = null;
   String result = null;
       try
       {
          post.setEntity(new UrlEncodedFormEntity(nvps,"utf-8"));
          response = httpClient.execute(post);
          int statecode = response.getStatusLine().getStatusCode();
          if(statecode == 200){
           HttpEntity httpentity = response.getEntity(); 
            if (httpentity != null){
               result = EntityUtils.toString(httpentity);
            }
          }
      }
      catch (Exception e)
      {
          e.printStackTrace();
      }
      finally{
          try {
             if(response!=null){
                response.close();
             }
          } catch (IOException e) {
             e.printStackTrace();
          }
          try {
             post.abort();
          } catch (Exception e) {
             e.printStackTrace();
          }
          try {
             httpClient.close();
          } catch (IOException e) {
             e.printStackTrace();
          }
      }
      return result;
  
}

 

查看这个添加打印机的方法。

他这个方法不是我想要的,目前这个方法是将user和ukey写死,只能传入打印机列表参数。

而我们需要设置user和ukey,所以得把它这个方法魔改一下。

2、制作需要的请求类

@Data
@Schema(description = "添加小票机")
public class FeieyunRequestDto {
 
    private static final String API_NAME = "Open_printerAddlist";
 
    @Schema(description = "飞鹅云后台注册用户名")
    private  String user;
    private  String ukey;
    @Schema(description = "当前UNIX时间戳,10位,精确到秒。")
    private  String stime;
    /**
     * 对参数user+UKEY+stime 拼接后(+号表示连接符)
     * 进行SHA1加密得到签名,加密后签名值为40位小写字符串。
     */
    private  String sig;
    @Schema(description = "请求的接口名称")
    private  String apiname;
    /**
     * debug=1返回非json格式的数据。仅测试时候使用。
     */
    private  String debug;
    /**
     * 打印机编号(必填) # 打印机识别码(必填)
     * # 备注名称(选填) # 流量卡号码(选填),
     * 多台打印机请换行(\n)添加新打印机信息,每次最多100台。
     */
    private  String printerContent;
}

 

3、更改请求参数

 

4、单元测试

本来我的帐号是没有添加小票机的

执行程序

程序执行完毕,可以看到我的设备列表里新增了一台打印机,而打印机的名字也跟我程序里的“测试打印机”刚好相符,说明我们的程序是没问题的。

5、集成接口

6、测试接口

成功了。

7、打印的测试结果

打印方法的改造和接口的写法跟上面差不多,不再赘述。

用户支付成功后调用小票机打印接口,实现自动打印。

看实验效果,成功了


目录
相关文章
|
3月前
|
小程序 JavaScript 前端开发
基于微信小程序的校园外卖订餐配送系统
本研究针对校园外卖配送效率低、体验差等问题,设计并实现基于微信小程序的智能配送平台。融合SSM、Vue、uni-app等技术,优化点餐、支付与配送流程,提升师生用餐体验与餐饮管理效率。
|
4月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
4月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
8月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
829 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
11月前
|
人工智能 自然语言处理 小程序
让小程序拥有“视觉之眼“:DeepSeek图像识别实战指南
本文介绍如何通过DeepSeek计算机视觉技术,赋予小程序“看懂世界”的能力。从构建视觉感知系统、训练专属视觉词典到创造会思考的界面,详细讲解了实现智能相册、植物识别器和老旧照片修复等功能的步骤。最后探讨性能优化与安全合规要点,展望未来视觉智能应用的无限可能。
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
2228 0
|
小程序 安全 搜索推荐
【微信小程序开发实战项目】——个人中心页面的制作
本文介绍了如何设计和实现一个网上花店的微信小程序,包括个人中心、我的订单和我的地址等功能模块。个人中心让用户能够查看订单历史、管理地址和与客服互动。代码示例展示了`own.wxml`、`own.wxss`和`own.js`文件,用于构建个人中心界面,包括用户信息、订单链接、收藏、地址、客服和版本信息。我的订单部分展示了订单详情,包括商品图片、名称、销量、价格和订单状态,用户可以查看和管理订单。我的地址功能允许用户输入和编辑收货信息,包括联系人、性别、电话、城市和详细地址。每个功能模块都附有相应的WXML和WXSS代码,以及简洁的样式设计。
968 0
【微信小程序开发实战项目】——个人中心页面的制作
|
12月前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
543 0
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
290 0
在线课堂+工具组件小程序uniapp移动端源码
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
2835 3