🏠 Home 

星柚助手-奈何

杭州星柚--星柚综合业务## Chrome浏览器插件 对外系统扩展插件;

  1. // JavaScript source code
  2. // ==UserScript==
  3. // @name 星柚助手-奈何
  4. // @version 20200403004
  5. // @description 杭州星柚--星柚综合业务## Chrome浏览器插件 对外系统扩展插件;
  6. // @description 支持页面元素隐藏等扩展功能,禁止外传;
  7. // @description 2020-04-07 新增拼多多营销中心报名记录列表抓取并自动上传
  8. // @author 陈彪
  9. // @home-url http://www.lliuliangjia.com:10000/
  10. // @supportURL http://www.lliuliangjia.com:10000/
  11. // @namespace http://www.lliuliangjia.com:10000/
  12. // @connect www.lliuliangjia.com
  13. // @connect 192.168.3.55
  14. // @grant GM_xmlhttpRequest
  15. // @grant GM_getResourceText
  16. // @grant GM_getValue
  17. // @grant GM_setValue
  18. // @grant GM_download
  19. // @grant GM_addStyle
  20. // @grant GM_openInTab
  21. // @license MIT
  22. // @date 2019-10-01
  23. // @modified 2020-03-28
  24. // @match http://scm.ihzxy.com/*
  25. // @match https://mms.pinduoduo.com/*
  26. // @match http://www.lliuliangjia.com:10000/*
  27. // @match http://192.168.3.55:10000/*
  28. // @require https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js
  29. // @run-at document-end
  30. // @grant unsafeWindow
  31. // @grant GM_setClipboard
  32. // @namespace undefined
  33. // ==/UserScript==
  34. (function () {
  35. 'use strict';
  36. var window_url = window.location.href;
  37. var website_host = window.location.host;
  38. // Your code here...
  39. var Config = {
  40. AjaxAPI: "https://www.lliuliangjia.com:10001/index.ashx",
  41. TablePageSize: function () {
  42. return 10
  43. },
  44. ContentType: "application/x-www-form-urlencoded; charset=UTF-8"
  45. }
  46. //http://www.lliuliangjia.com:10000/script/xdate.js
  47. var Ajax = {
  48. Get: function (data, callback) {
  49. var url = Config.AjaxAPI + "?r=1";
  50. //拼接请求的字符串
  51. if (data != null) {
  52. $.each(data, function (m, n) {
  53. url += "&" + m + "=" + n;
  54. });
  55. }
  56. GM_xmlhttpRequest({
  57. method: "GET",
  58. url: url,
  59. headers: { "Content-Type": Config.ContentType },
  60. onload: function (response) {
  61. var status = response.status;
  62. if (status == 200 || status == '200') {
  63. if (callback) {
  64. callback(response.responseText);
  65. }
  66. } else if (status === 4 && status !== 200) {
  67. alert("查询失败,请重试 " + status);
  68. }
  69. }
  70. });
  71. },
  72. Post: function (data, callback) {
  73. var dataText = "";
  74. if (data != null) {
  75. $.each(data, function (m, n) {
  76. if (dataText == "") {
  77. dataText += m + "=" + JSON.stringify(n);
  78. } else {
  79. dataText += "&" + m + "=" + JSON.stringify(n);
  80. }
  81. });
  82. }
  83. var url = Config.AjaxAPI;
  84. GM_xmlhttpRequest({
  85. method: "POST",
  86. url: url,
  87. dataType: "json",
  88. data: dataText,
  89. headers: { "Content-Type": Config.ContentType },
  90. onload: function (response) {
  91. var status = response.status;
  92. if (status == 200 || status == '200') {
  93. if (callback) {
  94. callback(response.responseText);
  95. }
  96. } else if (status === 4 && status !== 200) {
  97. alert("查询失败,请重试 " + status);
  98. }
  99. }
  100. });
  101. },
  102. AjaxPost: function (data, callback) {
  103. var url = Config.AjaxAPI;
  104. $.ajax({
  105. url: url,
  106. data: JSON.stringify(data),
  107. dataType: "json",
  108. "type": "POST",
  109. "contentType": Config.ContentType,
  110. "success": function (html) {
  111. if (callback) {
  112. callback(html);
  113. }
  114. },
  115. error: function (XMLHttpRequest, textStatus, errorThrown) {
  116. console.log(errorThrown);
  117. }
  118. });
  119. }
  120. }
  121. //BPF解析
  122. var BpfAnalysis = {};
  123. //SCM解析
  124. var ScmAnalysis = {};
  125. //拼多多解析
  126. var PddAnalysis = {};
  127. //工具类
  128. var Tools = {};
  129. //随机排序
  130. Tools.Fn = function (n) {
  131. var array = new Array();
  132. for (var i = 0; i < n; i++) {
  133. var rnd = Math.floor(Math.random() * (n));
  134. if (Tools.IsIncluded(rnd, array)) {
  135. i--;
  136. }
  137. else {
  138. array.push(rnd);
  139. }
  140. }
  141. return array;
  142. }
  143. Tools.IsIncluded = function (element, array) {
  144. for (var i = 0, len = array.length; i < len; i++) {
  145. if (array[i] == element) {
  146. return true;
  147. }
  148. }
  149. return false;
  150. }
  151. PddAnalysis.NeedData = [];
  152. PddAnalysis.NeedTitleData = [];
  153. ScmAnalysis.GenericClassData = null;
  154. ScmAnalysis.TempGenericClassData = null;
  155. ScmAnalysis.GetGenericClassData = function (callback) {
  156. if (window_url.indexOf("scm.ihzxy.com") == -1 || website_host != "scm.ihzxy.com") {
  157. return;
  158. }
  159. //iframe中不再执行,可以跳过自有系统里面的iframe嵌套验证
  160. if (window.top != window.self) {
  161. return;
  162. }
  163. Ajax.Get({
  164. type: "XY.SCM.ChromePlug.GenericClass"
  165. }, function (res) {
  166. var returnData = JSON.parse(res);
  167. if (returnData.ReturnCode == 0) {
  168. ScmAnalysis.GenericClassData = returnData.Data;
  169. if (callback) {
  170. callback();
  171. }
  172. } else {
  173. alert("星柚数据加载失败,请联系IT");
  174. }
  175. });
  176. };
  177. ScmAnalysis.ModifyPage = function () {
  178. var li = $(".uf-mutitab").find("li.active");
  179. var tabId = $(li).data("tabid");
  180. var tabName = $($(li).find("lable")[0]).text();
  181. var iframe = document.getElementsByClassName("uf-iframe");
  182. if (iframe.length >= 1) {
  183. //绑定iframe的加载完成事件
  184. iframe[iframe.length - 1].onload = function () {
  185. ScmAnalysis.BindSpecialContent(tabId);
  186. $.each(ScmAnalysis.GenericClassData,
  187. function (m, n) {
  188. if (n.Name == "SCM标签页") {
  189. //1.先找出最外层的SCM相关属性
  190. if (n.ChildList.length > 0) {
  191. $.each(n.ChildList,
  192. function (x, y) {
  193. if (y.Extra1 == tabId) {
  194. //2.再找出当前页面的标签
  195. if (y.ChildList.length > 0) {
  196. $.each(y.ChildList,
  197. function (a, b) {
  198. //3.循环处理这个标签页下面的每一种请求
  199. if (b.ChildList.length > 0) {
  200. switch (b.Name) {
  201. case "隐藏元素":
  202. ScmAnalysis.HideElementsByData(b.ChildList, tabId);
  203. break;
  204. case "提交验证":
  205. ScmAnalysis.CheckSubmitByData(b.ChildList, tabId);
  206. break;
  207. case "默认值":
  208. ScmAnalysis.DefaultValueByData(b.ChildList, tabId);
  209. break;
  210. case "添加样式":
  211. ScmAnalysis.AddClassElementsByData(b.ChildList, tabId);
  212. case "特殊模块":
  213. ScmAnalysis.SpecialElementsByData(b.ChildList, tabId);
  214. break;
  215. default:
  216. break;
  217. }
  218. }
  219. });
  220. }
  221. }
  222. });
  223. }
  224. }
  225. });
  226. Msg.hide(_ufTabMask);
  227. };
  228. }
  229. };
  230. ScmAnalysis.HideElementsByData = function (data, tabId) {
  231. var con = $("#uftab-" + tabId).find("iframe").contents();
  232. $.each(data,
  233. function (m, n) {
  234. con.find("#" + n.Extra1).parents("." + n.Extra2).prev().hide();
  235. con.find("#" + n.Extra1).parents("." + n.Extra2).hide();
  236. });
  237. };
  238. ScmAnalysis.AddClassElementsByData = function (data, tabId) {
  239. var con = $("#uftab-" + tabId).find("iframe").contents();
  240. $.each(data,
  241. function (m, n) {
  242. con.find("#" + n.Name).parents("." + n.Extra1).removeClass(n.Extra1).addClass(n.Extra2);
  243. });
  244. };
  245. ScmAnalysis.DefaultValueByData = function (data, tabId) {
  246. var con = $("#uftab-" + tabId).find("iframe").contents();
  247. $.each(data,
  248. function (m, n) {
  249. con.find("#" + n.Extra1).val(n.Extra2);
  250. });
  251. };
  252. ScmAnalysis.CheckSubmitByData = function (data, tabId) {
  253. var con = $("#uftab-" + tabId).find("iframe").contents();
  254. $.each(data,
  255. function (m, n) {
  256. var btn = con.find("[data-amid='" + n.Extra1 + "']")[0];
  257. var fn = btn.onclick;
  258. if (fn) {
  259. btn.onclick = function () {
  260. if (con.find("#" + n.Extra2).val() == null || con.find("#" + n.Extra2).val() == "") {
  261. alert("【星柚验证】请填写 " + n.Name);
  262. return;
  263. } else {
  264. fn();
  265. }
  266. }
  267. }
  268. });
  269. };
  270. ScmAnalysis.SpecialElementsByData = function (data, tabId) {
  271. $.each(data,
  272. function (m, n) {
  273. switch (n.Name) {
  274. case "标题热搜":
  275. ScmAnalysis.BindSpecialContent(n.ChildList, tabId);
  276. break;
  277. default:
  278. break;
  279. }
  280. });
  281. };
  282. ScmAnalysis.BindSpecialContent = function (data, tabId) {
  283. var con = $("#uftab-" + tabId).find("iframe").contents();
  284. switch (tabId) {
  285. case "modifySampleClothing":
  286. var titleHtml = "";
  287. titleHtml += '<div class="form-group basicGroup">';
  288. titleHtml +=
  289. '<label class="control-label col-sm-2 lbnlp">热搜标题<br><a style="color:Red;cursor:pointer;" class="xy_specialGetHotWord" data-tabId="' +
  290. tabId +
  291. '" >点击获取热搜词</a></label>';
  292. titleHtml += '<div class="col-sm-10" id="xy_specialGetHotWordDiv">';
  293. titleHtml += '</div>';
  294. titleHtml += '</div>';
  295. ScmAnalysis.TempGenericClassData = data;
  296. con.find("#SmName").parents(".form-group").before(titleHtml);
  297. con.find(".xy_specialGetHotWord").on("click", ScmAnalysis.SpecialGetHotWordClick);
  298. break;
  299. case "modifyProduct":
  300. var titleHtml = "";
  301. titleHtml += '<div class="form-group basicGroup">';
  302. titleHtml +=
  303. '<label class="control-label col-sm-2 lbnlp">热搜标题<br><a style="color:Red;cursor:pointer;" class="xy_specialGetHotWord" data-tabId="' +
  304. tabId +
  305. '" >点击获取热搜词</a></label>';
  306. titleHtml += '<div class="col-sm-10" id="xy_specialGetHotWordDiv">';
  307. titleHtml += '</div>';
  308. titleHtml += '</div>';
  309. ScmAnalysis.TempGenericClassData = data;
  310. con.find("#Name").parents(".form-group").before(titleHtml);
  311. con.find(".xy_specialGetHotWord").on("click", ScmAnalysis.SpecialGetHotWordClick);
  312. break;
  313. default:
  314. break;
  315. }
  316. };
  317. ScmAnalysis.SpecialGetHotWordClick = function () {
  318. var tabId = $(this).attr("data-tabId");
  319. var con = $("#uftab-" + tabId).find("iframe").contents();
  320. var ctgId = con.find("#CtgId").val();
  321. var seasonId = con.find("#SeasonId").val();
  322. var titleHtml = "";
  323. if (ctgId == "" || ctgId == null || seasonId == "" || seasonId == null) {
  324. alert("请先选择分类和季节");
  325. return;
  326. }
  327. var tempData = new Array();
  328. $.each(ScmAnalysis.TempGenericClassData, function (m, n) {
  329. if (n.Extra1.toUpperCase() == ctgId.toUpperCase() && n.Extra3.toUpperCase() == seasonId.toUpperCase()) {
  330. tempData.push(n);
  331. }
  332. });
  333. if (tempData.length >= 10) {
  334. for (var i = 0; i < 10; i++) {
  335. var n = tempData[i];
  336. titleHtml += '<button class="xy_specialBtn" data-btntype="pdttitle" data-tabId="' + tabId + '" data-btnvalue="' + n.Name + '" style="margin:2px;" type="button" class="btn btn-default btn-xs">' + (i + 1) + "." + n.Name + '</button>';
  337. }
  338. //10后面的随机排序,每次都不一样
  339. var number = Tools.Fn(tempData.length - 10);
  340. for (var i = 0; i < number.length; i++) {
  341. var n = tempData[number[i] + 10];
  342. titleHtml += '<button class="xy_specialBtn" data-btntype="pdttitle" data-tabId="' + tabId + '" data-btnvalue="' + n.Name + '" style="margin:2px;" type="button" class="btn btn-default btn-xs">' + (number[i] + 10) + "." + n.Name + '</button>';
  343. }
  344. }
  345. con.find("#xy_specialGetHotWordDiv").empty();
  346. con.find("#xy_specialGetHotWordDiv").append(titleHtml);
  347. con.find(".xy_specialBtn").on("click", ScmAnalysis.SpecialBtnClick);
  348. };
  349. ScmAnalysis.SpecialBtnClick = function () {
  350. var type = $(this).attr("data-btntype");
  351. var value = $(this).attr("data-btnvalue");
  352. var tabId = $(this).attr("data-tabId");
  353. var con = $("#uftab-" + tabId).find("iframe").contents();
  354. switch (tabId) {
  355. case "modifySampleClothing":
  356. switch (type) {
  357. case "pdttitle":
  358. var lastVal = con.find("#SmName").val();
  359. con.find("#SmName").val(lastVal + value);
  360. con.find("#NameCount").text((lastVal + value).length);
  361. break;
  362. default:
  363. break;
  364. }
  365. break;
  366. case "modifyProduct":
  367. switch (type) {
  368. case "pdttitle":
  369. var lastVal = con.find("#Name").val();
  370. con.find("#Name").val(lastVal + value);
  371. con.find("#NameCount").text((lastVal + value).length);
  372. break;
  373. default:
  374. break;
  375. }
  376. break;
  377. default:
  378. break;
  379. }
  380. };
  381. PddAnalysis.GetGoodsListClick = function () {
  382. if (confirm("点击 确定 开始处理数据,系统提示处理完成之前请勿关闭该页面,否则会造成数据缺失!")) {
  383. $("#xy_getGoodsList").attr("disabled", "disabled");
  384. $("#xy_getGoodsList").text("处理中。。");
  385. $("#xy_getGoodsList").css("background-color", "#dedccc");
  386. $("#xy_getGoodsList").css("border", "1px solid red");
  387. Config.AjaxAPI = "https://mms.pinduoduo.com/vodka/v2/mms/query/display/mall/goodsList";
  388. Config.ContentType = "application/json; charset=utf-8";
  389. //先根据第一页第一条获取出来总数据条数
  390. var data = { "page": 1, "size": 1, "is_onsale": 1, "sold_out": 0 };
  391. var total = 0;
  392. Ajax.AjaxPost(data, function (res) {
  393. var pageSize = 100;
  394. total = res.r###lt.total;
  395. console.log(total);
  396. var pageCount = Math.ceil(total / pageSize);
  397. //获取出来总条数之后再分页去获取每页的编号,货号,3个价格,累计销量,30日销量
  398. PddAnalysis.GetGoodsListData(1, pageSize, pageCount, total);
  399. });
  400. }
  401. };
  402. PddAnalysis.GetGoodsListData = function (pageNo, pageSize, sumPage, total) {
  403. var shopName = $($(".user-name").find(".name")[0]).text();
  404. var shopId = $($(".user-name").find(".id")[0]).text();
  405. $("#xy_getGoodsList").text("处理:" + pageNo + "/" + sumPage);
  406. // if (pageNo == sumPage) {
  407. // pageSize = total - ((pageNo - 1) * pageSize);
  408. // }
  409. Config.AjaxAPI = "https://mms.pinduoduo.com/vodka/v2/mms/query/display/mall/goodsList";
  410. Config.ContentType = "application/json; charset=utf-8";
  411. var data = { "page": pageNo, "size": pageSize, "is_onsale": 1, "sold_out": 0 };
  412. Ajax.AjaxPost(data, function (r) {
  413. $.each(r.r###lt.goods_list, function (m, n) {
  414. var sku_group_price = 0;
  415. var sku_price = 0;
  416. var origin_sku_group_price = 0;
  417. if (n.sku_group_price.length > 1) {
  418. sku_group_price = n.sku_group_price[0];
  419. }
  420. if (n.sku_price.length > 1) {
  421. sku_price = n.sku_price[0];
  422. }
  423. if (n.origin_sku_group_price.length > 1) {
  424. origin_sku_group_price = n.origin_sku_group_price[0];
  425. }
  426. PddAnalysis.NeedData.push({
  427. "shopName": shopName,
  428. "shopId": shopId,
  429. "id": n.id,
  430. "out_goods_sn": n.out_goods_sn,
  431. "sku_group_price": sku_group_price,
  432. "sku_price": sku_price,
  433. "origin_sku_group_price": origin_sku_group_price,
  434. "sold_quantity": n.sold_quantity,
  435. "sold_quantity_for_thirty_days": n.sold_quantity_for_thirty_days,
  436. "quantity": n.quantity,
  437. "is_onsale": n.is_onsale,
  438. "fav_cnt": n.fav_cnt,
  439. "goods_name": "",
  440. "created_at": n.created_at
  441. });
  442. PddAnalysis.NeedTitleData.push({
  443. "shopId": shopId,
  444. "id": n.id,
  445. "goods_name": n.goods_name
  446. });
  447. });
  448. if (pageNo < sumPage) {
  449. PddAnalysis.GetGoodsListData(pageNo + 1, pageSize, sumPage, total);
  450. }
  451. if (pageNo == sumPage) {
  452. $("#xy_getGoodsList").text("上传数据中...");
  453. PddAnalysis.SubmitGoodsList();
  454. }
  455. //console.log(needData);
  456. });
  457. };
  458. PddAnalysis.SubmitGoodsList = function () {
  459. //获取的数据POST到系统,再插入数据库
  460. Config.AjaxAPI = "http://www.lliuliangjia.com:10000/index.ashx?type=XY.SCM.ChromePlug.AddPddGoodsList";
  461. Config.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"
  462. Ajax.Post({ "data": PddAnalysis.NeedData }, function (res) {
  463. //console.log(res);
  464. var rst = JSON.parse(res);
  465. if (rst.ReturnCode == 0) {
  466. $("#xy_getGoodsList").removeAttr("disabled");
  467. $("#xy_getGoodsList").text("BPF");
  468. $("#xy_getGoodsList").css("background-color", "#e5d64f");
  469. $("#xy_getGoodsList").css("border", "none");
  470. alert("数据处理完成!请登录星柚系统查看");
  471. //$("#xy_getGoodsList").text("更新标题");
  472. //PddAnalysis.SubmitGoodsTitleList();
  473. } else {
  474. alert("系统错误,请联系开发!" + rst.ReturnMsg);
  475. }
  476. });
  477. };
  478. PddAnalysis.SubmitGoodsTitleList = function () {
  479. //获取的数据POST到系统,再插入数据库
  480. Config.AjaxAPI = "http://www.lliuliangjia.com:10000/index.ashx?type=XY.SCM.ChromePlug.UpdatePddGoodsTitleList";
  481. Config.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"
  482. Ajax.Post({ "data": PddAnalysis.NeedTitleData }, function (res) {
  483. //console.log(res);
  484. var rst = JSON.parse(res);
  485. if (rst.ReturnCode == 0) {
  486. $("#xy_getGoodsList").removeAttr("disabled");
  487. $("#xy_getGoodsList").text("BPF");
  488. $("#xy_getGoodsList").css("background-color", "#e5d64f");
  489. $("#xy_getGoodsList").css("border", "none");
  490. alert("数据处理完成!请登录星柚系统查看");
  491. } else {
  492. alert("系统错误,请联系开发!" + rst.ReturnMsg);
  493. }
  494. });
  495. };
  496. PddAnalysis.GetMmsChaClick = function () {
  497. //var now = new XDate().toString("yyyy-MM-dd");
  498. //var lastMonthFirstDay = new XDate(now).addMonths(-1).setDate(1).toString("yyyy-MM-dd");
  499. //var lastMonthFinalDay = new XDate(now).setDate(1).addDays(-1).toString("yyyy-MM-dd");
  500. //var nowMonthFirstDay = new XDate(now).setDate(1).toString("yyyy-MM-dd");
  501. //var nowMonthSub2Day = new XDate(now).addDays(-3).toString("yyyy-MM-dd");
  502. //var nowMonthNowDay = new XDate(now).addDays(-1).toString("yyyy-MM-dd");
  503. //var mode = prompt("请在下方输入数据下载模式!\n1.上个月全月数据(" + lastMonthFirstDay + "~" + lastMonthFinalDay + ")\n2.当月数据-2天前(" + nowMonthFirstDay + "~" + nowMonthSub2Day + ")\n3.当月数据(" + nowMonthFirstDay + "~" + nowMonthNowDay + ")", "")
  504. //if (mode != null && mode != "") {
  505. // alert(new XDate());
  506. // //$("#xy_getMmsChat").attr("disabled", "disabled");
  507. // //$("#xy_getMmsChat").text("处理中。。");
  508. // //$("#xy_getMmsChat").css("background-color", "#dedccc");
  509. // //$("#xy_getMmsChat").css("border", "1px solid red");
  510. // //Config.AjaxAPI = "https://mms.pinduoduo.com/chats/csReportDetail?starttime=1585065600&endtime=1585065600";
  511. // //Config.ContentType = "application/json; charset=utf-8";
  512. // //这个请求现在是不用分页的
  513. // //var data = { "page": 1, "size": 1, "is_onsale": 1, "sold_out": 0 };
  514. // //var total = 0;
  515. // //Ajax.AjaxPost(data, function (res) {
  516. // // var pageSize = 100;
  517. // // total = res.r###lt.total;
  518. // // console.log(total);
  519. // // var pageCount = Math.ceil(total / pageSize);
  520. // // //获取出来总条数之后再分页去获取每页的编号,货号,3个价格,累计销量,30日销量
  521. // // PddAnalysis.GetGoodsListData(1, pageSize, pageCount, total);
  522. // //});
  523. //}
  524. };
  525. ScmAnalysis.init = function () {
  526. ScmAnalysis.GetGenericClassData(function () {
  527. //监听顶部菜单栏的增加事件,减少不触发
  528. $(".ufxbox").bind("DOMNodeInserted", ScmAnalysis.ModifyPage);
  529. });
  530. };
  531. BpfAnalysis.init = function () {
  532. if (window_url.indexOf("www.lliuliangjia.com") == -1 &&
  533. website_host != "www.lliuliangjia.com" &&
  534. window_url.indexOf("192.168.3.55") == -1 &&
  535. website_host != "192.168.3.55") {
  536. return;
  537. }
  538. if (window.top != window.self) {
  539. return;
  540. }
  541. $(".brand-logo").append("<span class='hide' id='ChromePlug'>1</span>");
  542. };
  543. PddAnalysis.init = function () {
  544. if (window_url.indexOf("mms.pinduoduo.com/goods/goods_list") == -1 && window_url.indexOf("mms.pinduoduo.com/mms-chat/overview/merchant") == -1 && window_url.indexOf("mms.pinduoduo.com/act/register_record") == -1) {
  545. return;
  546. }
  547. //iframe中不再执行,可以跳过自有系统里面的iframe嵌套验证
  548. if (window.top != window.self) {
  549. return;
  550. }
  551. if (window_url.indexOf("mms.pinduoduo.com/goods/goods_list") != -1) {
  552. $("#root").bind("DOMNodeInserted", function () {
  553. if ($("#XyDiv").html() != null) {
  554. $("#root").unbind();
  555. } else {
  556. var html = '<div id="XyDiv"><div class="" style="margin-left:15px;"><div class="Badge_container_290"><a><button id="xy_getGoodsList" data-testid="beast-core-button" class="BTN_outerWrapper_290 BTN_gray_290 BTN_medium_290 BTN_outerWrapperBtn_290" type="button" style="background-color: #e5d64f;"><span>BPF</span></button></a></div></div></div>';
  557. $(".batch-set-size-container").after(html);
  558. var con = $("#root").contents();
  559. con.find("#xy_getGoodsList").on("click", PddAnalysis.GetGoodsListClick);
  560. }
  561. });
  562. }
  563. if (window_url.indexOf("mms.pinduoduo.com/mms-chat/overview/merchant") != -1) {
  564. $("#root").bind("DOMNodeInserted", function () {
  565. if ($("#XyDiv").html() != null) {
  566. $("#root").unbind();
  567. } else {
  568. var html = '<div id="XyDiv"><a id="xy_getMmsChat" style="margin-left: 20px;background-color: #e5d64f; width: 91px;height: 28px;text-align: center;line-height: 28px;border-radius: 3px;border: 1px solid #19e;font-size: 14px;cursor: pointer;color: black;display: block;" class="">BPF</a> </div>';
  569. $(".pdd-btn-download").before(html);
  570. var con = $("#root").contents();
  571. con.find("#xy_getMmsChat").on("click", PddAnalysis.GetMmsChaClick);
  572. }
  573. });
  574. }
  575. if (window_url.indexOf("mms.pinduoduo.com/act/register_record") != -1) {
  576. $("#root").bind("DOMNodeInserted", function () {
  577. if ($("#XyDiv").html() != null) {
  578. $("#root").unbind();
  579. } else {
  580. var html = '<div id="XyDiv"><a id="xy_getRegisterRecord" style="margin-left: 20px;background-color: #e5d64f; width: 91px;height: 28px;text-align: center;line-height: 28px;border-radius: 3px;border: 1px solid #19e;font-size: 14px;cursor: pointer;color: black;display: block;" class="">BPF</a> </div>';
  581. $(".pdd-btn-download").before(html);
  582. var con = $("#root").contents();
  583. con.find("#xy_getRegisterRecord").on("click", PddAnalysis.GetMmsChaClick);
  584. }
  585. });
  586. }
  587. };
  588. //SCM部分初始化执行
  589. ScmAnalysis.init();
  590. //BPF部分初始化执行
  591. BpfAnalysis.init();
  592. //拼多多部分初始化执行
  593. PddAnalysis.init();
  594. })();