【免费开源】我去图书馆公众号 明日预约自动抢座

这篇具有很好参考价值的文章主要介绍了【免费开源】我去图书馆公众号 明日预约自动抢座。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原本在考研期间为了简化作者每天预约座位的流程编写,看了网上不少类似的项目用起来都差点意思(我希望能在手机上完成所有操作),有的甚至还要收费,于是决定自己写一个。现在将其完善后免费开源到GITHUB上,欢迎大家参照本文内容自己部署,一起学习,如果该项目帮助到你,希望你能够为项目仓库点一个star⭐。

❗❗❗ 声明

 1.本人无意侵犯任何组织或个人的权益, 并非针对"我去图书馆"系统和其公司,仅作学习交流

 2.本项目完全免费,若在使用过程中发现程序中存在的任何问题,欢迎到仓库提issue或评论私信

 3.此项目遵循 MIT 开源许可证,您可以随意修改源代码、版权并自主选择是否闭源,但衷心建议不要二次修改此项目用来收费盈利,由此造成的后果由修改者个人自己承担

直达链接:

项目GITHUB仓库地址https://github.com/A164759920/I_Goto_Library?tab=readme-ov-file项目服务器参考接口文档https://a164759920.github.io/I_Goto_Library/

Vue - 使用 腾讯云SCF部署Vue项目(支持GitHub Action)_腾讯云上上部署vue项目-CSDN博客https://blog.csdn.net/SCY164759920/article/details/127996570?spm=1001.2014.3001.5501

 1.🔉 说明:

         1.1 功能:

实现 我去图书馆公众号定时自动预约 第二天指定座位的功能,并且提供简化操作的前端页面

  (从 2023 年 3 月维护至此仓库创建时,此项目已根据公众号更新的各种机制:websocket 排队/SERVERID 校验/防刷判定/版本号判定等更新了相对应的补丁, 所有功能目前均能正常使用)

🔨补丁日志: 补丁日志链接

        1.2 使用方法:

        step1: 抓包获取 Cookie

  在开启明日预约前的一小时内(保证Cookie有效),通过抓包软件(如 httpCanary)抓取 Cookie

【免费开源】我去图书馆公众号 明日预约自动抢座,Node.js,前端,开源,vue.js,node.js,docker


        step2:设置 Cookie 

          1.通过仓库配套的前端页面设置(推荐)⭐⭐⭐

【免费开源】我去图书馆公众号 明日预约自动抢座,Node.js,前端,开源,vue.js,node.js,docker

         2.手动调用后端接口设置

  参考接口文档中的 /lib/setCookie 接口


        (step3):获取可选场馆列表(首次使用时执行一次即可)【需要 Cookie 有效】

  操作后服务器会自动抓取你所在学校图书馆可供预约的所有场馆信息,并存入服务器中

         1.通过配套前端页面设置(推荐)⭐⭐⭐

【免费开源】我去图书馆公众号 明日预约自动抢座,Node.js,前端,开源,vue.js,node.js,docker

         2.手动调用后端接口设置

参考接口文档中的 /lib/getLibList2接口


- (step4):选择场馆 + 设置座位号【需要 Cookie 有效】

  设置过一次后,服务器将记住你此时的选择,下次再进入页面时,若不换座位,则此步骤无需再执行

           1.通过配套前端页面设置(推荐)⭐⭐⭐:

    设置时输入座位上的座位编号,再点击 "修改座位" 即可,若选择场馆存在该座位号,则服务器将自动匹配座位的key并设置,节省大家手动匹配的繁琐过程

【免费开源】我去图书馆公众号 明日预约自动抢座,Node.js,前端,开源,vue.js,node.js,docker

          2.手动调用后端接口设置

    参考接口文档中的/lib/changeSeat 接口

        1.3 运行时演示:

【免费开源】我去图书馆公众号 明日预约自动抢座,Node.js,前端,开源,vue.js,node.js,docker

1.4 所用技术:

查看 GITHUB 上相关项目 ISSUE 区后发现,此类项目大多存在许多使用者部署项目困难的问题,因此本项目提供了多种部署方式,最终可实现在手机上完成所有操作,且编写了较为详细的部署步骤,希望能帮助到大家

        1.4.1 关于 Cookie

由于新版我去图书馆采用的 Cookie 有时限,仍需要借助 抓包工具 抓取 token,其余部分均已实现了自动化

