App.vue 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <script>
  2. export default {
  3. // 测试地址 http://192.168.31.108:8083/workflow-h5/#/?redirect=/pages/workflowTask/index?type=start&authtoken=eyJhbGciOiJIUzUxMiJ9.eyJjbGllbnQiOiJUUS1IVy1QQyIsImxvZ2luX3VzZXJfa2V5IjoiYjNiNWMxZTUtYTUzYi00NGJlLTljZTItMDcyMmIyNWNlMDhiIn0.FML-E-lEsH-CWzIM42_rZ1ImMcwqjTaeluHvULjoS5KiH79lQCqSBoUkiRHOekknCdJKFi5hkQ2HX3vmrntr0g
  4. onLaunch: function ({ path, query }) {
  5. console.log(path, 'App Launch', query)
  6. if (query.authtoken && query.redirect) {
  7. let authtoken = query.authtoken.replace(/ /g, '+')
  8. uni.setStorageSync("authtoken", authtoken)
  9. // this.$member.getMemberInfo()
  10. setTimeout(() => {
  11. uni.redirectTo({
  12. url: query.redirect
  13. });
  14. }, 0);
  15. }
  16. },
  17. onShow: function () {
  18. if (uni.getStorageSync("authtoken")) {
  19. let bindWpTag = uni.getStorageSync("bindWpTag")
  20. // 如果是发起绑定
  21. if (bindWpTag) {
  22. this.$mpLogin
  23. .bindWxMp()
  24. .then(() => {
  25. // 刷新个人页面
  26. uni.reLaunch({
  27. url: '/pages/personal/personal'
  28. })
  29. })
  30. }
  31. } else {
  32. let redirect = uni.getStorageSync("redirect")
  33. if (redirect) {
  34. this.$mpLogin
  35. .setTip(this.$refs.uTips)
  36. .go()
  37. .then(() => {
  38. // 跳转到首页
  39. uni.switchTab({
  40. url: '/pages/home/home'
  41. })
  42. })
  43. } else {
  44. // 直接redirectTo/reLaunch会导致小程序点击事件无法使用,需要增加延迟
  45. // reLaunch H5中会导致表单校验失效
  46. let timer = setTimeout(() => {
  47. clearTimeout(timer)
  48. uni.redirectTo({
  49. url: 'pages/login/index'
  50. })
  51. }, 0)
  52. }
  53. }
  54. }
  55. }
  56. </script>
  57. <style lang="scss">
  58. @import "uview-ui/index.scss";
  59. /*每个页面公共css */
  60. page,
  61. .h100 {
  62. height: 100%;
  63. }
  64. .page-bg-color {
  65. background-color: $u-bg-color;
  66. }
  67. .page-card {
  68. border-radius: 20rpx;
  69. background-color: #fff;
  70. overflow: hidden;
  71. }
  72. .di-scroll {
  73. width: 100%;
  74. height: 100%;
  75. &-list {
  76. box-sizing: border-box;
  77. background-color: #fff;
  78. overflow: hidden;
  79. margin: 20rpx;
  80. }
  81. }
  82. </style>