App.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <script>
  2. import {
  3. mapMutations,mapState
  4. } from 'vuex';
  5. export default {
  6. methods: {
  7. ...mapMutations(['setOpenid','login','showDialog','setcode','islogionsuccess'])
  8. },
  9. computed:{
  10. ...mapState([
  11. 'hasLogin', // 用户是否同意授权
  12. 'userInfo', // 同意授权用户头像
  13. 'successlogion', // 同意手机号授权 登录成功
  14. 'sessionId', // 登录成功的token
  15. 'getcode', // logion时候获取的code session_key oppen_id
  16. ]),
  17. },
  18. onLaunch: function() {
  19. // 用户登录
  20. let that = this;
  21. let sessionId = uni.getStorageSync('sessionId');// 用户token
  22. console.log(sessionId);
  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.islogionsuccess(true);
  35. },
  36. fail(){
  37. console.log("登录过期")
  38. // 登录过期 重新登录
  39. uni.login({
  40. provider: 'weixin',
  41. success: (res) => {
  42. let code = res.code;
  43. uni.request({
  44. url: 'https://www.qzaiwang.com' +'/v1/entry/mp_openid',
  45. method:'post',
  46. data: {
  47. code: code
  48. },
  49. success: (res) => {
  50. let { data } = res.data;
  51. console.log(data);
  52. data.code = code;
  53. that.setcode(data);
  54. let token = data.token;
  55. if(token == '') {
  56. that.setOpenid(token); // 保存用户token
  57. that.islogionsuccess(false);
  58. }else {
  59. that.setOpenid(token); // 保存用户token
  60. that.islogionsuccess(true);
  61. }
  62. that.showDialog(false); // 没有同意授权头像等;
  63. that.login(); // 清空用户头像信息
  64. //this.setOpenid("dddd")
  65. }
  66. })
  67. },
  68. fail: function(res) {
  69. }
  70. })
  71. }
  72. })
  73. }else {
  74. console.log("登录")
  75. uni.login({
  76. provider: 'weixin',
  77. success: (res) => {
  78. let code = res.code;
  79. console.log(code);
  80. uni.request({
  81. url: 'https://www.qzaiwang.com' +'/v1/entry/mp_openid',
  82. method:'post',
  83. data: {
  84. code: code
  85. },
  86. success: (res) => {
  87. console.log("ddddd")
  88. let { data } = res.data;
  89. data.code = code;
  90. this.setcode(data); // 保存用户登录code session
  91. let token = data.token;
  92. if(token == '') {
  93. this.setOpenid(token); // 保存用户token
  94. this.islogionsuccess(false);
  95. }else {
  96. this.setOpenid(token); // 保存用户token
  97. this.islogionsuccess(true);
  98. }
  99. this.showDialog(false); // 没有同意授权头像等;
  100. this.login(); // 清空用户头像信息
  101. }
  102. })
  103. },
  104. fail: function(res) {
  105. consoel.log(res);
  106. }
  107. })
  108. };
  109. // 用户授全
  110. // uni.getSetting({
  111. //   success(res) {
  112. //    if (res.authSetting['scope.userInfo']) {
  113. //     console.log("已授权=====")
  114. // console.log(uni.getStorageSync('sessionId'));
  115. //     // 已经授权,可以直接调用 getUserInfo 获取头像昵称
  116. //     uni.getUserInfo({
  117. //      success(res) {
  118. // that.login(res.userInfo);
  119. // // uni.setStorage({//缓存用户登陆状态
  120. // // key: 'userInfo',
  121. // // data: res.userInfo
  122. // // })
  123. //      },
  124. //      fail(res) {
  125. //       console.log("获取用户信息失败", res)
  126. //      }
  127. //     })
  128. //    } else {
  129. // console.log("触发授权")
  130. // uni.showModal({
  131. // title: '提示',
  132. // content: '请前往授权',
  133. // success: function (res) {
  134. // if (res.confirm) {
  135. // that.showDialog(true)
  136. // } else if (res.cancel) {
  137. // uni.showToast({
  138. // title: '授权失败不能正常使用',
  139. // duration: 2000
  140. // });
  141. // }
  142. // }
  143. // });
  144. //     console.log("未授权=====")
  145. //     that.showSettingToast("请授权")
  146. //    }
  147. //   }
  148. //  })
  149. },
  150. onShow: function() {
  151. console.log('App Show')
  152. },
  153. onHide: function() {
  154. console.log('App Hide')
  155. }
  156. }
  157. </script>
  158. <style>
  159. /*每个页面公共css */
  160. @import '/wxcomponents/dist/common/index.wxss';
  161. @import '/common/uin.css';
  162. </style>