{"id":16654252,"url":"https://github.com/letmefly666/hospitalappointment","last_synced_at":"2025-09-06T06:32:23.488Z","repository":{"id":178275602,"uuid":"661625288","full_name":"LetMeFly666/HospitalAppointment","owner":"LetMeFly666","description":"微信小程序-医院预约","archived":false,"fork":false,"pushed_at":"2024-07-31T09:02:52.000Z","size":24636,"stargazers_count":9,"open_issues_count":3,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T22:41:32.039Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LetMeFly666.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-03T09:36:48.000Z","updated_at":"2024-08-31T08:02:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"e8b6752e-174c-417a-969b-d13909562d0e","html_url":"https://github.com/LetMeFly666/HospitalAppointment","commit_stats":null,"previous_names":["letmefly666/hospitalappointment"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/LetMeFly666/HospitalAppointment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetMeFly666%2FHospitalAppointment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetMeFly666%2FHospitalAppointment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetMeFly666%2FHospitalAppointment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetMeFly666%2FHospitalAppointment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LetMeFly666","download_url":"https://codeload.github.com/LetMeFly666/HospitalAppointment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetMeFly666%2FHospitalAppointment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273867370,"owners_count":25182423,"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","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-12T09:49:13.058Z","updated_at":"2025-09-06T06:32:22.171Z","avatar_url":"https://github.com/LetMeFly666.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\r\n * @Author: LetMeFly\r\n * @Date: 2023-08-15 22:32:21\r\n * @LastEditors: LetMeFly\r\n * @LastEditTime: 2024-07-26 15:55:48\r\n--\u003e\r\n# HospitalAppointment\r\n\r\n微信小程序 - 医院预约\r\n\r\n项目地址：[Github@LetMeFly666/HospitalAppointment](https://github.com/LetMeFly666/HospitalAppointment)\r\n\r\n## 项目结构\r\n\r\n+ ```Docs```是文档目录\r\n+ ```Front```是前端目录，微信小程序在此\r\n+ ```Back```是后端目录，服务端在此\r\n\r\n## 使用方法\r\n\r\n1. 在绑定了域名并开启了https的服务端上安装好python、mysql\r\n2. python中安装django等其他可能会用到的第三方库（django、wechatpayv3）\r\n3. mysql中新建一个空的数据库```HospitalAppointment```，并创建一个拥有读写此数据库权限的用户\r\n4. 使用```nginx```等配置好端口转发，保证对域名的访问能够直接转发到django后端\r\n5. 在[微信公众平台](https://mp.weixin.qq.com)注册并配置小程序：\r\n   1. 准备好营业执照（只有企业才具有调用微信支付的权限）、对公银行卡等材料\r\n   2. 申请小程序并完成小额汇款验证\r\n   3. 申请微信支付接口并等待通过\r\n   4. 修改前后端的```appID```、```appSecret```以及微信支付相关密钥等\r\n   4. 上传前端```Front```目录下的小程序，提交审核等待通过\r\n6. 在```Back```目录下新建```Secrets.py```，并写入以下内容：\r\n   ```python\r\n   SECRET_KEY = 'django-insecure-428738sf45w4f5a4a4254534=-./'\r\n   DATABASE_ADDRESS = '127.0.0.1'\r\n   DATABASE_NAME = 'HospitalAppointment'\r\n   DATABASE_USER = 'user'\r\n   DATABASE_PASSWORD = '123'\r\n   APP_ID = 'wx5c50bcb971eb5819'\r\n   APP_SECRET = 'shfi3uyf292938748910uaffkjhebhxh'\r\n   ADMIN_PASSWORD = '123'  # 后台管理页面的密码\r\n   MCHID = '1123652125'  # 商户号（微信支付相关更多可参考https://github.com/minibear2021/wechatpayv3）\r\n   CERT_SERIAL_NO = 'SKFJFUEI484732ISFFEHUI3028RHUZHSUFEHISEF'  # 商户证书序列号\r\n   APIV3_KEY = '0987654321ASDFGHJKLOasdfghjklp12'  # API v3密钥 https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay3_2.shtml\r\n   NOTIFY_URL = 'https://www.letmefly.xyz/wechatpay/notify/'  # 微信支付成功后的回调地址（你的服务地址 加上```wechatpay/notify/```）\r\n   ```\r\n7. 在```Back/cert```目录下新建```apiclient_key.pem```，该文件为在微信商户平台申请的密钥\r\n8. 在```Back```目录下执行以下命令：\r\n   1. ```python manage.py makemigrations```\r\n   2. ```python manage.py migrate```\r\n   3. ```python manage.py runserver```\r\n\r\n## 接口文档\r\n\r\n+ 接口文档详见[Docs/Back.md](Docs/Back.md)\r\n+ 数据库文档见[Docs/Database.md](Docs/Database.md)\r\n+ 代码行数见[Docs/CountLines.md](Docs/CountLines.md)\r\n\r\n## TODO\r\n\r\n- [ ] 服务条款勾选同意后无法取消\r\n- [ ] GET请求时，warrant也作为data传递会在url中显示，不如在header中（django似乎会把header中的warrant改成HTTP_WARRANT）\r\n- [ ] 退款功能（[issue#20](https://github.com/LetMeFly666/HospitalAppointment/issues/20)）\r\n- [ ] 寻求一种更快的图片加载方式（当前部署在我的小服务器上带宽太小了），例如CDN等。\r\n- [ ] 导航页-我的-申请获取用户真正昵称和头像：[文档点我](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html)\r\n- [x] 导航页-我的-【就诊人管理/我的订单】页面后退时小程序直接返回到后台，没有返回到主页\r\n- [x] 下单页面的医院选项中，最后一列新增“其他医院”选项（忽然发现这玩意儿已经写过了，只是一直放在体验版中，没放到正式版中）\r\n- [x] 开启分享功能\r\n- [x] 很多页面的title都是Weixin（[issue#31](https://github.com/LetMeFly666/HospitalAppointment/issues/31)）——感谢内测用户[@Wang Bo](https://github.com/Pesuking)\r\n- [x] 用户数据库的备注功能——id和openid和warrant都太抽象了（[issue#32](https://github.com/LetMeFly666/HospitalAppointment/issues/32)）\r\n- [x] 管理员——功能选择界面（[issue#9](https://github.com/LetMeFly666/HospitalAppointment/issues/9)）\r\n- [x] 管理员——支付情况界面（[issue#16](https://github.com/LetMeFly666/HospitalAppointment/issues/16)）\r\n- [x] 管理员——订单状态界面（[issue#7](https://github.com/LetMeFly666/HospitalAppointment/issues/7)）\r\n- [x] 订单创建的实现（[点我](#todo-2)）\r\n- [x] 后端获取订单状态接口（[pr#17](https://github.com/LetMeFly666/HospitalAppointment/pull/17)）\r\n- [x] 管理员——陪诊员操作页面\r\n- [x] 彩蛋：狂点“我的 -\u003e 更新信息”时弹出提示\r\n- [x] 对登录是否失效的检测（有头像≠登录中）：服务器上warrant有效期无限\r\n- [x] 登录功能的后端实现\r\n- [x] 搭建(django的)图片服务\r\n- [x] 首页banner地址替换\r\n- [x] 首页5图标替换\r\n- [x] 首页14医院信息替换\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletmefly666%2Fhospitalappointment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fletmefly666%2Fhospitalappointment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletmefly666%2Fhospitalappointment/lists"}