微信小程式結合laravel8實現點贊功能
阿新 • • 發佈:2022-04-22
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); }
效果圖: