tp5 实现收藏功能,可切换颜色

html页面中,引用了bootstrap 的图标

                            {if condition="$color == 5"}
                            <div >
                                <!-- <i id="collection" class="icon-heart cs"></i><br /> -->
                                <!-- <i id="collection" class="icon-heart" class2="cs"></i><br /> -->
                                <i id="collection" class="icon-heart cs"></i><br />

                            </div>
                            {else/}
                            <div >
                                <i id="collection" class="icon-heart"></i><br />
                            </div>
                            {/if}

css 样式

<style>
.like{ font-size:66px;  color:#ccc; cursor:pointer;}
.cs{color:#FF0000;}
</style>

js 中

 $("#collection").click(function(){
	$.ajax({
    type:'POST',
    url:"home_collection.html",
    data:{
        "art_id": {$data['id']},        // 传过去文章表的id
    },
    dataType:"json",
    success:function(data){    
        var res = JSON.parse(data);     // json 字符串转化为对象
        if (res.code == '3')            // 收藏成功,变成红色
        {    
            $('#collection').toggleClass('cs');         
            // document.getElementById('collection').style.background="#FF0000";  // 另一种样式,这是把整个背景都变红了 
            console.log(res.code);
        }
        if (res.code == '4')           // 取消收藏
        {
            $('#collection').toggleClass('cs'); 
            console.log(res.code);         
        }
    },
    error:function(data){
        console.log(data);
        console.log(data.code);
        alert(222);
    } 
});          
});

控制器中
// 当图标变颜色的时候,点击是取消收藏,当图片没颜色的时候点击是收藏
// 查询数据库是否存在,如果不存在则加入,存在则删除,前台也变样式

public function collection()
{
	 $data = $_POST;
	$uname1 = session::get('USER_INFO');
	$uid = $uname1['uid'];
	// 应该查询当前用户对应的art_id 存不存在在 收藏表 中
	$result = DB::name('collection')->where('art_id',$data['art_id'])->select();
	if($result)
	{
		$aa = DB::name('collection')->where('art_id',$data['art_id'])->delete();
		$returnData = ['code'=>4, 'info'=>'取消收藏'];
	}else{
		$bb['art_id'] 	= $data['art_id']; 	// 对应文章表的id
		$bb['uid'] 		= $uid ;
		$bb = DB::name('collection')->insert($bb);
		$returnData = ['code'=>3, 'info'=>'收藏成功'];
	}
	// header('Content-Type:application/json; charset=utf-8'); 
	$data3 = json_encode($returnData,JSON_UNESCAPED_UNICODE);    //这样也正确
	return $data3;
	// return json_encode($returnData);	// 这样返回格式正确
}
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在 PHP TP5 框架中实现微信支付功能,你需要完成以下几个步骤: 1. 注册微信商户平台账号,并在商户平台中创建应用,获取到商户ID和商户密钥。 2. 安装并配置 PHP SDK,可以使用官方提供的 SDK 或者选择第三方 SDK。 3. 编写支付接口,接收前端传来的订单信息,将订单信息传递给微信支付接口,生成预支付订单,并返回预支付订单信息给前端。 4. 前端根据预支付订单信息调起微信支付页面,用户完成支付后,微信将会回调你的支付回调接口。 5. 在支付回调接口中,验证微信回调的签名,防止恶意攻击,确认订单支付状态,更新订单状态等操作。 下面是一个简单的示例代码,仅供参考: ```php // 引入微信支付 SDK use EasyWeChat\Factory; // 创建支付对象 $config = [ 'app_id' => 'your-app-id', 'mch_id' => 'your-mch-id', 'key' => 'your-key', 'cert_path' => 'path/to/your/cert.pem', 'key_path' => 'path/to/your/key.pem', ]; $payment = Factory::payment($config); // 发起支付请求 $result = $payment->order->unify([ 'body' => 'test', 'out_trade_no' => 'your-order-id', 'total_fee' => 100, 'spbill_create_ip' => '127.0.0.1', 'notify_url' => 'your-notify-url', 'trade_type' => 'JSAPI', 'openid' => 'your-user-openid' ]); // 将预支付订单信息返回给前端 return $result; // 支付回调接口 $payment->notify(function ($notify, $successful) { // 验证签名 if (!$successful) { return 'fail'; } // 更新订单状态等操作 return 'success'; }); ``` 注意,以上代码仅为示例代码,具体实现需要根据你的业务需求进行调整。同时,为了确保支付安全,请务必仔细阅读微信支付开发文档,并遵循开发规范。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值