高校创客、工业设计与机械专业的学生在做课程作业、毕设手板和社团项目时,存在大量小批量、非标的3D打印需求。但校园周边的打印服务商普遍靠微信群接单:学生把模型文件发过去,商家人工估体积、口头报价、手工记账,一来一回沟通成本高,报价不透明,模型文件与订单还容易对不上号。学生这一侧同样吃亏——无法预判打印花多少钱,也看不出自己的模型是否存在尺寸超出打印机行程、壁厚过薄这类会直接导致打印失败、白花钱的问题。
本项目面向校园及周边的3D打印服务商,把"上传模型—自动测算体积并报价—在线支付—生产跟单—收货结案"整条链路搬进微信小程序,让报价规则透明化、订单流程线上化。同时考虑到学生群体本身也在持续产出模型,项目内置了模型交易商城,支持学生将自己设计的模型上架出售、通过钱包提现变现,形成"打印服务 + 模型交易"的双边平台。
项目包含用户端、模型商城、管理后台三大模块,共17个页面、6个云函数。
1. 智能报价下单:支持一次上传最多9个 STL/OBJ/3MF 文件,前端直接解析 STL 得出模型实体体积与包围盒尺寸,按"体积×材料单价+起步价"实时出价。提供 FDM 工程塑料(0.5元/cm³,起步10元)与 SLA 高精树脂(2元/cm³,起步20元)两种材料;多文件自动识别为组装包打9折,通过学生认证再叠加8.5折。解析同时自动预警模型尺寸超限(最大边超300mm)或过小过薄(最小边不足1mm)等易打印失败的情况。
2. 三维预览:内置自研 STL 预览组件,上传后可在小程序内手指拖拽旋转查看模型实体。
3. 订单流转:微信支付、订单列表与详情、商家改价、发货、用户确认收货;云函数定时触发器自动处理"30分钟未付款取消"与"交付满7天自动结案"。
4. 模型商城:模型发布上架、浏览购买、我的发布/我的购买、卖家钱包。采用资金圈存机制,货款先冻结为圈存余额,到期由定时任务自动解冻为可提现余额,卖家可发起提现。
5. 管理后台:经营数据大盘、学生认证审核、商城订单管理、提现审批、订单 STL 源文件批量导出。
1. 纯前端解析 STL。手写 ASCII/二进制双格式解析器,用 DataView 按 50 字节/三角面读取二进制流;针对"二进制 STL 文件头也可能以 solid 开头"的坑,做了文件头 solid 与 facet normal 双重探测避免误判。体积计算采用有符号四面体体积公式(散度定理),对全部三角面累加后取绝对值,无需服务端参与即可算出实体体积并驱动报价。同时对损坏文件声明的三角面数做上界钳制,防止越界读取。
2. 手写三维预览。小程序无 DOM 且主包受 2MB 限制,无法引入 three.js,于是用 Canvas 2D 自实现了一套软件渲染:绕 Y/X 轴旋转矩阵、透视投影、按三角面重心 Z 值排序的画家算法解决遮挡、叉乘求面法向量做兰伯特光照的平面着色,配合触摸事件实现拖拽旋转。
3. setData 性能优化。万级三角面顶点直接传给渲染层会导致卡死,解析阶段按步长均匀降采样至 9000 个顶点上限,在保住模型辨识度的前提下保证预览流畅。
4. 权限设计。管理员权限网关统一写在云函数入口,在 action 分发之前查库校验 openid,客户端本地标志仅用于 UI 门控,杜绝越权绕过。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论