refactor: 移除旧的邀请码来源追踪逻辑
1. 删除App.vue中全局邀请码持久化逻辑与相关工具函数 2. 简化http请求的方法与请求头处理逻辑 3. 移除diy-form组件内的邀请码暂存、提交与展示逻辑 4. 清理不再使用的工具类邀请码辅助函数
This commit is contained in:
67
App.vue
67
App.vue
@@ -90,43 +90,6 @@
|
||||
return fallback
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// ✅ 推荐码 / 邀请码(来源追踪)全局兜底
|
||||
// 规则:只写非空值,不主动清空(diy-form 提交成功后自己清)
|
||||
// ============================================================
|
||||
const FORM_INVITE_KEY = 'form_invite_pending_code'
|
||||
function _persistInviteCodeFromOptions(options) {
|
||||
try {
|
||||
var code = ''
|
||||
// 1) onLaunch/onShow options.query:优先 recommend_code,次选 invite(历史兼容)
|
||||
if (options && options.query) {
|
||||
if (options.query.recommend_code) {
|
||||
code = String(options.query.recommend_code)
|
||||
} else if (options.query.invite) {
|
||||
code = String(options.query.invite)
|
||||
}
|
||||
}
|
||||
// 2) H5 兜底:从当前 location.search 取(同样优先 recommend_code)
|
||||
if (!code) {
|
||||
// #ifdef H5
|
||||
try {
|
||||
var sp = (new URL(window.location.href)).searchParams
|
||||
var s1 = sp.get('recommend_code')
|
||||
var s2 = sp.get('invite')
|
||||
if (s1) code = String(s1)
|
||||
else if (s2) code = String(s2)
|
||||
} catch (e) {}
|
||||
// #endif
|
||||
}
|
||||
// 3) 只写非空,不擦除已有暂存
|
||||
if (code) {
|
||||
uni.setStorageSync(FORM_INVITE_KEY, code)
|
||||
}
|
||||
} catch (e) {
|
||||
// 极端失败静默,diy-form 仍有 P2/P3 兜底读取
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// 主题/语言启动
|
||||
// ============================================================
|
||||
@@ -545,36 +508,6 @@
|
||||
// #ifdef MP-ALIPAY
|
||||
if (options.query && options.query.m) uni.setStorageSync('source_member', options.query.m);
|
||||
// #endif
|
||||
|
||||
// ✅ 邀请码(来源追踪):onLaunch 冷启动兜底解析 URL query → storage
|
||||
_persistInviteCodeFromOptions(options);
|
||||
},
|
||||
onShow: function(options) {
|
||||
// ✅ 邀请码(来源追踪):onShow 热启动/后台切回 兜底解析
|
||||
// 注:onShow 的 options 仅部分平台(MP-WEIXIN, MP-HARMONY, MP-ALIPAY 等)提供 query
|
||||
// 若 options 为空,则 helper 内部自动 fallback 到 H5 location.search 或已有 storage
|
||||
_persistInviteCodeFromOptions(options || {});
|
||||
|
||||
// #ifdef MP
|
||||
// 小程序端:每次回到前台 → 自动授权登录刷新会话 token + memberInfo(与行业模板一致)
|
||||
if (typeof this.getAuthInfo === 'function') {
|
||||
this.getAuthInfo();
|
||||
}
|
||||
if (this.$store && this.$store.state && this.$store.state.token && this.$api) {
|
||||
this.$api.sendRequest({
|
||||
url: '/api/member/info',
|
||||
success: (res) => {
|
||||
if (res && res.code >= 0 && res.data && this.$store && this.$store.commit) {
|
||||
this.$store.commit('setMemberInfo', res.data);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
|
||||
// #ifdef MP-ALIPAY
|
||||
if (options && options.query && options.query.m) uni.setStorageSync('source_member', options.query.m);
|
||||
// #endif
|
||||
},
|
||||
onHide: function() {},
|
||||
methods: {
|
||||
|
||||
Reference in New Issue
Block a user