绿满眶商城微信小程序-uniapp
zxl
17 小时以前 a1bde7bdd85d7cc8632ab169e42570b631571d6f
pages/tabbar/user/my.vue
@@ -144,6 +144,7 @@
import { getUserWallet } from "@/api/members";
import configs from '@/config/config'
import storage from '@/utils/storage.js'
import { getSessionId, userAction } from "@/api/userAction.js";
export default {
  components: {
    tool
@@ -160,9 +161,20 @@
      couponNum: "",
      footNum: "",
      walletNum: "",
     pageSessionNo:"",
     actionParam:{
         sessionId:'',
         actionType:"PAGE",
         joinType:"SELF",
         pageCode:"TBA_BAR_MY",
         pageParams:"{}",
         pageStatus:"JOIN",
         pageType:"DETAIL"
      }
    };
  },
  onLoad(option) {
    this.actionParam.pageParams = JSON.stringify(option)
    console.log('-----------分享出的数据---------->', option)
    let shareStoreId = null;
    let shareTime = null;
@@ -190,28 +202,41 @@
        shareTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
        uni.setStorageSync('shareTime', shareTime);
          this.bindMemberAndStore(shareStoreId, shareTime);
        console.log('数据存储成功');
      } catch (e) {
        console.error('存储失败:', e);
      }
    }else{
      shareStoreId = uni.getStorageSync('shareStoreId');
      shareStoreId = uni.getStorageSync('shareTime');
      console.log('从缓存读取参数:', { shareStoreId, shareTime });
      // this.bindMemberAndStore(shareStoreId, shareTime)
      if (shareStoreId && shareTime) {
        console.log('检测到有效参数,调用后端接口');
        this.bindMemberAndStore(shareStoreId, shareTime);
      } else {
        console.log('无有效参数,执行正常逻辑');
      }
    }
    this.initCOS()
   },
  onUnload() {
    let   param = Object.assign({}, this.actionParam);
    if (this.sendOnShow)return
    param.pageStatus = "LEAVE"
    userAction(param)
  },
  onHide() {
    this.startHidenTime = Date.now()
    let   param =Object.assign({}, this.actionParam);
    this.sendOnShow = true;
    param.pageStatus = "LEAVE"
    userAction(param)
  },
  // onLoad(options) {
   //
   //   this.initCOS()
  // },
  onShow() {
     getSessionId().then(res=>{
      this.pageSessionNo = res.data.data
      this.actionParam.sessionId = res.data.data
      if(this.pageSessionNo){
      let   param = Object.assign({}, this.actionParam);
         param.sessionId = this.pageSessionNo
         userAction(param)
      }
     })
    this.userInfo = this.$options.filters.isLogin() || {};
    if (this.$options.filters.isLogin("auth")) {
      this.getUserOrderNum();
@@ -220,6 +245,16 @@
      this.couponNum = 0;
      this.footNum = 0;
    }
   let shareStoreId = uni.getStorageSync('shareStoreId');
   let shareTime = uni.getStorageSync('shareTime');
   console.log('从缓存读取参数:', { shareStoreId, shareTime });
   if (shareStoreId && shareTime) {
     console.log('检测到有效参数,调用后端接口');
     this.bindMemberAndStore(shareStoreId, shareTime);
   } else {
     console.log('无有效参数,执行正常逻辑');
   }
  },
  onPullDownRefresh() {
    this.getUserOrderNum();
@@ -236,6 +271,23 @@
  mounted() { },
  methods: {
     // 解析URL参数
     parseUrlParams(url) {
        const params = {};
        // 处理可能存在的hash(如果有的话)
        const cleanUrl = url.split('#')[0];
        const queryStr = cleanUrl.split('?')[1] || '';
        queryStr.split('&').forEach(pair => {
           const [key, value] = pair.split('=');
           if (key) {
              // 如果值存在,则解码,否则设为空字符串
              params[key] = value ? decodeURIComponent(value) : '';
           }
        });
        return params;
     },
    async bindMemberAndStore(shareStoreId, shareTime){
      let form ={
        shareStoreId: shareStoreId,