index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. import util from '../../utils/util.js'
  2. import { postSignUser, getSignConfig, getSignList, setSignIntegral } from '../../api/user.js'
  3. import { setFormId } from '../../api/api.js'
  4. const app = getApp()
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. parameter: {
  11. navbar: '1',
  12. return: '1',
  13. title: '签到',
  14. color: true,
  15. class: '0'
  16. },
  17. active: false,
  18. userInfo: {},
  19. signCount: [],
  20. signSystemList: [],
  21. signList: [],
  22. integral: 0
  23. },
  24. /**
  25. * 生命周期函数--监听页面加载
  26. */
  27. onLoad: function (options) {},
  28. /**
  29. * 授权回调
  30. */
  31. onLoadFun: function () {
  32. this.getUserInfo()
  33. this.getSignSysteam()
  34. this.getSignList()
  35. },
  36. /**
  37. * 获取签到配置
  38. */
  39. getSignSysteam: function () {
  40. var that = this
  41. getSignConfig().then(res => {
  42. that.setData({
  43. signSystemList: res.data,
  44. day: that.Rp(res.data.length)
  45. })
  46. })
  47. },
  48. /**
  49. * 去签到记录页面
  50. */
  51. goSignList: function () {
  52. return app.Tips('/pages/user_sgin_list/index')
  53. },
  54. /**
  55. * 获取用户信息
  56. */
  57. getUserInfo: function () {
  58. var that = this
  59. postSignUser({
  60. sign: 1
  61. }).then(res => {
  62. res.data.integral = parseInt(res.data.integral)
  63. var sum_sgin_day = res.data.sum_sgin_day
  64. that.setData({
  65. userInfo: res.data,
  66. signCount: that.PrefixInteger(sum_sgin_day, 4),
  67. sign_index: res.data.sign_num
  68. })
  69. })
  70. },
  71. /**
  72. * 获取签到列表
  73. */
  74. getSignList: function () {
  75. var that = this
  76. getSignList({
  77. page: 1,
  78. limit: 3
  79. }).then(res => {
  80. that.setData({
  81. signList: res.data
  82. })
  83. })
  84. },
  85. /**
  86. * 数字转中文
  87. */
  88. Rp: function (n) {
  89. var cnum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']
  90. var s = ''
  91. n = '' + n // 数字转为字符串
  92. for (var i = 0; i < n.length; i++) {
  93. s += cnum[parseInt(n.charAt(i))]
  94. }
  95. return s
  96. },
  97. /**
  98. * 数字分割为数组
  99. * @param int num 需要分割的数字
  100. * @param int length 需要分割为n位数组
  101. */
  102. PrefixInteger: function (num, length) {
  103. return (Array(length).join('0') + num).slice(-length).split('')
  104. },
  105. /**
  106. * 用户签到
  107. */
  108. goSign: function (e) {
  109. let that = this,
  110. sum_sgin_day = that.data.userInfo.sum_sgin_day
  111. if (that.data.userInfo.is_day_sgin)
  112. return app.Tips({
  113. title: '您今日已签到!'
  114. })
  115. setSignIntegral()
  116. .then(res => {
  117. that.setData({
  118. active: true,
  119. integral: res.data.integral,
  120. sign_index: that.data.sign_index + 1 > that.data.signSystemList.length ? 1 : that.data.sign_index + 1,
  121. signCount: that.PrefixInteger(sum_sgin_day + 1, 4),
  122. 'userInfo.is_day_sgin': true,
  123. 'userInfo.integral': util.$h.Add(that.data.userInfo.integral, res.data.integral)
  124. })
  125. that.getSignList()
  126. })
  127. .catch(err => {
  128. return app.Tips({
  129. title: err
  130. })
  131. })
  132. },
  133. /**
  134. * 关闭签到提示
  135. */
  136. close: function () {
  137. this.setData({
  138. active: false
  139. })
  140. },
  141. /**
  142. * 页面上拉触底事件的处理函数
  143. */
  144. onReachBottom: function () {}
  145. })