ThinkSNS-应用开发范例-增加积分消费功能

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页

上面的程序基本完成了礼品的全部操作,接下来我们要增加积分消费功能。至于礼品消费的积分类型,是积分或者还是经验,可以在后台设置,详细请看后台程序说明。

首先在发送礼品页面增加显示当前用户所拥有多少积分的功能,我们只要在IndexAction.class.php 文件的Index 方法里增加以下程序即可:

//获取当前用户的积分
$money = getCredit($this->mid,$this->api);
$moneyType = getC('creditName');
$this->assign('money',$money[$moneyType]);

在发送礼品的模板里增加以下一行代码:我目前拥有的{$config.creditName}是: {$money}然后在发送礼品的函数里(UserGiftModel.class.php 的sendGift 方法)增加扣除所选礼品的相应积分程序:

//扣除相应积分
$giftPrice = intval($giftInfo['price']);
$prices = $userNum*$giftPrice;
$type = getC('creditType');
$credit[$type] = '-'.$prices;
if(!$this->__setScore($fromUid,$credit)){
return '您的'.getC('creditName').'不足,发送礼品失败!';
}

我们还在增加上面用到扣除积分封装函数:

/**
* __setScore
* 扣除(或增加)用户相应积分
* @param $uid 用户ID,
$credit 积分数,为正时表示增加积分,为负时表示扣除积分
* @return void;
*/
private function __setScore($uid,$credit){
$test['credit'] = $credit;
$test['action'] = 'send_gift';
$test['actioncn'] = '发送礼物';
$res = setUserScore($uid, $test);
return $res;
}

到这里积分消费功能增加完毕.


参考资料[ ]