从原有设计的方案中,是直接接入系统的同类接口。
但由于小程序属于特殊展现,如果使用系统的接口,会出现小程序端页面被插入一堆不支持的内容。
因此,单独为Tea小程序内置了插件接口。
关于权限阅读的体验,例如访问《Tea小程序首次配置指南》。
在获取文章页面,分别接入了三个接口
获取文章开始:传参($id, $controller)
Controller_GetArticleInfo_Begin
文章转换成输出数据前:传参($article, $node, $controller)
Controller_GetArticleInfo_TransformBefore
获取文章结束待输出:传参($result, $container)
Controller_GetArticleInfo_End
注意:请不要随意变动$controller,否则会出错!
挂载文章转换数据前接口,即可实现权限阅读功能;
以webpi的权限阅读为例
在ActivePlugin的时候,挂载接口
function ActivePlugin_webpi() { // 在Tea小程序插件中挂载接口 if (function_exists('TeaXCX_AddHook')) { TeaXCX_AddHook('Controller_GetArticleInfo_TransformBefore', 'webpi_Plugin_TeaXCX_ViewArticle_TransformBefore'); } }
然后在对应的方法中,进行权限过滤
/** * 查看文章时,控制访问权限 */ function webpi_Plugin_TeaXCX_ViewArticle_TransformBefore(&$article, $node, $controller) { if ('基于$article对象完成的权限判断') { $article->Content = '<p>您没有这篇文章的阅读权限</p>'; } }
简单解释一下$node;
因为涉及到密码输入验证,或者需要切换到用户中心登录等功能的交互;
这需要在小程序端单独完成,因此会在$node中插入相关的交互节点。
目前此参数为保留内容,相关交互方案正在设计中。
如需参与评论或查看更多留言,请微信扫一扫