91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Springboot+Vue+axios實現文章收藏功能

發布時間:2022-08-31 10:52:30 來源:億速云 閱讀:270 作者:iii 欄目:開發技術

這篇文章主要介紹了怎么用Springboot+Vue+axios實現文章收藏功能的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用Springboot+Vue+axios實現文章收藏功能文章都會有所收獲,下面我們一起來看看吧。

先從數據庫出發

怎么用Springboot+Vue+axios實現文章收藏功能

id_blog主要就是關聯對應的文章,id_user就是是誰對這個文章收藏了,這樣后續利于用戶查詢自己收藏的文章列表,create_time可以加上添加時間,這個字段后續可進行按照時間排序。

數據庫創建好后,就寫實體類

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BlogCollection implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private Integer idBlog;

    private Integer idUser;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}

Mapper

public interface BlogCollectionMapper extends BaseMapper<BlogCollection> {
    @Insert("insert into 表名  values(字段名)")
    void addCollection(BlogCollection bc);
    //可以用mybatisPlus插入數據方便
}

Service

public interface BlogCollectionService extends IService<BlogCollection> {
    void addCollection(BlogCollection bc);
}

serviceImpl

public class BlogCollectionServiceImpl extends ServiceImpl<BlogCollectionMapper, BlogCollection> implements BlogCollectionService {

    @Autowired
    BlogCollectionMapper blogCollectionMapper;
    @Override
    public void addCollection(BlogCollection bc) {
        blogCollectionMapper.addCollection(bc);
    }
}

Controller

@RestController
@RequestMapping("/BlogCollection")
public class BlogCollectionController {
    @Resource
    BlogCollectionService blogCollectionService;
    @Resource
   BlogCollectionMapper BlogCollectionMapper;
    //收藏
    @PostMapping("/addBlogCollection")
    public Result<?> addBlog(@RequestBody BlogCollection blogCollection) {
        blogCollectionService.addCollection(blogCollection);
        return Result.success();
    }
}

以上就是添加收藏的部分代碼,然后就是寫前端調用及渲染到頁面上

<div class="button_content" >
   <el-button @click="addCollection" v-if="collectionState===false" type="text" >
      <el-icon  color="#999aaa"><StarFilled /></el-icon>
       {{collectionCount }}
          </el-button>
          <el-button @click="delCollection" v-if="collectionState===true" type="text" >
            <el-icon  color="#999aaa"><StarFilled /></el-icon>
            {{collectionCount }}
          </el-button>
          <el-button type="text" @click="" >
            <el-icon  color="#999aaa"> <ChatDotRound /></el-icon>
            {{ messageCount }}
  </el-button>
</div>

Js部分

 data(){
    return{
    collectionIds:{},
    collectionState:false,//默認是false則是可收藏,true的話就是已收藏
    }
    },
    methods:{
    add(){
      this.collectionIds.idBlog=this.$route.query.id //當前文章ID
      this.collectionIds.idUser=this.user.id //當前用戶ID
    request.post("/BlogCollection/addBlogCollection",this.collectionIds).then(res=>{
        if (res.code === '0') {
          this.$message({
            message: "收藏成功",
            type: "success"
          });
          this.collectionState=true
          console.log(this.collectionState)
        } else {
          this.$message({
            message: res.msg,
            type: "error"
          });
        }
      })
    }
    }

在頁面加載時獲取該用戶判斷是否收藏該文章

getState(){
      let userJson=sessionStorage.getItem("user")
      let userid=JSON.parse(userJson).id
      request.get("/user/getState/"+userid).then(res=>{
        if(res.data!=null){        //從表中查詢是否有記錄,不為空把collectionState設置true
          this.collectionState=true
        }
        if(res.data.length){  //獲取結果集如果存在則把collectionState設置true,防止重復收藏
          this.collectionState=true
        }
      })
    },

獲取用戶收藏狀態需要在頁面加載時調用,需要在created里進行調用,其次就是取消收藏功能也是跟這個邏輯一樣的,在點擊取消收藏后將collectionState設置為false即可,后臺的話就通過用戶id對收藏表查詢刪除就可以啦!奉上效果圖:

未收藏狀態

怎么用Springboot+Vue+axios實現文章收藏功能

已收藏狀態

怎么用Springboot+Vue+axios實現文章收藏功能

補充:request是axios封裝的一個工具,大家也可以使用原axios進行對后臺接口調用

關于“怎么用Springboot+Vue+axios實現文章收藏功能”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用Springboot+Vue+axios實現文章收藏功能”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南皮县| 娄底市| 汶上县| 西丰县| 清镇市| 盘锦市| 拜泉县| 邵武市| 凤庆县| 道孚县| 丽江市| 青神县| 天峻县| 南部县| 苏尼特左旗| 田林县| 聂荣县| 滦南县| 垦利县| 开江县| 贡觉县| 沧源| 东乌珠穆沁旗| 永川市| 隆昌县| 桃源县| 三门县| 武川县| 湾仔区| 东乡族自治县| 阿拉善盟| 高尔夫| 凯里市| 巨野县| 广丰县| 科技| 水城县| 穆棱市| 剑川县| 枣庄市| 香格里拉县|