App.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <script>
  2. import {
  3. mapMutations,mapState
  4. } from 'vuex';
  5. export default {
  6. methods: {
  7. ...mapMutations(['setOpenid','login','showDialog','setcode','islogionsuccess','beginload'])
  8. },
  9. data(){
  10. return{
  11. username: {}
  12. }
  13. },
  14. computed:{
  15. ...mapState([
  16. 'hasLogin', // 用户是否同意授权
  17. 'userInfo', // 同意授权用户头像
  18. 'successlogion', // 同意手机号授权 登录成功
  19. 'sessionId', // 登录成功的token
  20. 'getcode', // logion时候获取的code session_key oppen_id
  21. 'beginload'
  22. ]),
  23. },
  24. onLaunch: function() {
  25. // 用户登录 avatarUrl nickName
  26. let that = this;
  27. let sessionId = uni.getStorageSync('sessionId');// 用户token
  28. let userInfo = uni.getStorageSync('userInfo');// 用户头像信息
  29. let getcode= uni.getStorageSync('getcode');// 用户code oppenid
  30. if(sessionId != '') {
  31. uni.checkSession({
  32. success(){
  33. console.log("登录未过期")
  34. that.request({
  35. url:'/v2/member/info',
  36. method:'GET',
  37. success: (res)=>{
  38. let { data } = res.data;
  39. that.username.avatarUrl= data.member_avatar;
  40. that.username.nickName = data.member_truename;
  41. that.login(that.username);
  42. }
  43. })
  44. that.setOpenid(sessionId);
  45. that.setcode(getcode);
  46. that.showDialog(true);
  47. that.beginload(true);
  48. that.islogionsuccess(true);
  49. },
  50. fail(){
  51. // 登录过期 重新登录
  52. uni.login({
  53. provider: 'weixin',
  54. success: (res) => {
  55. let code = res.code;
  56. uni.request({
  57. url: 'https://www.qzaiwang.com' +'/v1/entry/mp_openid',
  58. method:'post',
  59. data: {
  60. code: code
  61. },
  62. success: (res) => {
  63. let { data } = res.data;
  64. console.log(data);
  65. data.code = code;
  66. that.setcode(data);
  67. let token = data.token;
  68. if(token == '') {
  69. that.setOpenid(token); // 保存用户token
  70. that.islogionsuccess(false);
  71. }else {
  72. that.setOpenid(token); // 保存用户token
  73. that.islogionsuccess(true);
  74. }
  75. that.beginload(true);
  76. that.showDialog(false); // 没有同意授权头像等;
  77. that.login(); // 清空用户头像信息
  78. }
  79. })
  80. },
  81. fail: function(res) {
  82. }
  83. })
  84. }
  85. })
  86. }else {
  87. console.log("登录")
  88. uni.login({
  89. provider: 'weixin',
  90. success: (res) => {
  91. let code = res.code;
  92. uni.request({
  93. url: 'https://www.qzaiwang.com' +'/v1/entry/mp_openid',
  94. method:'post',
  95. data: {
  96. code: code
  97. },
  98. success: (res) => {
  99. let { data } = res.data;
  100. data.code = code;
  101. console.log(code)
  102. this.setcode(data); // 保存用户登录code session
  103. let token = data.token;
  104. if(token == '') {
  105. this.setOpenid(token); // 保存用户token
  106. this.islogionsuccess(false);
  107. }else {
  108. this.setOpenid(token); // 保存用户token
  109. this.islogionsuccess(true);
  110. }
  111. this.beginload(true);
  112. this.showDialog(false); // 没有同意授权头像等;
  113. this.login(); // 清空用户头像信息
  114. }
  115. })
  116. },
  117. fail: function(res) {
  118. consoel.log("失败");
  119. }
  120. })
  121. };
  122. }
  123. }
  124. </script>
  125. <style>
  126. /*每个页面公共css */
  127. @import '/wxcomponents/dist/common/index.wxss';
  128. @import '/common/uin.css';
  129. </style>