diff --git a/components-diy/diy-recommend-code.vue b/components-diy/diy-recommend-code.vue
index f4b2670..4101b11 100644
--- a/components-diy/diy-recommend-code.vue
+++ b/components-diy/diy-recommend-code.vue
@@ -55,17 +55,17 @@
:style="mainBtnBgStyle()" @tap="onShareClick" open-type="share">
{{ value.buttonText || '立即分享' }}
-
+
{{ value.placeholderCopyText || '复制链接' }}
+ :style="secondaryBtnStyle" @tap="regenerate">
{{ value.placeholderRegenerateText || '换一个新码' }}
- {{ shareLink }}
+ {{ shareLink || formatShareLink }}
@@ -91,12 +91,12 @@
{{ value.buttonText || '立即分享' }}
+ :style="secondaryBtnStyle" @tap="regenerate">
{{ value.placeholderRegenerateText || '换一个新码' }}
- {{ shareLink }}
+ {{ shareLink || formatShareLink }}
@@ -123,16 +123,16 @@
:style="mainBtnBgStyle()" @tap="onShareClick" open-type="share">
{{ value.buttonText || '立即分享' }}
-
+
{{ value.placeholderCopyText || '复制链接' }}
+ :style="secondaryBtnStyle" @tap="regenerate">
{{ value.placeholderRegenerateText || '换一个新码' }}
- {{ shareLink }}
+ {{ shareLink || formatShareLink }}
@@ -408,11 +408,18 @@ export default {
qrcodeRenderUrl() {
// 优先用后端占位接口返回的真实 qrcode_url;没返回就 fallback 用公共 api 合成 share_link 的二维码
if (this.qrcodeUrl && String(this.qrcodeUrl).trim()) return this.qrcodeUrl;
- const url = encodeURIComponent(this.shareLink || '');
- if (!url) return '';
+ const realUrl = this.formatShareLink;
+ if (!realUrl) return '';
+ const url = encodeURIComponent(realUrl);
return 'https://api.qrserver.com/v1/create-qr-code/?size=300x300&margin=0&data=' + url;
- }
- },
+ },
+ formatShareLink() {
+ // 固定自定义分享链接模板(customShareLink)
+ const customShareLink = "http://192.168.8.118/hwappx/common/pages_tool/form/formdata?id=13&uniacid=1&recommend_code={code}";
+ // 把模板里 {code} 替换成当前用户唯一邀请码
+ return customShareLink.replace(/\{code\}/g, this.code || '');
+ },
+ },
watch: {
/* 登录态切换:guest → login → 自动调 getMyCode;logout → 清空状态
全部 try-catch 包裹:任何 watcher 错误不会冒泡到父级,避免整个 diy-group 崩掉 */
@@ -852,12 +859,14 @@ export default {
/** 复制「分享链接」(后端给的 share_link 原样复制) */
copyLink() {
- if (!this.shareLink) {
- uni.showToast && uni.showToast({ title: '分享链接还未生成,请稍候', icon: 'none' });
+ // 后端没有shareLink时,自动使用前端固定模板链接
+ const targetUrl = this.shareLink || this.formatShareLink;
+ if (!targetUrl) {
+ uni.showToast({ title: '分享链接还未生成,请稍候', icon: 'none' });
return;
}
- rcCopyToClipboard(this, this.shareLink, (ok, err) => {
- uni.showToast && uni.showToast({
+ rcCopyToClipboard(this, targetUrl, (ok, err) => {
+ uni.showToast({
title: ok ? '推广链接已复制' : (err || '复制失败'),
icon: ok ? 'success' : 'none'
});