App.vue 3.6 KB

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