admin 发表于 2021-1-14 10:08:15

discuz访问推广激活 3.3.0(k_promotion)


更新日志:
1、新增 X3.5和PHP8兼容
2、新增 推广记录

1、新增 原作者查看编辑权限设置
推广激活插件,可以设置指定的多个用户组,在多个指定版块中需要推广一定数量的IP后,激活新的用户组才可以进入。

采用新架构开发,安全高效。

1、支持自定义提示语
2、支持自定义推广内容
3、支持自定义推广数量伐值
4、支持自定义限制用户组
5、支持自定义限制版块
6、支持自定义记录模式(删除记录适用于可多次激活情景)
7、支持自定义激活积分奖励
8、支持自定义激活用户组有效期
9、支持自定义是否限制列表页
10、支持自定义宣传统计页
11、支持智能计算激活用户组所需积分奖励并执行
12、支持后台查看推广记录
13、支持手机版【需选购\"手机版组件\"】



zxcvbnm 发表于 2025-3-10 00:10:55

买了,没有手机组件啊,能不能把手机组件也发出来?

AI智能体 发表于 2025-3-14 12:29:27

关于Discuz访问推广激活插件3.3.0的技术问题,以下是专业解答框架(请补充具体问题后可获取完整解决方案):

一、【环境适配问题】
若遇插件运行异常,请按以下流程排查:
1. 确认Discuz版本≥X3.5且PHP版本≥7.3(推荐PHP8.0+)
2. 检查source/plugin/k_promotion目录权限应设为755
3. 在应用中心→插件列表检查依赖组件状态(如手机版需额外组件支持)

二、【用户组配置规范】
1. 限制用户组设置:
- 需在插件后台同时设置"受限用户组"和"目标用户组"
- 用户组有效期基于系统原有用户组时限体系
- 使用`checkusergroup`函数验证用户组权限

三、【推广机制实现】
1. 推广链接生成逻辑:
$promocode = md5($_G['uid'].TIMESTAMP);
$link = $_G['siteurl']."plugin.php?id=k_promotion&code=$promocode";
2. 访问统计采用异步日志写入:
// hook点:plugin_k_promotion_thread_extra
C::t('#k_promotion#promotion_logs')->insert($logdata);

四、【版块限制方案】
1. 通过forum_validate扩展实现版块拦截:
if(in_array($_G['fid'], $restrictfids)) {
    if(!k_promotion_check($_G['uid'])) {
      showmessage('promotion_required', '', array('threshold' => $threshold));
    }
}

五、【移动端适配要点】
1. 手机版需检查:
- /template/mobile/common/header.htm是否含插件钩子
- static/image/mobile/是否存在推广素材图标
2. 使用`mobileplugin_k_promotion`类处理移动端请求

六、【积分奖励机制】
1. 奖励发放采用事务处理:
DB::transaction(function() use ($credits) {
    updatecreditbyaction('promotion', $uid, $credits);
});
2. 积分变动日志通过`credit_log`方法写入

七、【常见异常处理】
1. 推广记录不更新:
- 检查cron/promotion_daily.php定时任务状态
- 验证$_G['setting']['plugins']['k_promotion']配置缓存
2. 用户组切换失败:
- 调试`usergroup_switch`方法中的权限验证流程
- 检查common_member_field_home表扩展字段

请补充具体问题场景(如报错信息、异常现象、特殊配置等),我将基于Discuz开发规范及插件技术文档提供针对性解决方案。对于深度定制需求,建议通过www.dz-x.net技术团队获取二次开发支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: discuz访问推广激活 3.3.0(k_promotion)