- // ==UserScript==
- // @name GMV TO 5A
- // @namespace http://tampermonkey.net/
- // @license MIT
- // @version 1.1
- // @description 云图扩展工具
- // @author siji-Xian
- // @match *://yuntu.oceanengine.com/yuntu_brand/assets/gta/track?*
- // @icon https://lf3-static.bytednsdoc.com/obj/eden-cn/prhaeh7pxvhn/yuntu/yuntu-logo_default.svg
- // @grant none
- // @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.2.1/jquery.min.js
- // @require https://cdn.bootcss.com/moment.js/2.20.1/moment.min.js
- // @require https://greasyfork.org/scripts/404478-jsonexportexcel-min/code/JsonExportExcelmin.js?version=811266
- // @require https://greasyfork.org/scripts/455576-qmsg/code/Qmsg.js?version=1122361
- // ==/UserScript==
-
- (function () {
- "use strict";
-
- var new_element = document.createElement("link");
- new_element.setAttribute("rel", "stylesheet");
- new_element.setAttribute("href", "https://qmsg.refrain.xyz/message.min.css");
- document.body.appendChild(new_element);
-
- var buttom = document.createElement("button"); //创建一个按钮
- buttom.textContent = "导出数据"; //按钮内容
- buttom.style.height = "32px"; //高
- buttom.style.lineHeight = "32px"; //行高
- buttom.style.align = "center"; //文本居中
- buttom.style.color = "white"; //按钮文字颜色
- buttom.style.background = "#2a5df0"; //按钮底色
- buttom.style.border = "0px"; //边框属性
- buttom.style.borderRadius = "3px"; //按钮四个角弧度
- buttom.style.marginLeft = "10px";
- buttom.style.fontSize = "12px";
- buttom.style.padding = "0 5px";
- buttom.addEventListener("click", userClick); //监听按钮点击事件
-
- //message.js
- let loadingMsg = null;
-
- //获取industry_id
- let industry_id = null;
-
- //获取report_id
- let report_id = null;
-
- (function listen() {
- var origin = {
- open: XMLHttpRequest.prototype.open,
- send: XMLHttpRequest.prototype.send,
- };
- XMLHttpRequest.prototype.open = function (a, b) {
- this.addEventListener("load", replaceFn);
- origin.open.apply(this, arguments);
- };
- XMLHttpRequest.prototype.send = function (a, b) {
- origin.send.apply(this, arguments);
- };
- function replaceFn(obj) {
- if (
- this?._url?.slice(0, 42) == "/yuntu_ng/api/v1/get_brand_competitor_list"
- ) {
- industry_id = JSON.parse(obj?.target?.response).data[0].industry_id;
- }
- if (
- this?._url?.slice(0, 45) == "/yuntu_ng/api/v1/AudienceGtaReportQueryListV2"
- ) {
- report_id = JSON.parse(obj?.target?.response).data.reports[0].base_info.report_id;
- }
- }
- })();
-
- //默认GET请求
- const getRequestOptions = {
- method: "GET",
- redirect: "follow",
- };
-
- //获取brand信息
- let brand = localStorage.getItem("__Garfish__platform__yuntu_user") || "";
- let brands = JSON.parse(brand);
-
- // 弹窗组件
- class inlyModelComponent {
- constructor() {
- let _this = this;
- this.loadingMsg = null;
-
- //展示弹窗
- this.showModel = () => {
- $("#inly_model").css({ display: "block" });
- $(".inly_box").css({ animation:'inly_box .2s forwards' })
- setTimeout(() => {
- $("#inly_model").css({ opacity: 1 });
- }, 0);
- };
-
- //关闭弹窗
- this.closeModel = function () {
- $("#inly_model").css({ opacity: 0 });
- $(".inly_box").css({animation:'inly_box_close .2s forwards'})
- setTimeout(() => {
- document.getElementById("inly_model").style.display = "none";
- }, 200);
- };
-
- //原生阻止冒泡
- this.stopPropagation = function (e) {
- e = e || window.event;
- if (e.stopPropagation) {
- e.stopPropagation();
- } else {
- e.cancelBubble = true;
- }
- };
-
- const htmlModel = `
- <div
- style="
- transition: opacity 0.2s;
- opacity: 0;
- position: absolute;
- top: 0;
- left: 0;
- width: 100vw;
- height: 100vh;
- background-color: rgba(0, 0, 0, 0.2);
- z-index: 888;
- display: none;
- "
- id="inly_model"
- >
- <style>
- .inly_buttom{
- flex: 1;
- display: flex;
- color: #FFF;
- cursor: pointer;
- background-color: rgba(43, 93, 241, .9);
- font-size: 12px;
- height: 24px;
- margin: 5px;
- border-radius: 3px;
- align-items: center;
- justify-content: center;
- }
- .tips{
- position: absolute;
- font-size: 12px;
- color: #666;
- right: 5px;
- bottom: 5px;
- }
- .inly_box{
- box-sizing: border-box;
- position: absolute;
- height: 200px;
- width: 350px;
- background-color: #fff;
- border-radius: 10px;
- padding: 10px;
- }
- @keyframes inly_box {
- 0%{top:0%;right: 0%;transform:translate(0%, 0%) scale(0);}
- 100%{top:50%;right: 50%;transform:translate(50%, -100%) scale(1);}
- }
-
- @keyframes inly_box_close {
- 0%{top:50%;right: 50%;transform:translate(50%, -100%) scale(1);}
- 100%{top:0%;right: 0%;transform:translate(0%, 0%) scale(0);}
- }
- </style>
- <div
- id="inly_box"
- class="inly_box"
- >
- <div
- style="
- position: absolute;
- top: 0px;
- right: 10px;
- z-index: -1;
- opacity: 1;
- /* transform: rotate(-45deg); */
- "
- >
- <svg
- version="1.1"
- id="Layer_1"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- x="0px"
- y="0px"
- width="42px"
- height="42px"
- viewBox="0 0 42 42"
- enable-background="new 0 0 128 128"
- xml:space="preserve"
- >
- <image
- id="image0"
- width="42"
- height="42"
- x="0"
- y="0"
- href="data:image/png;base64,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
- AAAASUVORK5CYII="
- />
- </svg>
- </div>
-
- <div style="font-size: 14px; color: #000; height: 24px;">
- 功能
- </div>
- <div class="tips"><span>(Tips:点击空白处关闭弹窗)</span></div>
- <div style="max-height: calc(100% - 24px);">
- <div style="width: 100%; display: flex;">
- <div id="inly_xkxs" class="inly_buttom" style="flex:3;"><span>活动期新客蓄水</span></div>
- <div id="inly_xkxscl" class="inly_buttom" style="flex:3;"><span>新客蓄水人群策略</span></div>
- </div>
- <div style="width: 100%; display: flex;">
- <div id="inly_xkxz" class="inly_buttom" style="flex:3;"><span>活动期新客新增</span></div>
- <div id="inly_xkxzcl" class="inly_buttom" style="flex:3;"><span>新客新增人群策略</span></div>
- </div>
- <div style="width: 100%; display: flex;">
- <div id="inly_lkxs" class="inly_buttom" style="flex:3;"><span>活动期老客蓄水</span></div>
- <div id="inly_lkxscl" class="inly_buttom" style="flex:3;"><span>老客蓄水人群策略</span></div>
- </div>
- <div style="width: 100%; display: flex;">
- <div id="inly_xs" class="inly_buttom" style="flex:3;"><span>蓄水期触点贡献情况</span></div>
- <div id="inly_xscl" class="inly_buttom" style="flex:3;"><span>蓄水期人群策略</span></div>
- </div>
- </div>
- </div>
- </div>
- `;
-
- //添加弹窗到body节点
- $("body").append(htmlModel);
- function appendDoc() {
- let like_comment;
- setTimeout(() => {
- like_comment = $("body");
- if (like_comment) {
- like_comment.append(htmlModel); //把按钮加入到 x 的子节点中
- return;
- }
- appendDoc();
- }, 1000);
- }
- appendDoc();
-
- //点击空白处关闭弹窗
- $("#inly_model").click(function (event) {
- _this.closeModel();
- _this.stopPropagation();
- return false;
- });
-
- //阻止冒泡
- $("#inly_box").click(function (event) {
- _this.stopPropagation();
- return false;
- });
-
- //按钮事件
- $("#inly_xkxs").click(function (e) {
- exp_xkxs();
- _this.stopPropagation();
- return false;
- });
-
- $("#inly_xkxz").click(function (e) {
- exp_xkxz();
- _this.stopPropagation();
- return false;
- });
-
- $("#inly_lkxs").click(function (e) {
- exp_lkxs();
- _this.stopPropagation();
- return false;
- });
-
- $("#inly_xkxscl").click(function (e) {
- exp_xkxscl();
- _this.stopPropagation();
- return false;
- });
-
- $("#inly_xkxzcl").click(function (e) {
- exp_xkxzcl();
- _this.stopPropagation();
- return false;
- });
-
- $("#inly_lkxscl").click(function (e) {
- exp_lkxscl();
- _this.stopPropagation();
- return false;
- });
-
- $("#inly_xs").click(function (e) {
- exp_xs();
- _this.stopPropagation();
- return false;
- });
-
- $("#inly_xscl").click(function (e) {
- exp_xscl();
- _this.stopPropagation();
- return false;
- });
- }
- }
-
- //初始化弹窗组件
- const inly_Model = new inlyModelComponent();
-
- let aadvid = getQueryVariable("aadvid"),
- brand_id = brands.brand_id;
-
- function appendDoc() {
- let like_comment;
- setTimeout(() => {
- like_comment = document.getElementsByClassName(
- "backHeader-hgTQPa"
- )[0];
- if (like_comment) {
- like_comment.append(buttom); //把按钮加入到 x 的子节点中
- return;
- }
- appendDoc();
- }, 1000);
- }
- appendDoc();
-
- //query参数获取
- function getQueryVariable(variable) {
- var query = window.location.search.substring(1);
- 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 false;
- }
-
- //fetch请求封装
- async function fetchFun(url, data = {}, requestOptions = getRequestOptions) {
- const urlData = Object.keys(data)
- .map((v) => `${v}=${data[v]}`)
- .join("&");
- try {
- const response = await fetch(`${url}?${urlData}`, requestOptions);
- const result_1 = await response.text();
- return JSON.parse(result_1);
- } catch (error) {
- return console.log("error", error);
- }
- }
-
- //活动期转化分析
- async function fetchData_hd(i, data) {
- let requestData = await fetchFun(
- "https://yuntu.oceanengine.com/yuntu_ng/api/v1/AudienceGtaHarvestAnalysis",
- { ...data, card: i }
- );
- let res = requestData.data.ax_analysis.tps;
- return res.map((v) => {
- return {
- ...v,
- trigger_point_name: `A${i}${v.trigger_point_name}`,
- };
- });
- }
-
- //活动期转化分析人群策略
- async function fetchData_cl(i, data) {
- let requestData = await fetchFun(
- "https://yuntu.oceanengine.com/yuntu_ng/api/v1/AudienceGtaHarvestAnalysis",
- { ...data, card: i }
- );
- let res = requestData.data.ax_analysis.packs;
- return res;
- }
-
- //蓄水期触点贡献情况
- async function fetchData_xs(i, data) {
- let requestData = await fetchFun(
- "https://yuntu.oceanengine.com/yuntu_ng/api/v1/AudienceGtaImpoundAnalysis",
- { ...data, card: i }
- );
- let res = requestData.data.ax_analysis.tps;
- return res.map((v) => {
- return {
- ...v,
- trigger_point_name: `A${i}${v.trigger_point_name}`,
- };
- });
- }
-
- //蓄水期人群策略
- async function fetchData_xscl(i, data) {
- let requestData = await fetchFun(
- "https://yuntu.oceanengine.com/yuntu_ng/api/v1/AudienceGtaImpoundAnalysis",
- { ...data, card: i }
- );
- let res = requestData.data.ax_analysis.packs;
- return res;
- }
-
- async function getData(fun, card, param, fileName, contrast) {
- let data = {
- aadvid,
- industry_id,
- brand_id,
- report_id,
- ...param,
- };
- let requestData = await Promise.all(
- card.map((v) => {
- let res = fun(v, data);
- return res;
- })
- );
- let option = requestData.map((v) => {
- return {
- sheetName: "",
- sheetData: v,
- sheetHeader: Object.keys(contrast),
- sheetFilter: Object.values(contrast),
- columnWidths: [], // 列宽
- };
- });
- toExcel(fileName, option);
- }
-
- function toExcel(e, data) {
- let option = {};
- option.fileName = e; //文件名
- option.datas = data;
- var toExcel = new ExportJsonExcel(option);
- toExcel.saveExcel();
- loadingMsg.close();
- }
-
- function userClick() {
- inly_Model.showModel();
- }
-
- function exp_xkxs() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "活动期新客蓄水";
- let param = {
- gta_type: 1,
- analysis_type: 1,
- };
- let card = [1, 2, 3];
- let contrast = {
- 触点: "trigger_point_name",
- ID: "trigger_point_id",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 存量转化人数: "to_a4_cnt",
- 存量转化率: "to_a4_rate",
- };
- getData(fetchData_hd, card, param, fileName, contrast);
- }
-
- function exp_xkxscl() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "活动期新客蓄水人群策略";
- let param = {
- gta_type: 1,
- analysis_type: 3,
- };
- let card = [1, 2, 3];
- let contrast = {
- 人群包: "pack_name",
- 人群包id: "pack_id",
- 人群包量级: "cover_num",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 存量转化人数: "to_a4_cnt",
- 存量转化率: "to_a4_rate",
- };
- getData(fetchData_cl, card, param, fileName, contrast);
- }
-
- function exp_xkxz() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "活动期新客新增";
- let param = {
- gta_type: 2,
- analysis_type: 1,
- };
- let card = [1, 2, 3];
- let contrast = {
- 触点: "trigger_point_name",
- ID: "trigger_point_id",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 新增转化人数: "to_a4_cnt",
- 新增转化率: "to_a4_rate",
- };
- getData(fetchData_hd, card, param, fileName, contrast);
- }
-
- function exp_xkxzcl() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "活动期新客新增人群策略";
- let param = {
- gta_type: 2,
- analysis_type: 3,
- };
- let card = [1, 2, 3];
- let contrast = {
- 人群包: "pack_name",
- 人群包id: "pack_id",
- 人群包量级: "cover_num",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 新增转化人数: "to_a4_cnt",
- 新增转化率: "to_a4_rate",
- };
- getData(fetchData_cl, card, param, fileName, contrast);
- }
-
- function exp_lkxs() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "活动期老客蓄水";
- let param = {
- gta_type: 4,
- analysis_type: 1,
- };
- let card = [4];
- let contrast = {
- 触点: "trigger_point_name",
- ID: "trigger_point_id",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 购买转化人数: "to_a4_cnt",
- 购买转化率: "to_a4_rate",
- };
- getData(fetchData_hd, card, param, fileName, contrast);
- }
-
- function exp_lkxscl() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "活动期老客蓄水人群策略";
- let param = {
- gta_type: 4,
- analysis_type: 3,
- };
- let card = [4];
- let contrast = {
- 人群包: "pack_name",
- 人群包id: "pack_id",
- 人群包量级: "cover_num",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 购买转化人数: "to_a4_cnt",
- 购买转化率: "to_a4_rate",
- };
- getData(fetchData_cl, card, param, fileName, contrast);
- }
-
- function exp_xs() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "蓄水期触点贡献情况";
- let param = {
- analysis_type: 1,
- };
- let card = [1, 2, 3];
- let contrast = {
- 触点: "trigger_point_name",
- ID: "trigger_point_id",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 流转规模: "to_a3_cnt",
- 流转率: "to_a3_rate",
- };
- getData(fetchData_xs, card, param, fileName, contrast);
- }
-
- function exp_xscl() {
- loadingMsg = Qmsg.loading("正在导出,请勿重复点击!");
- let fileName = "蓄水期人群策略";
- let param = {
- analysis_type: 3,
- };
- let card = [1, 2, 3];
- let contrast = {
- 人群包: "pack_name",
- 人群包id: "pack_id",
- 人群包量级: "cover_num",
- 曝光次数: "show_cnt",
- 曝光人数: "show_uv",
- 人均曝光次数: "show_avg",
- 流转规模: "to_a3_cnt",
- 流转率: "to_a3_rate",
- };
- getData(fetchData_xscl, card, param, fileName, contrast);
- }
-
- })();