首先感谢您能适配本站开发的LayCenter(用户中心)插件,如果您是zblog的开发者,可以先购买本插件对主题进行适配。适配完成后,成功介绍1位用户购买本插件,您购买本插件的钱全额退还。
LayCenter包含了许多可调用的接口,以下只是冰山一角,如有需要请联系我,我再来补充
调用链接
登陆地址:
PHP
$lcp->BuildUrl('Login');
注册地址:
PHP
$lcp->BuildUrl('Reg');
重置密码地址:
PHP
$lcp->BuildUrl('ForgetPassword');
用户中心地址:
PHP
$lcp->BuildUrl('User');
账户充值地址:
PHP
$lcp->BuildUrl('User').'#User/Invest/Price';
VIP充值地址:
PHP
$lcp->BuildUrl('User').'#User/Invest/VIP';
以上方法都可以在主题模板内调用
用户中心数据:
调用用户中心配置:
PHP
$lcp->config->配置项字段名;$lcp->config->Save(); //保存配置
调用扩展插件的配置:
(跟zblog调用数据的方法基本一致,但调用对象是$lcp)比如调用qq机器人的推送消息地址:
PHP
$lcp->Config('qqrobot')->qqroboturl;$lcp->Config('qqrobot')->Save(); // 保存配置
VIP等级说明
用户中心有5中会员等级:普通用户、青铜VIP、白银VIP、铂金VIP、钻石VIP
以上5中名称在用户中心可以自定义名称。
普通用户:网站的普通用户,非VIP用户,或VIP过期用户;
青铜VIP:开通的会员在一月内的(一般都是开通7天)
白银VIP:开通会员在1月以上,12月以内
铂金VIP:开通超1年的会员
钻石VIP:开通永久VIP,会员身份永不过期
如果是续费会员,根据续费后的时长,也会自动升级到相应的VIP等级
用户有关的数据:
以下代码只会用 $zbp->user 作为示例代码,在主题模板中,也可以用 {$user.方法/属性}
账户余额:
PHP
$zbp->user->Price; //返回比如:5//返回账户余额和货币名称则用下面代码$zbp->user->Price(); //返回比如: 5积分
账户VIP等级
PHP
$zbp->user->VipType;//根据该用户的VIP等级返回对应纯数标识//0:普通用户 1:青铜VIP 2:白银VIP 3:铂金VIP 4:钻石VIP
账户VIP等级名称
PHP
$zbp->user->VipName;//根据该用户的VIP等级返回对应的VIP名称:普通用户、青铜VIP、白银VIP、铂金VIP、钻石VIP
账户VIP有效期
PHP
$zbp->user->VIPExpire(); //返回比如:2019-10-12$zbp->user->VIPExpire('Y年m月d日'); //返回比如:2019年10月12日$zbp->user->VipTime; //返回VIP到期时间戳
账户邀请码/邀请链接
PHP
$zbp->user->InviteCode;$zbp->user->InviteUrl;//如果返回为空,则说明此用户没有邀请用户的权限
调用腾讯防水墙(图形验证)
需要在header.php加入 <script src="https://ssl.captcha.qq.com/TCaptcha.js"></script>
js代码:
JavaScript
lcp.tcaptcha(function(){ //图形验证成功后执行或未启用腾讯防水墙的情况下直接执行},function(){ //用户关闭形验证后执行此代码});
后端验证:
PHP
$lcp->TCaptchaVerify();//如果图形验证失败(可能是非法操作)则会直接输出json$lcp->TCaptchaVerify(false);//返回 true 或 false
输出的json
{ "code": 0, "msg": "图形演示失败,请重试", "data": "", "runtime": "time:114.41ms query:7 memory:1263kb error:0" }
使用防水墙无需先判断网站管理员有没有启用了腾讯防水墙,如果未启用,会直接回调提交的代码。未启用后端代码会直接返回true
社交登陆
用 $lcp->oauth 进行数组遍历,在前台显示出社交登陆按钮。(只有启用的社交登陆,才会在此数组,所以无需用其它方法判断是否开启了某个社交登陆功能)
社交登陆唯一标识,目前有“weixin”微信“WB”微博“QQ”qq
PHP
$lcp->oauth;//vardump结果array(1) { [0]=> array(4) { [0]=> string(6) "weixin" //唯一标识,可以利用此项来判断是哪个社交登陆 [1]=> string(6) "weixin" //fontawescome 图标 [2]=> string(35) "zb_users/LayCenter/weixin/login.php" // 登陆页面地址(默认没有域名) [3]=> string(6) "微信" // 社交登陆名称 } [1]=> array(4) { [0]=> string(6) "QQ" [1]=> string(6) "..." [2]=> string(35) "..." [3]=> string(6) "..." } [2]=> ... [3]=> ...}
账号登陆数据提交
如果您主题有独特的登陆界面,可以用到下面这些说明。
需要提交的post数据:
username
password
captcha (验证码)
判断是否开启验证码用 $lcp->config->login_text_captcha
验证码ID:login
js代码:
JavaScript
lcp.tcaptcha(function(){ //必须先调用腾讯防水墙 layer.msg('正在登陆...',{icon: 16,time:false,shade:0.5}) lcp.ajax('login',{ username: '', password: '', captcha:'' },function(res){ if (res.code == 1){ layer.msg('登陆成功',{icon: 1}); window.location.reload(); }else{ layer.msg(res.msg,{icon:res.code}); } });});
注册数据提交
如果您主题有独特的注册界面,可以用到下面这些说明。
需要提交的数据:
Name
Password
LayCenter_Inviter (邀请码)
captcha (验证码)
判断是否启用腾讯防水墙 $lcp->config->tencent_captcha_enable 如果未启用则必须提交验证码,否则不需要
验证码id:reg
判断是否必须要提供邀请码:$lcp->config->register_need_invite_enable 如果必须,则强行验证让用户输入邀请码
js代码:
JavaScript
lcp.tcaptcha(function(){ //必须先调用腾讯防水墙 layer.msg('正在注册...',{icon: 16,time:false,shade:0.5}) lcp.ajax('reg',{ Name: '', Password:'', Email:'', LayCenter_Inviter:'', captcha:'' },function(res){ if (res.code == 1){ layer.msg('注册成功',{icon: 1}); }else{ layer.msg(res.msg,{icon:res.code}); } });});
文章发布页面
本页面必须使用layui样式,否则排版会乱,可以参考layui表单文档
文章头部插入配置项
PHP
Add_Filter_Plugin('Filter_LayCenter_PushPost_Header','function_name'); //挂载接口function function_name($article){ echo ' <div class="layui-form-item"> <label class="layui-form-label">一个文本框</label> <div class="layui-input-block"> <input type="text" name="meta_test" placeholder="" autocomplete="off" class="layui-input" value="'.$article->Metas->test.'"> </div> </div> ';}
文章正文插入内容按钮
PHP
Add_Filter_Plugin('Filter_LayCenter_PushPost_InserBtn','function_name'); //挂载接口function function_name($article, &$insert){ $insert[] = array('欢迎使用zblog','插入一些内容');}
侧栏附加内容
PHP
Add_Filter_Plugin('Filter_LayCenter_PushPost_OtherAttr','function_name'); //挂载接口function function_name($article){ return ' <div class="layui-form-item"> <label class="layui-form-label">一个开关</label> <div class="layui-input-block"> <input type="checkbox" name="meta_test1" lay-skin="switch" value="1" lay-text="ON|OFF" '.($article->Metas->test1 ? 'checked=""' : '').'> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">一个文本</label> <div class="layui-input-block"> <input type="text" name="meta_test2" placeholder="" autocomplete="off" class="layui-input" value="'.$article->Metas->test2.'"> </div> </div> ';}
这个接口只适合一两个简单配置的项目,这些项目会和其它项目混在一起,如果有多个项目建议单独增加一个区域,可以用下面的接口
PHP
Add_Filter_Plugin('Filter_LayCenter_PushPost_Sidebar','function_name'); //挂载接口function function_name($article){ echo ' <div class="layui-card"> <div class="layui-card-header">xxx主题配置</div> <div class="layui-card-body"> <div class="layui-form-item"> <label class="layui-form-label">一个开关</label> <div class="layui-input-block"> <input type="checkbox" name="meta_test1" lay-skin="switch" value="1" lay-text="ON|OFF" '.($article->Metas->test1 ? 'checked=""' : '').'> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">一个文本</label> <div class="layui-input-block"> <input type="text" name="meta_test2" placeholder="" autocomplete="off" class="layui-input" value="'.$article->Metas->test2.'"> </div> </div> </div> </div> ';}
其它接口
Filter_LayCenter_PushPost_Footer 文章页最底部,可以直接echo出代码
Filter_LayCenter_PushPost_JS 直接输出js代码,不要有script标签,可以对ue编辑器添加一些按钮(可以参考“复制代码”插件)
文章相关数据
是否购买了本文章
PHP
//模板里用法{$article.Purchased}已购买{else}未购买{/if}//其它调用方法 if ($article->Purchased){ echo '已购买'; }else{ echo '未购买'; } // $article 是文章对象,其它地方调用可以先用GetPost(文章ID)的方法获取对象
VIP会员是否能免费查看付费内容
PHP
//使用方法和上面的一样$article->FreeView
获取文章的收藏数量
PHP
$article->CollectNums;
获取文章已售数量(已购买的人数)
PHP
$article->SellNums;
获取文章最近销售订单
PHP
$article->Orders(); //默认10个foreach ($article->Orders(5) as $value){ echo '购买人ID:'.$value->UID; echo '购买时间:'.date('Y-m-d',$value->Time);}
获取最近收藏记录
PHP
$article->Collect(); //默认10个//遍历方法同上
获取最近下载记录
PHP
$article->Download(); //默认10个//遍历方法同上
获取文章附件下载次数
PHP
$article->DownloadNums;
用户中心添加页面/菜单
添加菜单
右边下拉菜单
PHP
Add_Filter_Plugin('Filter_LayCenter_Nav','function_name'); //挂载接口function function_name(&$json){ $json['menu']['sidebar']['test'] = array ('title'=>'测试按钮','icon'=>'donate','href'=>'Admin/test'); $json['menu']['right']['userinfo']['children']['qqrobot'] = array('title'=>'<i class="fab fa-qq fa-fw"></i> QQ消息服务','href'=>'User/qqrobot/messagepush'); //数组中href值 是在在用户中心中打开的页面链接}//代码是添加了两个菜单,顶部两处的代码也可以添加,可参考用户中心插件class/json.php nav函数中的代码
添加页面
PHP
Add_Filter_Plugin('Filter_LayCenter_Page_End','function_name'); //挂载接口function function_name($param){ global $zbp,$lcp; if ($param[0] == 'User' && $param[1] == 'qqrobot' && $param[2] == 'messagepush'){ echo '页面内容'; }}
传入的$param就是上面添加菜单用的href值,用户中心已经将它拆分为数组,用以上方法判断打开的是否是需要处理的页面。数组第一个值如果是Admin则只有管理员才可以访问,否则会被拦截
附:二00二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、 本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请: 前往投诉 站长会进行审查之后,情况属实的会在三个工作日内为您删除。
暂无评论内容