feedback.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. const WXAPI = require('apifm-wxapi')
  2. Page({
  3. data: {
  4. autosize: {
  5. minHeight: 100
  6. }
  7. },
  8. /**
  9. * 生命周期函数--监听页面加载
  10. */
  11. onLoad: function(options) {
  12. },
  13. onShow: function() {
  14. this.checkTodayComments()
  15. },
  16. async checkTodayComments() {
  17. // 判断一天只能留言5次
  18. const res = await WXAPI.jsonList({
  19. token: wx.getStorageSync('token'),
  20. type: 'feedback_times'
  21. })
  22. if (res.code === 0) {
  23. this.setData({
  24. feedbackTimes: res.data[0]
  25. })
  26. }
  27. },
  28. async bindSave() {
  29. if (!this.data.name) {
  30. wx.showToast({
  31. title: '请填写您的姓名',
  32. icon: 'none',
  33. })
  34. return
  35. }
  36. if (!this.data.content) {
  37. wx.showToast({
  38. title: '请填写反馈信息',
  39. icon: 'none',
  40. })
  41. return
  42. }
  43. const extJsonStr = {}
  44. extJsonStr['姓名'] = this.data.name
  45. extJsonStr['联系电话'] = this.data.mobile
  46. extJsonStr['微信'] = this.data.wx
  47. // 批量上传附件
  48. if (this.data.picsList) {
  49. for (let index = 0; index < this.data.picsList.length; index++) {
  50. const pic = this.data.picsList[index];
  51. const res = await WXAPI.uploadFile(wx.getStorageSync('token'), pic.url)
  52. if (res.code == 0) {
  53. extJsonStr['file' + index] = res.data.url
  54. }
  55. }
  56. }
  57. const res = await WXAPI.addComment({
  58. token: wx.getStorageSync('token'),
  59. type: 1,
  60. extJsonStr: JSON.stringify(extJsonStr),
  61. content: this.data.content
  62. })
  63. if (res.code == 0) {
  64. // 提交次数 + 1
  65. let feedbackTimes = this.data.feedbackTimes
  66. if (!feedbackTimes) {
  67. feedbackTimes = {
  68. id: '',
  69. refId: 0,
  70. content: '{}'
  71. }
  72. }
  73. await WXAPI.jsonSet({
  74. token: wx.getStorageSync('token'),
  75. id: feedbackTimes.id,
  76. type: 'feedback_times',
  77. refId: feedbackTimes.refId + 1,
  78. content: feedbackTimes.content
  79. })
  80. await this.checkTodayComments()
  81. wx.showToast({
  82. title: '提交成功',
  83. })
  84. setTimeout(() => {
  85. wx.navigateBack({
  86. delta: 0,
  87. })
  88. }, 1000);
  89. } else {
  90. wx.showToast({
  91. title: res.msg,
  92. icon: 'none'
  93. })
  94. }
  95. },
  96. afterPicRead(e) {
  97. let picsList = this.data.picsList
  98. if (!picsList) {
  99. picsList = []
  100. }
  101. picsList = picsList.concat(e.detail.file)
  102. this.setData({
  103. picsList
  104. })
  105. },
  106. afterPicDel(e) {
  107. let picsList = this.data.picsList
  108. picsList.splice(e.detail.index, 1)
  109. this.setData({
  110. picsList
  111. })
  112. }
  113. })