Browse Source

feat: 地址栏携带数据

linwenxin 1 year ago
parent
commit
b1498518b4
3 changed files with 42 additions and 28 deletions
  1. 1 25
      src/App.vue
  2. 4 2
      src/common/utils/navPag.js
  3. 37 1
      src/store/modules/user/index.js

+ 1 - 25
src/App.vue

@@ -3,30 +3,6 @@
 
   export default {
     onLaunch: function() {
-      // #ifdef H5
-      // 解析地址栏参数
-      function getQueryVariable(variable) {
-        // 从?开始获取后面的所有数据
-        var query = window.location.search.substring(1);
-        // 从字符串&开始分隔成数组split
-        var vars = query.split('&');
-        // 遍历该数组
-        for (var i = 0; i < vars.length; i++) {
-          // 从等号部分分割成字符
-          var pair = vars[i].split('=');
-          // 如果第一个元素等于 传进来的参的话 就输出第二个元素
-          if (pair[0] == variable) {
-            return pair[1];
-          }
-        }
-        return undefined;
-      }
-      var token = getQueryVariable("x-token")
-      if (token) {
-        this.$store.commit("user/set_token", token)
-      }
-      // #endif
-
       // #ifdef MP-WEIXIN
       // 小程序更新
       const updateManager = uni.getUpdateManager();
@@ -139,4 +115,4 @@
   @import "uview-ui/index.scss";
 
   @import "styles/iconfont.css";
-</style>
+</style>

+ 4 - 2
src/common/utils/navPag.js

@@ -63,8 +63,10 @@ export const navToPage = (function() {
 
 export function webViewHref(url) {
   if (!!~url.indexOf("?")) {
-    return process.env.VUE_APP_HREF + url + "&x-token=" + store.getters.token
+    return process.env.VUE_APP_HREF + url +
+      `&x-token=${store.state.user.token}&openId=${store.state.user.openId}&username=${store.state.user.name}&useravatar=${store.state.user.avatar}`
   } else {
-    return process.env.VUE_APP_HREF + url + "?x-token=" + store.getters.token
+    return process.env.VUE_APP_HREF + url +
+      `?x-token=${store.state.user.token}&openId=${store.state.user.openId}&username=${store.state.user.name}&useravatar=${store.state.user.avatar}`
   }
 }

+ 37 - 1
src/store/modules/user/index.js

@@ -1,6 +1,42 @@
 import actions from "./actions"
 import mutations from "./mutations"
 
+// #ifdef H5
+// 解析地址栏参数
+function getQueryVariable(variable) {
+  // 从?开始获取后面的所有数据
+  var query = window.location.search.substring(1);
+  // 从字符串&开始分隔成数组split
+  var vars = query.split('&');
+  // 遍历该数组
+  for (var i = 0; i < vars.length; i++) {
+    // 从等号部分分割成字符
+    var pair = vars[i].split('=');
+    // 如果第一个元素等于 传进来的参的话 就输出第二个元素
+    if (pair[0] == variable) {
+      return pair[1];
+    }
+  }
+  return undefined;
+}
+var token = getQueryVariable("x-token")
+if (token) {
+  uni.setStorageSync('recycle_mobile_token', token)
+}
+var openId = getQueryVariable("openId")
+if (openId) {
+  uni.setStorageSync('recycle_mobile_openId', openId)
+}
+var username = getQueryVariable("username")
+if (username) {
+  uni.setStorageSync('recycle_mobile_name', username)
+}
+var useravatar = getQueryVariable("useravatar")
+if (useravatar) {
+  uni.setStorageSync('recycle_mobile_avatar', useravatar)
+}
+// #endif
+
 const state = {
   openId: uni.getStorageSync('recycle_mobile_openId') || '',
   token: uni.getStorageSync('recycle_mobile_token') || '',
@@ -12,4 +48,4 @@ export default {
   state,
   mutations,
   actions
-}
+}