user.js 3.7 KB

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