App.vue 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. //额外参数
  11. let urlParams = ''
  12. for (let key in query) {
  13. if (key != 'authtoken' && key != 'redirect') {
  14. urlParams += `&${key}=${query[key]}`
  15. }
  16. }
  17. urlParams=urlParams.replace('&','?')
  18. console.log('所有外部参数', urlParams)
  19. setTimeout(() => {
  20. uni.redirectTo({
  21. url: `${query.redirect}${urlParams}`
  22. });
  23. }, 0);
  24. }
  25. },
  26. onShow: function () {
  27. if (uni.getStorageSync("authtoken")) {
  28. let bindWpTag = uni.getStorageSync("bindWpTag")
  29. // 如果是发起绑定
  30. if (bindWpTag) {
  31. this.$mpLogin
  32. .bindWxMp()
  33. .then(() => {
  34. // 刷新个人页面
  35. uni.reLaunch({
  36. url: '/pages/personal/personal'
  37. })
  38. })
  39. }
  40. } else {
  41. let redirect = uni.getStorageSync("redirect")
  42. if (redirect) {
  43. this.$mpLogin
  44. .setTip(this.$refs.uTips)
  45. .go()
  46. .then(() => {
  47. // 跳转到首页
  48. uni.switchTab({
  49. url: '/pages/home/home'
  50. })
  51. })
  52. } else {
  53. // 直接redirectTo/reLaunch会导致小程序点击事件无法使用,需要增加延迟
  54. // reLaunch H5中会导致表单校验失效
  55. let timer = setTimeout(() => {
  56. clearTimeout(timer)
  57. uni.redirectTo({
  58. url: 'pages/login/index'
  59. })
  60. }, 0)
  61. }
  62. }
  63. }
  64. }
  65. </script>
  66. <style lang="scss">
  67. @import "uview-ui/index.scss";
  68. /*每个页面公共css */
  69. page,
  70. .h100 {
  71. height: 100%;
  72. }
  73. .page-bg-color {
  74. background-color: $u-bg-color;
  75. }
  76. .page-card {
  77. border-radius: 20rpx;
  78. background-color: #fff;
  79. overflow: hidden;
  80. }
  81. .di-scroll {
  82. width: 100%;
  83. height: 100%;
  84. &-list {
  85. box-sizing: border-box;
  86. background-color: #fff;
  87. overflow: hidden;
  88. margin: 20rpx;
  89. }
  90. }
  91. </style>