⭐⭐⭐推荐手机端使用httpCanary,较为方便

        1.4.2 关于技术栈

        该项目基于 node.js + Vue2.js 并提供以下功能方便操作:

  • 自动生成的服务器接口文档
  • 配套前端页面(已适配手机/电脑),简化操作
  • docker-compose 一键 调试 + 部署
  • nginx 的 conf 文件配置示例

2.环境配置 🔨

  • node 建议 v14.0.0+ 及以上版本
  • NPM
  • 手机抓包工具(httpCanary等...)
  • docker(根据部署方法选装,可忽略)
  • docker-compose (根据部署方法选装,可忽略)

3 项目部署

已尽量提供了多种部署的方案,大家根据自己的需求选择即可

        3.1 node 服务器部署

        tips:会调试和部署node服务器的读者可自行操作

        ⭕ (该方式部署的 vue 为 dev 版)

API文档链接https://a164759920.github.io/I_Goto_Library/

         3.1.1 手动部署                

          1.依赖安装
cd ./nodeServer
npm install
         2.启动服务器 (提供**三种**可选方式)
  • 直接启动
    node index.js
  • 使用nodemon热更新启动
npm install nodemon -g

npm run dev
  •   ⚡ 使用 pm2 部署守护启动(上云服务器时,推荐该种方法)       
npm install pm2 -g

npm run build

        3.1.2 docker 部署(Linux 为例)

        ⭕ 确保已安装docker + docker-compose

         1.配置 docker 网络

  如果只需部署node 服务器,请将docker-compose.yml文件中的vue部分注释

docker network create --driver bridge --subnet 172.22.9.0/24 --gateway 172.22.9.1 mynet
        2.一键部署
docker-compose up -d

        3.2 vue 前端页面部署

        tips:会调试和部署Vue项目的读者可自行操作

         3.2.1 手动 dev 版前端部署

         1.依赖安装
cd ./vue
npm install vue2 @vue/cli -g
npm install
         2.启动 vue 开发服务器
npm run serve
         3.浏览器访问
http://IPV4地址:端口号(VUE_PORT)
eg:
http://127.0.0.1:8080

        3.2.2 docker dev 版前端部署

        ⭕ 确保已安装docker + docker-compose

         1.配置 docker 网络

如果只需部署vue dev 版前端,请将docker-compose.yml文件中的node部分注释

docker network create --driver bridge --subnet 172.22.9.0/24 --gateway 172.22.9.1 mynet
         2.一键部署
docker-compose up -d

        3.2.3 手动 上云 prod 版前端部署

         1.修改配置文件

  修改vue/package.json 的如下代码,使用自己服务器的用户名 + IP 地址替换原 scp 命令的参数

  eg: dragon@192.168.1.22 (表示 用户名 dragon IP 地址:192.168.1.22)

 "push": "npm run build && scp -r dist/* dragon@192.168.1.22:/home/dragon/dist"
         2.安装 + 配置 nginx ⭐

        参考

         3.打包部署
cd ./vue

npm run push

        3.3 参数说明

        3.3.1 node 服务器配置参数

        详见:

Node服务器参数说明https://github.com/A164759920/I_Goto_Library/blob/main/nodeServer

         3.3.2 vue 配置参数

