这是一套基于UniApp和Vue3框架的跨平台社交短视频APP,支持一套代码编译发布为H5网页、安卓原生应用、苹果原生应用以及微信/支付宝等小程序,可用于快速搭建个人博客、付费资源社区或短视频APP;其后端采用最新发布的RuleApiV2 Pro体验版,基于Java和Spring Boot开发,运行环境需Java 8、MySQL 5.6以上及Redis,推荐部署于Linux服务器配合宝塔面板。在功能层面,系统内置AI助手,支持接入ChatGPT、通义千问以及阿里百炼模型库中的所有大语言模型,实现智能问答与内容生成;文件上传方面,支持大文件分片上传并附带MD5校验,可识别重复文件并免流量秒传,大幅节省带宽;存储层面整合了多达6种渠道,包括腾讯云COS、阿里云OSS、七牛云、标准S3协议存储、本地服务器存储以及远程FTP存储,方便用户按需选择;支付体系覆盖5种渠道,即支付宝、微信支付、卡密充值、易支付和Apple Pay,满足国内外付费场景;用户登录则支持QQ、微信、Apple账号和微博四种第三方快捷登录。此外,系统集成了图片本地缓存压缩与后端动态压缩双重机制,有效降低图片传输流量并提升加载速度;经过长达5年的实际运营维护,项目已内置完善的缓存策略、多层次安全防护(如防SQL注入、XSS过滤)、内容安全审查机制以及防机器注册的验证体系,能够稳定承受高并发访问。
本项目采用前后端完全分离的架构模式进行开发。前端基于UniApp框架并结合Vue3的组合式API(Composition API),通过条件编译技术实现一套代码多端适配,最终编译发布为H5网页、安卓原生App、苹果原生App以及各类小程序;后端基于当天最新发布的RuleApiV2 Pro体验版构建,该后端采用Java语言配合Spring Boot框架开发,运行环境依赖JDK 8、MySQL 5.6及以上版本数据库以及Redis非关系型缓存数据库,部署于Linux服务器并通过宝塔面板进行运维管理。
在具体实现层面,系统严格遵循三层架构设计(Controller控制层、Service业务层、Mapper数据访问层),并整合MyBatis-Plus作为ORM框架简化数据持久化操作。针对AI大模型集成,后端通过封装统一的AI网关适配器,采用异步非阻塞IO与流式响应(Server-Sent Events)技术对接OpenAI的ChatGPT接口及阿里百炼SDK,实现智能问答的实时对话流输出。文件上传模块是项目的技术难点之一,前端利用UniApp的文件切片API将大文件切分为固定大小(如2MB)的二进制块,并生成文件唯一MD5标识并发上传至后端;后端接收到分片后暂存于临时目录,待所有分片上传完成后执行合并操作,并依据MD5值检索数据库,若存在相同文件则直接返回已有链接以实现“秒传”效果,极大节约了带宽与存储开销。
在业务拓展性实现上,存储与支付渠道采用了策略模式(Strategy Pattern)进行解耦设计。系统定义了统一的存储接口和支付接口,分别实现了腾讯云COS、阿里云OSS、七牛云Kodo、标准S3协议、本地磁盘及远程FTP共6种存储驱动,以及支付宝、微信支付、卡密兑换、易支付和Apple Pay共5种支付网关,通过配置文件动态切换具体实现类,便于后续业务拓展。用户认证层面整合了OAuth2.0协议,对接QQ、微信、Apple和微博的开放平台SDK,实现第三方快捷登录。此外,图片处理模块在后端引入Thumbnails库进行尺寸缩放与质量压缩,同时前端利用canvas实现本地缓存压缩,形成双重流量优化机制。
为保证系统的高并发稳定性与安全性,项目利用Redis缓存热点数据(如用户会话Token、频繁访问的资源链接)并配合Spring Cache注解管理缓存失效时间;安全防护方面通过自定义拦截器实现全局XSS过滤与SQL注入防御,集成极验验证码或行为校验算法防范机器注册,并利用Redis分布式锁解决高并发场景下的资源竞争问题。前端则通过封装统一的请求拦截器实现Token无感刷新,利用WebView与原生层交互桥接(如调用相机、相册等原生能力)。最终,项目通过宝塔面板配合Shell脚本完成自动化打包部署。