diff --git a/pages/chat-detail/chat-detail.js b/pages/chat-detail/chat-detail.js index 2e0b317..1488798 100644 --- a/pages/chat-detail/chat-detail.js +++ b/pages/chat-detail/chat-detail.js @@ -1738,9 +1738,10 @@ Page({ onSendGift() { this.setData({ showMorePanel: false }) - // 加载礼物列表 - this.loadGiftList() - this.setData({ showGiftPopup: true }) + wx.showToast({ + title: '暂无权限', + icon: 'none' + }) }, /** diff --git a/pages/interest-partner/interest-partner.wxml b/pages/interest-partner/interest-partner.wxml index ab68277..7110fc0 100644 --- a/pages/interest-partner/interest-partner.wxml +++ b/pages/interest-partner/interest-partner.wxml @@ -84,8 +84,8 @@ - 如何加入? - 点击上方感兴趣的分类,保存二维码图片或直接扫码,即可加入我们的官方企业微信社群。 + 如何加入 + 点击上方感兴趣的分类,保存二维码图片或长按扫码识别,一键申请即可。 @@ -109,7 +109,7 @@ {{selectedPartner.group_name || '加入兴趣群'}} - {{selectedPartner.group_description || '找到志同道合的伙伴'}} + 加入感兴趣的圈子,找志同道合的朋友 diff --git a/pages/interest-partner/interest-partner.wxss b/pages/interest-partner/interest-partner.wxss index bf967f4..0413b0c 100644 --- a/pages/interest-partner/interest-partner.wxss +++ b/pages/interest-partner/interest-partner.wxss @@ -313,7 +313,7 @@ page { align-items: flex-start; gap: 24rpx; padding: 32rpx 32rpx 32rpx 32rpx; - margin: 0 32rpx 0; + margin: 32rpx 32rpx 0; background: #FFF7ED; border-radius: 32rpx; } diff --git a/pages/promote-poster/promote-poster.js b/pages/promote-poster/promote-poster.js index 1e53059..ab9ed56 100644 --- a/pages/promote-poster/promote-poster.js +++ b/pages/promote-poster/promote-poster.js @@ -61,7 +61,7 @@ Page({ return { id: item.asset_key, url: url, - qrBottom: 4.5, // 对应 1920 高度下的位置 + qrBottom: 13, // 对应 1920 高度下的位置,约 250px qrRight: 8 // 对应 1080 宽度下的位置 }; }); @@ -70,7 +70,7 @@ Page({ // 兜底默认海报 this.setData({ posters: [ - { id: 'default', url: 'https://ai-c.maimanji.com/uploads/assets/poster-1.png', qrBottom: 4.5, qrRight: 8 } + { id: 'default', url: 'https://ai-c.maimanji.com/uploads/assets/poster-1.png', qrBottom: 13, qrRight: 8 } ], isLoading: false }); @@ -167,19 +167,34 @@ Page({ qrImg.onerror = reject; }); - // 识别白框位置:根据 1080x1920 设计稿,白框在右下角 + // 识别白框位置:居中显示,位于底部 // 二维码尺寸 260x260 const qrW = 260; - const qrX = 720; // 1080 - 100 - 260 - const qrY = 1580; // 1920 - 80 - 260 + const qrX = (canvasW - qrW) / 2; // 水平居中 + const qrY = canvasH - qrW - 250; // 距离底部 250px,避免挡住文字 - // 绘制二维码背景(白框内可能需要微调,这里先绘制一个纯白背景确保清晰) - ctx.fillStyle = '#FFFFFF'; + // 绘制圆形白底 + const radius = (qrW + 20) / 2; + const centerX = qrX + qrW / 2; + const centerY = qrY + qrW / 2; + + ctx.save(); ctx.beginPath(); - this.roundRect(ctx, qrX - 5, qrY - 5, qrW + 10, qrW + 10, 10); + ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI); + ctx.fillStyle = '#FFFFFF'; ctx.fill(); + ctx.restore(); + // 绘制圆形二维码 + ctx.save(); + ctx.beginPath(); + // 计算二维码的圆形裁剪区域 + const qrRadius = qrW / 2; + ctx.arc(centerX, centerY, qrRadius, 0, 2 * Math.PI); + ctx.clip(); // 裁剪为圆形 + ctx.drawImage(qrImg, qrX, qrY, qrW, qrW); + ctx.restore(); // 6. 导出 setTimeout(() => { diff --git a/pages/promote-poster/promote-poster.wxml b/pages/promote-poster/promote-poster.wxml index 6c25ee8..46c135c 100644 --- a/pages/promote-poster/promote-poster.wxml +++ b/pages/promote-poster/promote-poster.wxml @@ -15,7 +15,7 @@ - + diff --git a/pages/promote-poster/promote-poster.wxss b/pages/promote-poster/promote-poster.wxss index 03f36ce..c616300 100644 --- a/pages/promote-poster/promote-poster.wxss +++ b/pages/promote-poster/promote-poster.wxss @@ -54,12 +54,15 @@ height: 130rpx; background: #fff; padding: 10rpx; - border-radius: 12rpx; + border-radius: 50%; + left: 50%; + transform: translateX(-50%); } .qr-img { width: 100%; height: 100%; + border-radius: 50%; } .action-area { diff --git a/pages/withdraw/withdraw.js b/pages/withdraw/withdraw.js index bea067b..f2ecf82 100644 --- a/pages/withdraw/withdraw.js +++ b/pages/withdraw/withdraw.js @@ -13,7 +13,20 @@ Page({ records: [], withdrawConfig: { minWithdrawAmount: 1 - } + }, + showRulesModal: false + }, + onOpenRules() { + this.setData({ showRulesModal: true }); + }, + onCloseRules() { + this.setData({ showRulesModal: false }); + }, + onContactService() { + this.setData({ showRulesModal: false }); + wx.navigateTo({ + url: '/pages/support/support' + }); }, onLoad() { const sys = wx.getSystemInfoSync(); diff --git a/pages/withdraw/withdraw.wxml b/pages/withdraw/withdraw.wxml index c78a492..7ff5b58 100644 --- a/pages/withdraw/withdraw.wxml +++ b/pages/withdraw/withdraw.wxml @@ -54,64 +54,9 @@ {{submitting ? '处理中...' : '立即提现'}} - - - - - - - 📄 - 提现规则说明 - - - 1. 最低提现金额:单笔提现金额不低于 ¥100.00。 - 2. 每日提现次数:每日最多可发起 3 次提现申请。 - 3. 可提现余额:仅限“已结算”状态的收入可提现,待结算金额暂不支持。 - 4. 提现服务费:每笔提现收取 1% 服务费(最低 ¥1.00),由第三方支付平台收取。 - 5. 审核时间:提现申请将在 24 小时 内完成审核并安排打款。 - 6. 到账时间:审核通过后,预计 24 小时内到账,具体以银行或微信到账通知为准。 - 7. 账户要求:提现账户需为 本人实名认证 的微信或银行卡。 - 8. 失败处理:如提现失败,金额将自动退回至可提现余额,可重新发起申请。 - - - - - - - 常见问题 - - - - · 为什么提现金额不符? - 可提现金额仅包含已结算收入,待结算部分暂不可提。 - - - · 提现服务费如何计算? - 每笔提现收取 5% 作为服务费,在提现金额中自动扣除。 - - - · 提现未到账怎么办? - 请在提现记录中查看审核状态,如超时未到账,请联系客服处理。 - - - · 如何更换提现账户? - 请在“账户管理”中更新实名认证信息。 - - - - - - - - 📞 - 需要帮助? - - - 如有疑问,请前往 帮助中心 或联系 在线客服 - 服务时间:工作日 9:00-22:00 - - - + + + 提现规则与常见问题 @@ -139,5 +84,75 @@ + + + + + + 提现规则与常见问题 + + + + + + + + + 📄 + 提现规则说明 + + + 1. 最低提现金额:单笔提现金额不低于 ¥100.00。 + 2. 每日提现次数:每日最多可发起 3 次提现申请。 + 3. 可提现余额:仅限“已结算”状态的收入可提现,待结算金额暂不支持。 + 4. 提现服务费:每笔提现收取 1% 服务费(最低 ¥1.00),由第三方支付平台收取。 + 5. 审核时间:提现申请将在 24 小时 内完成审核并安排打款。 + 6. 到账时间:审核通过后,预计 24 小时内到账,具体以银行或微信到账通知为准。 + 7. 账户要求:提现账户需为 本人实名认证 的微信或银行卡。 + 8. 失败处理:如提现失败,金额将自动退回至可提现余额,可重新发起申请。 + + + + + + + 常见问题 + + + + · 为什么提现金额不符? + 可提现金额仅包含已结算收入,待结算部分暂不可提。 + + + · 提现服务费如何计算? + 每笔提现收取 5% 作为服务费,在提现金额中自动扣除。 + + + · 提现未到账怎么办? + 请在提现记录中查看审核状态,如超时未到账,请联系客服处理。 + + + · 如何更换提现账户? + 请在“账户管理”中更新实名认证信息。 + + + + + + + + 📞 + 需要帮助? + + + 如有疑问,请前往 在线客服 咨询。 + 服务时间:工作日 9:00-22:00 + + + + + + + diff --git a/pages/withdraw/withdraw.wxss b/pages/withdraw/withdraw.wxss index 749df3e..e2627af 100644 --- a/pages/withdraw/withdraw.wxss +++ b/pages/withdraw/withdraw.wxss @@ -184,20 +184,84 @@ box-shadow: none; } -/* 提现说明 */ -.instruction-section { - margin-top: 64rpx; - padding: 32rpx; - background: #F9FAFB; - border-radius: 32rpx; - border: 2rpx dashed #E5E7EB; - margin-bottom: 40rpx; +/* 提现规则入口 */ +.rules-entry { + display: flex; + justify-content: center; + align-items: center; + margin-top: 32rpx; + padding: 16rpx 0; } -.instruction-scroll { - max-height: 600rpx; +.rules-entry-text { + font-size: 28rpx; + color: #B06AB3; + font-weight: 600; + border-bottom: 2rpx solid transparent; } +/* 规则弹窗 */ +.modal-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.6); + z-index: 1000; + backdrop-filter: blur(4px); +} + +.modal-container { + position: fixed; + left: 0; + right: 0; + bottom: 0; + background: #FFFFFF; + border-radius: 40rpx 40rpx 0 0; + z-index: 1001; + padding: 0 32rpx; + padding-bottom: env(safe-area-inset-bottom); + max-height: 80vh; + display: flex; + flex-direction: column; + animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1); +} + +@keyframes slideUp { + from { + transform: translateY(100%); + } + to { + transform: translateY(0); + } +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 32rpx 0; + border-bottom: 2rpx solid #F3F4F6; +} + +.modal-title { + font-size: 34rpx; + font-weight: 800; + color: #111827; +} + +.modal-close { + padding: 10rpx; +} + +.modal-scroll { + flex: 1; + padding-top: 32rpx; + overflow-y: auto; +} + +/* 复用规则样式 */ .rule-block { margin-bottom: 40rpx; } @@ -242,7 +306,7 @@ } .qa-item { - margin-bottom: 20rpx; + margin-bottom: 24rpx; } .qa-item:last-child { @@ -250,7 +314,7 @@ } .qa-q { - font-size: 26rpx; + font-size: 28rpx; font-weight: 700; color: #374151; margin-bottom: 8rpx; @@ -269,10 +333,12 @@ line-height: 1.6; } -.link { - color: #B06AB3; - font-weight: 600; +.link-contact { + color: #FF69B4; /* 粉色高亮 */ + font-weight: 700; display: inline; + text-decoration: underline; + padding: 0 4rpx; }