import router from '../router/index'; import GET from '@/utils/tool/GET'; export default { onLoad(params){ // 执行解析目录 try { this.name = this.__route__.split('/').pop(); } catch (e) { console.error('catch fail ---> name',this.__route__); this.name = this.__route__; } // 制作 params 列表 this.$params = Object.assign(params, params.query) || {}; this.$storage_params = Object.assign({},this.$params); this.$memoryParams = router.memoryGet(this.name) || {}; // 执行解析 for (let key in this.$params) { if (this.$params.hasOwnProperty(key) && typeof this.$params[key]==='string' && this.$params[key].indexOf('{') === 0) { try { this.$params[key] = JSON.parse(this.$params[key]); } catch (e) { } } } // 解析针对 直播跳转商品详情 custom_params 执行合并 if (this.$params['custom_params']) { let useCustomParams = decodeURIComponent(decodeURIComponent(this.$params['custom_params'])); try { this.$params['custom_params'] = JSON.parse(useCustomParams); this.$params = Object.assign(this.$params,this.$params['custom_params']); } catch (e) { this.$params['custom_params'] = useCustomParams; } } let scene = {}; /* 如果存在扫码等情况进入获取参数列表 */ this.$params.scene && GET.decode(this.$params.scene,(key,value)=>{ this.$params[key] = value; }); if (params.scene) { this.$params['scene_encode_string'] = params.scene; this.$params['scene'] = scene; } for (let key in this.$params) { if (this.$params.hasOwnProperty(key) && typeof this.$params[key] === 'string') { this.$params[key] = decodeURIComponent(this.$params[key]); } } }, created(){ this.$params = {}; } }