Me.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <template>
  2. <div class="container">
  3. <button v-if='!userInfo.openId' open-type="getUserInfo" @click="login">登录</button>
  4. <div class="userinfo" >
  5. <img :src="userInfo.avatarUrl" alt="">
  6. <p>{{userInfo.nickName}}</p>
  7. </div>
  8. <YearProgress></YearProgress>
  9. <button v-if='userInfo.openId' @click="scanBook" class='btn'>添加图书</button>
  10. </div>
  11. </template>
  12. <script>
  13. import {showSuccess} from '@/util'
  14. import config from '@/config'
  15. import qcloud from 'wafer2-client-sdk'
  16. import YearProgress from '@/components/YearProgress'
  17. export default {
  18. components: {
  19. YearProgress
  20. },
  21. data () {
  22. return {
  23. userInfo: {
  24. avatarUrl: require('../../../static/img/unlogin.png'),
  25. nickName: '未登录'
  26. }
  27. }
  28. },
  29. methods: {
  30. async addBook(isbn) {
  31. const res = await post('/weapp/addbook', {
  32. isbn,
  33. openid: this.userInfo.openId
  34. })
  35. if(res.code == 0&& res.data.title) {
  36. showSuccess('添加成功', `${res.data.title}添加成功`)
  37. }
  38. },
  39. scanBook () {
  40. wx.scanCode({
  41. success: (res) => {
  42. if (res.result) {
  43. // console.log(res.result)
  44. this.addBook(res.result);
  45. }
  46. }
  47. })
  48. },
  49. login () {
  50. let user = wx.getStorageSync('userInfo')
  51. if (!user) {
  52. qcloud.setLoginUrl(config.loginUrl)
  53. qcloud.login({
  54. success: (userInfo) => {
  55. qcloud.request({
  56. url: config.userUrl,
  57. login: true,
  58. success: (userRes) => {
  59. showSuccess('登录成功')
  60. wx.setStorageSync('userInfo', userRes.data.data)
  61. this.userInfo = userRes.data.data
  62. }
  63. })
  64. },
  65. fail: function (err) {
  66. console.log('登录失败', err)
  67. }
  68. })
  69. }
  70. },
  71. onShow () {
  72. let userInfo = wx.getStorageSync('userInfo')
  73. if (userInfo) {
  74. this.userInfo = userInfo
  75. }
  76. },
  77. }
  78. }
  79. // import qcloud from 'wafer2-client-sdk'
  80. // import config from '@/config'
  81. // export default {
  82. // data () {
  83. // return {
  84. // userInfo: { }
  85. // }
  86. // },
  87. // methods: {
  88. // login(){
  89. // console.log('1122334455667799')
  90. // // qcloud.setLoginUrl(config.loginUrl);
  91. // // qcloud.login({
  92. // // success: function (userInfo) {
  93. // // console.log('登录成功', userInfo);
  94. // // wx.setStorageSync('userInfo', userInfo)
  95. // // },
  96. // // fail: function (err) {
  97. // // console.log('登录失败', err);
  98. // // }
  99. // // });
  100. // // this.userInfo = wx.getStorageSync('userInfo')
  101. // }
  102. // }
  103. // }
  104. </script>
  105. <style lang='scss'>
  106. .container{
  107. padding:0 30rpx;
  108. }
  109. .userinfo{
  110. margin-top:100rpx;
  111. text-align:center;
  112. img{
  113. width: 150rpx;
  114. height:150rpx;
  115. margin: 20rpx;
  116. border-radius: 50%;
  117. }
  118. }
  119. </style>