VIP会员

VIP会员截图
VIP会员截图
VIP会员截图
VIP会员缩略图
VIP会员缩略图
VIP会员缩略图

VIP 插件

会员开通、续费和升级。后台配置多个等级,每个等级可设多档时长和价格。支持微信、支付宝、余额支付。升级时按剩余时长抵扣差价。到期后执行 vip:expire 改为过期。

后台「VIP等级」里填的内容,前台购买页会直接显示。自己做页面时用下面的方式取。

等级字段

字段说明
name名称
label名称旁边的角标,如「永久」
intro一行介绍
image等级图片,已是完整地址
icon图标 class,如 fa fa-star,页面里用 ``
content详细说明,富文本
level等级数字,数字越大等级越高
pricedata价格列表
rightdata权益列表

价格每一项:title 标题、days 天数、price 价格、subtext 描述、unit 单位、default 是否默认。

权益每一项:text 名称、intro 介绍、image 图标地址。

模板

{foreach name="vipList" id="item"}
  <img src="%7B$item.image%7D" alt="{$item.name}" />
  <h3><i class="{$item.icon}"></i> {$item.name} {$item.label}</h3>
  <p>{$item.intro}</p>
  <div>{$item.content|raw}</div>

  {foreach name="item.rightdata" id="right"}
    <img src="%7B$right.image%7D" alt="{$right.text}" />
    <span>{$right.text}</span>
    <span>{$right.intro}</span>
  {/foreach}

  {foreach name="item.pricedata" id="price"}
    {$price.title} {$price.days}天 ¥{$price.price}
  {/foreach}
{/foreach}

content 是后台编辑器内容,输出时加 |raw。

PHP

use modules\vip\library\Service;

$list = Service::getVipList();
$info = Service::getVipInfo();          // 当前登录会员
$ok = Service::isVip(2);                // 等级大于等于 2
$ok = Service::isVip(2, true);          // 等级必须等于 2

getVipInfo() 返回当前会员的 name、level、image、rightdata、expiredate、remainseconds。未开通返回空数组。

全部等级用模型:

$list = \modules\vip\model\Vip::where('status', 'normal')->order('level', 'asc')->select();

到期检查

到期不会自动改状态,需要定时执行:

php think vip:expire

建议每小时跑一次。crontab:

0 * * * * cd /你的站点目录 && php think vip:expire

接口

GET /api/vip.index/index,不用登录。

返回 vipList 和当前会员的 vipInfo。未登录时 vipInfo 为 null。

官方QQ交流②群
官方QQ交流②群
QQ咨询 微信咨询 VIP代理 回到顶部