{"id":23776204,"url":"https://github.com/bihe0832/qrcodesign","last_synced_at":"2025-06-28T13:36:41.313Z","repository":{"id":15092013,"uuid":"17818580","full_name":"bihe0832/QrcodeSign","owner":"bihe0832","description":"基于微信公共账号的二维码签到工具","archived":false,"fork":false,"pushed_at":"2024-04-09T06:19:45.000Z","size":51,"stargazers_count":24,"open_issues_count":0,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-09T07:26:25.225Z","etag":null,"topics":["php","sign","wechat"],"latest_commit_sha":null,"homepage":"http://blog.bihe0832.com/wechar_sign_with_qrcode.html","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bihe0832.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-17T05:54:10.000Z","updated_at":"2024-04-09T06:08:49.000Z","dependencies_parsed_at":"2022-09-08T14:32:45.399Z","dependency_job_id":null,"html_url":"https://github.com/bihe0832/QrcodeSign","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bihe0832%2FQrcodeSign","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bihe0832%2FQrcodeSign/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bihe0832%2FQrcodeSign/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bihe0832%2FQrcodeSign/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bihe0832","download_url":"https://codeload.github.com/bihe0832/QrcodeSign/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232055406,"owners_count":18466161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","sign","wechat"],"created_at":"2025-01-01T07:13:48.721Z","updated_at":"2025-01-01T07:13:49.320Z","avatar_url":"https://github.com/bihe0832.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"qrcodeSign\n==========\n\n基于微信公共账号的二维码签到工具\n\n### 原理：\n     \n签到页面先去检测本地的cookie，如果本地cookie和通过授权页面设置的不一致，视为未授权设备，直接跳转到指定的页面；如果一致，拉取用户的报名信息。\n     \n### 关键点：\n     \n1. 微信内置的webview支持cookie和页面之间的JS跳转\n2. 微信扫一扫支持直接跳转到扫描结果\n\n### 风险点：\n     \n1. 生成二维码的接口都是调用第三方，不是自己控制，可能会挂掉\n2. 生成的二维码一般第三方都会有图片保存，不够安全\n\n### 缺点：\n     \n1. 使用微信扫一扫要先登陆微信，如果设备较多，需要足够的微信账号\n\n### 后续优化：\n    \n1. 目前接口直接用了openID，没有做进一步验证，可以增加一个签名，例如openID和appid字典序MD5增加在入场券的二维码中，获取签到信息的时候后台验证一下\n2. 出现签到失败可以给后台发送一条告警，及时发现和定位异常\n3. 自己写一个js二维码\n    \n### demo 使用：[点击查看]( https://blog.bihe0832.com/wechar_sign_with_qrcode.html)\n\n### 代码结构：\n\n     — conf:二维码签到demo中所有的核心配置，更改配置以后即可为你所用。\n     — css:页面css\n     — images:资源图片\n     — js:页面js\n     — intro.php:会议介绍页面，未授权设备扫码后跳转页面\n     — my_bak.php: 使用公司内部生成二维码接口生成二维码入场券页面\n     — my.php: 使用外部第三方生成二维码接口生成二维码入场券页面\n     — sign.php: 授权后设备扫描入场券以后跳转页面\n     — signPre.php: 设备授权\n     — signAfter.php: 设备取消授权\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbihe0832%2Fqrcodesign","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbihe0832%2Fqrcodesign","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbihe0832%2Fqrcodesign/lists"}