64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const api_cms_article_index = require("../../api/cms/article/index.js");
|
|
const _sfc_main = {
|
|
data() {
|
|
return {
|
|
articleId: 0,
|
|
record: {}
|
|
};
|
|
},
|
|
onLoad(e) {
|
|
const {
|
|
articleId,
|
|
id
|
|
} = e;
|
|
if (id) {
|
|
this.articleId = id;
|
|
}
|
|
if (articleId) {
|
|
this.articleId = articleId;
|
|
}
|
|
this.getArticle();
|
|
},
|
|
methods: {
|
|
getArticle() {
|
|
api_cms_article_index.getArticle(this.articleId).then((data) => {
|
|
data.content = this.formatRichText(data.content);
|
|
this.record = data;
|
|
common_vendor.index.setNavigationBarTitle({
|
|
title: data.title
|
|
});
|
|
});
|
|
},
|
|
formatRichText(html) {
|
|
let newContent = html.replace(/<img[^>]*>/gi, function(match, capture) {
|
|
match = match.replace(/style="[^"]+"/gi, "").replace(/style='[^']+'/gi, "");
|
|
match = match.replace(/width="[^"]+"/gi, "").replace(/width='[^']+'/gi, "");
|
|
match = match.replace(/height="[^"]+"/gi, "").replace(/height='[^']+'/gi, "");
|
|
return match;
|
|
});
|
|
newContent = newContent.replace(/style="[^"]+"/gi, function(match, capture) {
|
|
match = match.replace(/width:[^;]+;/gi, "max-width:100%;").replace(
|
|
/width:[^;]+;/gi,
|
|
"max-width:100%;"
|
|
);
|
|
return match;
|
|
});
|
|
newContent = newContent.replace(/<br[^>]*\/>/gi, "");
|
|
newContent = newContent.replace(
|
|
/\<img/gi,
|
|
'<img style="max-width:100%;height:auto;display:inline-block;margin:10rpx auto;"'
|
|
);
|
|
return newContent;
|
|
}
|
|
}
|
|
};
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return {
|
|
a: $data.record.content
|
|
};
|
|
}
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a9e7a8d0"], ["__file", "/Users/gxwebsoft/APP/gxtyzx-uniapp-cli/src/package/article/detail.vue"]]);
|
|
wx.createPage(MiniProgramPage);
|