ARTICLE · 1135226
【项目源码】自建AI证件照小程序,可流量主
【项目源码】自建AI证件照小程序,可流量主关注微信公众号:【源码部落】,获取开源项目分享。 
证件照伴侣 - 项目介绍
一、项目介绍
证件照伴侣是一套基于 AI 抠图技术实现的微信小程序证件照生成系统,由 Java 后端 + 两套微信小程序前端 + 管理员网页后台组成。
项目对接开源项目 HivisionIDPhotos(2024.09.25 版本),通过内置 MTCNN + hivision_modnet 模型在本地完成人像抠图、背景替换、尺寸裁切等处理,用户无需调用付费 API,零成本无限次生成证件照。
核心亮点
本地 0 成本处理,无需单独购买 API 不保存用户原图,仅保留生成后的最新一张 自带 759+ 种证件照尺寸规格 支持自定义尺寸、自定义背景色 支持普通下载和高清下载双模式 支持水印、流量主、自由开关鉴黄 自带管理员网页后台进行统计与管理

二、项目结构目录
项目根目录下分为三大模块:
JP17-证件照微信小程序/├── Java后端/ # Spring Boot 后端服务│ ├── pom.xml # Maven 依赖配置│ ├── 1.sql # 数据库初始化脚本(含 759+ 尺寸数据)│ ├── README.md # 后端说明文档│ ├── assets/ # 截图资源│ └── src/main/│ ├── java/org/zjzWx/│ │ ├── App.java # 启动入口(@SpringBootApplication)│ │ ├── config/ # 配置类(CORS、MyBatis-Plus、Sa-Token)│ │ ├── controller/ # 控制层(Admin/Api/Item/User)│ │ ├── dao/ # 数据访问层(Mapper)│ │ ├── entity/ # 实体类(Admin/Custom/Item/Photo/User/WebSet)│ │ ├── model/ # DTO 与 VO 对象│ │ ├── service/ # 业务接口及实现│ │ ├── task/ # 定时任务(PhotoTask)│ │ ├── util/ # 工具类(HttpClient/PicUtil/R)│ │ └── file/ # 图片上传处理│ └── resources/│ └── application.yml # 核心配置文件│├── 小程序前端_第一套/ # 基于 Vant Weapp 的传统版前端│ ├── ymhZjz/ # 小程序源码目录│ │ ├── app.js / app.json│ │ ├── pages/ # 11 个页面│ │ │ ├── home/ # 首页│ │ │ ├── mine/ # 个人中心│ │ │ ├── camera/ # 拍照页│ │ │ ├── preEdit/ # 预处理│ │ │ ├── edit/ # 编辑(含 complete 完成)│ │ │ ├── sizeList/ # 尺寸列表│ │ │ ├── searchs/ # 搜索│ │ │ ├── custom/ # 自定义尺寸│ │ │ ├── works/ # 我的作品│ │ │ ├── login/ # 登录│ │ │ └── admin/ # 管理员入口│ │ ├── images/│ │ └── miniprogram_npm/ # npm 构建产物│ └── project.config.json│├── 小程序前端_第二套/ # 基于 Skyline + SCSS 的轻量版前端│ ├── miniprogram/│ │ ├── app.js / app.json / app.scss│ │ ├── pages/ # 10 个页面│ │ │ ├── index/ # 首页│ │ │ ├── user/ # 我的│ │ │ ├── photo/ # 相册│ │ │ ├── camera/ # 拍照│ │ │ ├── preedit/ # 预处理│ │ │ ├── edit/ # 编辑│ │ │ ├── search/ # 搜索│ │ │ ├── custom/ # 自定义│ │ │ ├── customlist/ # 自定义列表│ │ │ └── login/ # 登录│ │ └── assets/│ └── project.config.json│└── 搭建教程.docx # 图文搭建教程两套前端差异:第一套功能更全(含高级参数、自定义颜色、管理员入口),第二套"小而巧、雅而美",使用 Skyline 渲染引擎和 SCSS 预处理,但暂无高级参数与自定义颜色功能。
三、项目主要技术框架
后端技术栈(Java后端)
前端技术栈(小程序前端)
第一套:原生微信小程序 + Vant Weapp 组件库(按钮/图片/Tab/搜索/对话框等) 第二套:原生微信小程序 + Skyline 渲染引擎 + SCSS 预处理器 + glass-easel 组件框架 共同:自定义导航栏( navigationStyle: custom)、TabBar 底部导航
外部依赖服务
HivisionIDPhotos(2024.09.25):核心 AI 抠图模型服务(内置 MTCNN + hivision_modnet) zjzNsfw:可选的鉴黄 API 服务 MySQL 8.0/5.7 + Redis 7.2.4(任意版本均可) 宝塔/Nginx 静态站点:用于图片存储与 HTTPS 访问
四、项目主要功能
用户端功能
微信登录:基于 app_id + app_secret 实现小程序登录鉴权 拍照/相册选择:支持调用相机拍摄或从相册上传原图 AI 自动抠图:调用 HivisionIDPhotos 完成人像分割、背景透明化 背景色替换:自由切换证件照背景颜色(蓝/白/红/渐变等) 尺寸选择:内置 759+ 规格库,覆盖一寸、二寸、签证、各类网申证件照 自定义尺寸:用户自定义像素宽高、毫米尺寸、DPI 分辨率 高清/普通下载:双清晰度输出,支持引导保存相册 个人中心:我的作品、定制尺寸列表、看广告视频下载 水印与流量主:支持水印图、接入微信流量主广告变现
管理端功能
管理员网页后台:访问 zjzAdmin项目,统计生成量、用户数等数据小程序管理员入口:第一套前端内置 admin 页面
后端服务功能
11 个 Controller/Service 模块化业务 Sa-Token 单 Token 鉴权(一人一 Token,多端互踢) 图片本地化存储(路径 + 域名可配置) 定时任务 PhotoTask处理异步图片任务鉴黄 API 自由开关(建议过审时开启,平时关闭)
排期/规划功能
14 种衣服自由换装 物品自定义抠图 黑白图片上色 黏土风写真生成 无感登录
五、项目安装和部署
环境准备
后端部署步骤
数据库初始化
创建数据库 zjzwx导入 Java后端/1.sql(自动建立 admin / custom / item / photo / photo_record / user / web_set 7 张表,并预置 759+ 尺寸数据)打开 web_set表,配置微信小程序的 app_id与 app_secret修改配置
application.ymlRedis:修改 host/ port/ password(默认 127.0.0.1:6379,password=123456,database=3)MySQL:修改 url/ username/ password(默认 127.0.0.1:3306/zjzwx)图片存储:修改 webset.directory(如 /www/wwwroot/zjzpic/pic)和 webset.picDomain(图片域名,需 HTTPS)API 地址: webset.safetyDomain(鉴黄 API)、webset.zjzDomain(证件照 API),建议填 127.0.0.1本地调用,更快更安全envVersion: release(正式版)/ trial(体验版)/ develop(开发版)图片站点搭建:在宝塔/Nginx 新建静态网站,目录指向
webset.directory,配置 SSL 证书开启 HTTPS。打包运行
IDEA 导入 Maven 项目 执行 mvn clean package,打包产物输出至 D:/jar2目录(pom.xml 中 outputDirectory配置)运行 java -jar xxx.jar,默认端口 8010小程序域名配置:在微信公众平台「服务器域名」中添加后端服务域名、图片域名等。
小程序前端部署步骤
微信开发者工具打开 小程序前端_第一套或 小程序前端_第二套修改前端源码中的后端 API 地址(详见各 README 中的截图指引,仅需改一处) 在「工具 → 构建 npm」中构建 Vant Weapp 依赖(第一套) 配置隐私协议、客服(详见各 README 截图) 真机预览调试,确认无误后上传发布
部署注意事项
鉴黄模型精度有限,建议仅在过审时开启,平时关闭 自部署证件照 API 与鉴黄 API 时不建议开放外网,yml 中填 127.0.0.1防止被抓接口滥用频繁使用的配置项未放入数据库以避免频繁握手 MySQL
这个项目源码获取方式
关注公众号,私信回复:JP17