1. 程式人生 > 其它 >微信小程式結合laravel8實現點贊功能

微信小程式結合laravel8實現點贊功能

wx.ml

<view bindtap="haveSave" data-id="{{headHouseDetails.id}}">
<view>
    <image class="save " src="{{isClick?'/images/shou(1)(1).png':'/images/shou1.png'}}" style="width: 100rpx;height: 100rpx;" ></image>
</view>
 <view>
    <text class="saveText">{{isClick?'取消':'
收藏'}}</text> </view> </view>

wx.js

    /**
     * 頁面的初始資料
     */
    data: {
        isClick: false,
    },
    /**
     * 收藏
     * @param {*} options 
     */
    haveSave(e) {
        // 獲取文章id
         let id=e.currentTarget.dataset.id;
        //  獲取token
        let token=wx.getStorageSync('
token') wx.request({ url: `${config.baseUrl}collection`, //僅為示例,並非真實的介面地址 header: {token}, data: { id }, success: res => { if( res.data.code==200){ wx.showToast({ title:
'收藏成功', }) this.setData({ isClick:true }) return }else if(res.data.code==204){ wx.showToast({ title: '取消收藏', }) this.setData({ isClick:false }) return }else{ wx.showToast({ title: '介面錯誤', }) } } }) },

laravel8 路由:

//點贊
Route::get('collection',[\App\Http\Controllers\HomePage\DataStorage\DataStoreageController::class,'collection'])->middleware(\App\Http\Middleware\CheckApiLogin::class);

控制器程式碼:

    /**
     * 收藏樓盤資訊
     *users:閆兵
     *Data:2022/4/22
     *Time:18:36
     */
    public function collection(Request $request)
    {
//接受要收藏的房源id 並驗證
        if (empty($request->get('id')) || !is_numeric($request->get('id'))) {
            return Msg(501, 'id錯誤', '');
        }
//  獲取使用者id:
        $userId = $request->get('user_id');
//將使用者id和房源id新增到點贊表中
        $where = [
            'user_id' => $request->get('user_id'),
            'did' => $request->get('id'),
        ];
        $model = Factory::collection();
        $result = $model->where($where)->first();
        if (empty($result)) {
//    進行收藏
            $addRes=$model->insertGetId($where);
            return Msg(200,'收藏成功',$addRes);
        }else{
            //刪除
            $delRes = $model::where($where)->delete();
            return Msg(204,'取消收藏',$delRes);


        }

效果圖: