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开发微信小程序-生成二维码的更多相关文章

  1. .NET开发微信小程序-生成二维码 - 转

    1.生成小程序二维码功能 直接请求相应的链接.传递相应的参数 以生成商铺的付款码为例: var shopsId = e.ShopsId //付款码的参数 var codeModel = new fun ...

  2. uniapp 微信小程序 生成二维码

    使用 tki-qrcode组件 生成二维码(https://www.npmjs.com/package/tki-qrcode) 1.引入 tki-qrcode 下载组件后引入 import tkiQr ...

  3. 微信小程序- 生成二维码

    wx.request({ // 获取token url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential', ...

  4. 关于微信小程序获取二维码的踩坑记录

    1.踩坑需求:获取小程序的二维码 2.踩坑接口: https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN3 踩坑代码 pu ...

  5. 微信小程序获取二维码(直接上代码)https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN

    应为是直接返回二进制数据所有与其他接口些许差别,希望能帮助现在的你! 谢谢!!!    /** * 37.微信二维码生成 */ public String getWeiXinCourseMap() { ...

  6. 微信小程序--扫描二维码

    场景---在微信中扫描朋友发来的二维码后进入小程序,其实那个地址是带有参数的,那么如何接收那个参数呢,其实就是进入小程序页面的onLoad生命周期行数的options参数里面.

  7. 又是新动作!微信小程序专属二维码出炉

    又到了晚上,微信又给我们带来了惊喜,并这次不是新的能力,而是把大家再熟悉不过的二维码换了新的造型. 正式揭晓:微信特制的小程序码.扫一扫新二维码 只要你的微信升级到了 6.5.7 版本,就可以扫码或者 ...

  8. 微信小程序获取二维码并把logo替换为自己的头像

    $avatarUrl = 'http://cms-bucket.nosdn.127.net/2018/05/28/a1a44ffdc2d24f928c1860d4fbf54703.jpeg?image ...

  9. 微信小程序通过二维码获取参数运行

    小程序开发过程中会遇到参数id会通过二维码获取,然后执行接口获取数据,但是难免会遇到带过来的参数出现乱码,这样就需要解码,多个参数时就需要进行处理取我们需要的字段值:小程序开发过程中会遇到参数id会通 ...

随机推荐

  1. Shell中read的常用方式

    read命令的语法: read -p "Prompt" variable1 variable2 variableN -p "Prompt": 显示提示信息(和用 ...

  2. E-JSON数据传输标准

    简介 E-JSON的设计目标是使业务系统向浏览器端传递的JSON数据保持一致,容易被理解和处理,并兼顾传输的数据量.E-JSON依托于http协议(rfc2616)与JSON数据交换格式(rfc462 ...

  3. (十九)TableView的点击监听和数据刷新(Alert的多种样式) -tag传值的技巧

    要实现监听,要使用代理,控制器要成为TableView的代理. 注意下面的方式是代理方法: - (void)tableView:(UITableView *)tableView didSelectRo ...

  4. 菜鸟玩云计算之二十:saltstack入门初步

    菜鸟玩云计算之二十 SaltStack 入门初步 0. saltstack 是什么 参考下面的文章: http://docs.saltstack.com/en/latest/topics/tutori ...

  5. Ext JS添加子组件的误区

    经常会有人问我,为什么我的Grid不能岁窗口的变得而自动调整.了解后,发现很多人都习惯在渲染子组件的时候将Gird渲染到容器内的一个div里,而这正是问题的所在. 在Ext JS的布局系统中,能控制到 ...

  6. android 如何添加第3方lib库到kernel中

    注意:只能将lib库放在kernel编译到的地方,如下: alps/kernel/ alps/mediatek/custom/common/kernel/ alps/mediatek/custom/$ ...

  7. 新版MATERIAL DESIGN 官方动效指南(一)

    Google 刚发布了新版Material Design 官方动效指南,全文包括三个部分:为什么说动效很重要?如何制作优秀的Material Design动效及转场动画,动效的意义.新鲜热辣收好不谢! ...

  8. 链路层 - SLIP,PPP,

    最常使用的封装格式是RFC 894定义的格式.图2 - 1显示了两种不同形式的封装格式.图中每个方框下面的数字是它们的字节长度. 两种帧格式都采用48 bit(6字节)的目的地址和源地址( 8 0 2 ...

  9. 【54】Java反射机制剖析

    java反射机制: 1.指的是可以于运行时加载,探知和使用编译期间完全未知的类. 2.程序在运行状态中, 可以动态加载一个只有名称的类, 对于任意一个已经加载的类,都能够知道这个类的所有属性和方法; ...

  10. unity xml序列化与反序列化 多平台

    换平台确实是一个头疼的问题,本来在pc用.net的json处理数据很是顺手的,但是发布web版本后,发现他不支持.后面找了好几个开源json都不能很好的支持web,或者不能支持List等.于是我就想着 ...