…">
当前位置:首页 > uni-app

uniapp点赞源码

2026-03-05 12:39:06uni-app

以下是一个基于UniApp的点赞功能实现示例,包含前端交互和基础后端逻辑模拟:

uniapp点赞源码

前端页面实现

<template>
  <view class="container">
    <view class="like-container" @click="handleLike">
      <image 
        :src="isLiked ? '/static/liked.png' : '/static/like.png'" 
        class="like-icon"
      />
      <text>{{ likeCount }}</text>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      isLiked: false,
      likeCount: 0
    }
  },
  methods: {
    handleLike() {
      this.isLiked = !this.isLiked
      this.likeCount = this.isLiked ? this.likeCount + 1 : this.likeCount - 1

      // 实际项目中这里应该调用API
      uni.request({
        url: 'https://your-api.com/like',
        method: 'POST',
        data: {
          postId: 123,
          action: this.isLiked ? 'like' : 'unlike'
        }
      })
    }
  }
}
</script>

<style>
.like-container {
  display: flex;
  align-items: center;
  padding: 10px;
}
.like-icon {
  width: 20px;
  height: 20px;
  margin-right: 5px;
}
</style>

后端模拟实现(Node.js示例)

const express = require('express')
const app = express()
app.use(express.json())

let likesData = {}

app.post('/like', (req, res) => {
  const { postId, action } = req.body

  if (!likesData[postId]) {
    likesData[postId] = 0
  }

  if (action === 'like') {
    likesData[postId]++
  } else {
    likesData[postId] = Math.max(0, likesData[postId] - 1)
  }

  res.json({ 
    success: true,
    count: likesData[postId] 
  })
})

app.listen(3000)

关键功能说明

  • 状态管理:使用isLiked布尔值记录当前点赞状态
  • 计数器:likeCount实时显示点赞数量
  • 防抖处理:实际项目中应添加防抖逻辑防止快速重复点击
  • 数据持久化:需要配合数据库实现点赞数据的持久化存储

扩展功能建议

  • 添加动画效果提升用户体验
  • 实现用户鉴权确保点赞操作真实性
  • 使用本地缓存减少API请求
  • 考虑并发情况下的数据一致性

以上代码需要根据实际项目需求进行调整,特别是后端API部分需要连接数据库实现完整功能。

标签: 源码uniapp
分享给朋友:

相关文章

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp模板库

uniapp模板库

uniapp模板库推荐 官方模板库 uni-app官方提供多个模板,涵盖电商、社交、新闻等多个领域。这些模板可直接在HBuilderX中通过新建项目选择,包含基础结构和常用功能模块,适合快速启动项目。…

uniapp组件

uniapp组件

uniapp组件基础概念 uniapp的组件系统基于Vue.js,支持跨平台开发(H5、小程序、App等)。组件分为内置基础组件(如<view>、<button>)和自定义组件…

uniapp $on

uniapp $on

uniapp $on 方法详解 $on 是 UniApp 中用于监听全局事件的 API,常用于跨页面或跨组件通信。它基于 Vue 的事件机制,允许在全局范围内触发和监听自定义事件。 基本语法…

uniapp 数据

uniapp 数据

uniapp 数据管理方法 本地存储 使用 uni.setStorageSync 和 uni.getStorageSync 进行本地数据持久化存储。适合保存用户偏好设置或小型数据。 // 存储数…

如何调试react源码

如何调试react源码

调试React源码的方法 克隆React源码仓库到本地: git clone https://github.com/facebook/react.git cd react 安装依赖并构建开发版本:…