Skip to content

yodragon666/myblog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

轻博客(LightBlog)- Django + DRF + 微信小程序 + AI 内容平台

一个基于 Django + DRF + 微信小程序 的现代化轻博客平台,集成:

  • 微信小程序登录
  • JWT 鉴权体系
  • 游客账号系统
  • 微信绑定 / 账号合并
  • AI 内容审核
  • Web 前端
  • Redis 缓存
  • Docker 全容器化部署
  • Nginx + uWSGI 生产环境

项目目标不仅是博客系统,而是逐步演进为:

AI 驱动的轻内容社区平台

项目架构

                 ┌────────────────────┐
                 │   微信小程序端      │
                 └─────────┬──────────┘
                           │
                 ┌─────────▼──────────┐
                 │    Web 前端(Vue)    │
                 └─────────┬──────────┘
                           │
                 ┌─────────▼──────────┐
                 │ Django + DRF API    │
                 └─────────┬──────────┘
                           │
        ┌──────────────────┼──────────────────┐
        │                  │                  │
┌───────▼────────┐ ┌───────▼────────┐ ┌──────▼──────┐
│     MySQL      │ │     Redis      │ │ AI审核服务   │
└────────────────┘ └────────────────┘ └─────────────┘
                           │
                 ┌─────────▼──────────┐
                 │ Docker Compose      │
                 └─────────┬──────────┘
                           │
                 ┌─────────▼──────────┐
                 │ Nginx + uWSGI       │
                 └────────────────────┘

技术栈总览

后端技术栈

技术 用途
Python 3 核心开发语言
Django Web 框架
Django REST Framework REST API
SimpleJWT JWT 登录鉴权
MySQL 主数据库
Redis 缓存 / 状态存储
Pillow 图片处理
uWSGI Python 服务部署
Nginx 反向代理
Docker 容器化
Docker Compose 多容器编排

前端技术栈

微信小程序

技术 用途
微信小程序原生开发 小程序前端
WXML 页面结构
WXSS 页面样式
JavaScript 页面逻辑
wx.request API 请求
wx.login 微信登录

Web 前端

技术 用途
Vue Web 前端
Axios HTTP 请求
Vue Router 路由
Pinia / Vue 状态管理 全局状态
Vite 前端构建

AI 技术能力

项目已经完成 AI 审核系统:

功能 描述
AI 内容审核 自动检测违规内容
AI 文本过滤 敏感内容识别
AI 审核状态流转 自动审核通过/驳回

AI 架构设计

支持:

  • DeepSeek API
  • OpenAI Compatible API
  • 自部署 LLM
  • 后续接入 Ollama

核心功能

用户系统

微信登录体系

通过:

wx.login()

获取:

code → Django → 微信服务器 → openid

实现微信用户自动登录。


游客账号体系(项目核心亮点)

首次微信登录:

  • 自动创建游客账号
  • 自动绑定 openid
  • 不强制手机号注册

用户后续可:

  • 补全手机号
  • 补全邮箱
  • 设置密码
  • 转正式账号

微信账号合并体系

支持:

  • 微信绑定已有账号
  • 游客账号合并正式账号
  • OpenID 转移
  • JWT 重签发

核心逻辑:

guest_user.delete()
user.openid = openid

并重新生成:

access token
refresh token

实现真正意义上的:

微信身份迁移

JWT 鉴权体系

完整实现:

  • Access Token
  • Refresh Token
  • 自动续签
  • 自动重试请求
  • 并发刷新队列

Token 自动刷新机制

前端统一封装:

request(options)

自动:

  • 检测 401
  • 调用 refresh
  • 更新 access
  • 重试失败请求

并通过:

requestsQueue

解决并发刷新问题。


Redis 缓存体系

项目已接入 Redis:

支持:

  • 用户状态缓存
  • Token 辅助管理
  • 接口缓存
  • 高并发优化

后续可扩展:

  • 热门文章缓存
  • 点赞缓存
  • 评论缓存
  • 排行榜

用户中心

支持:

  • 用户头像
  • 个性签名
  • 邮箱展示
  • 手机号展示
  • 账号安全
  • 修改密码
  • 修改邮箱
  • 修改手机号
  • 微信解绑
  • 注销账号

博客系统

已实现

文章功能

  • 发布文章
  • 编辑文章
  • 删除文章
  • 图片上传
  • 分类系统
  • 标签系统

状态流转

文章状态:

draft
pending
published
rejected

支持:

  • 草稿
  • 审核中
  • 已发布
  • 驳回

AI 审核体系

用户发布文章:

提交 → AI审核 → 自动状态变更

实现内容安全控制。


工程化部署

Docker 全容器化

项目完全基于 Docker 部署。


Docker Compose 架构

包含:

  • Django
  • MySQL
  • Redis
  • Nginx
  • uWSGI

生产环境架构

Nginx
   ↓
uWSGI
   ↓
Django
   ↓
MySQL / Redis

HTTPS 支持

支持:

  • HTTPS
  • 静态资源代理
  • Media 文件代理
  • API 反向代理

API 设计

统一返回格式:

{
  "code": 200,
  "msg": "success",
  "data": {}
}

前端缓存体系

本地缓存:

access
refresh
user_id
is_guest
is_completed
userInfo

全局用户状态管理

通过:

getApp().globalData

统一维护:

  • 登录状态
  • 用户信息
  • Token 状态

项目亮点

1. 完整微信用户体系

不仅仅是微信登录,而是:

微信游客 → 正式账号 → 账号合并

完整生命周期。


2. 真正的 JWT 工程化

实现:

  • 自动刷新
  • 请求队列
  • 并发控制
  • Token 续签

不是简单 Demo 级登录。


3. AI 审核系统

已真正落地:

AI 自动审核内容

属于 AI 内容平台核心能力。


4. Redis 缓存体系

具备:

  • 高并发扩展能力
  • 热数据缓存能力
  • 用户状态缓存能力

5. Docker 完整部署

整个项目:

开发环境 → 生产环境

全部容器化。


项目目录结构(示例)

lightblog/
├── api_user/
├── api_blog/
├── utils/
├── nginx/
├── media/
├── static/
├── web/
├── miniapp/
├── docker-compose.yml
├── requirements.txt
└── manage.py

安装教程

1. 克隆项目

git clone your_repo_url

2. Docker 启动

docker-compose up -d --build

3. 数据库迁移

docker-compose exec web python manage.py migrate

4. 创建管理员

docker-compose exec web python manage.py createsuperuser

小程序配置

修改:

utils/request.js

中的:

const BASE_URL = '你的后端地址/api'

Web 前端运行

npm install
npm run dev

开发计划

  • 微信登录
  • JWT 鉴权
  • 游客体系
  • 账号合并
  • Redis 缓存
  • AI 审核
  • Web 前端
  • Docker 部署
  • 评论系统
  • 消息通知
  • AI 摘要
  • AI 标签推荐
  • Elasticsearch 搜索
  • 推荐算法

项目定位

该项目并不是简单博客系统,而是:

面向 AI 内容社区方向演进的轻内容平台。

作者

个人全栈开发项目。

涵盖:

  • 后端架构
  • 微信生态
  • JWT 鉴权
  • AI 接入
  • Docker 部署
  • Redis 缓存
  • Web + 小程序双端开发

License

MIT License

About

基于 Django + 微信小程序的全栈轻博客系统|JWT 无状态认证|微信登录 & 游客账号|Token 自动续签|Docker 容器化部署| AI Agent 扩展

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages