Commit e9223792 authored by 郭志伟's avatar 郭志伟

feature(sa): 完成调整

parent 63000d25
...@@ -6,6 +6,7 @@ import { isWechat, isApp, isAndroid, isIOS } from './validation.service'; ...@@ -6,6 +6,7 @@ import { isWechat, isApp, isAndroid, isIOS } from './validation.service';
import Cookies from './cookieStorage.service'; import Cookies from './cookieStorage.service';
import localStorage from './localStorage.service'; import localStorage from './localStorage.service';
import sessionStorage from './sessionStorage.service'; import sessionStorage from './sessionStorage.service';
import { loginSa } from './sa.service';
// import { Toast } from '@qg/cherry-ui'; // import { Toast } from '@qg/cherry-ui';
export default { export default {
...@@ -24,7 +25,14 @@ export default { ...@@ -24,7 +25,14 @@ export default {
isIOS && localStorage.set('vccChannel', '214'); isIOS && localStorage.set('vccChannel', '214');
isAndroid && localStorage.set('vccChannel', '217'); isAndroid && localStorage.set('vccChannel', '217');
meta?.has?.header && store.commit('CHANGE_HEADER', meta.has.header); // 改变header meta?.has?.header && store.commit('CHANGE_HEADER', meta.has.header); // 改变header
const localParams = ['redirectUrl', 'h', 'vccToken', 'vccChannel', 'sonVccChannel']; const localParams = [
'redirectUrl',
'h',
'vccToken',
'vccChannel',
'sonVccChannel',
'distinctID'
];
// TODO: 类似逻辑可以整合 // TODO: 类似逻辑可以整合
localParams.forEach(item => { localParams.forEach(item => {
const value = to.query[item]; const value = to.query[item];
...@@ -36,6 +44,9 @@ export default { ...@@ -36,6 +44,9 @@ export default {
localStorage.set(item, value); localStorage.set(item, value);
sessionStorage.set(item, value); sessionStorage.set(item, value);
} }
if (item === 'distinctID' && to.query[item]) {
loginSa(to.query[item]);
}
}); });
(isWechat || isApp || Cookies.get('h') === '0') && store.commit('CHANGE_HEADER', false); // 改变header (isWechat || isApp || Cookies.get('h') === '0') && store.commit('CHANGE_HEADER', false); // 改变header
document.body.className = store.state.pay.header ? 'has-header' : ''; document.body.className = store.state.pay.header ? 'has-header' : '';
......
import Vue from 'vue'; import Vue from 'vue';
import sa from 'sa-sdk-javascript'; import sa from 'sa-sdk-javascript';
import config from '@/config'; import config from '@/config';
console.log(config); const saCookiesKey = 'sensorsdata2015jssdkcross';
export default { export default {
init: function(router) { init: function(router) {
sa.init({ sa.init({
...@@ -41,3 +41,18 @@ export function saDeviceId() { ...@@ -41,3 +41,18 @@ export function saDeviceId() {
export function setRegisterPage(registerPageObj) { export function setRegisterPage(registerPageObj) {
sa.registerPage(registerPageObj); sa.registerPage(registerPageObj);
} }
// 用户登录神策埋点
export function loginSa(uuid = localStorage.get('uuid')) {
if (!uuid) return;
localStorage.set('uuid', uuid);
sa.login(uuid);
}
export function saDistinctId() {
const reg = new RegExp(`(^| )${saCookiesKey}=([^;]*)(;|$)`);
let cookieValue = document.cookie.match(reg);
if (!cookieValue) return '';
cookieValue = JSON.parse(decodeURIComponent(cookieValue[2]));
return cookieValue.distinct_id || '';
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment