精华内容
下载资源
问答
  • (这里指出一个订单只能打印一个二维码,所以再开发的时候千万不要像我一样傻得为了节约纸,写了好几种方案只请求一次打印,这样的话人家只识别第一个!) 然后我加群请教他们的开发人员,沟通之后他们表示并不能...

    部分朋友不需要打印机的业务,则 忽略有关打印机的部分 即可。
    其他有关 微信小程序配置的介绍是通用的!通用的!

    生成正方形小程序码,请看 标题一
    扫普通链接生成的二维码打开小程序,请看 标题二

    场景

    前段时间公司引入了飞鹅打印机,官方文档:飞鹅传送门

    公司指定要在打印的小票中嵌入二维码,指向公司小程序的指定页面(带参)。
    比如打印一个订单,要嵌入一个二维码,扫码即可进入下单的店铺页面(非首页)。

    问题

    官方文档给出的嵌入二维码的方式是标签+链接

    在标签内部嵌入简短内容或者网址,打印室会自动生成包含嵌套信息的二维码,扫码即可展示文字内容或者跳转网址

    写法如下图:
    在这里插入图片描述
    这里指出一个订单只能打印一个二维码,所以再开发的时候千万不要像我一样傻得为了节约纸,写了好几种方案只请求一次打印,这样的话人家只识别第一个码!)

    但是怎么嵌套小程序码呢?这个时候我还不了解这个打印机,不知道它能不能打印更丰富的文本、图片、指定内容,或者奇形怪状的二维码?

    然后我加群请教他们的开发人员,沟通之后他们表示只能打印满足标签的内容,也就是说刚刚的疑问,都不能满足。

    也就是说并不能做到嵌入小程序的指定页面,只能做到嵌入小程序首页二维码的程度。方法是拿到自己小程序的方形二维码,然后用在线工具解析二维码,解析的结果当然是一个网址,然后将这个网址嵌入进标签打印即可,然后让我用这种方法试试。

    然后我进行了发散式的思考,经过了反复尝试,想了各种方法,终于找到了解决办法(见标题二)。

    以下内容,标题一先介绍 仅嵌入小程序首页(不带参) 的方法。
    标题二则介绍 将小程序的指定页面做成普通链接,生儿二维码直接扫码打开 的方法

    一、嵌入小程序首页

    这里先介绍只要嵌入小程序首页的教程。

    1. 登陆微信公众平台,设置 - 基本设置 - 小程序码及线下物料下载
      在这里插入图片描述
    2. 点击 下载 - 普通二维码,获取方形写哦程序二维码。
      在这里插入图片描述
    3. 用在线工具解析二维码
      在这里插入图片描述
    4. 复制解析出来的网址,嵌入标签中
    	String content = "<QR>https://mp.weixin.qq.com/a/~jSaaabbbcccQ~~</QR>";
    
    1. 按照api打印即可,扫码则进入小程序首页,这里就不再展示示例了。

    二、嵌入小程序指定页面

    既然小程序可以转化为链接打开,那么我们能不能获取到我想要的那个页面的链接呢?

    找了好久,抓包都用了,不得其法。。。

    但是我找到了微信的一篇文档: 扫普通链接二维码打开小程序
    通读之后,带着各种不确定性我做出了尝试,完全可行!

    这里还需要前端配合一下下,特此夸夸我们的前端老大哥,
    虽然各种毒舌,但是还是热心的一个好青年,给赞! (๑•̀ㅂ•́)و✧

    下面开始介绍步骤。

    1. 登录微信公众平台,找到 开发 - 开发设置
      在这里插入图片描述
      下拉页面,找到如图所示的项目,默认是关闭的,好像是需要管理员扫码开启这个功能
      在这里插入图片描述

    2. 添加一条规则,大致如下:

      这里有一些需要注意的地方,可以仔细阅读官方文档了解一下: 传送门

      其中,测试范围 指的是此规则的生效范围,如果选择体验版或者开发版,那么在进入对应的链接的时候,会进入对应版本的小程序(体验版|开发版),这样的话前端改代码就不用发布到线上去测试了,这个功能真的是real棒棒棒了哈哈~~

      测试链接 指的是这条规则即使不发布,也可以生效去测试的意思,所以得加上具体的传参,反正超级方便。

    3. 将这条规则保存,到列表那里点击发布,管理员扫码。(发布前可配置测试链接提前测试使用)

    4. 小程序这边的页面,接收参数的格式得处理一下,如图:
      在这里插入图片描述

    5. 包装参数,打印

    	// 如尚未发布,这里的参数id需要跟配置的 “测试链接” 相同
    	String content = "<QR>https://www.baidu.com/(随便填的子路径规则)?id=123</QR>";
    
    1. 打印出来的二维码,用微信去扫描,进去的就是你配置好的小程序页面了,还能带上参数,这样基本可以满足所有正常的需求了,这里不再举例放图。

    总结

    相信大家也看出来了,其实要让一个只能打印“包含简单内容”的二维码跳转别的内容,其实只要换个思路,让“小程序的跳转”变得简单就可以。

    开发过程中如果遇到难题,多些想法,多搜百度,多去实践,或者与人交流探讨,都是可行之法。

    最后的最后,如果我的文章帮到了你,拜托拜托给个赞吧~~在这里插入图片描述

    展开全文
  • 微信支付——扫码支付Native

    千次阅读 2019-12-19 19:32:16
    1.开通产品。(要实体店拍照) 2.Native支付有两种模式,先介绍...模式二:不依赖配置的扫码回调连接,但是生成的支付二维码有效期2小时,开发简单,两者业务流程有区别,模式二的二维码只能扫码付款一次; 3....

    1.开通产品。(要实体店拍照)

    2.Native支付有两种模式,先介绍第二中模式。公众号appid,小程序appid均可用,付款后展示的通知消息模板不同,移动应用appid不可。

    两种模式主要区别:

    模式一:依赖微信商户平台配置的扫码回调连接;

    模式二:不依赖配置的扫码回调连接,但是生成的支付二维码有效期2小时,开发简单,两者业务流程有区别,模式二的二维码只能扫码付款一次;

    3.使用模式二开发。

    统一下单——获取到code_url——拼接连接生成二维码

    请求成功返回示例:

    {
    	"nonce_str": "8UvmcoZt8OsY5q9m",
    	"device_info": "S-001",
    	"code_url": "weixin://wxpay/bizpayurl?pr=31qxQZu",
    	"appid": "wxdfc5c46e8cee32ca",
    	"sign": "F89ECB58489849D2D6856273383BA1ED",
    	"trade_type": "NATIVE",
    	"return_msg": "OK",
    	"result_code": "SUCCESS",
    	"mch_id": "154571",
    	"return_code": "SUCCESS",
    	"prepay_id": "wx191750353877131886b964d71860975500"
    }

    	/**
    	 * 模式二,生成2h的二维码<br>
    	 * 只传递了必须参数
    	 * 2019年12月18日 下午1:34:21
    	 * @param openid
    	 * @param appType 1小程序  2APP  0公众号
    	 */
    	public static Map<String, String> getQRCodeURL(String outTradeNo,int total_fee,int appType) {
    		Map<String, String> resutlMap = null;
    		try {
    			MyWXPayConfig wxPayConfig = new MyWXPayConfig();
    			wxPayConfig.setAppType(appType);
    			WXPay wxpay = new WXPay(wxPayConfig);
    			Map<String, String> reqData = new HashMap<String, String>();//只传递了必传字段,其他字段看文档
    			//mch_appid mchid nonce_str sign会自动装配
    			
    			reqData.put("body", "账户充值");
    			reqData.put("detail", "账户充值——平台充值");
    			reqData.put("attach", "附带:账户充值");
    			reqData.put("out_trade_no", outTradeNo);
    			reqData.put("device_info", "SD-WZSY-001");// 非必传,设备号
    			reqData.put("fee_type", "CNY");
    			reqData.put("total_fee",  String.valueOf(total_fee));
    			reqData.put("spbill_create_ip", "127.0.0.1");// 必传
    			reqData.put("notify_url", NATIVE_PAY_NOTIFY_NRL);
    			reqData.put("trade_type", "NATIVE");
    			reqData.put("product_id", outTradeNo);
    //			reqData.put("receipt", "Y");// 电子发票开放入口标识,非必填,需先在平台开通功能才可生效
    			resutlMap = wxpay.unifiedOrder(reqData);
    			
    			String returnCode = resutlMap.get("return_code");
    			String resultCode = resutlMap.get("result_code");
    			if (WXPayConstants.SUCCESS.equals(returnCode) && WXPayConstants.SUCCESS.equals(resultCode)) {
    				
    			}else {
    				
    			}
    			return resutlMap;
    		} catch (Exception e) {
    			LogUtil.exception(e);
    		}
    		return null;
    	}

    查询:(测试公众号和小程序可互查,估计是相互绑定,订单唯一原因)

    	/**
    	 * 查询订单
    	 * 2019年12月18日 上午10:40:04
    	 * @param outTradeNo 商户系统订单号
    	 * @param appType  1小程序  2APP  0公众号
    	 */
    	public static Map<String, String> getOrderInfo(String outTradeNo,int appType) {
    		Map<String, String> resutlMap = null;
    		try {
    			MyWXPayConfig wxPayConfig = new MyWXPayConfig();
    			wxPayConfig.setAppType(appType);
    			WXPay wxpay = new WXPay(wxPayConfig);
    			Map<String, String> reqData = new HashMap<String, String>();//只传递了必传字段,其他字段看文档
    			
    			reqData.put("out_trade_no", outTradeNo);//商户订单号,是
    			resutlMap = wxpay.orderQuery(reqData);
    			LogUtil.log("查询企业付款到零钱结果:" + JSON.toJSONString(resutlMap));
    			
    			String returnCode = resutlMap.get("return_code");
    			String resultCode = resutlMap.get("result_code");
    			if (WXPayConstants.SUCCESS.equals(returnCode) && WXPayConstants.SUCCESS.equals(resultCode)) {
    				
    			}else {
    				
    			}
    			return resutlMap;
    		} catch (Exception e) {
    			LogUtil.exception(e);
    		}
    		return null;
    	}

    使用商户订单查询返回结果:

    {
    	"nonce_str": "6YYDqZ8SqaGzv3MK",
    	"device_info": "SD-WZSY-001",
    	"out_trade_no": "201912192740039573727600640",
    	"trade_state": "NOTPAY",
    	"appid": "wx81711a50b5ad592b",
    	"total_fee": "1",
    	"sign": "DE24B4202FA15510278B167A91484118",
    	"trade_state_desc": "订单未支付",
    	"return_msg": "OK",
    	"result_code": "SUCCESS",
    	"mch_id": "1545047571",
    	"return_code": "SUCCESS"
    }

     

    额外:

    官方接口文档地址: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1

    展开全文
  • 大家都知道微信扫扫,而且很常用,基本都用来扫码关注微信号,扫码付款,再之外的如果要扫的二维码是链接就直接打开访问,非链接的直接显示文字。 然而有时我们需要在自己的网页上调用扫扫,然后按照自己的需要...
  • 大家都知道微信扫扫,而且很常用,基本都用来扫码关注微信号,扫码付款,再之外的如果要扫的二维码是链接就直接打开访问,非链接的直接显示文字。 然而有时我们需要在自己的网页上调用扫扫,然后按照自己的...
  • 微信扫码支付开发记录

    千次阅读 2016-08-24 13:23:47
    一种是模式二,生成的二维码只能在短期内使用(两小时),一次性(支付成功后无法使用),并且链接相比于模式一较短,二维码识别率高 模式一 需要在微信公众号后台设置扫码支付回调URL(准确的路径) 先按微信规则...
    微信扫码支付分两种
    一种是模式一,生成的二维码可以长期使用(可以多次重复支付).但是操作较繁琐
    一种是模式二,生成的二维码只能在短期内使用(两小时),一次性(支付成功后无法使用),并且链接相比于模式一较短,二维码识别率高

    模式一
    需要在微信公众号后台设置扫码支付回调URL(准确的路径)

    先按微信规则生成二维码,二维码格式如下
    weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXX&mch_id=XXXXX&product_id=XXXXXX&time_stamp=XXXXXX&nonce_str=XXXXX
    //其中weixin后面的冒号应该是英文格式,而微信文档中是中文格式的冒号(坑!),如果是中文格式下的冒号,会导致生成的二维码会被识别为文本.

    用户扫码二维码后,微信将发送一条请求到商户设置的扫码回调URL中,并且带有product_id和用户openid.
    商户根据接收的商品id,根据该商品信息,调用统一下单接口,获取到预支付ID,并且按微信需要的格式将数据返回
    //微信文档中没有写清楚,该地方接收返回的数据应该是什么格式(坑!),微信的回调函数是一个XML输入流,返回的数据也应该是XML
    //如果这里返回XML后,微信提示报错,先对比文档.检查返回的参数格式是否正确,签名是否正确

    如果返回数据格式正确,用户支付,支付成功会回调统一下单中设置的回调URL.
    //这地方也会返回一个XML格式的输入流.里面带有用户支付信息

    模式二
    模式二比较简单,商户接收到用户支付的请求,调用统一下单接口,发起支付请求,根据返回数据中的code_url生成二维码,

    用户扫码就可以支付,支付成功后回调统一下单中的url
    //该模式使用简单,基本无坑.
    //模式和H5支付差不多


    //扫码支付中,统一下单中的trade_type字段都应该传NATIVE参数
    展开全文
  • 每次登录公众号时,掏出手机扫一扫方能登录公众号,而且这个扫码动作只能是使用摄像头扫,不能是扫二维码图片。 如果在同一电脑上登陆过一次,后续登录时,只需要点下登录就可以,如下: 这样貌似也很方便。 不过,...

    一、常规操作

    每次登录公众号时,掏出手机扫一扫方能登录公众号,而且这个扫码动作只能是使用摄像头扫,不能是扫二维码图片。

    如果在同一电脑上登陆过一次,后续登录时,只需要点下登录就可以,如下:

    在这里插入图片描述

    这样貌似也很方便。

    不过,如果你所处的环境不允许你使用摄像头扫二维码,那么该怎么办呢?

    二、雷电模拟器扫码

    这里,我们可以使用雷电模拟器,在模拟器内登陆微信,然后使用该微信进行扫码。

    在这里插入图片描述

    雷电模拟器V3.104版本下载地址:https://dl.softmgr.qq.com/original/game/ldinst_3.104.exe

    下载后安装,登陆微信,然后选择“扫一扫”,如下:

    在这里插入图片描述

    选择“实时截取屏幕”,如下:

    在这里插入图片描述

    然后,将截取窗口拖动到,公众号登陆二维码处,如下:

    在这里插入图片描述

    扫码成功,选择公众号登陆(超哥学编程),如下:

    在这里插入图片描述

    输入公众号的账号和密码,确定。

    在这里插入图片描述

    登陆成功!!!

    在这里插入图片描述

    严格来讲不算真正的免扫码(用模拟器扫了),但是得到的效果是一样的,即只需要一台电脑+微信账号密码,就可以登陆公众号,无需手机。



    若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

    同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

    在这里插入图片描述

    展开全文
  • 这大概是我最无聊的一次折腾了。产生缘由微信公众号(小程序)的扫码登陆机制是在过于讨厌。一方面自作主张强制进行“二维码登陆保护”,且不允许关闭。另一方面,不允许长按扫码或者从相册中选择图片扫码登陆,强制...
  • 1.首先进入草料二维码官网 2.微信扫码登录注册,登录成功后即可进入草料二维码后台(手机微信小程序也...1.会存在无限返回填写,,一个人多条重复的数据,这里可设置一个微信号只能填写一次(具体设置如下) 2.如
  • (企业账号)支付宝的二维码怎么固定金额,并且在二维码上带上标识,可以让...当面付的demo里,也有生成二维码的,但是只能支付一次。 刚出来工作,第一次就弄支付宝。 现在没有后台,全是在手机端完成,之后再放后台
  • 最近比较工作比较轻松,帮一个朋友的基于ecshop开发的商城加入微信扫描支付功能,本以为是很简单的事儿——下载官方sdk... 遇到的问题:第一次扫描二维码还能正常扫描,未付款再次扫描会提示:ok 或 请求商户信息超时H
  • 废话不多说直接进入正题,第一次发帖写的不好的地方大家可以一起探讨。  首先访问smartQQ 的最新地址:http://web2.qq.com。  腾讯可能考虑的安全方便所以现在只能用手机扫描二维码再授权登录。之前输入用户名...
  • 1.iOS7上每一个AVCaptureSession只能startRunning一次有效,如果一次结果之后,照相机界面会停在最后的音相界面.再次调用startRunning无效.只能重新创建AVCaptureSession. 2.iOS7上扫一次码,会触发无数次...
  • 试想一下群里面那么多人在发,每个人一天也只能扫一次,根本不可能轮到你,所以在这个互联网科技发展这么迅速的时代,咱们需要一些科技手段!用Python给手机群发支付宝口令信息....基本环境配置版...
  • 什么是微信活码?活码有什么作用? 如果你做过裂变,一定明白其中的原理 ...微信群扫码只支持前100个人,那么我们只需要通过技术手段设置二维码扫码100之后自动更换个新群的二维码.这样就可以完美解决二维码会失效的
  • 商户后台系统先调用微信支付的统一下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付。注意:code_url有效期为2小时,过期后扫码不能再...
  • 最近在工作中遇到了一个问题,公司需要批量生成二维码,但是通过微信公众平台生成只能一次生成一张,如果通过云函数循环的去调用云函数api生成的话实现起来也比较费时间,所以最终找到了一个第三方的网站-草料二维码...
  • 昨天的成果:虽然不能用bmob调用微信支付,但是放上一张二维码用来收钱 ...所以只能放上一张二维码,长按保存到手机,在手机相册扫码才可以(可惜)。 转载于:https://www.cnblogs.com/ljysy/p/8280018.htm...
  • 当从另个域名下的系统进行绑定操作时,只能以打开指定域名的方式进行二维码扫码授权. 同时又需要保持当前的访问状态不被影响,所以在pc端使用打开新窗口的方式. 授权成功后需要跳转个回调地址,打开url的时候...
  • 昨天的成果:进一步对二维码优化,调用扫扫接口失败,所以只能先保存到手机上,再扫码。 今天的目标:和孙丙海在大一学生里边寻找体验用户。 遇到的问题:认识的大一学生不够多。 转载于:...
  • 手机微信扫码后转入第1步,正常。  说明:网上找了好多增加UA使变为微信浏览器,效果与第2步一样,仍旧无法投票。   请问: 1、如何判断的是手机j端浏览器还是电脑端...
  • 通过第三方库qqbot来实现,pip install qqbot 直接安装就行脚本直接运行会弹出二维码,手机qq扫码登录即可通过#weather# city 来查询天气预报通过#study# key value 来进行学习,以json格式存储在指定文件第一次运行...
  • 后台服务器按照选的商品的定价生成收款二维码并传递给售货机并在显示屏上显示出来(这个码是唯一的且只能一次)。顾客扫码付款,同时后台服务器在不停地查账看看这个收款码对应的钱进账了吗,如果进账了,后台...
  • 11、可限制用户每天抽100次12、用户首页集成个人中心功能、用户可查看自己详细的数据13、用户可充值、抢红包更爽,再也不用支付一次,抢一次了14、灵活强大的大转盘功能,独家开发,自己可完全个性定制。15、双佣金...
  • 11、可限制用户每天抽100次12、用户首页集成个人中心功能、用户可查看自己详细的数据13、用户可充值、抢红包更爽,再也不用支付一次,抢一次了14、灵活强大的大转盘功能,独家开发,自己可完全个性定制。15、双佣金...
  • 蕊蕊定时器 v2.1.zip

    2019-07-14 07:35:54
    【优化】修改按钮背景时支持一次性显示所有支持的图片,大大节省了修改格式选择图片的时间哟 【修复】修复恢复出厂设置后计时背景(壁纸)默认显示的问题 【优化】锁屏开启软件防关功能优化,堪比城墙那么牛叉 ...
  • 它的调整是一次性的,并且只针对一个网页,网页默认音量值是100%, 你可以把它调整到200%,这个200%只对当前网页有效,网页内换视频也可保留200%的效果,不会影响其它网页。 099《Get Favicon》一键获取网站的超清...
  • 支付宝到账DEMO.exe

    2020-07-06 16:59:40
    结论:采用pc端数据抓取结合模拟人工操作演出退出登录时长同时做好退出登录的消息提醒,实测20小时需要登录一次还是能够接受的 *** ## 前端生成付款二维码 接口1: alipays://platformapi/startapp?appId=20000123...
  • 2.3.0 将单向链表reverse,如ABCD变成DCBA,只能搜索链表一次。 2.3.1 将二叉树的两个孩子换位置,即左变右,右变左。不能用递规。 2.3.2 以下属于物理层的设备是? 2.3.3 在以太网中,是根据()地址来区分不同...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
热门标签
关键字:

二维码只能扫码一次