App.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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. data.code = code;
  65. that.setcode(data);
  66. let token = data.token;
  67. if(token == '') {
  68. that.setOpenid(token); // 保存用户token
  69. that.islogionsuccess(false);
  70. }else {
  71. that.setOpenid(token); // 保存用户token
  72. that.islogionsuccess(true);
  73. }
  74. that.beginload(true);
  75. that.showDialog(false); // 没有同意授权头像等;
  76. that.login(); // 清空用户头像信息
  77. }
  78. })
  79. },
  80. fail: function(res) {
  81. }
  82. })
  83. }
  84. })
  85. }else {
  86. console.log("登录")
  87. uni.login({
  88. provider: 'weixin',
  89. success: (res) => {
  90. let code = res.code;
  91. uni.request({
  92. url: 'https://www.qzaiwang.com' +'/v1/entry/mp_openid',
  93. method:'post',
  94. data: {
  95. code: code
  96. },
  97. success: (res) => {
  98. let { data } = res.data;
  99. data.code = code;
  100. console.log(code)
  101. this.setcode(data); // 保存用户登录code session
  102. let token = data.token;
  103. if(token == '') {
  104. this.setOpenid(token); // 保存用户token
  105. this.islogionsuccess(false);
  106. }else {
  107. this.setOpenid(token); // 保存用户token
  108. this.islogionsuccess(true);
  109. }
  110. this.beginload(true);
  111. this.showDialog(false); // 没有同意授权头像等;
  112. this.login(); // 清空用户头像信息
  113. }
  114. })
  115. },
  116. fail: function(res) {
  117. consoel.log("失败");
  118. }
  119. })
  120. };
  121. }
  122. }
  123. </script>
  124. <style>
  125. /*每个页面公共css */
  126. @import '/wxcomponents/dist/common/index.wxss';
  127. @import '/common/uin.css';
  128. </style>