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方法在支付里面有

最新文章

  1. centos7 mariadb
  2. 谁也无法挡住我访问Google---使用Nginx反向代理攻略
  3. Redis多机功能总结
  4. C# 16进制与字符串、字节数组之间的转换(转)
  5. 第二百三十七天 how can I 坚持
  6. 中断服务程序不用interrupt关键字也可实现中断,该关键字是否必须?
  7. JDK_Proxy_InvocationHandler_动态代理
  8. mysql日志的查看与开启
  9. android:ellipsize的使用
  10. 游戏算法中lua脚本详解
  11. stdarg.h头
  12. Treblecross 博弈SG值
  13. 江西省移动物联网发展战略新闻发布会举行-2017年10月江西IDC排行榜与发展报告
  14. JAVA 后台SSM框架接收安卓端的json数据
  15. 关于rem布局
  16. 002 python准备做题的一些准备
  17. CentOS7.3安装Go运行和开发环境
  18. linux下有名管道进程通信
  19. Kali安装虚拟机遇到的问题
  20. PHP 判断字符串括号是否匹配

热门文章

  1. IDEA项目搭建十一——添加拦截器、忽略URL大小写、启动事件
  2. Ansible--配置文件及系列命令
  3. MySQL四种隔离级别和MVCC
  4. (网页)logback的使用和logback.xml详解(转)
  5. macos 下安装brew
  6. 【HANA系列】SAP HANA XS的JavaScript安全事项
  7. MySQL安全模式:sql_safe_updates讲解
  8. 计算器和Menu
  9. swift的@objc总结
  10. 洛谷 P2678 跳石头