login.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import request from '@/utils/request'
  2. import {
  3. baseUrl
  4. }
  5. from '@/api/baseurl'
  6. //微信小程序登录code
  7. function unilogin() {
  8. return new Promise((reslove, err) => {
  9. uni.login({
  10. provider: 'weixin',
  11. success: (res) => {
  12. reslove(res)
  13. }
  14. });
  15. })
  16. }
  17. //微信小程序获取用户信息
  18. function unigetUserInfo() {
  19. return new Promise((reslove, err) => {
  20. uni.getSetting({
  21. success(res) {
  22. if (res.authSetting['scope.userInfo']) {
  23. // 已经授权,可以直接调用 getUserInfo 获取头像昵称
  24. uni.getUserInfo({
  25. provider: 'weixin',
  26. success: (res) => {
  27. reslove(res)
  28. }
  29. });
  30. } else {
  31. //未授权
  32. reslove({
  33. code: 400,
  34. msg: '用户未授权'
  35. })
  36. }
  37. }
  38. })
  39. })
  40. }
  41. // 登录方法
  42. export async function login() {
  43. let res = await unilogin();
  44. return request({
  45. url: baseUrl + '/login/jscode',
  46. method: 'post',
  47. params: {
  48. jscode: res.code
  49. },
  50. header: {
  51. isLogin: true
  52. }
  53. })
  54. }
  55. // 获取用户详细信息
  56. export async function getInfo() {
  57. let res = await unigetUserInfo()
  58. if (res.code !== 400) {
  59. //更新用户头像
  60. let userInfo = await request({
  61. url: baseUrl + '/getInfo',
  62. method: 'get'
  63. })
  64. if (userInfo.data.student.nickName != res.userInfo.nickName || userInfo.data.student.headImage != res.userInfo.avatarUrl) {
  65. userInfo.data.student.nickName = res.userInfo.nickName
  66. userInfo.data.student.headImage = res.userInfo.avatarUrl
  67. await request({
  68. url: baseUrl + '/student/user/info',
  69. method: 'post',
  70. data: {
  71. nickName: res.userInfo.nickName,
  72. headImage: res.userInfo.avatarUrl
  73. }
  74. })
  75. }
  76. return userInfo
  77. } else {
  78. //用户拒绝授权
  79. console.log(wxuserinfo)
  80. }
  81. return request({
  82. url: baseUrl + '/getInfo',
  83. method: 'get'
  84. })
  85. }
  86. // 退出方法
  87. export function logout() {
  88. return request({
  89. url: '/logout',
  90. method: 'post'
  91. })
  92. }
  93. // 绑定用户身份证信息
  94. export function bindUserCard(data) {
  95. return request({
  96. url: baseUrl + '/gzpt/userInfo/bind',
  97. method: 'put',
  98. data
  99. })
  100. }