项目介绍
本系统基于微信小程序与FastAPI,打造轻量级、高性能的在线求职招聘平台。前端借微信生态无需下载即开即用;后端用FastAPI提供异步高并发REST接口,实现职位搜索、智能匹配、在线沟通及面试安排。平台分求职者、企业、管理三端,支持一键投递、实时消息、数据可视化。项目实践深化学生对小程序与现代化Python框架的理解,提升全栈开发与解决真实业务问题的能力。
开发平台
FastAPI 框架介绍
FastAPI 是现代高性能 Python Web 框架,基于 Starlette 与 Pydantic,原生支持异步,可轻松处理高并发。它通过类型标注自动完成请求验证、序列化并生成 Swagger 文档,开发效率高。内置依赖注入、安全模块与 OAuth2,配合异步 ORM 可快速构建可扩展的 REST 服务,兼顾小项目原型与大规模微服务需求。
微信小程序
微信小程序是腾讯推出的轻量级移动应用形态,内置于微信,无需下载安装,即用即走,体积小、启动快。它拥有完整的组件与 API,小程序易于传播和获客,同时提供云开发能力,简化后端部署,是企业快速触达移动用户的理想选择。
系统功能
求职者
求职者进入小程序,微信授权即完成注册登录;上传PDF或拍照简历,OCR自动解析生成在线档案,随时二次编辑。首页搜索框支持关键词、薪资、地图半径等多维筛选职位,结果可一键投递、收藏或即时聊天;系统实时推送“谁看过我”,并集中展示投递进度、面试邀请,可一键预约时间并同步日历。发现频道汇聚平台公告、行业资讯,支持收藏;企业搜索栏可找公司,查看简介、在招岗位与评价,同样可收藏。个人中心整合简历完整度、投递统计、面试日历,帮助求职者高效管理全流程。
企业
企业在小程序端一键注册并认证后即可发布职位,,可设定薪资、地点、福利标签及自动过滤条件。后台实时接收并汇总投递简历,支持在线查看、标注、转发及一键邀约视频面试;可与求职者即时沟通,面试日历支持多人排期、会议室预订与微信提醒。同时支持导出简历、协同账号权限管理,实现高效、安全、可扩展的数字化招聘闭环。
管理员
管理员登录专属后台,可对全平台用户、内容、数据进行集中管理。用户层面,支持求职者与企业账号审核、冻结、解封及实名认证信息查看,确保身份真实;可一键清理僵尸账号,维护生态健康。内容层面,所有发布的职位、公告、头像、图文均需先审后发。系统层面,支持全局参数配置、首页轮播、消息模板、分类字典与版本发布;具备操作日志追踪与分级权限,保障平台安全、合规、稳定运行。
项目演示视频
[求职招聘小程序(求职招聘系统)_哔哩哔哩_bilibili]
功能模块截图
用户端
企业端
管理员端
详细了解方式:扣扣 - 193445146 或者私信
核心代码模块
@login_router.post("")
async def system_login(login_form: SystemLoginForm):
try:
if login_form.user_type=="admin":
admin=await Admin.filter(phone=login_form.username).first()
if not admin:
raise HTTPException(status_code=status.HTTP_406_NOT_ACCEPTABLE, detail="用户名或密码错误!")
if not admin.is_active:
raise HTTPException(status_code=status.HTTP_406_NOT_ACCEPTABLE, detail="用户被禁用")
if not check_password(login_form.password, admin.password):
raise HTTPException(status_code=status.HTTP_406_NOT_ACCEPTABLE, detail="用户名或密码错误!")
sub_data = {
"user_id": admin.id,
"user_type": 'admin',
"user_name": admin.username,
}
token=create_access_token(sub_data)
result_data = {
"token": token,
"refreshToken": token,
}
user_info = {
"user_id": admin.id,
"user_type": 'admin',
"username": admin.username if admin.username else ""
}
return JSONResponse({"code": 200, "msg": "登录成功!"});
```
@chat_router.get("")
async def get_chat_history(req:Request):
"""
获取聊天记录
"""
try:
from_user=req.query_params.get("from_user")
chats=await Chat.filter(from_user=from_user).all()
return {"message":"获取聊天记录成功"}
except Exception as e:
return {"message":"获取聊天记录成功"}
```