| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <template>
- <common-dialog ref="dialog" title="活动规则" confirmText="确定" :showCancel="false" @confirm="onConfirm" width="640rpx">
- <view class="rule-content">
- <view class="rule-item">1.活动时间:{{ ruleData.startTime || '暂无' }}至{{ ruleData.endTime || '暂无' }}。</view>
- <view class="rule-item">2.助力降价机制:用户成功分享并邀请 1 位好友完成助力,即可享受对应图书的降价优惠,最高可0元购书!</view>
- <view class="rule-item">3.助力有效期:用户发起助力后,需在{{ ruleData.inviteExpireHour || 24 }}小时内完成好友助力,超时未完成则本次助力失效,可重新发起邀请,有效期以助力成功时间为准。</view>
- <view class="rule-item">4.助力上限说明:单用户单订单单本图书仅可降价 {{ ruleData.reduceTimesPerIsbn || 1 }} 次,达到次数上限后无法继续通过助力获得优惠;每个用户 ID 每日最多可参与助力 {{ ruleData.assistTimesEveryDay || 1 }} 次,同一好友仅可为同一用户的同一订单助力 1 次,重复助力无效。</view>
- <view class="rule-item">5.若用户存在恶意刷助力、虚假账号、作弊等违规行为,平台有权直接取消其活动资格、收回已获得的降价优惠,并限制其后续参与平台活动的权限。</view>
- <view class="rule-item">6.助力成功之后需在24小时内提交订单,否则降价失效。</view>
- </view>
- </common-dialog>
- </template>
- <script>
- import commonDialog from '@/components/common-dialog.vue'
- export default {
- components: {
- commonDialog
- },
- data() {
- return {
- ruleData: {}
- }
- },
- methods: {
- open() {
- this.fetchRuleData();
- this.$refs.dialog.openPopup();
- },
- fetchRuleData() {
- this.$u.api.getActivityReduceRuleAjax().then(res => {
- if (res.code === 200) {
- // 处理日期格式,只取年月日
- let data = res.data || {};
- if (data.startTime) {
- data.startTime = this.formatDate(data.startTime);
- }
- if (data.endTime) {
- data.endTime = this.formatDate(data.endTime);
- }
- this.ruleData = data;
- }
- })
- },
- formatDate(dateStr) {
- // 将类似 2025-03-25T00:00:00 转换为 2025年3月25日
- if (!dateStr) return '';
- let date = new Date(dateStr);
- if (isNaN(date.getTime())) {
- // 处理可能带有空格的格式 2025-03-25 00:00:00
- date = new Date(dateStr.replace(/-/g, '/'));
- }
- if (isNaN(date.getTime())) return dateStr;
- return `${date.getFullYear()}年${date.getMonth() + 1}月${date.getDate()}日`;
- },
- onConfirm() {
- // 点击确定,弹窗自动关闭
- this.$emit('confirm');
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .rule-content {
- text-align: left;
- font-size: 26rpx;
- color: #333333;
- line-height: 44rpx;
- max-height: 60vh;
- overflow-y: auto;
- padding-bottom: 20rpx;
- .rule-item {
- margin-bottom: 20rpx;
- text-align: justify;
- }
- }
- </style>
|