promotionProd.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. var http = require("../../utils/http.js");
  2. var config = require("../../utils/config.js");
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. records: [],
  9. shareShow: false,
  10. wxCodeShow: false,
  11. shareProdId: 0,
  12. shareProdName: "",
  13. sharePic: "",
  14. shareWxCode: "", //分享商品微信二维码
  15. loadingMsg: "正在加载..",
  16. emptyMsg: "",
  17. totalPage: 1,
  18. pageNum: 1,
  19. prodName: "", //搜索的名称
  20. orderBy: 1, //排序(0升序 1降序) 默认1
  21. sort: 1 //排序(0 佣金排序 1时间排序 2销量排序 3价格排序) 默认1
  22. },
  23. /**
  24. * 生命周期函数--监听页面加载
  25. */
  26. onLoad: function (options) {
  27. wx.showLoading();
  28. this.loadPageData(1);
  29. },
  30. //加载分页数据
  31. loadPageData: function (pageNum) {
  32. var ths = this;
  33. http.request({
  34. url: "/p/distribution/prod/page",
  35. method: "GET",
  36. data: {
  37. // shopId: 1,
  38. current: pageNum,
  39. orderBy: this.data.orderBy,
  40. prodName: this.data.prodName,
  41. size: 20,
  42. sort: this.data.sort,
  43. },
  44. callBack: (res) => {
  45. wx.hideLoading();
  46. var records = [];
  47. if (res.current == 1) {
  48. records = res.records;
  49. } else {
  50. records = this.data.records;
  51. Array.prototype.push.apply(records, res.records);
  52. }
  53. var loadingMsg = this.data.loadingMsg;
  54. if (pageNum == res.pages) {
  55. loadingMsg = "没有更多了~";
  56. }
  57. console.log(res)
  58. ths.setData({
  59. records: records,
  60. totalPage: res.pages,
  61. pageNum: pageNum,
  62. loadingMsg: loadingMsg,
  63. emptyMsg: "没有找到推广商品哦~"
  64. });
  65. }
  66. });
  67. },
  68. /**
  69. * 页面相关事件处理函数--监听用户下拉动作
  70. */
  71. onPullDownRefresh: function () {
  72. wx.showLoading();
  73. this.loadPageData(1);
  74. },
  75. /**
  76. * 页面上拉触底事件的处理函数
  77. */
  78. onReachBottom: function () {
  79. if (this.data.pageNum < this.data.totalPage) {
  80. this.loadPageData(this.data.pageNum + 1);
  81. }
  82. },
  83. /**
  84. * 点击导航菜单
  85. */
  86. onTabTouch: function (e) {
  87. var sort = e.currentTarget.dataset.sort;
  88. if (sort == this.data.sort) {
  89. this.setData({
  90. orderBy: this.data.orderBy == 0 ? 1 : 0
  91. });
  92. wx.showLoading();
  93. this.loadPageData(1);
  94. } else {
  95. this.setData({
  96. sort: sort,
  97. orderBy: 1
  98. });
  99. wx.showLoading();
  100. this.loadPageData(1);
  101. }
  102. },
  103. /**
  104. * 名称输入
  105. */
  106. onProdNameInput: function (e) {
  107. this.setData({
  108. prodName: e.detail.value
  109. });
  110. },
  111. /**
  112. * 搜索
  113. */
  114. onProdNameSearch: function () {
  115. wx.showLoading();
  116. this.loadPageData(1);
  117. },
  118. /**
  119. * 显示分享弹窗
  120. */
  121. onShowShare: function (e) {
  122. var prodId = e.currentTarget.dataset.prodid;
  123. var prodName = e.currentTarget.dataset.prodname;
  124. var pic = e.currentTarget.dataset.pic;
  125. var shareType = e.currentTarget.dataset.type
  126. console.log(e)
  127. this.setData({
  128. shareShow: true,
  129. shareProdId: prodId,
  130. shareProdName: prodName,
  131. sharePic: pic,
  132. shareType: shareType
  133. });
  134. //从缓存获取分销员卡号,如果没有则去接口获取,以备转发时使用
  135. var cardno = wx.getStorageSync("distCardNo");
  136. if (!cardno) {
  137. http.request({
  138. url: "/p/distribution/user/distributionUserInfo",
  139. method: "GET",
  140. // data: {
  141. // shopId: 1,
  142. // },
  143. callBack: (res) => {
  144. wx.setStorageSync("distCardNo", res.cardNo);
  145. }
  146. })
  147. }
  148. },
  149. /**
  150. * 关闭分享弹窗
  151. */
  152. closeEarn: function () {
  153. this.setData({
  154. shareShow: false
  155. })
  156. },
  157. /**
  158. * 用户点击转发
  159. */
  160. onShareAppMessage: function (res) {
  161. if (res.from === 'button') {
  162. var cardno = wx.getStorageSync("distCardNo");
  163. return {
  164. title: this.data.shareProdName,
  165. path: '/pages/prod/prod?prodid=' + this.data.shareProdId + '&cardno=' + cardno + '&type=' + this.data.shareType,
  166. imageUrl: this.data.sharePic,
  167. success: function (res) {
  168. // 转发成功
  169. console.log('转发成功')
  170. console.log(title, path, imageUrl)
  171. },
  172. fail: function (res) {
  173. // 转发失败
  174. console.log('转发失败')
  175. console.log(title, path, imageUrl)
  176. }
  177. }
  178. }
  179. },
  180. /**
  181. * 生成小程序二维码
  182. */
  183. genWeixinCode() {
  184. wx.showLoading({
  185. mask: true
  186. })
  187. var cardNo = wx.getStorageSync("distCardNo");
  188. var content = JSON.stringify({
  189. shareProdId: this.data.shareProdId,
  190. cardNo: cardNo,
  191. })
  192. console.log(content)
  193. http.request({
  194. url: "/qrcodeTicket/miniQrCode",
  195. method: "GET",
  196. responseType: 'arraybuffer',
  197. data: {
  198. content: content,
  199. type: 2
  200. },
  201. callBack: (res) => {
  202. this.setData({
  203. wxCodeShow: true,
  204. shareShow: false,
  205. shareWxCode: "data:image/jpg;base64," + wx.arrayBufferToBase64(res)
  206. });
  207. wx.hideLoading();
  208. }
  209. })
  210. },
  211. /**
  212. * 关闭二维码弹窗
  213. */
  214. closeCodePopup() {
  215. this.setData({
  216. wxCodeShow: false
  217. });
  218. },
  219. /**
  220. * 保存图片至相册
  221. */
  222. downloadImg() {
  223. var ths = this
  224. var imgSrc = this.data.shareWxCode.slice(22); //base64编码
  225. var save = wx.getFileSystemManager();
  226. save.writeFile({
  227. filePath: wx.env.USER_DATA_PATH + '/分享商品-' + this.data.shareProdName + '.png',
  228. data: imgSrc,
  229. encoding: 'base64',
  230. success: res => {
  231. wx.saveImageToPhotosAlbum({
  232. filePath: wx.env.USER_DATA_PATH + '/分享商品-' + this.data.shareProdName + '.png',
  233. success: function (res) {
  234. wx.showToast({
  235. title: '保存成功',
  236. })
  237. ths.setData({
  238. wxCodeShow: false
  239. })
  240. },
  241. fail: function (err) {
  242. wx.showModal({
  243. title: '提示',
  244. content: '保存图片需要授予存储权限',
  245. success: modalRes => {
  246. if (modalRes.confirm) {
  247. wx.openSetting({
  248. success(settingdata) {
  249. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  250. console.log('用户权限成功')
  251. } else {
  252. console.log('用户取消权限')
  253. }
  254. }
  255. })
  256. }
  257. }
  258. })
  259. }
  260. })
  261. console.log(res)
  262. },
  263. fail: err => {
  264. console.log(err)
  265. }
  266. })
  267. }
  268. })