wotokol-edm 1.2.66 → 1.2.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wotokol-edm",
3
- "version": "1.2.66",
3
+ "version": "1.2.68",
4
4
  "description": "",
5
5
  "main": "wotokol-edm.common.js",
6
6
  "scripts": {
@@ -119218,8 +119218,8 @@ var detail_component = normalizeComponent(
119218
119218
  )
119219
119219
 
119220
119220
  /* harmony default export */ var detail = (detail_component.exports);
119221
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/write-email/index.vue?vue&type=template&id=6082a134&scoped=true
119222
- var write_emailvue_type_template_id_6082a134_scoped_true_render = function render() {
119221
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/write-email/index.vue?vue&type=template&id=f936dfd0&scoped=true
119222
+ var write_emailvue_type_template_id_f936dfd0_scoped_true_render = function render() {
119223
119223
  var _vm = this,
119224
119224
  _c = _vm._self._c;
119225
119225
  return _c('div', {
@@ -120067,7 +120067,7 @@ var write_emailvue_type_template_id_6082a134_scoped_true_render = function rende
120067
120067
  }
120068
120068
  }) : _vm._e()], 1);
120069
120069
  };
120070
- var write_emailvue_type_template_id_6082a134_scoped_true_staticRenderFns = [function () {
120070
+ var write_emailvue_type_template_id_f936dfd0_scoped_true_staticRenderFns = [function () {
120071
120071
  var _vm = this,
120072
120072
  _c = _vm._self._c;
120073
120073
  return _c('div', {
@@ -120088,7 +120088,7 @@ var write_emailvue_type_template_id_6082a134_scoped_true_staticRenderFns = [func
120088
120088
  }, [_c('span', [_vm._v("$4.98")]), _vm._v(" /per ordered item ")]);
120089
120089
  }];
120090
120090
 
120091
- ;// ./src/package/write-email/index.vue?vue&type=template&id=6082a134&scoped=true
120091
+ ;// ./src/package/write-email/index.vue?vue&type=template&id=f936dfd0&scoped=true
120092
120092
 
120093
120093
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
120094
120094
  var es_set_difference_v2 = __webpack_require__(7642);
@@ -131420,7 +131420,7 @@ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_u
131420
131420
  let sendProductCard = `<product-card cardIds=${cardIds}><div style="display:flex;overflow-x:auto">${cardHtml}</div></product-card>`;
131421
131421
  let data = {
131422
131422
  replyIds: ids,
131423
- content: this.mailList[0].getContent() + sendProductCard,
131423
+ content: this.formatTableInlineStyle(this.mailList[0].getContent() + sendProductCard),
131424
131424
  attachments: this.mailList[0].fileList,
131425
131425
  sendEntryKey: "inboxMultiReply"
131426
131426
  };
@@ -131802,6 +131802,51 @@ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_u
131802
131802
  // 跳转中间页面
131803
131803
  return `<div style="display: flex"><div style="box-sizing:border-box;width: 274px; min-height: 310px; border-radius: 14px; border: 1px solid #e8e8e8; padding: 12px;margin-right:8px"><div style="margin-bottom: 10px;width:250px;height:250px;"><img style="border: 1px solid #333;width: 100%;height: 100%;border-radius: 14px;object-fit:contain;" src="${item.imageUrls && item.imageUrls.length ? item.imageUrls[0] : ""}"/></div><div style="display: flex;align-items: center;flex-wrap:wrap;margin-bottom: 8px;">${promotePlatformTypeImg}${typeName}</div><div style="margin-bottom: 16px"><div style="font-weight: 600;font-size: 16px;color: #333333;line-height: 22px;margin-bottom: 4px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">${nameEn}</div><div style="font-weight: 400;font-size: 14px;color: #666666;line-height: 20px;margin-bottom: 4px;">Price:${symbol}${item.priceDollar || "—"}</div><div style="font-weight: 400;font-size: 14px;color: #666666;line-height: 20px;margin-bottom: 0;">Commission rate:${item.commissionPercent || "—"}%</div></div><div style="display: flex; align-items: center"><div style="font-weight: 400;font-size: 12px;color: #999999;line-height: 17px;margin-right: 20px;"><span style="font-family: MiSans, MiSans;font-weight: 800;font-size: 18px;color: #f85277;line-height: 24px;padding-right: 6px;">${symbol}${(item.priceDollar * (item.commissionPercent / 100)).toFixed(2)}</span> /per ordered item</div><div style="width: 75px;height: 36px;border-radius: 10px;background: #f85277;font-weight: 600;font-size: 16px;color: #ffffff;line-height: 34px;text-align: center;"><a rel="noopener noreferrer" style="color:#fff;text-decoration:none" href='${currentApi}/user/productCard/noAuth/email/apply?productId=${item.id}' target='_blank'>Apply</a></div></div></div></div>`;
131804
131804
  },
131805
+ // 发送前给表格补齐行内样式(content 是 HTML 字符串)
131806
+ formatTableInlineStyle(content = "") {
131807
+ if (!content || typeof content !== "string") return content;
131808
+ if (!/<table\b/i.test(content)) return content;
131809
+ const wrapper = document.createElement("div");
131810
+ wrapper.innerHTML = content;
131811
+ const tables = wrapper.querySelectorAll("table");
131812
+ if (!tables.length) return content;
131813
+ tables.forEach(table => {
131814
+ table.style.setProperty("border-collapse", "collapse");
131815
+ table.style.setProperty("border", "1px solid #000");
131816
+ const cells = table.querySelectorAll("td, th");
131817
+ cells.forEach(cell => {
131818
+ cell.style.setProperty("border", "1px solid #000");
131819
+ cell.style.setProperty("padding", "8px");
131820
+ });
131821
+ });
131822
+ return wrapper.innerHTML;
131823
+ },
131824
+ // 发送前将带 data-href 的图片包装成可点击链接
131825
+ wrapImageWithDataHref(content = "") {
131826
+ if (!content || typeof content !== "string") return content;
131827
+ if (!/<img\b/i.test(content) || !/data-href\s*=/i.test(content)) {
131828
+ return content;
131829
+ }
131830
+ const wrapper = document.createElement("div");
131831
+ wrapper.innerHTML = content;
131832
+ const images = wrapper.querySelectorAll("img[data-href]");
131833
+ if (!images.length) return content;
131834
+ images.forEach(img => {
131835
+ const href = img.getAttribute("data-href");
131836
+ const link = href && href.trim();
131837
+ if (!link) return;
131838
+ if (img.closest("a")) return;
131839
+ const anchor = document.createElement("a");
131840
+ anchor.setAttribute("href", link);
131841
+ img.parentNode.insertBefore(anchor, img);
131842
+ anchor.appendChild(img);
131843
+ });
131844
+ return wrapper.innerHTML;
131845
+ },
131846
+ formatEmailHtml(content = "") {
131847
+ const formattedContent = this.wrapImageWithDataHref(content);
131848
+ return this.formatTableInlineStyle(formattedContent);
131849
+ },
131805
131850
  // 检测之后主动发信,区分继续发件/过滤重复触达
131806
131851
  async selfSend(sendStr) {
131807
131852
  // 商品卡处理
@@ -131820,7 +131865,7 @@ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_u
131820
131865
  return {
131821
131866
  id: item.id,
131822
131867
  subject: item.subject,
131823
- content: content,
131868
+ content: this.formatEmailHtml(content),
131824
131869
  attachments: item.fileList,
131825
131870
  templateId: item.templateId
131826
131871
  };
@@ -132031,10 +132076,11 @@ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_u
132031
132076
 
132032
132077
  // 处理邮件
132033
132078
  const emails = this.mailList.map(item => {
132079
+ const content = item.getContent() + "&nbsp;&nbsp;&nbsp;" + item.getReplyHtml() + sendProductCard;
132034
132080
  return {
132035
132081
  id: item.id,
132036
132082
  subject: item.subject,
132037
- content: item.getContent() + "&nbsp;&nbsp;&nbsp;" + item.getReplyHtml() + sendProductCard,
132083
+ content: this.formatEmailHtml(content),
132038
132084
  attachments: item.fileList,
132039
132085
  templateId: item.templateId
132040
132086
  };
@@ -132583,15 +132629,15 @@ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_u
132583
132629
  });
132584
132630
  ;// ./src/package/write-email/index.vue?vue&type=script&lang=js
132585
132631
  /* harmony default export */ var package_write_emailvue_type_script_lang_js = (write_emailvue_type_script_lang_js);
132586
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/write-email/index.vue?vue&type=style&index=0&id=6082a134&prod&lang=scss&scoped=true
132632
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/write-email/index.vue?vue&type=style&index=0&id=f936dfd0&prod&lang=scss&scoped=true
132587
132633
  // extracted by mini-css-extract-plugin
132588
132634
 
132589
- ;// ./src/package/write-email/index.vue?vue&type=style&index=0&id=6082a134&prod&lang=scss&scoped=true
132635
+ ;// ./src/package/write-email/index.vue?vue&type=style&index=0&id=f936dfd0&prod&lang=scss&scoped=true
132590
132636
 
132591
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/write-email/index.vue?vue&type=style&index=1&id=6082a134&prod&lang=scss
132637
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/write-email/index.vue?vue&type=style&index=1&id=f936dfd0&prod&lang=scss
132592
132638
  // extracted by mini-css-extract-plugin
132593
132639
 
132594
- ;// ./src/package/write-email/index.vue?vue&type=style&index=1&id=6082a134&prod&lang=scss
132640
+ ;// ./src/package/write-email/index.vue?vue&type=style&index=1&id=f936dfd0&prod&lang=scss
132595
132641
 
132596
132642
  ;// ./src/package/write-email/index.vue
132597
132643
 
@@ -132605,11 +132651,11 @@ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_u
132605
132651
 
132606
132652
  var write_email_component = normalizeComponent(
132607
132653
  package_write_emailvue_type_script_lang_js,
132608
- write_emailvue_type_template_id_6082a134_scoped_true_render,
132609
- write_emailvue_type_template_id_6082a134_scoped_true_staticRenderFns,
132654
+ write_emailvue_type_template_id_f936dfd0_scoped_true_render,
132655
+ write_emailvue_type_template_id_f936dfd0_scoped_true_staticRenderFns,
132610
132656
  false,
132611
132657
  null,
132612
- "6082a134",
132658
+ "f936dfd0",
132613
132659
  null
132614
132660
 
132615
132661
  )
Binary file