.NET开发微信小程序-生成二维码
1.生成小程序二维码功能
直接请求相应的链接。传递相应的参数
以生成商铺的付款码为例:
- var shopsId = e.ShopsId
- //付款码的参数
- var codeModel = new function () { }
- codeModel.path = "pages/PageWxPay/PageWxPay?shopsId=" + shopsId
- codeModel.width = 430
- codeModel.auto_color = false
- codeModel.line_color = { "r": "0", "g": "0", "b": "0" }
- var data = {
- shopsID: shopsId,
- data: JSON.stringify(codeModel)
- }
- console.log(data)
- api.RequestApiURL("Weixin/MyPaymentCode", data, function (codeData) {
- console.log(codeData)
- var obj = codeData.data.data
- if (obj.Key == "0") {
- that.setData({
- payCodeUrl: app.globalData.apiurl + obj.Value
- })
- wx.hideLoading()
- }
- else {
- wx.showToast({ title: obj.Value })
- }
- })
后台代码处理
- private static object obj = new object();
- /// <summary>
- /// 创建二维码
- /// 接口A: 适用于需要的码数量较少的业务场景 接口地址:
- /// 接口B:适用于需要的码数量极多,或仅临时使用的业务场景
- /// 接口C:适用于需要的码数量较少的业务场景
- /// </summary>
- /// <param name="data">前台传递的数据</param>
- /// <param name="path">图片存储位置</param>
- /// <param name="toKen"></param>
- /// <returns></returns>
- public static bool CreateWxaqrCode(Utils.QrCodeType nType, string data, string path, string toKen, out string ExcaptionMassage)
- {
- ExcaptionMassage = "";
- bool msg = false;
- string url = string.Empty;
- switch (nType)
- {
- case Utils.QrCodeType.A:
- url = "https://api.weixin.qq.com/wxa/getwxacode?access_token={0}";
- break;
- case Utils.QrCodeType.B:
- url = "http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}";
- break;
- case Utils.QrCodeType.C:
- url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token={0}";
- break;
- }
- url = string.Format(url, toKen);
- lock (obj)
- {
- //判断当前用户是否生成二微码
- if (!System.IO.File.Exists(path))
- {
- try
- {
- //获取数据流
- Stream str = Request.PostMoths(url, data);
- byte[] by = Utils.StreamToBytes(str);
- Utils.PreservationCodeImage(path, by);
- //保存该文件
- msg = true;
- }
- catch(Exception e)
- {
- ExcaptionMassage= e.Message;
- msg = false;//出现异常
- }
- }
- }
- return msg;
- }
注:PostMoths方法在小程序基础配置里面有
StreamToBytes方法和PreservationCodeImage方法在支付里面有
.NET开发微信小程序-生成二维码的更多相关文章
- .NET开发微信小程序-生成二维码 - 转
1.生成小程序二维码功能 直接请求相应的链接.传递相应的参数 以生成商铺的付款码为例: var shopsId = e.ShopsId //付款码的参数 var codeModel = new fun ...
- uniapp 微信小程序 生成二维码
使用 tki-qrcode组件 生成二维码(https://www.npmjs.com/package/tki-qrcode) 1.引入 tki-qrcode 下载组件后引入 import tkiQr ...
- 微信小程序- 生成二维码
wx.request({ // 获取token url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential', ...
- 关于微信小程序获取二维码的踩坑记录
1.踩坑需求:获取小程序的二维码 2.踩坑接口: https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN3 踩坑代码 pu ...
- 微信小程序获取二维码(直接上代码)https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
应为是直接返回二进制数据所有与其他接口些许差别,希望能帮助现在的你! 谢谢!!! /** * 37.微信二维码生成 */ public String getWeiXinCourseMap() { ...
- 微信小程序--扫描二维码
场景---在微信中扫描朋友发来的二维码后进入小程序,其实那个地址是带有参数的,那么如何接收那个参数呢,其实就是进入小程序页面的onLoad生命周期行数的options参数里面.
- 又是新动作!微信小程序专属二维码出炉
又到了晚上,微信又给我们带来了惊喜,并这次不是新的能力,而是把大家再熟悉不过的二维码换了新的造型. 正式揭晓:微信特制的小程序码.扫一扫新二维码 只要你的微信升级到了 6.5.7 版本,就可以扫码或者 ...
- 微信小程序获取二维码并把logo替换为自己的头像
$avatarUrl = 'http://cms-bucket.nosdn.127.net/2018/05/28/a1a44ffdc2d24f928c1860d4fbf54703.jpeg?image ...
- 微信小程序通过二维码获取参数运行
小程序开发过程中会遇到参数id会通过二维码获取,然后执行接口获取数据,但是难免会遇到带过来的参数出现乱码,这样就需要解码,多个参数时就需要进行处理取我们需要的字段值:小程序开发过程中会遇到参数id会通 ...
随机推荐
- Java进阶(二十三)java中long类型转换为int类型
java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...
- .bash_profile和.bashrc的什么区别及启动过程
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运 ...
- 【Qt编程】Qt 小时钟
Hello World! 学习编程语言的最简单最经典的小程序,当然Qt也不例外.在学习画图时,我觉得写个时钟小程序也是个比较好的开始.在之前的<Matlab及Java小时>一文中,我也从写 ...
- Android4.0Sd卡移植之使用vold自动挂载sd卡
在cap631平台上移植android4.0,发现内核驱动没有任何问题,能够读写,当总不能挂载. 后来发现是因为自动挂载需要vold的支持.vold程序负责检查内核的 sysfs 文件系统,发现有SD ...
- 浅析数据结构中栈与C实现
最近在搞摄像头驱动,o()︿︶)o 唉,别提有多烦,一堆寄存器就有人受的了--特么这不是单片机的开发,这是内核驱动开发-- 今天放松一下,我们来看看数据结构中的栈,这节的知识点可以说是数据结构中最容易 ...
- 【面试笔试算法】Problem 7: 补提交卡(hiho题库)
时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho给自己定了一个宏伟的目标:连续100天每天坚持在hihoCoder上提交一个程序.100天过去了,小Ho查看自己的提交 ...
- Linux - script练习
首先HelloWorld 对谈式脚本:变量内容由使用者决定 随日期变化:利用date进行文件的创建 比较直接运行与利用source来运行脚本的区别
- leetcode之旅(10)-Roman to Integer
题目描述: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range fr ...
- 熊猫猪新系统测试之三:iOS 8.0.2
本来本猫要等到8.1版本出来后再做测试的,结果等来等去就是迟迟不推送更新呀!说好10月20号的iOS 8.1呢?为了一鼓作气写完,就先不等了.先拿手头的iOS 8.0.2系统做一下测试吧! 8.x系统 ...
- Python3玩转儿 机器学习(5)
numpy 的使用 numpy.array基础 import numpy numpy.__version__ #查询当前numpy的版本 '1.14.0' import numpy as np np. ...