在这里你可以在摆脱客户端繁琐的签到流程,让签到不再是你的烦恼。
git clone https://github.com/kuizuo/chaoxing-sign.git
cd chaoxing-sign
pnpm install
你需要一个 PostgreSQL 数据库地址(用于存储账号信息以及自动监控签到),然后将项目根目录下 .env.example
文件更改成 .env
并替换 DATABASE_URL
为数据库地址(通常是远程地址)。运行如下命令用于同步数据库:
npx prisma db push
pnpm run dev
打包
pnpm run build
pnpm run preview
本项目已经编写好了 ecosystem.config.js
文件,具体请根据实际情况修改环境变量,你可以直接使用 PM2 来启动项目。
npm run start:pm2
此时已经启动好了本地端口为 8050
的服务,要注意,如果你使用了 Nginx 的反向代理,那么你需要将 AUTH_ORIGIN
环境变量设置为你的域名,否则将无法正常使用。并在 Nginx 中添加如下配置:
location / {
proxy_pass http://127.0.0.1:8050;
}
此外可能还需要配置 SSL 证书,因为要调用摄像头权限就必须是在安全环境下(即https下),否则你将无法使用扫一扫功能,这也是无奈之举。
本项目已经编写好了 docker 相关文件,你可以直接使用 Docker 来启动项目。
⚠️ 注意: 需要将 node_modules 复制到镜像内, 因为 prisma client 产物存在 node_modules 内.
如果你有自己的 postgresql (远程)数据库,那么你需要在 Dockerfile 中修改 DATABASE_URL
环境变量为你的数据库地址,执行下方命令即可构建镜像。
docker buildx build . -t chaoxing-sign:latest
由于采用 Nuxt.js 框架,所以非常容易部署在 Vercel 或 Netlify 等平台上,但还是不推荐部署,理由如下:
Vercel 或 Netlify 的服务器设立在国外,用户需要通过一些特殊手段能够访问,并且由于某星的服务器设立在国内,数据请求需要多一道障碍来访问,将导致响应速度过慢,网站体验效果极其不佳,已亲测,因此不推荐使用(无奈之举)。
本项目仅作为个人技术专研,仅供学习参考。不得用于商业用途。
MIT License © 2023-PRESENT Kuizuo