1.生成小程序二维码功能

直接请求相应的链接。传递相应的参数

以生成商铺的付款码为例:

  1. var shopsId = e.ShopsId
  2. //付款码的参数
  3. var codeModel = new function () { }
  4. codeModel.path = "pages/PageWxPay/PageWxPay?shopsId=" + shopsId
  5. codeModel.width = 430
  6. codeModel.auto_color = false
  7. codeModel.line_color = { "r": "0", "g": "0", "b": "0" }
  8. var data = {
  9. shopsID: shopsId,
  10. data: JSON.stringify(codeModel)
  11. }
  12. console.log(data)
  13. api.RequestApiURL("Weixin/MyPaymentCode", data, function (codeData) {
  14. console.log(codeData)
  15. var obj = codeData.data.data
  16. if (obj.Key == "0") {
  17. that.setData({
  18. payCodeUrl: app.globalData.apiurl + obj.Value
  19. })
  20. wx.hideLoading()
  21. }
  22. else {
  23. wx.showToast({ title: obj.Value })
  24. }
  25. })

后台代码处理

  1. private static object obj = new object();
  2. /// <summary>
  3. /// 创建二维码
  4. /// 接口A: 适用于需要的码数量较少的业务场景 接口地址:
  5. /// 接口B:适用于需要的码数量极多,或仅临时使用的业务场景
  6. /// 接口C:适用于需要的码数量较少的业务场景
  7. /// </summary>
  8. /// <param name="data">前台传递的数据</param>
  9. /// <param name="path">图片存储位置</param>
  10. /// <param name="toKen"></param>
  11. /// <returns></returns>
  12. public static bool CreateWxaqrCode(Utils.QrCodeType nType, string data, string path, string toKen, out string ExcaptionMassage)
  13. {
  14. ExcaptionMassage = "";
  15. bool msg = false;
  16. string url = string.Empty;
  17. switch (nType)
  18. {
  19. case Utils.QrCodeType.A:
  20. url = "https://api.weixin.qq.com/wxa/getwxacode?access_token={0}";
  21. break;
  22. case Utils.QrCodeType.B:
  23. url = "http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}";
  24. break;
  25. case Utils.QrCodeType.C:
  26. url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token={0}";
  27. break;
  28.  
  29. }
  30. url = string.Format(url, toKen);
  31. lock (obj)
  32. {
  33. //判断当前用户是否生成二微码
  34. if (!System.IO.File.Exists(path))
  35. {
  36. try
  37. {
  38. //获取数据流
  39. Stream str = Request.PostMoths(url, data);
  40.  
  41. byte[] by = Utils.StreamToBytes(str);
  42.  
  43. Utils.PreservationCodeImage(path, by);
  44. //保存该文件
  45. msg = true;
  46. }
  47. catch(Exception e)
  48. {
  49. ExcaptionMassage= e.Message;
  50. msg = false;//出现异常
  51. }
  52. }
  53. }
  54. return msg;
  55. }

注: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. Java进阶(二十三)java中long类型转换为int类型

    java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...

  2. .bash_profile和.bashrc的什么区别及启动过程

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运 ...

  3. 【Qt编程】Qt 小时钟

    Hello World! 学习编程语言的最简单最经典的小程序,当然Qt也不例外.在学习画图时,我觉得写个时钟小程序也是个比较好的开始.在之前的<Matlab及Java小时>一文中,我也从写 ...

  4. Android4.0Sd卡移植之使用vold自动挂载sd卡

    在cap631平台上移植android4.0,发现内核驱动没有任何问题,能够读写,当总不能挂载. 后来发现是因为自动挂载需要vold的支持.vold程序负责检查内核的 sysfs 文件系统,发现有SD ...

  5. 浅析数据结构中栈与C实现

    最近在搞摄像头驱动,o()︿︶)o 唉,别提有多烦,一堆寄存器就有人受的了--特么这不是单片机的开发,这是内核驱动开发-- 今天放松一下,我们来看看数据结构中的栈,这节的知识点可以说是数据结构中最容易 ...

  6. 【面试笔试算法】Problem 7: 补提交卡(hiho题库)

    时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho给自己定了一个宏伟的目标:连续100天每天坚持在hihoCoder上提交一个程序.100天过去了,小Ho查看自己的提交 ...

  7. Linux - script练习

    首先HelloWorld 对谈式脚本:变量内容由使用者决定 随日期变化:利用date进行文件的创建 比较直接运行与利用source来运行脚本的区别

  8. leetcode之旅(10)-Roman to Integer

    题目描述: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range fr ...

  9. 熊猫猪新系统测试之三:iOS 8.0.2

    本来本猫要等到8.1版本出来后再做测试的,结果等来等去就是迟迟不推送更新呀!说好10月20号的iOS 8.1呢?为了一鼓作气写完,就先不等了.先拿手头的iOS 8.0.2系统做一下测试吧! 8.x系统 ...

  10. Python3玩转儿 机器学习(5)

    numpy 的使用 numpy.array基础 import numpy numpy.__version__ #查询当前numpy的版本 '1.14.0' import numpy as np np. ...