前端 (Frontend): 微信小程序
开发语言:TypeScript。为JavaScript提供了静态类型检查,增强了代码的可读性、健壮性和可维护性,特别适合构建有一定复杂度的应用。
核心框架:使用微信小程序原生框架,包含以下核心技术:
WXML (WeiXin Markup Language):负责构建页面的结构和布局。
WXSS (WeiXin Style Sheets):负责定义页面的样式,语法与CSS高度兼容。
小程序API:深度使用了微信提供的原生API,以实现丰富的系统功能,例如:
wx.login / open-type="getPhoneNumber":构建了符合最新微信规范的安全登录和手机号授权体系。
组件:实现了应用内的自定义相机功能。
wx.uploadFile / wx.request:处理与后端服务器的所有数据交互。
wx.downloadFile / wx.saveFile:实现了报告的下载功能。
wx.previewImage:提供了高性能、带手势缩放的原生图片预览体验。
组件:用于小程序向关联公众号引流。
onShareAppMessage / onShareTimeline:实现了微信好友和朋友圈的分享功能。
后端 (Backend): Django
开发框架:Django (Python)。一个功能强大、“大而全”的Web框架,以其高效的开发效率、完善的文档和强大的安全性著称。
核心组件:
Django Models: 定义了数据模型,通过ORM(对象关系映射)与数据库交互,无需编写原生SQL。
Django Views: 编写核心的业务逻辑,处理前端发来的API请求。
Django URLs: 设计了RESTful风格的API路由,实现了清晰的URL结构。
Django Admin: 自动生成了一个功能强大的后台管理界面,用于快速查看和管理用户提交的数据。
API 认证:Django Rest Framework (DRF) + Simple JWT。搭建了一套基于 JSON Web Token (JWT) 的现代化认证体系。用户通过手机号登录后,后端会签发一个有时效性的access_token,前端在后续所有需要认证的请求中携带此Token,保证了API的无状态和高安全性。
图像处理:Pillow (处理图片基础操作) + pdf2image (配合系统工具poppler-utils,将PDF报告动态转换为图片序列)。
服务器与运维 (Server & DevOps)
服务器:阿里云 ECS (Ubuntu 系统)。提供了一个稳定、可扩展的Linux服务器环境。
Web 服务器:Apache。作为前端反向代理服务器,负责处理所有来自公网的HTTPS请求,管理SSL证书,并将动态API请求安全地转发给后端的Django应用。
内网穿透/反向代理:frp。在开发阶段,用于将阿里云服务器的公网地址安全地映射到本地的开发服务器,极大地便利了真机调试。
数据库:SQLite (开发阶段)。Django默认的轻量级数据库,开箱即用,方便快速开发和原型验证。(未来可轻松迁移至 MySQL 或 PostgreSQL)。
安全配置:
HTTPS: 在Apache上配置了SSL证书,实现了全站HTTPS加密通信。
CSRF 防护: 通过配置 CSRF_TRUSTED_ORIGINS,在保证API可用的同时,也正确处理了Django的跨站请求伪造防护机制。
防火墙 (ufw): 配置了Ubuntu系统的防火墙,按需开放必要的服务端口。
280Python微信小程序10000.00元