C端小程序
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

117 rader
2.8 KiB

  1. const navigationBarHeight = (getApp().statusBarHeight + 44) + 'px';
  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. ifPhoneInfo() {
  27. let that = this;
  28. Http.get({
  29. url: config.api.checkPhoneStatus,
  30. data: {}
  31. }).then(res => {
  32. return
  33. }).catch(err => {
  34. wx.navigateTo({
  35. url: `/pages/getphoneInfo/index?mineFlag=index`,
  36. })
  37. })
  38. },
  39. /**
  40. * 生命周期函数--监听页面显示
  41. */
  42. onShow: function () {
  43. this.ifPhoneInfo()
  44. let that = this;
  45. console.log("渲染开始")
  46. Http.get({
  47. url: config.api.getDiscountInfo,
  48. data: {}
  49. })
  50. .then(res=>{
  51. that.setData({
  52. level: res.data.level ? res.data.level : ''
  53. })
  54. that.qrcode(res.data.id);
  55. that.setData({
  56. memberId: res.data.id
  57. })
  58. console.log(res.data.levelMerchantList)
  59. let discountMerchantList = [];
  60. res.data.levelMerchantList.map(file=>{
  61. if (file.discount != 100){
  62. discountMerchantList.push(file);
  63. }
  64. })
  65. that.setData({
  66. discountMerchantList: discountMerchantList,
  67. })
  68. })
  69. },
  70. goback: function () {
  71. wx.switchTab({
  72. url: '/index/index',
  73. })
  74. },
  75. /**
  76. * 二维码
  77. */
  78. qrcode: function (memberId){
  79. let that = this;
  80. var size = that.setCanvasSize();
  81. let url = JSON.stringify({
  82. END: "C",
  83. TYPE: "memberCode",
  84. ID: memberId,
  85. });
  86. that.createQrCode(url, "mycanvas2", size.w, size.h);
  87. },
  88. createQrCode: function (url, canvasId, cavW, cavH) {
  89. //调用插件中的draw方法,绘制二维码图片
  90. let that = this;
  91. QR.api.draw(url, canvasId, cavW, cavH,function(res){
  92. that.setData({
  93. tempFilePath: res
  94. })
  95. });
  96. },
  97. //适配不同屏幕大小的canvas
  98. setCanvasSize: function () {
  99. var size = {};
  100. try {
  101. var res = wx.getSystemInfoSync();
  102. var scale = 750 / 400;
  103. //不同屏幕下canvas的适配比例;设计稿是750宽
  104. var width = res.windowWidth / scale;
  105. var height = width;
  106. //canvas画布为正方形
  107. size.w = width;
  108. size.h = height;
  109. } catch (e) {
  110. // Do something when catch error
  111. console.log("获取设备信息失败" + e);
  112. }
  113. return size;
  114. },
  115. })