App.vue 2.9 KB

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