/vue/src/components/HelloWorld.vue 的 data 中的 DOMAIN 配置为自己服务器的域名

  data: function () {

      return {

          DOMAIN: "https://test.api.baidu.top", // 配置服务器域名

          newCookie: "",

          ....

  },

        3.3.3 docker 配置参数

.env文件中即为 docker-compose所需参数:

NODE_PORT = "8899" # 服务器的端口号
VUE_PORT = "8080" # dev 开发环境下 vue 的端口号

#❗开启 HTTPS 后**,SSL 证书的配置参考nodeServer和nginx文件夹下的说明
IS_HTTPS = "off" # "on" 开启 HTTPS / "off" 关闭 HTTPS

4.补充说明

4.1 关于是否能抢到预约座位?

作者在部署和维护运行项目的七八个月内,基本都能准时抢到座位,但是遇到特别热门的座位,实际测试情况下手动抢可能更快(当然你也可以手动调快程序的速度再试一试),本项目更多只作为辅助.

4.2 关于部署的问题?

如果自己并没有已备案的域名或云服务器来部署配套前端页面和 Node 服务器,可以试一试使用腾讯云serverless(可参考我的另一篇博客),通过配置 yml 文件一键部署,可省去域名备案和繁琐的配置,直接部署可公网访问的网站,有需求的可与我取得联系

Vue - 使用 腾讯云SCF部署Vue项目(支持GitHub Action)_腾讯云上上部署vue项目-CSDN博客

4.3 GITHUB仓库访问不了?

可使用watt Toolkit中的GitHub加速功能,实测有效

若在部署过程中遇到其他任何问题,欢迎与我取得联系,😊😊

该项目后续可能还有几个小功能完善,可关注项目仓库文章来源地址https://www.toymoban.com/news/detail-833655.html

到了这里,关于【免费开源】我去图书馆公众号 明日预约自动抢座的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图书馆自习室|基于SSM的图书馆自习室座位预约小程序设计与实现(源码+数据库+文档)

    图书馆自习室 目录 基于SSM的图书馆自习室座位预约小程序设计与实现 一、前言 二、系统设计 三、系统功能设计  1、小程序端: 2、后台 四、数据库设计  五、核心代码  六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍 :✌️大厂码农|毕设布道师,

    2024年04月12日
    浏览(73)
  • 微信图书馆座位预约小程序系统设计与实现,

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月05日
    浏览(50)
  • 微信小程序的图书馆预约系统设计与实现

    摘 要 近年来随着社会竞争压力的不断加剧,人们需要不断充实自己的学识来提升自己的竞争力,对于在校的大学生而言需要利用在校期间实现考研考编的内容,职场的上班族需要通过考取职业技能资格证书来实现升职加薪,各行各业的人们都在利用有限的时间去提升和充实

    2024年02月11日
    浏览(49)
  • 42基于java的图书馆自习室座位预约系统

    本章节给大家带来一个基于java的座位预约系统,可以用于图书馆占位系统,图书馆座位预约系统,大学自习室占座系统,自习室座位预约系统,图书馆预约占座系统,自习室预约占座系统,座位预约系统等等; 下面以图书馆为例,大家把源码下载下来后,还可以修改图书馆

    2024年02月07日
    浏览(66)
  • 54基于java的高校图书馆座位预约系统设计与实现

    本章节给大家带来一个基于java的座位预约系统,可以用于图书馆占位系统,图书馆座位预约系统,大学自习室占座系统,自习室座位预约系统,图书馆预约占座系统,自习室预约占座系统,高校图书馆座位预约系统等等; 下面以图书馆为例,大家把源码下载下来后,还可以

    2024年02月09日
    浏览(56)
  • django图书馆自习室座位预约小程序(源码+mysql+论文)

    本系统(程序 + 源码)带文档 lw 万字以上   文末可获取本课题的源码和程序 选题背景: 随着教育水平的不断提高,图书馆已经成为学生和研究人员获取知识、进行自我提升的重要场所。在图书馆中,自习室作为学习和研究的主要空间,其座位资源对于使用者来说具有极高的

    2024年03月15日
    浏览(100)
  • [N-116]基于微信小程序图书馆座位预约管理系统

    开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、uniapp 服务端技术:springboot+mybatis 本系统分微信小程序和管理后台两部分,项目采用前后端分离 项目功能描述:  1.微信小程序:登录、注册、主页、公告、轮播图、图书馆预

    2024年02月03日
    浏览(51)
  • 基于微信小程序的图书馆座位预约系统的设计与实现

    1. 系统开发背景 图书馆因有良好的学习氛围、大量的学习资源吸引大家前来学习,图书馆还未开馆就有大量的同学在门口排队等待,有限的座位与日益增加的自主学习者之间形成了供不应求的现象,再加上不了解图书馆的座位使用情况和恶意占座等现象,使得有限的学习座位

    2023年04月19日
    浏览(59)
  • 基于微信小程序的图书馆自习室座位预约小程序

    随着电子商务快速发展世界各地区,各个高校对图书馆也起来越重视.图书馆代表着一间学校或者地区的文化标志,因为图书馆丰富的图书资源能够带给我们重要的信息资源,图书馆管理系统是学校管理机制重要的一环,,面对这一世界性的新动向和新问题,图书馆如何适应新的时

    2024年03月14日
    浏览(52)
  • 基于JAVA微信小程序教室图书馆座位预约系统设计与实现

    开发概要 小程序开发:微信开发者工具(MINA框架) 后台环境:JDK1.8 + Tomcat8 后台开发语言:Java 后台开发框架:springboot 后台模板引擎:Thymeleaf 后台开发工具:Idea2020 数据库:mysql8 数据库管理工具:navicat 其他开发语言:html + css +javascript

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包