index.js 3.7 KB

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