省钱兄JAVA名片系统易卡随行系统源码 支持小程序+公众号+H5
✅ 支持 小程序 + 公众号 + H5 三端全覆盖
开发商:西安省钱兄网络科技有限公司
售价:¥8,889(套餐1)/ ¥10,889(套餐2含搭建+1年维护)
新更新:2026年5月13日(互站网在售)
系统整体架构
层级技术选型后端框架Spring Boot 2.7.x + MyBatis-Plus 3.5.0 + Spring Security(RBAC权限)数据库MySQL 8.0 + Redis 7.0(缓存/分布式锁/GEO)用户端UniApp 3.0(Vue3语法)→ 编译为 小程序 + 公众号 + H5管理后台Vue3 + ElementPlus + ECharts 数据看板实时通信WebSocket(实时推送)+(异步解耦)智能引擎AI智能排版 + 行为分析 + 客户画像 + 防伪溯源支付微信支付 + 支付宝部署JDK 17 + Docker + Nginx + K8s
核心功能模块1️⃣ 多角色体系(三端统一)java@PostMapping("/login")public Result<LoginVO> login(@Re LoginDTO dto) { User user = userService.login(dto); String token = JwtUtil.generateToken(user.getId(), user.getRole()); https:// role = "user" 普通用户 / "admin" 管理员 return Result.success(new LoginVO(token, user.getRole()));}
角色核心功能使用端 用户端创建名片/名片装修/分享交换/名片榜单/浏览记录小程序/H5/公众号 管理后台名片审核/用户管理/数据统计/榜单管理/模板管理PC管理后台
2️⃣ 我的名片 - 数字身份中心(核心亮点)⭐⭐⭐java/** * 名片信息管理 - 支持自定义字段扩展 */@Servicepublic class CardServiceImpl implements CardService { /** * 创建名片 */ @Transactional public Result<CardVO> createCard(@Re @Valid CardCreateDTO dto, @Re("userId") Long userId) { https:// 1. 校验用户认证状态 User user = userService.getById(userId); if (user.getAuthStatus() != 1) { return Result.fail("请先完成实名认证"); } https:// 2. 创建名片 Card card = new Card(); BeanUtils.copyProperties(dto, card); card.setUserId(userId); card.setIsDefault(1); https:// 默认名片 card.setCreateTime(new Date()); cardMapper.insert(card); https:// 3. 生成动态二维码(含时间戳+盐值,5分钟有效) String = generate(card.getId()); String = erate(); rCode(); cardMapper.updateById(card); return Result.success(convertToVO(card)); } /** * 动态二维码生成 - ZXing库 */ public String generate(Long cardId) { String timestamp = String.valueOf(System.currentTimeMillis()); String salt = UUID.randomUUID().toString().substring(0, 8); return "https://card.yikasuixing.com/v/" + cardId + "?t=" + timestamp + "&s=" + salt; }}
名片字段说明 基本信息姓名/职位/公司/部门/手机/邮箱 社交链接微信/抖音/LinkedIn/个人网站 项目案例图文展示,支持多图上传 证书荣誉动态展示,支持时间线 自定义字段JSON Schema动态渲染,无限扩展
3️⃣ 名片装修 - AI智能排版(核心亮点)⭐⭐⭐java/** * 名片装修 - AI智能排版优化 * 基于OpenCV分析文本长度、图片比例,自动调整布局 */@Servicepublic class CardDecorateServiceImpl implements CardDecorateService { @Autowired private RedissonClient redissonClient; /** * 更新名片装修 - 分布式锁防并发 */ @Lock4j(keys = {"#userId"}, expire = 3000, ac = 1000) @Transactional public Result<CardVO> decorateCard(@Re CardDecorateDTO dto, @Re("userId") Long userId) { https:// 1. 校验认证状态 UserAuth auth = userAuthService.getByUserId(userId); if (auth == null || auth.getRealNameStatus() != 1) { return Result.error("请先完成实名认证"); } https:// 2. 查询名片 Card card = cardService.getDefaultCard(userId); if (card == null) return Result.error("未找到名片"); https:// 3. AI排版优化 - 分析内容自动推荐模板 String recommendedTemte = aiTemteService.recommend(dto); dto.setTemteId(recommendedTemte); https:// 4. 更新装修内容 BeanUtils.copyProperties(dto, card); card.setUpdateTime(new Date()); cardService.updateById(card); https:// 5. 清除缓存 redisTemte.delete("card:detail:" + card.getId()); return Result.success(convertToVO(card)); }}/** * AI模板推荐引擎 */@Servicepublic class AITemteService { public String recommend(CardDecorateDTO dto) { https:// 分析行业关键词 String industry = extractIndustry(dto.getContent()); https:// 分析字段数量 int fieldCount = countFields(dto); https:// 匹配模板 return temteRepository.findBestMatch(industry, fieldCount); }}
装修功能说明 10+行业模板科技/金融/教育/医疗/法律/设计等,一键套用 AI智能排版自动分析内容长度/图片比例,优化布局 自定义字段JSON Schema动态渲染,无限扩展️ 多媒体支持图片/视频/音频/项目案例/证书荣誉 实时预览装修效果实时预览,所见即所得
4️⃣ 名片分享交换 - 多种方式(核心亮点)⭐⭐⭐java/** * 名片交换 - 多种方式 + 实时通知 */@Servicepublic class ExchangeServiceImpl implements ExchangeService { /** * 扫码交换名片 */ @Transactional public Result R(@Re("userId") Long userId, @Re dto) { https:// 1. 验证二维码有效性(时间戳+盐值校验) if (!idate(dto.get())) { return Result.fail("二维码已过期或无效"); } https:// 2. 解析名片ID Long targetCardId = parseCardId(dto.get()); Card targetCard = cardService.getById(targetCardId); https:// 3. 记录交换 ExchangeRecord record = new ExchangeRecord(); record.setFromUserId(userId); record.setToUserId(targetCard.getUserId()); record.setCardId(targetCardId); record.setExchangeTime(new Date()); record.setType(""); exchangeMapper.insert(record); https:// 4. WebSocket实时通知对方 webSocketService.notify(targetCard.getUserId(), "您的名片被" + getUserName(userId) + "通过扫码获取"); https:// 5. 异步:更新行为分析 rabbitTemte.convertAndSend("behavior.exchange", record.getId()); return Result.success("交换成功!"); } /** * NFC触碰交换 */ public Result exchangeByNFC(@Re("userId") Long userId, @Re NFCDTO dto) { https:// Android NFC API实现近场通信 https:// 成功率超95% return Result.success("NFC交换成功!"); } /** * 链接分享 */ public Result exchangeByLink(@Re("userId") Long userId, @Re LinkDTO dto) { https:// 生成含UTM参数的短链,追踪传播效果 String shortLink = urlShortener.generate(dto.getCardUrl(), Map.of("utm_source", "wechat", "utm_medium", "share")); return Result.success(shortLink); }}
交换方式说明成功率 扫码交换动态二维码(5分钟有效),AES-256加密99% NFC交换Android/iOS NFC近场通信,无需打开APP95% 链接分享含UTM参数短链,追踪传播效果 微信分享一键分享至好友/朋友圈/群聊
5️⃣ 行为分析看板 - 数据驱动(核心亮点)⭐⭐⭐java/** * 行为分析 - Flink实时计算 + Grafana可视化 */@Servicepublic class AnalyticsService { /** * 名片浏览分析 */ public Map<String, Object> getViewAnalytics(Long cardId) { return Map.of( "totalViews", viewMapper.countByCard(cardId), "avgDuration", viewMapper.avgDuration(cardId), "uni", viewMapper.countDistinct(cardId), "conversionRate", calculateConversion(cardId), https:// 浏览→交换转化率 "peakHours", viewMapper.peakHours(cardId) ); } /** * 客户画像系统 */ public CustomerProfile getCustomerProfile(Long visitorId) { https:// 自动生成接触对象的业务偏好图谱 return customerProfileMapper.selectByVisitor(visitorId); } /** * 转化率追踪 - 从名片交换到合作的完整数据链 */ public ConversionChain getConversionChain(Long cardId) { return conversionMapper.selectChain(cardId); https:// 浏览 → 交换 → 互动 → 成交 }}
分析维度说明 浏览时长追踪名片浏览时长,判断兴趣度 分享路径从名片交换到合作的完整数据链 客户画像自动生成接触对象的业务偏好图谱 转化率浏览→交换→互动→成交全链路追踪⏰ 高峰时段分析名片访问高峰,优化分享时间
6️⃣ 名片榜单 + 认证中心(核心亮点)⭐⭐java/** * 名片榜单 - 多维度排名 */@Servicepublic class RankingService { public List<RankVO> getRankings(String type, int limit) { https:// type = "view" 浏览榜 / "exchange" 交换榜 / "share" 分享榜 return switch (type) { case "view" -> rankMapper.topByViews(limit); case "exchange" -> rankMapper.topByExchanges(limit); case "share" -> rankMapper.topByShares(limit); }; }}/** * 认证中心 - 实名认证 + 企业认证 */@Servicepublic class AuthService { /** * 个人实名认证 */ @Transactional public Result realNameAuth(@Re AuthDTO dto) { https:// 1. OCR识别身份证 String idInfo = ocrService.recognize(dto.getIdCardImage()); https:// 2. 调用公安API核验 boolean verified =公安API.verify(idInfo); if (!verified) return Result.fail("身份核验未通过"); https:// 3. 更新认证状态 userAuthMapper.updateStatus(dto.getUserId(), 1); return Result.success("实名认证成功"); } /** * 企业认证 */ @Transactional public Result enterpriseAuth(@Re AuthDTO dto) { https:// 营业执照OCR + 工商API核验 return Result.success("企业认证成功"); }}
榜单类型说明️ 浏览榜名片日浏览量排名 交换榜名片交换次数排名 分享榜名片分享次数排名
认证类型说明 个人实名身份证OCR + 公安核验 企业认证营业执照OCR + 工商核验✅ 认证标识认证名片带√标识,信任度+80%
7️⃣ 防伪溯源体系(核心亮点)⭐java/** * 防伪溯源 - 存证,确保名片信息不可篡改 */@Servicepublic class AntiFakeService { /** * 名片信息上链存证 */ @Transactional public Result uploadToChain(Long cardId) { https:// 1. 提取名片关键信息哈希 String hash = DigestUtils.md5Hex(cardService.getInfoJson(cardId)); https:// 2. 调用API存证 String txHash = blockchainClient.store(hash, "CARD_" + cardId); https:// 3. 记录存证ID card.setChainTxHash(txHash); cardMapper.updateById(card); return Result.success("存证成功,TX: " + txHash); } /** * 验证名片真伪 */ public Result verify(Long cardId) { Card card = cardMapper.selectById(cardId); String hash = DigestUtils.md5Hex(cardService.getInfoJson(cardId)); boolean valid = blockchainClient.verify(card.getChainTxHash(), hash); return Result.success(valid ? "✅ 名片信息未被篡改" : "❌ 名片信息已被篡改"); }} UniApp 前端核心页面
页面路径功能首页pages/index/index名片推荐/榜单/快速入口我的名片pages/card/my名片展示/编辑/二维码名片装修pages/card/decorateAI模板选择/字段编辑/实时预览交换名片pages/exchange/scan扫码/NFC/链接交换名片榜单pages/rank/index浏览榜/交换榜/分享榜行为分析pages/analytics/index浏览数据/转化率/客户画像认证中心pages/auth/index实名认证/企业认证个人中心pages/user/user我的名片/交换记录/设置
vue<!-- pages/card/decorate.vue - 名片装修(三端通用) --><temte> <view class="container"> <!-- 模板选择 --> <view class="temte-section"> <text class="section-title"> 选择模板</text> <scroll-view scroll-x class="temte-list"> <view v-for="tpl in temtes" :key="tpl.id" class="temte-item" :class="{active: currentTemte === tpl.id}" @tap="selectTemte(tpl.id)"> <image :src="tpl.preview" class="preview"/> <text class="name">{{ tpl.name }}</text> </view> </scroll-view> </view> <!-- AI推荐 --> <view class="ai-tip"> <text> AI已为您推荐「{{ recommendedTemte }}」模板</text> </view> <!-- 字段编辑 --> <view class="fields-section"> <text class="section-title"> 编辑信息</text> <view v-for="field in fields" :key="field.key" class="field-item"> <text class="label">{{ field.label }}</text> <input v-model="formData[field.key]" :ceholder="field.ceholder"/> </view> <button class="btn-add" @tap="addField">+ 添加自定义字段</button> </view> <!-- 实时预览 --> <view class="preview-section"> <text class="section-title">️ 实时预览</text> <view class="card-preview" :style="previewStyle"> <image :src="formData.avatar" class="avatar"/> <text class="name">{{ formData.name }}</text> <text class="title">{{ formData.title }}</text> <text class="company">{{ formData.company }}</text> </view> </view> <!-- 保存 --> <button class="btn-save" @tap="saveCard" :loading="saving"> 保存名片</button> </view></temte><script>export default { data() { return { currentTemte: 1, temtes: [ { id: 1, name: '科技蓝', preview: '/static/tpl/tech.png' }, { id: 2, name: '金融金', preview: '/static/tpl/finance.png' }, { id: 3, name: '教育绿', preview: '/static/tpl/edu.png' }, { id: 4, name: '医疗白', preview: '/static/tpl/medical.png' }, ], fields: [ { key: 'name', label: '姓名', ceholder: '请输入姓名' }, { key: 'title', label: '职位', ceholder: '请输入职位' }, { key: 'company', label: '公司', ceholder: '请输入公司名称' }, { key: 'phone', label: '手机', ceholder: '请输入手机号' }, { key: 'wechat', label: '微信', ceholder: '请输入微信号' }, ], formData: {}, saving: false, recommendedTemte: '科技蓝' } }, methods: { selectTemte(id) { this.currentTemte = id; const tpl = this.temtes.find(t => t.id === id); this.recommendedTemte = tpl.name; }, async saveCard() { this.saving = true; const res = await uest({ url: `${BASE_URL}/api/card/decorate`, method: 'POST', header: { 'userId': this.userId }, data: { temteId: this.currentTemte, ...this.formData } }); this.saving = false; if (res.data.code === 200) { uni.showToast({ title: '保存成功', icon: 'success' }); } } }}</script>️ 核心数据库表
表名说明card名片表(用户ID/模板/字段JSON/二维码/认证状态)card_decorate装修记录(模板ID/配置JSON/更新时间)exchange_record交换记录(双方用户/名片ID/交换方式/时间)view_log浏览日志(名片ID/访问者/时长/时间)ranking榜单数据(类型/名次/名片ID/数值)user_auth认证记录(用户ID/认证类型/状态/核验时间)chain_record存证(名片ID/TX哈希/存证时间)
s TABLE card ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, temte_id INT DEFAULT 1, content JSON NOT NULL COMMENT '名片字段JSON', VARCHAR(500) COMMENT '动态二维码', is_default TINYINT DEFAULT 0, auth_status TINYINT DEFAULT 0 COMMENT '0未认证 1个人 2企业', chain_tx_hash VARCHAR(128) COMMENT '存证哈希', view_count INT DEFAULT 0, exchange_count INT DEFAULT 0, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_user (user_id), INDEX idx_auth (auth_status));CREATE TABLE exchange_record ( id BIGINT PRIMARY KEY AUTO_INCREMENT, from_user_id BIGINT NOT NULL, to_user_id BIGINT NOT NULL, card_id BIGINT NOT NULL, type VARCHAR(20) COMMENT '/NFC/LINK/WECHAT', exchange_time DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX idx_from (from_user_id), INDEX idx_to (to_user_id)); 管理后台功能
模块功能 数据看板DAU/名片量/交换量/浏览量/榜单排名 ECharts 名片管理名片CRUD/装修审核/模板管理/字段配置 用户管理用户列表/认证审核/信用分/封禁 榜单管理浏览榜/交换榜/分享榜配置与管理 认证中心个人实名审核/企业认证审核 行为分析浏览时长/转化率/客户画像/高峰时段 溯源验证存证查询/名片真伪验证 财务管理会员收入/微信对账/支付宝对账/提现审核
️ 部署架构┌──────────────────────────────────────────────────┐│ Nginx │├──────────┬──────────┬───────────┬──────────────────┤│ UniApp │ UniApp │ UniApp │ UniApp ││ 小程序 │ 公众号H5 │ H5 │ │├──────────┴──────────┴───────────┴──────────────────┤│ Spring Boot 集群(微服务) ││ ┌─────────┐ ┌─────────┐ ┌───────────────────────┐ ││ │名片服务 │ │交换服务 │ │ 分析/认证/榜单服务 │ ││ └─────────┘ └─────────┘ └───────────────────────┘ ││ ┌─────────┐ ┌─────────┐ ┌───────────────────────┐ ││ │用户服务 │ │支付服务 │ │ 存证服务 │ ││ └─────────┘ └─────────┘ └───────────────────────┘ │├───────────────────────────────────────────────────┤│ MySQL(主从) │ Redis Cluster │ │ ES ││ 节点 │ 布隆过滤器 │ Flink流计算 │├───────────────────────────────────────────────────┤│ Prometheus + Grafana │ Docker + K8s │└───────────────────────────────────────────────────┘ 售价与套餐(2026年5月新)
套餐价格包含内容套餐1¥8,889源码 + 技术文档 + 部署文档(不含搭建/维护)套餐2¥10,889源码 + 文档 + 首次搭建 + 1年维护更新 + 技术支持
后续年度技术服务费:¥2,000/年(含免费系统升级)
⚠️ 源码具有可复制性,不支持恶意退款
购买申明:禁止转卖/禁止开源社区传播/研究商业学习使用
官方联系方式(已核实 ✅)
渠道信息 ✅电话 ✅(西安省钱兄网络科技有限公司)邮@163.comCEO马晓东(96年创业者,西安科技大学毕业)公司西安省钱兄网络科技有限公司地址陕西省西安市高新区高新四路13号朗臣大厦A座11808演示站联系 QQ 710070994 获取管理后台 + 用户端演示地址购买链接互站网 https://www.huzhan.com/ 搜索"省钱兄JAVA名片系统易卡随行"
系统亮点总结
特性说明✅ 三端覆盖小程序 + 公众号 + H5,UniApp一套源码✅ AI智能排版自动分析内容推荐模板,排版效率提升50%✅ 多种交换方式扫码/NFC/链接/微信分享,成功率95%+✅ 行为分析看板浏览时长/转化率/客户画像/高峰时段,Flink实时计算✅ 客户画像系统自动生成接触对象的业务偏好图谱✅ 防伪溯源体系存证,确保名片信息不可篡改✅ 名片榜单浏览榜/交换榜/分享榜,提升曝光度10倍✅ 认证中心个人实名+企业认证,信任度+80%✅ 动态二维码含时间戳+盐值,5分钟有效,防截图复用✅ 高并发削峰 + Redis缓存,万级QPS✅ 数据看板ECharts实时展示DAU/名片量/交换量/榜单✅ 安全合规JWT + AES-256 + RSA-2048 + 等级保护2.0
商业价值数据
指标提升幅度✅ 社交效率提升 300%(名片交换从30秒→2秒)✅ 客户转化率提高 65%(成交周期缩短45%)✅ 品牌曝光量增长 10倍(日均展示超传统名片50倍)✅ 管理成本降低 70%(节省印刷/物流成本)✅ 展会交换量提升 10倍(单日交换量)
获取源码:搜索 互站网(huzhan.com)"省钱兄JAVA名片系统易卡随行" 或直接联系官方 QQ 710070994 获取演示站体验后下单。该系统与省钱兄的"同城服务系统(¥8,889)"同属一个产品矩阵,核心差异在于:专注商务社交名片赛道,支持AI智能排版 + 多种交换方式(扫码/NFC/链接)+ 行为分析看板 + 客户画像 + 名片榜单 + 防伪溯源 + 认证中心,更适合商务人士/销售团队/企业名片管理/展会名片交换/客户关系管理等需要数字化名片的场景。据行业数据显示,2026年全球电子名片市场规模将突破200亿美元,年复合增长率超过25%,搭载AI智能排版的智能名片平台可将用户交互效率提升50%,信息更新成本降低90%,该系统正是为这一庞大市场量身打造。
省钱兄科技,名片系统,易卡随行