B2主题下载功能二次开发指南

一、B2 下载功能概述

B2 主题的下载功能是资源站的变现核心,支持设置下载权限(游客/积分/等级/VIP)、下载次数限制、有效期内重复下载、下载模板等。二次开发时,重点在于理解下载数据与权限判断的流程。

二、下载权限的常见配置

在文章编辑页的”下载设置”中,每一行代表一种下载权限,格式为:

Text
guest|money=3        // 游客:金额 3 元
lv|credit=30         // 等级用户:积分 30
vip|free             // VIP 用户:免费

系统会按配置顺序进行权限匹配,命中即允许下载并弹出下载列表。

三、下载次数限制机制

B2 在用户等级设置中支持”允许每天下载的次数”。当用户当天下载达到上限后,将按资源设置的付费金额进行收费下载。需要注意:

1. 下载次数按用户等级对应的权限计算,而不是固定值。

2. 已购买/有效期内重复下载,不应重复扣除下载次数。

3. 支付成功后只更新支付状态,下载成功后单独扣除下载次数,两者互不干扰。

四、自定义下载模板

后台-综合设置-下载设置中支持”下载模板”功能,可以预先设置多套下载模板,发布文章时一键套用,各选项会被模板自动填充,适合批量发布资源时使用。

五、二开示例:下载后记录日志

Text
<?php
// 在下载成功位置调用,记录下载日志
function jitheme_log_download( $user_id, $post_id, $post_type, $file_url, $cost_type, $cost_value ) {
    global $wpdb;
    $wpdb->insert( $wpdb->prefix . 'jitheme_dl_log', array(
        'user_id'    => (int) $user_id,
        'post_id'    => (int) $post_id,
        'post_type'  => $post_type,
        'file_url'   => $file_url,
        'cost_type'  => $cost_type,
        'cost_value' => $cost_value,
        'created_at' => current_time( 'mysql' ),
    ) );
}

六、注意事项

1. 修改下载逻辑时,请确保不会绕过支付与权限判断。

2. 下载次数扣除请按”用户总次数权限”计算,后台更改次数后应立即生效。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
签到成功