C端小程序
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

258 lignes
6.0 KiB

  1. const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
  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. const bgColor = require("../../utils/bgColor.js")
  8. Page({
  9. /**
  10. * 页面的初始数据
  11. */
  12. data: {
  13. bannerUrl: imgurl.banner.url,
  14. redirectUrl: imgurl.redirect.url,
  15. qrcodeUrl: imgurl.qrcode.url,
  16. editUrl: imgurl.edit.url,
  17. activeUrl: imgurl.active.url,
  18. dingUrl: imgurl.ding.url,
  19. quansUrl: imgurl.quans.url,
  20. wmintegral: imgurl.wmintegral.url,
  21. cardiconUrl: imgurl.cardicon.url,
  22. myactivitygift: imgurl.myactivitygift.url,
  23. myactivity: imgurl.myactivity.url,
  24. cheUrl: imgurl.che.url,
  25. giftUrl: imgurl.gift.url,
  26. wmbarginicon: imgurl.wmbarginicon.url,
  27. wmspellgroup: imgurl.wmspellgroup.url,
  28. canIUse: wx.canIUse('official-account'),
  29. flag: 'hidden',
  30. score: '0',
  31. name: "",
  32. birthdate: "",
  33. sex: "",
  34. showEdit: false,
  35. ismember: false,
  36. showQrcode: false,
  37. canvasHidden: false,
  38. maskHidden: true,
  39. imagePath: '',
  40. appVersion: "",
  41. showmemberqrcode: false,
  42. placeholder: ''
  43. },
  44. /**
  45. * 跳转到成长值的页面
  46. */
  47. gotograde: function() {
  48. wx.navigateTo({
  49. url: '/pages/czdetail/czdetail',
  50. })
  51. },
  52. navigateTo() {
  53. wx.navigateTo({
  54. url: `/pages/main/index`
  55. });
  56. },
  57. showVersion: function() {
  58. /**
  59. * 长按显示版本号
  60. */
  61. let that = this;
  62. if (that.data.flag == 'hidden') {
  63. that.setData({
  64. flag: 'show'
  65. });
  66. }
  67. },
  68. gotoedit: function() {
  69. wx.navigateTo({
  70. url: '/pages/edit/edit',
  71. })
  72. },
  73. onLoad() {
  74. this.getLocation();
  75. this.updateScene();
  76. },
  77. /**
  78. * 获得经纬度
  79. */
  80. getLocation() {
  81. let that = this;
  82. wx.getLocation({
  83. type: "wgs84",
  84. success: function(res) {
  85. console.log(res)
  86. if (res && res.longitude && res.latitude) {
  87. Http.post({
  88. url: config.api.updateLBS,
  89. data: {
  90. latitude: res.latitude,
  91. longitude: res.longitude
  92. }
  93. }).then(res => {
  94. console.log(res)
  95. })
  96. }
  97. },
  98. fail: error => {
  99. console.log(error);
  100. }
  101. })
  102. },
  103. /**
  104. * 用户更新scene
  105. */
  106. updateScene(){
  107. Http.post({
  108. url: config.api.updateScene,
  109. data: {
  110. scene: app.globalData.scene
  111. }
  112. }).then(res => {
  113. console.log(res)
  114. })
  115. },
  116. /**
  117. * 生命周期函数--监听页面显示
  118. */
  119. onShow: function() {
  120. let that = this;
  121. that.setData({
  122. appVersion: extConfig.appVersion,
  123. })
  124. /**
  125. * couponNum
  126. * couponNum2
  127. */
  128. let num = wx.getStorageSync('couponNum');
  129. let num1 = wx.getStorageSync('couponNum2');
  130. wx.hideTabBarRedDot({
  131. index: 3
  132. });
  133. wx.hideTabBarRedDot({
  134. index: 3
  135. });
  136. if (num == 'couponNum1') {
  137. wx.setStorage({
  138. key: 'couponNum',
  139. data: "couponNum1",
  140. })
  141. that.setData({
  142. couponNum: "couponNum1"
  143. })
  144. } else if (num == 'couponNum') {
  145. that.setData({
  146. couponNum: "couponNum"
  147. })
  148. };
  149. if (num1 == 'couponNum3') {
  150. wx.setStorage({
  151. key: 'couponNum2',
  152. data: "couponNum3",
  153. })
  154. that.setData({
  155. couponNum2: "couponNum3"
  156. })
  157. } else if (num1 == 'couponNum2') {
  158. that.setData({
  159. couponNum2: "couponNum2"
  160. })
  161. };
  162. Http.get({
  163. url: config.api.getScore,
  164. data: {}
  165. }).then(res => {
  166. if (res.data.address && res.data.name && res.data.sex && res.data.birthdate) {
  167. that.setData({
  168. showEdit: true
  169. })
  170. }
  171. that.setData({
  172. score: res.data.score,
  173. levelName: res.data.levelName,
  174. })
  175. if (res.data.nickName) {
  176. that.setData({
  177. ismember: true,
  178. memberId: res.data.id
  179. })
  180. var size = this.setCanvasSize();
  181. var initUrl = JSON.stringify({
  182. flagid: res.data.id
  183. });
  184. that.createQrCode(initUrl, "mycanvas1", size.w, size.h);
  185. }
  186. })
  187. .catch(err => {
  188. wx.showModal({
  189. title: '提示',
  190. content: err.errMsg,
  191. showCancel: false
  192. })
  193. })
  194. //暂时注释
  195. // that.getrun();
  196. },
  197. hideQrcode: function() {
  198. let that = this;
  199. that.setData({
  200. showQrcode: false
  201. })
  202. },
  203. //适配不同屏幕大小的canvas
  204. setCanvasSize: function() {
  205. var size = {};
  206. try {
  207. var res = wx.getSystemInfoSync();
  208. var scale = 750 / 500;
  209. //不同屏幕下canvas的适配比例;设计稿是750宽
  210. var width = res.windowWidth / scale;
  211. var height = width;
  212. //canvas画布为正方形
  213. size.w = width;
  214. size.h = height;
  215. } catch (e) {
  216. // Do something when catch error
  217. console.log("获取设备信息失败" + e);
  218. }
  219. return size;
  220. },
  221. createQrCode: function(url, canvasId, cavW, cavH) {
  222. //调用插件中的draw方法,绘制二维码图片
  223. QR.api.draw(url, canvasId, cavW, cavH);
  224. },
  225. qrcode: function(e) {
  226. var that = this;
  227. that.setData({
  228. showQrcode: true
  229. })
  230. wx.showToast({
  231. title: '生成中...',
  232. icon: 'loading',
  233. duration: 2000
  234. });
  235. var st = setTimeout(function() {
  236. wx.hideToast()
  237. var size = that.setCanvasSize();
  238. var url = JSON.stringify({
  239. END: "C",
  240. TYPE: "memberCode",
  241. ID: that.data.memberId,
  242. })
  243. that.createQrCode(url, "mycanvas1", size.w, size.h);
  244. that.setData({
  245. maskHidden: true
  246. });
  247. clearTimeout(st);
  248. }, 1000)
  249. },
  250. close: function() {
  251. this.setData({
  252. showmemberqrcode: false,
  253. })
  254. }
  255. });