碰一碰发视频系统源码搭建 + 定制化开发实战(附完整代码)

科技风教育课程倒计时公众号首图 (2)_副本

一、系统概述
碰一碰发视频系统,核心是基于NFC 近场通信+短视频分发,用户手机碰一碰 NFC 标签 / 设备,即可自动跳转发布视频、调取预设视频内容、绑定账号授权发布,广泛适用于线下门店引流、智能设备交互、活动现场快速发视频等场景。
本文基于SpringBoot 后端 + Vue 前端 + NFC 硬件适配 + 短视频平台接口,提供可直接部署的源码,支持定制化修改(发布平台、碰一碰触发逻辑、视频内容管理等)。
电商小程序商城新人活动海报banner

二、核心技术栈
2

后端:SpringBoot 2.7、MyBatis-Plus、MySQL、Redis
前端:Vue3、Element Plus、WebSocket
核心功能:NFC 标签识别、视频自动发布、账号授权、内容管理
适配平台:抖音 / 视频号 / 快手(可定制接口)
硬件:通用 NFC 标签、手机 NFC 模块
三、数据库设计(直接执行)
sql
CREATE DATABASE IF NOT EXISTS nfc_video_system;
USE nfc_video_system;

-- NFC标签表
CREATE TABLE nfc_tag (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
tag_id VARCHAR(64) NOT NULL COMMENT 'NFC**标识',
video_id BIGINT COMMENT '绑定视频ID',
status INT DEFAULT 1 COMMENT '1启用 0禁用',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 视频素材表
CREATE TABLE video_material (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
video_url VARCHAR(500) NOT NULL COMMENT '视频地址',
title VARCHAR(200) COMMENT '视频标题',
platform VARCHAR(50) COMMENT '发布平台',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 用户发布记录
CREATE TABLE publish_record (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
tag_id VARCHAR(64) NOT NULL,
video_id BIGINT NOT NULL,
publish_status INT DEFAULT 0 COMMENT '0待发布 1成功 2失败',
publish_time DATETIME
);
四、后端核心源码(SpringBoot)

  1. 配置文件 application.yml
    yaml
    server:
    port: 8080
    spring:
    datasource:
    url: jdbc:mysql://localhost:3306/nfc_video_system?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    redis:
    host: localhost
    port: 6379

短视频平台授权配置(定制化修改)

video:
platform:
douyin:
app-id: 你的抖音开放平台ID
app-secret: 你的密钥
2. NFC 碰一碰核心接口
功能:手机读取 NFC 标签 ID → 系统匹配绑定视频 → 返回发布指令
java
运行
/**

  • NFC碰一碰触发视频发布接口
    */
    @RestController
    @RequestMapping("/api/nfc")
    @RequiredArgsConstructor
    public class NfcController {

    private final NfcTagService nfcTagService;
    private final VideoPublishService videoPublishService;

    /**

    • 碰一碰核心接口:前端NFC读取tagId后请求
      */
      @PostMapping("/trigger")
      public R triggerPublish(@RequestBody Map<String,String> param){
      String tagId = param.get("tagId");
      // 1. 查询NFC标签绑定的视频
      NfcTag tag = nfcTagService.getOne(Wrappers.lambdaQuery(NfcTag.class)
      .eq(NfcTag::getTagId, tagId)
      .eq(NfcTag::getStatus, 1));
      if(tag == null){
      return R.error("NFC标签未绑定视频或已禁用");
      }
      // 2. 执行自动发布
      boolean result = videoPublishService.autoPublish(tag.getVideoId());
      // 3. 记录发布日志
      PublishRecord record = new PublishRecord();
      record.setTagId(tagId);
      record.setVideoId(tag.getVideoId());
      record.setPublishStatus(result ? 1 : 2);
      record.setPublishTime(new Date());
      return result ? R.success("视频发布成功") : R.error("发布失败");
      }
      }
  1. 视频自动发布服务(可定制平台)
    java
    运行
    @Service
    public class VideoPublishService {

    @Resource
    private VideoMaterialMapper videoMaterialMapper;

    /**

    • 自动发布视频(可对接抖音/视频号**接口)
      */
      public boolean autoPublish(Long videoId){
      try {
      VideoMaterial material = videoMaterialMapper.selectById(videoId);
      // ======================
      // 定制化区域:替换为**发布API
      // 1. 获取视频URL
      // 2. 调用平台接口上传+发布
      // 3. 返回发布结果
      // ======================
      System.out.println("视频发布成功:" + material.getVideoUrl());
      return true;
      }catch (Exception e){
      e.printStackTrace();
      return false;
      }
      }
      }
  2. 统一返回结果类
    java
    运行
    public class R {
    private int code;
    private String msg;
    private T data;

    public static R success(String msg){
    R r = new R<>();
    r.code = 200;
    r.msg = msg;
    return r;
    }
    public static R error(String msg){
    R r = new R<>();
    r.code = 500;
    r.msg = msg;
    return r;
    }
    // getter setter
    }
    五、前端核心源码(Vue3 + NFC 调用)

  3. 碰一碰 NFC 读取页面(index.vue)
    vue

    1. 视频管理后台页面
      支持上传视频、绑定 NFC 标签、查看发布记录,完整 Vue 组件可直接集成。
      六、系统部署教程
      环境准备:JDK8+、MySQL5.7+、Redis、Node.js
      后端部署
      导入 SQL 文件
      修改application.yml数据库、平台密钥配置
      打包运行:mvn clean package && java -jar xxx.jar
      前端部署
      安装依赖:npm install
      打包:npm run build
      部署到 Nginx
      硬件适配:购买 NFC 标签,写入** ID,在后台绑定视频
      七、定制化开发方向(可按需修改)
      发布平台定制:对接抖音、视频号、快手、小红书**发布接口
      触发逻辑定制:碰一碰直接跳转小程序、自动关注、领取优惠券
      功能扩展:账号批量授权、视频定时发布、数据统计、分销功能
      硬件定制:适配 NFC 设备、碰一碰盒子、智能终端
      UI 定制:替换品牌 LOGO、修改页面风格、适配移动端 / PC 端
      八、系统优势
      开箱即用:源码完整,无加密,直接部署
      高度定制:接口、功能、界面均可二次开发
      低成本:支持普通 NFC 标签,无需昂贵硬件
      高适配:支持安卓 /iOS 手机 NFC,兼容主流短视频平台
      九、注意事项
      短视频平台发布需申请**开放平台权限
      WebNFC 仅支持HTTPS 协议,部署需配置 SSL 证书
      可根据业务需求,新增会员、付费、代理等商业功能
posted @ 2026-06-04 10:57  兔兔不是荼荼  阅读(43)  评论(0)    收藏  举报