news 2026/7/10 5:54:11

独立开发30天,我用AI做了个发型推荐小程序(含全部踩坑记录)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
独立开发30天,我用AI做了个发型推荐小程序(含全部踩坑记录)

每次去理发店,Tony 老师问"想剪什么样的",我都答不上来。

不是没想法,是不知道自己适合什么发型。圆脸、方脸、长脸……网上说了一万种,但对着镜子看了半天,还是分不清自己属于哪种。

于是我想:能不能做一个 AI 小程序,拍张照就能告诉你适合什么发型?

小程序实际效果截图


技术选型

需求很简单:

  1. 用户拍张照 → 识别脸型
  2. 根据脸型推荐发型 → 显示结果
  3. 最好还能试戴效果图

前端:微信小程序(生态封闭,没得选)
后端:Node.js + Express
人脸识别:百度人脸检测 API(免费 1000 次/月)
人脸融合:百度人脸融合(免费 500 次/月)
服务器:阿里云 2 核 2G 乞丐版

做独立开发的原则:能不自己造的轮子就别造,专业 API 比你写半天的代码靠谱得多。


第一个坑:脸型判断全靠"猜"

最初想用 Canvas 做面部关键点检测。写了三天,精度感人——我给猫拍了一张照片,它被归类为「鹅蛋脸」。

对,你没看错。一只猫,鹅蛋脸。

猫:我明明是圆脸

后来换了百度人脸检测 API,正经返回 72 个关键点坐标,通过长宽比判断脸型,准确率上了天。猫的照片也被正确判为「未检测到人脸」。

{"face_shape":"oval","face_shape_name":"鹅蛋脸","confidence":0.92,"gender":"male"}

教训:别自己造轮子。专业的事交给专业 API。


第二个坑:微信审核地狱

小程序做完,提交审核——被拒。

“请接入微信内容安全 API。”

微信要求接入imgSecCheck(图片检测)和msgSecCheck(文本检测)两个 API。代码不到 100 行,踩坑一整天。

最坑的地方:要录屏!录 API 调用成功返回errcode: 0的屏,当证据提交。


第三个坑:Nginx 配置的魔鬼细节

小程序后端和另一个服务跑在同一台服务器上。有次打开审核页面,显示的是另一个网站首页——nginx 配置坏了。

sed命令的a\追加模式插入多行配置时,会在行首插入一个多余的n,导致 nginx 直接报unknown directive "n"

反复修了四次才利索。

教训:直接完整文件替换,别用 sed 修 nginx。


第四个坑:iOS 相机打不开

Android 一切正常,iPhone 上拍照就黑屏。

根因:wx.authorize({ scope: 'scope.camera' })在 iOS 上不会弹权限提示。iOS 相机权限走的是系统原生弹窗。

解决方案:

  • 改用wx.getSetting检测
  • <camera>组件自己触发 iOS 权限
  • binderror兜底

另外,box-shadow: 0 0 0 9999px #000000这种用大阴影做遮罩的黑科技,iOS 上闪白崩溃。老老实实改background: rgba(0,0,0,0.45)


技术架构

用户 → 微信小程序 → HTTPS → Nginx (443) ↓ ┌── 发型助手 API (3001) │ ├── /api/detect-face → 百度人脸检测 │ ├── /api/try-on → 人脸融合 │ └── 微信内容安全检测 │ └── AI 论坛 (3000)

费用

服务费用
阿里云服务器 (2C2G)约 100 元/月
百度人脸检测免费 1000 次/月
百度人脸融合免费 500 次/月
域名几十块/年
总计一杯奶茶/天的成本

百度人脸 API 返回的脸型识别结果


总结

30 天,从灵光一闪到上线一个小程序。

踩了无数坑,被 nginx 气笑过,被微信审核搞到头秃过。但看到第一个用户成功分析出脸型、推荐出发型——值了。

如果你也在做类似的独立开发项目,欢迎评论区交流经验,遇到了什么坑说出来大家一起避。

原创不易,点个收藏支持一下~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 5:51:50

Anaconda 虚拟环境管理:5个核心命令解决90%的Python项目依赖冲突

Anaconda 虚拟环境管理&#xff1a;5个核心命令解决90%的Python项目依赖冲突在Python开发中&#xff0c;依赖管理一直是个令人头疼的问题。不同项目可能需要不同版本的库&#xff0c;甚至需要不同版本的Python解释器。当这些需求交织在一起时&#xff0c;依赖冲突就会频繁出现&…

作者头像 李华
网站建设 2026/7/10 5:50:15

STM32C542定时器输入捕获:精确频率测量配置与实践指南

&#x1f680; 30款热门AI模型一站整合&#xff0c;DeepSeek/GLM/Qwen 随心用&#xff0c;限时 5 折。 &#x1f449; 点击领海量免费额度 这次我们来深入探讨STM32C542开发中的定时器输入捕获功能&#xff0c;重点是如何配置和使用这一功能来精确测量外部信号的频率。对于嵌…

作者头像 李华
网站建设 2026/7/10 5:48:34

从零到一:基于Dify构建企业级AI应用实战指南

&#x1f680; 30款热门AI模型一站整合&#xff0c;DeepSeek/GLM/Qwen 随心用&#xff0c;限时 5 折。 &#x1f449; 点击领海量免费额度 如果你正在寻找一个能快速构建AI应用、但又不想被复杂代码和工程细节拖累的平台&#xff0c;那么Dify很可能就是你一直在等的答案。但…

作者头像 李华
网站建设 2026/7/10 5:46:07

讯鹏防静电ESD闸机守护无尘车间静电安全防线

无尘车间是半导体、精密光学、生物医药等行业的核心生产环境。这类车间对颗粒物浓度和静电水平均有严苛要求——一粒微尘或一次静电放电&#xff0c;都可能直接导致产品报废。然而&#xff0c;传统门禁系统只管“谁进来了”&#xff0c;却不管“带着什么进来”。讯鹏科技ESD防静…

作者头像 李华
网站建设 2026/7/10 5:40:31

基于AI Agent的SEO自动化优化:从关键词研究到GEO本地化实战

&#x1f680; 30款热门AI模型一站整合&#xff0c;DeepSeek/GLM/Qwen 随心用&#xff0c;限时 5 折。 &#x1f449; 点击领海量免费额度 在实际网站优化项目中&#xff0c;单纯依赖人工编写内容或简单关键词堆砌已经难以应对搜索引擎算法的快速迭代。真正有效的 SEO 策略需…

作者头像 李华
网站建设 2026/7/10 5:40:26

Pro Tools 12中文版安装避坑指南:版本选择、协议验证与系统级配置

1. 这不是普通音频软件&#xff0c;是专业录音棚的“操作系统”级工具Pro Tools 在国内音乐制作圈里有个很实在的称呼——“行业准入证”。你去北京朝阳门附近的录音棚谈合作&#xff0c;工程师第一句常是&#xff1a;“用 Pro Tools 吗&#xff1f;哪个版本&#xff1f;”不是…

作者头像 李华