C端小程序
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

286 行
6.7 KiB

  1. var config = require("../../config/config.js");
  2. const Http = require("../../utils/HttpBasics");
  3. const imgurl = require("../../utils/imgurl");
  4. const QR = require("../../utils/memberqrcode.js");
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. bannerUrl: imgurl.banner.url,
  11. loadingUrl: imgurl.loading.url,
  12. nodata: imgurl.nodata.url,
  13. wmhome: imgurl.wmhome.url,
  14. barcode: imgurl.barcode.url,
  15. list: [],
  16. lists: [],
  17. myLists: [],
  18. page: 1, // 设置加载的第几次,默认是第一次
  19. pageSize: 10, //返回数据的个数
  20. searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏
  21. allow_load: true, // 是否允许继续加载标识 默认 true 允许,false 加载完成
  22. myorder: false,
  23. actUrl: imgurl.act.url,
  24. loading: true,
  25. content: '数据正在加载中',
  26. reloadIf: false,
  27. creditAmount: 0,
  28. score: '0',
  29. },
  30. goback: function () {
  31. wx.switchTab({
  32. url: '/pages/main/index',
  33. })
  34. },
  35. onLoad: function (options) {
  36. let that = this;
  37. var todayDate = new Date().getTime();
  38. that.getPoints();
  39. that.setData({
  40. optionsData: options,
  41. todayDate: todayDate
  42. })
  43. if (options && options.from == 'myhtml') {
  44. that.getmyList();
  45. }
  46. else {
  47. that.getList(1);
  48. that.setData({
  49. lists: null
  50. })
  51. }
  52. },
  53. onShow() {
  54. let that = this;
  55. if (this.data.reloadIf) {
  56. wx.setNavigationBarTitle({
  57. title: '积分商城'
  58. })
  59. that.getList(1);
  60. that.setData({
  61. lists: null
  62. })
  63. };
  64. Http.get({
  65. url: config.api.getScore,
  66. data: {}
  67. }).then(res => {
  68. if (res.data.address && res.data.name && res.data.sex && res.data.birthdate) {
  69. that.setData({
  70. showEdit: true
  71. })
  72. }
  73. that.setData({
  74. score: res.data.score,
  75. levelName: res.data.levelName,
  76. upgradePercent: res.data.upgradePercent,
  77. upgradeScore: res.data.upgradeScore
  78. })
  79. if (res.data.nickName) {
  80. that.setData({
  81. ismember: true,
  82. memberId: res.data.id
  83. })
  84. var size = this.setCanvasSize();
  85. var initUrl = JSON.stringify({
  86. flagid: res.data.id
  87. });
  88. that.createQrCode(initUrl, "mycanvas1", size.w, size.h);
  89. }
  90. })
  91. .catch(err => {
  92. wx.showModal({
  93. title: '提示',
  94. content: err.message,
  95. showCancel: false
  96. })
  97. })
  98. },
  99. //适配不同屏幕大小的canvas
  100. setCanvasSize: function () {
  101. var size = {};
  102. try {
  103. var res = wx.getSystemInfoSync();
  104. var scale = 750 / 500;
  105. //不同屏幕下canvas的适配比例;设计稿是750宽
  106. var width = res.windowWidth / scale;
  107. var height = width;
  108. //canvas画布为正方形
  109. size.w = width;
  110. size.h = height;
  111. } catch (e) {
  112. // Do something when catch error
  113. console.log("获取设备信息失败" + e);
  114. }
  115. return size;
  116. },
  117. createQrCode: function (url, canvasId, cavW, cavH) {
  118. //调用插件中的draw方法,绘制二维码图片
  119. QR.api.draw(url, canvasId, cavW, cavH);
  120. },
  121. qrcode: function (e) {
  122. var that = this;
  123. that.setData({
  124. showQrcode: true
  125. })
  126. wx.showToast({
  127. title: '生成中...',
  128. icon: 'loading',
  129. duration: 2000
  130. });
  131. var st = setTimeout(function () {
  132. wx.hideToast()
  133. var size = that.setCanvasSize();
  134. var url = JSON.stringify({
  135. END: "C",
  136. TYPE: "memberCode",
  137. ID: that.data.memberId,
  138. })
  139. that.createQrCode(url, "mycanvas1", size.w, size.h);
  140. that.setData({
  141. maskHidden: true
  142. });
  143. clearTimeout(st);
  144. }, 1000)
  145. },
  146. // 获得积分,渲染页面
  147. getPoints(){
  148. let that = this;
  149. Http.get({
  150. url: config.api.integralList,
  151. data: {
  152. pageNum: 1,
  153. pageSize: 1,
  154. }
  155. }).then(res => {
  156. wx.stopPullDownRefresh();
  157. that.setData({
  158. creditAmount: res.data.list[0].creditAmount,
  159. });
  160. })
  161. .catch(err => {
  162. wx.stopPullDownRefresh();
  163. wx.showToast({
  164. title: err.errMsg,
  165. icon: 'none',
  166. duration: 2000,
  167. mask: false
  168. });
  169. })
  170. },
  171. gotojifen(){
  172. wx.navigateTo({
  173. url: '/pages/integralmall/integraHistory/index',
  174. })
  175. },
  176. getList(pageNum) {
  177. var that = this;
  178. if (that.data.allow_load) {
  179. that.setData({
  180. loading: true,
  181. content: '小主,我在玩命加载中...'
  182. })
  183. var param = {};
  184. var param = {
  185. pageNum: pageNum,
  186. pageSize: 10,
  187. targetAd: 50
  188. };
  189. var url = config.api.couponChannelList;
  190. // 请求接口
  191. Http.get({
  192. url: url,
  193. data: param
  194. }).then(res => {
  195. console.log(res)
  196. /**
  197. * 加载完成
  198. */
  199. if (pageNum >= res.data.pages) {
  200. if (res.data.pages == 0 || res.data.pages == 1) {
  201. that.setData({
  202. allow_load: true,
  203. loading: false,
  204. content: ""
  205. });
  206. } else {
  207. that.setData({
  208. allow_load: false,
  209. loading: true,
  210. content: "——— 再拉裤子就掉了啦 ———",
  211. });
  212. }
  213. }
  214. if (pageNum == 1) {
  215. that.setData({
  216. lists: [],
  217. })
  218. }
  219. var tmpArr = that.data.lists;
  220. tmpArr.push.apply(tmpArr, res.data.list);
  221. that.setData({
  222. lists: tmpArr
  223. })
  224. wx.stopPullDownRefresh();
  225. })
  226. .catch(err => {
  227. wx.stopPullDownRefresh();
  228. wx.showToast({
  229. title: err.message,
  230. icon: 'none',
  231. duration: 2000,
  232. mask: false
  233. });
  234. })
  235. setTimeout(function () {
  236. that.setData({
  237. loading: false,
  238. })
  239. }, 1400);
  240. } else {
  241. that.setData({
  242. loading: true,
  243. content: "——— 再拉裤子就掉了啦 ———"
  244. })
  245. setTimeout(function () {
  246. that.setData({
  247. loading: false,
  248. })
  249. }, 1400)
  250. }
  251. },
  252. /**
  253. *
  254. * @param goto拼团券详情
  255. */
  256. invite: function (e) {
  257. let couponChannelId = e.currentTarget.dataset.id;
  258. let couponId = e.currentTarget.dataset.couponid;
  259. if (couponChannelId && couponId) {
  260. wx.navigateTo({
  261. url: `/pages/coupon/detail/index?couponChannelId=${couponChannelId}&couponId=${couponId}`
  262. })
  263. }
  264. },
  265. //加载更多
  266. onReachBottom: function () {
  267. let that = this;
  268. that.data.page++;
  269. that.setData({
  270. page: that.data.page
  271. });
  272. that.getList(that.data.page, that.data.flag);
  273. },
  274. /**
  275. * 刷新
  276. */
  277. onPullDownRefresh: function (e) {
  278. let that = this;
  279. that.getList(1);
  280. that.getPoints();
  281. }
  282. })