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

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

二、核心技术栈

后端: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)
- 配置文件 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("发布失败");
}
}
- 碰一碰核心接口:前端NFC读取tagId后请求
-
视频自动发布服务(可定制平台)
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;
}
}
}
- 自动发布视频(可对接抖音/视频号**接口)
-
统一返回结果类
java
运行
public class R{
private int code;
private String msg;
private T data;public static
R success(String msg){
Rr = new R<>();
r.code = 200;
r.msg = msg;
return r;
}
public staticR error(String msg){
Rr = new R<>();
r.code = 500;
r.msg = msg;
return r;
}
// getter setter
}
五、前端核心源码(Vue3 + NFC 调用) -
碰一碰 NFC 读取页面(index.vue)
vue
碰一碰发布视频
开启NFC {{ resultMsg }} - 视频管理后台页面
支持上传视频、绑定 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 证书
可根据业务需求,新增会员、付费、代理等商业功能
- 视频管理后台页面

浙公网安备 33010602011771号