C端小程序
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.5 KiB

  1. const navigationBarHeight = (getApp().statusBarHeight + 44);
  2. var config = require("../../config/config.js");
  3. var app = getApp();
  4. const Http = require("../../utils/HttpBasics");
  5. const QR = require("../../utils/memberqrcode.js");
  6. const imgurl = require("../../utils/imgurl");
  7. Page({
  8. /**
  9. * 页面的初始数据
  10. */
  11. data: {
  12. navigationBarHeight,
  13. myspeacialUrl: imgurl.myspeacial.url,
  14. teliconUrl: imgurl.telicon.url,
  15. wmhome: imgurl.wmhome.url,
  16. memberId:"000000"
  17. },
  18. phone: function (e) {
  19. console.log(e)
  20. let that = this;
  21. wx.makePhoneCall({
  22. phoneNumber: e.currentTarget.dataset.merchantlinkphone
  23. });
  24. },
  25. /**
  26. * 生命周期函数--监听页面显示
  27. */
  28. onShow: function () {
  29. let that = this;
  30. console.log("渲染开始")
  31. Http.get({
  32. url: config.api.getDiscountInfo,
  33. data: {}
  34. })
  35. .then(res=>{
  36. that.setData({
  37. level: res.data.level ? res.data.level : ''
  38. })
  39. that.qrcode(res.data.id);
  40. that.setData({
  41. memberId: res.data.id
  42. })
  43. console.log(res.data.levelMerchantList)
  44. let discountMerchantList = [];
  45. res.data.levelMerchantList.map(file=>{
  46. if (file.discount != 100){
  47. discountMerchantList.push(file);
  48. }
  49. })
  50. that.setData({
  51. discountMerchantList: discountMerchantList,
  52. })
  53. })
  54. },
  55. goback: function () {
  56. wx.switchTab({
  57. url: '/pages/main/index',
  58. })
  59. },
  60. /**
  61. * 二维码
  62. */
  63. qrcode: function (memberId){
  64. let that = this;
  65. var size = that.setCanvasSize();
  66. let url = JSON.stringify({
  67. END: "C",
  68. TYPE: "memberCode",
  69. ID: memberId,
  70. });
  71. that.createQrCode(url, "mycanvas2", size.w, size.h);
  72. },
  73. createQrCode: function (url, canvasId, cavW, cavH) {
  74. //调用插件中的draw方法,绘制二维码图片
  75. let that = this;
  76. QR.api.draw(url, canvasId, cavW, cavH,function(res){
  77. that.setData({
  78. tempFilePath: res
  79. })
  80. });
  81. },
  82. //适配不同屏幕大小的canvas
  83. setCanvasSize: function () {
  84. var size = {};
  85. try {
  86. var res = wx.getSystemInfoSync();
  87. var scale = 750 / 400;
  88. //不同屏幕下canvas的适配比例;设计稿是750宽
  89. var width = res.windowWidth / scale;
  90. var height = width;
  91. //canvas画布为正方形
  92. size.w = width;
  93. size.h = height;
  94. } catch (e) {
  95. // Do something when catch error
  96. console.log("获取设备信息失败" + e);
  97. }
  98. return size;
  99. },
  100. })