captain-ui
Version:
有赞vue wap业务组件库
114 lines (104 loc) • 3.7 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _helper = _interopRequireDefault(require("@youzan/utils/url/helper"));
var _makeDateStr = _interopRequireDefault(require("@youzan/utils/date/makeDateStr"));
var _constants = require("./constants");
var _default = {
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('a', {
staticClass: "paid-content__list-item",
class: (_obj = {}, _obj["paid-content__list-item--" + (_vm.isText ? 'imgtext' : 'audio')] = true, _obj),
attrs: {
"href": _vm.contentUrl
}
}, [_c('div', {
staticClass: "paid-content__img-wrap"
}, [_c('img', {
staticClass: "paid-content__item-img",
attrs: {
"src": _vm.imgUrl
}
})]), _c('div', {
staticClass: "paid-content__item-detail"
}, [_c('h4', {
staticClass: "paid-content__item-title"
}, [_vm._v(_vm._s(_vm.title))]), _c('p', {
staticClass: "paid-content__item-summary"
}, [_vm._v(_vm._s(_vm.summary))]), _c('p', {
staticClass: "paid-content__subscription"
}, [_vm._v("\n " + _vm._s(_vm.formatedPublishDate) + "\n ")]), _vm.hasBuy ? _c('span', {
staticClass: "paid-content__price",
class: {
'paid-content__price--purchased': _vm.hasBuy
}
}, [_vm._v("\n 已购买\n ")]) : _vm.isContentFree ? _c('span', {
staticClass: "paid-content__price"
}, [_vm._v("\n " + _vm._s(_vm.freeText) + "\n ")]) : [_c('span', {
staticClass: "paid-content__price"
}, [_vm._v("¥ " + _vm._s(_vm.formatedPrice))]), _vm.tagName ? _c('span', {
staticClass: "paid-content__vip-price-tag"
}, [_vm._v("\n " + _vm._s(_vm.tagName) + "\n "), _c('i', {
staticClass: "paid-content__vip-price-tag-triangle"
})]) : _vm._e()]], 2)]);
var _obj;
},
name: 'cap-paid-content-item',
props: {
summary: String,
title: String,
columnTitle: String,
mediaType: {
type: [Number, String],
default: _constants.MEDIA_TYPE.IMAGE_TEXT
},
baseUrl: {
type: String,
default: _constants.BASE_URL
},
alias: String,
kdtId: [Number, String],
cover: String,
publishAt: String,
subscriptionsCount: Number,
price: [Number, String],
isFree: [Number, String],
isGroupon: Boolean,
grouponNum: [Number, String],
discount: [Number, String],
isVip: Boolean,
hasBuy: Boolean
},
computed: {
isText: function isText() {
return +this.mediaType === _constants.MEDIA_TYPE.IMAGE_TEXT;
},
isContentFree: function isContentFree() {
return +this.isFree === _constants.IS_FREE.FREE || parseInt(this.price) === 0;
},
contentUrl: function contentUrl() {
if (!this.kdtId || !this.alias) return 'javascript:;';
return this.baseUrl + "/ump/paidcontent?page=contentshow&alias=" + this.alias + "&kdt_id=" + this.kdtId;
},
imgUrl: function imgUrl() {
return _helper.default.getCdnImageUrl(this.cover, '!145x145.jpg');
},
formatedPublishDate: function formatedPublishDate() {
return (0, _makeDateStr.default)(this.publishAt, 'MM-DD');
},
formatedPrice: function formatedPrice() {
return (this.price / 100).toFixed(2);
},
freeText: function freeText() {
return this.isVip ? '会员免费' : '免费';
},
tagName: function tagName() {
return this.isVip ? '会员价' : this.isGroupon ? this.grouponNum + "\u4EBA\u62FC\u56E2\u4EF7" : '';
}
}
};
exports.default = _default;