index.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. // pages/sign/sign.js
  2. const app=getApp();
  3. const util = require('../../utils/util.js');
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. parameter: {
  10. 'navbar': '1',
  11. 'return': '1',
  12. 'title': '签到',
  13. 'color': true,
  14. 'class':'0'
  15. },
  16. active:false,
  17. userInfo:{},
  18. signCount:[],
  19. signSystemList:[],
  20. signList:[],
  21. integral:0,
  22. },
  23. /**
  24. * 生命周期函数--监听页面加载
  25. */
  26. onLoad: function (options) {
  27. },
  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. app.baseGet(app.U({ c: 'public_api', a: 'get_system_group_data_value', q: { name:'sign_day_num'}}),function(res){
  42. that.setData({ signSystemList: res.data.sign_day_num, day: that.Rp(res.data.sign_day_num.length)});
  43. });
  44. },
  45. /**
  46. * 去签到记录页面
  47. *
  48. */
  49. goSignList:function(){
  50. return app.Tips('/pages/user_sgin_list/index');
  51. },
  52. /**
  53. * 获取用户信息
  54. */
  55. getUserInfo:function(){
  56. var that=this;
  57. app.baseGet(app.U({ c: "user_api", a: 'get_my_user_info', q: { isSgin:1}}),function(res){
  58. res.data.integral = parseInt(res.data.integral);
  59. var sum_sgin_day = res.data.sum_sgin_day;
  60. that.setData({ userInfo: res.data, signCount: that.PrefixInteger(sum_sgin_day, 4), sign_index: res.data.sign_num });
  61. });
  62. },
  63. /**
  64. * 获取签到列表
  65. *
  66. */
  67. getSignList:function(){
  68. var that=this;
  69. app.baseGet({ c: 'user_api', a:'get_sign_list',q:{page:1,limit:3}},function(res){
  70. that.setData({signList:res.data});
  71. })
  72. },
  73. /**
  74. * 数字转中文
  75. *
  76. */
  77. Rp: function (n) {
  78. var cnum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
  79. var s = '';
  80. n = '' + n; // 数字转为字符串
  81. for (var i = 0; i < n.length; i++) {
  82. s += cnum[parseInt(n.charAt(i))];
  83. }
  84. return s;
  85. },
  86. /**
  87. * 数字分割为数组
  88. * @param int num 需要分割的数字
  89. * @param int length 需要分割为n位数组
  90. */
  91. PrefixInteger: function (num, length) {
  92. return (Array(length).join('0') + num).slice(-length).split('');
  93. },
  94. /**
  95. * 用户签到
  96. */
  97. goSign:function(e){
  98. var that = this, formId = e.detail.formId, sum_sgin_day = that.data.userInfo.sum_sgin_day;
  99. if (that.data.userInfo.is_day_sgin) return app.Tips({title:'您今日已签到!'});
  100. app.baseGet(app.U({ c: 'user_api', a:'user_sign'}),function(res){
  101. that.setData({
  102. active:true,
  103. integral: res.data.integral,
  104. sign_index: (that.data.sign_index + 1) > that.data.signSystemList.length ? 1 : that.data.sign_index + 1,
  105. signCount: that.PrefixInteger(sum_sgin_day + 1, 4),
  106. 'userInfo.is_day_sgin':true,
  107. 'userInfo.integral': util.$h.Add(that.data.userInfo.integral, res.data.integral)
  108. });
  109. that.getSignList();
  110. });
  111. },
  112. /**
  113. * 关闭签到提示
  114. */
  115. close:function(){
  116. this.setData({active: false});
  117. },
  118. /**
  119. * 页面上拉触底事件的处理函数
  120. */
  121. onReachBottom: function () {
  122. }
  123. })