memberCenter.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. // pages/memberCenter/memberCenter.js
  2. const api = require('../../api/index')
  3. const pay = require('../../utils/pay')
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. userinfo:{},
  10. equity:[
  11. {
  12. icon:'/static/svg/会员下载.svg',
  13. label:'权益一'
  14. },
  15. {
  16. icon:'/static/svg/会员权益 (1).svg',
  17. label:'权益二'
  18. },
  19. {
  20. icon:'/static/svg/会员权益.svg',
  21. label:'权益三'
  22. },
  23. {
  24. icon:'/static/svg/会员级别处理.svg',
  25. label:'权益四'
  26. },
  27. ],
  28. grades:[
  29. {
  30. background_icon:'/static/svg/B级会员背景图标.svg',
  31. background_color:'#3f395c',
  32. grade:'B级会员',
  33. money:'365'
  34. },
  35. {
  36. background_icon:'/static/svg/A级会员背景图标.svg',
  37. background_color:'#ff0101',
  38. grade:'A级会员',
  39. money:'520'
  40. },
  41. {
  42. background_icon:'/static/svg/S级会员背景图标.svg',
  43. background_color:'#000000',
  44. grade:'S级会员',
  45. money:'888'
  46. },
  47. ],
  48. choseVip:null,
  49. tableData:[],//会员权益
  50. tableHead:[]
  51. },
  52. /**
  53. * 生命周期函数--监听页面加载
  54. */
  55. onLoad(options) {
  56. this.getUserinfo()
  57. this.queryAllVip()
  58. },
  59. /**
  60. * 生命周期函数--监听页面初次渲染完成
  61. */
  62. onReady() {
  63. },
  64. /**
  65. * 生命周期函数--监听页面显示
  66. */
  67. onShow() {
  68. },
  69. /**
  70. * 页面功能
  71. */
  72. //获取所有会员
  73. queryAllVip(){
  74. var that = this
  75. api.queryAllVip().then(res=>{
  76. if(res.code == 200){
  77. console.log(res)
  78. var data = res.data.data
  79. var grades = []
  80. var tableHead = [
  81. {
  82. key:"functionName",
  83. name:''
  84. }
  85. ]
  86. data.forEach(item => {
  87. var config = JSON.parse(item.configParameter)
  88. var obj = {
  89. background_icon:config.background_icon,
  90. background_color:config.background_color,
  91. grade:item.name,
  92. money:item.price,
  93. vipUuid:item.vipUuid
  94. }
  95. tableHead.push(
  96. {
  97. key:item.vipUuid,
  98. name:item.name
  99. }
  100. )
  101. grades.push(obj)
  102. })
  103. that.setData(
  104. {
  105. grades:grades,
  106. tableHead:tableHead,
  107. choseVip:null
  108. }
  109. )
  110. that.getVipRights()
  111. console.log(that.data.grades)
  112. }
  113. })
  114. },
  115. //获取会员权益
  116. getVipRights(){
  117. var that = this
  118. api.getVipRights().then(res=>{
  119. if(res.code == 200){
  120. var data = res.data.data
  121. var tableData = []
  122. for(var i = 0;i<data.length;i++){
  123. var obj = {
  124. functionName:data[i].functionName
  125. }
  126. var right = data[i].vipRightsVOList
  127. for(var j = 0;j<that.data.tableHead.length;j++){
  128. var head = that.data.tableHead[j]
  129. if(head.key == 'functionName'){
  130. continue
  131. }
  132. var obj2 = right.find(item=>{
  133. return item.vipUuid == head.key
  134. })
  135. if(obj2){
  136. obj[head.key] = obj2.description
  137. }else{
  138. obj[head.key] = ''
  139. }
  140. }
  141. tableData.push(obj)
  142. }
  143. that.setData(
  144. {
  145. tableData:tableData
  146. }
  147. )
  148. console.log(that.data.tableHead,that.data.tableData)
  149. }
  150. })
  151. },
  152. //获取用户信息
  153. getUserinfo(){
  154. api.selectPerson().then(res=>{
  155. if(res.code == 200){
  156. this.setData(
  157. {
  158. userinfo:res.data
  159. }
  160. )
  161. }
  162. })
  163. },
  164. //选择开通会员类型
  165. chooseVip(e){
  166. var {item} = e.currentTarget.dataset
  167. this.setData(
  168. {
  169. choseVip:item
  170. }
  171. )
  172. },
  173. //开通会员
  174. openVip(){
  175. if(!this.data.choseVip){
  176. api.notify(
  177. {
  178. type:'warning',
  179. message:'请先选择需要开通会员的类型',
  180. top:'90'
  181. }
  182. )
  183. }
  184. var params = {
  185. goodType:1,
  186. goodUuid:this.data.choseVip.vipUuid
  187. }
  188. wx.showLoading({
  189. title: '加载中',
  190. })
  191. pay.payMoney(params).then(res=>{
  192. console.log(res)
  193. if(res.errMsg == 'requestPayment:ok'){
  194. api.notify(
  195. {
  196. type:'success',
  197. message:'开通会员成功',
  198. top:'90'
  199. }
  200. )
  201. this.getUserinfo()
  202. }
  203. }).catch(error=>{
  204. })
  205. },
  206. /**
  207. * 生命周期函数--监听页面隐藏
  208. */
  209. onHide() {
  210. },
  211. /**
  212. * 生命周期函数--监听页面卸载
  213. */
  214. onUnload() {
  215. },
  216. /**
  217. * 页面相关事件处理函数--监听用户下拉动作
  218. */
  219. onPullDownRefresh() {
  220. },
  221. /**
  222. * 页面上拉触底事件的处理函数
  223. */
  224. onReachBottom() {
  225. },
  226. /**
  227. * 用户点击右上角分享
  228. */
  229. onShareAppMessage() {
  230. }
  231. })