user.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. // pages/user/user.js
  2. const app = getApp()
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. userInfo: {},
  9. hasUserInfo: false,
  10. pubInfo: []
  11. },
  12. setUserInfo: function () {
  13. this.setData({
  14. userInfo: app.globalData.userInfo,
  15. pubInfo: app.globalData.pubInfo,
  16. hasUserInfo: true
  17. })
  18. },
  19. getUserProfile: function () {
  20. wx.getUserProfile({
  21. desc: '用于完善个人信息',
  22. success: (res) => {
  23. app.globalData.userInfo = {
  24. name: res.userInfo.nickName,
  25. avatar: res.userInfo.avatarUrl,
  26. gender: res.userInfo.gender
  27. }
  28. app.globalData.hasUserInfo = true
  29. app.globalData.userNotFound = false
  30. if (this.data.hasUserInfo) {
  31. wx.cloud.callFunction({
  32. name: 'updateUser',
  33. data: app.globalData.userInfo
  34. }).then(res => {
  35. if (res.result.status !== 'OK') {
  36. wx.showToast({
  37. title: res.result.errMsg,
  38. icon: 'none'
  39. })
  40. return
  41. }
  42. })
  43. } else {
  44. wx.cloud.callFunction({
  45. name: 'createUser',
  46. data: app.globalData.userInfo
  47. }).then(res => {
  48. if (res.result.status !== 'OK') {
  49. wx.showToast({
  50. title: res.result.errMsg,
  51. icon: 'none'
  52. })
  53. return
  54. }
  55. })
  56. }
  57. this.setUserInfo()
  58. }
  59. })
  60. },
  61. previewAvatar: function () {
  62. if (this.data.hasUserInfo) {
  63. wx.previewImage({
  64. urls: [this.data.userInfo.avatar]
  65. })
  66. }
  67. },
  68. publisherLogin: function () {
  69. wx.navigateTo({
  70. url: "/pages/publisherLogin/publisherLogin",
  71. })
  72. },
  73. publisherPage: function () {
  74. wx.navigateTo({
  75. url: "/pages/publisherPage/publisherPage",
  76. })
  77. },
  78. myFollow: function () {
  79. wx.navigateTo({
  80. url: '/pages/myFollow/myFollow',
  81. })
  82. },
  83. myFavorite: function () {
  84. wx.navigateTo({
  85. url: '/pages/myFavorite/myFavorite',
  86. })
  87. },
  88. setting: function () {
  89. wx.navigateTo({
  90. url: '/pages/setting/setting',
  91. })
  92. },
  93. myQuestion: function () {
  94. wx.navigateTo({
  95. url: '/pages/myQuestion/myQuestion',
  96. })
  97. },
  98. aboutUs: function () {
  99. wx.navigateTo({
  100. url: '/pages/aboutUs/aboutUs',
  101. })
  102. },
  103. opinion: function () {
  104. wx.navigateTo({
  105. url: '/pages/opinion/opinion',
  106. })
  107. },
  108. /**
  109. * 生命周期函数--监听页面加载
  110. */
  111. onLoad: function (options) {
  112. },
  113. /**
  114. * 生命周期函数--监听页面初次渲染完成
  115. */
  116. onReady: function () {
  117. },
  118. /**
  119. * 生命周期函数--监听页面显示
  120. */
  121. onShow: function () {
  122. if (app.globalData.hasUserInfo) {
  123. this.setUserInfo()
  124. } else if (!app.globalData.userNotFound) {
  125. wx.showNavigationBarLoading()
  126. app.onUserInfoChange = () => {
  127. wx.hideNavigationBarLoading()
  128. if (app.globalData.hasUserInfo) {
  129. this.setUserInfo()
  130. }
  131. }
  132. } else {
  133. this.setData({
  134. hasUserInfo: false
  135. })
  136. }
  137. },
  138. /**
  139. * 生命周期函数--监听页面隐藏
  140. */
  141. onHide: function () {
  142. },
  143. /**
  144. * 生命周期函数--监听页面卸载
  145. */
  146. onUnload: function () {
  147. },
  148. /**
  149. * 页面相关事件处理函数--监听用户下拉动作
  150. */
  151. onPullDownRefresh: function () {
  152. },
  153. /**
  154. * 页面上拉触底事件的处理函数
  155. */
  156. onReachBottom: function () {
  157. },
  158. /**
  159. * 用户点击右上角分享
  160. */
  161. onShareAppMessage: function () {
  162. }
  163. })