login_cs.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <view class="login_cs">
  3. <button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
  4. <image class="avatar" :src="avatarUrl"></image>
  5. </button>
  6. <input type="nickname" style="margin:30rpx auto;width: 400rpx;background-color: aqua;" placeholder="请输入昵称" />
  7. <button class="avatar-wrapper" @click="login">登录</button>
  8. </view>
  9. </template>
  10. <script>
  11. export default {
  12. data() {
  13. return {
  14. avatarUrl: '',
  15. };
  16. },
  17. methods: {
  18. getPhoneNumber(e) {
  19. console.log(e.detail.code) // 动态令牌
  20. console.log(e.detail.errMsg) // 回调信息(成功失败都会返回)
  21. console.log(e.detail.errno) // 错误码(失败时返回)
  22. },
  23. onChooseAvatar(e) {
  24. console.log(e);
  25. const {
  26. avatarUrl
  27. } = e.detail
  28. this.avatarUrl = avatarUrl
  29. //对临时图片链接进行base64编码
  30. var avatarUrl_base64 = 'data:image/jpeg;base64,' + wx.getFileSystemManager().readFileSync(this.avatarUrl,
  31. 'base64')
  32. console.log(avatarUrl_base64);
  33. uni.request({
  34. url: 'http://localhost:3001/login2',
  35. method:'POST',
  36. data:avatarUrl_base64,
  37. success(res) {
  38. console.log(res);
  39. }
  40. })
  41. },
  42. login() {
  43. wx.login({
  44. success: (res) => {
  45. return console.log(res)
  46. var code = res.code //获取code
  47. wx.request({ //调用后端接口
  48. url: 'http://localhost:3001/login2',
  49. method: 'POST',
  50. // header: {
  51. // 'content-type': 'application/json'
  52. // },
  53. data: {
  54. code: code, //请求体中封装code
  55. },
  56. success(res) {
  57. console.log(res)
  58. //页面跳转
  59. // wx.navigateTo({
  60. // //携带用户头像信息和用户昵称信息
  61. // url: '/index/index?userAvatarUrl=' + res.data.data
  62. // .userAvatarUrl + '&userName=' + res.data.data.userName,
  63. // })
  64. }
  65. })
  66. },
  67. })
  68. }
  69. }
  70. }
  71. </script>
  72. <style lang="scss">
  73. .avatar-wrapper {
  74. width: 300rpx;
  75. background-color: #fff;
  76. margin: auto;
  77. }
  78. .avatar {
  79. width: 60rpx;
  80. height: 60rpx;
  81. }
  82. </style>