1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { enCodeQueryStr } from '@/common/share.helper.js'
- import { queryParse } from '@/common/utils.js'
- const shareEntry = {
- data() {
- return {
- // 分享链接携带的数据
- shareData: {
- type: '',
- inviteUserId: '', // 邀请者用户ID
- activityId: '', // 分享者活动ID
- dealerUserId: '', // 协销用户ID
- keyWord: '', // 搜索关键词
- productId: '', // 产品ID
- jumpState: '', // 跳转类型 普通用户 协销
- collageId: ''
- }
- }
- },
- methods: {
- // 处理分享参数
- shareHandle(query, type) {
- if (!query) return
- console.log(query)
- // 小程序分享
- if (type === 'state_str') {
- this.shareData = {
- ...this.shareData,
- ...JSON.parse(this.$crypto.decrypt(decodeURIComponent(query)))
- }
- } else if (type === 'scene') {
- this.shareData = {
- ...this.shareData,
- ...queryParse(enCodeQueryStr(decodeURIComponent(query)))
- }
- } else {
- return this.$router.switchTab('home')
- }
- // 保存分享者的用户id
- if (this.shareData.inviteUserId) {
- this.$store.commit('user/SET_INVITE_USER_ID', this.shareData.inviteUserId)
- }
- console.log(this.shareData)
- this.shareData.type = parseInt(this.shareData.type)
- this.jumpTopSharePage()
- },
- // 跳转到对应的分享页面
- jumpTopSharePage() {
- const { type = 0, collageId, jumpState, productId, activityId, dealerUserId, keyWord } = this.shareData
- const path = {
- 0: 'home', //首页
- 1: `goods/goods-detail?type=share&jumpState=${jumpState}&productId=${productId}`, //商品详情
- // 2: `goods/goods-search?keyWord=${keyWord}`, // 搜索页面
- 3: `activity/activity-detail?type=share&activityId=${activityId}&dealerUserId=${dealerUserId}`, //活动商品列表
- 4: `share-buy/share-buy-entry?type=share&collageId=${collageId}` // 拼团分享
- }
- if (type === 0) {
- this.$router.switchTab(path[type])
- } else {
- this.$router.redirectTo(path[type])
- }
- }
- }
- }
- export default shareEntry
|