- 本项目技术栈:golang, vue
1.1 golang使用了gin框架作为本地站点服务器,otto插件运行js, req来模拟https请求接收真实数据 (go的各种好处,本人不会py);
1.2 app文件夹内前端采用Vue3+vite+antd (个人练习选用); - 重点文件:
2.1 utils/js/wxutil.js : 此文件为核心文件,解包小程序获取源码魔改而成,wx对象为手动模拟,部分js高阶语法otto并不支持已降级修改,部分引用已整合,此文件非原始源码;
2.2 utils/BusinessHelper.go : 外部模拟请求的所有必须接口;
2.3 utils/EncryDecryHelper.go : 加解密,otto配合wxutils.js使用; - 弃用文件(弃用文件均为第一版使用的,可自行删除,也可自行魔改):
3.1 conf文件夹及其下配置文件;
3.2 utils/INIHelper.go;
3.3 GetUserData.go;
- 启用抓包工具,可以抓小程序的微信授权登录,调用接口
https://bdkq.leanpay.cn/weixin-miniapp-bdkq@default/wechat/login.json
的登录参数
最重要的三个参数:Request请求的header:x-sign,接口返回加密串需要的解密key(动态的,每次请求都是随机加密的)
Response返回的header:x-version,接口请求url的拼接版本(动态的,一小段时间后就会改变)
Response返回的Body:{ encrypt": "XXXXXX" },这里的XXXXXX(这个就是加密串,用上边的x-sign来解密) - 启用“北京大学口腔医院医疗服务助手”(推荐直接在电脑端打开,使用抓包工具来抓登录的参数)
- 本地或者打包运行当前项目:
3.1 初始化项目配置,go项目的初始化和内部app文件夹内的初始化
3.2 app文件夹内项目打包(或者打包后运行),然后运行go项目
3.3 项目代码已限制挂号频次至少为1000ms,可自行修改,封号本人概不负责
- 配置可视化,可选择就诊人和科室 ✅
- 接入本地抓包,不使用抓包工具,但本地需在pc端微信中登录授权
- 看看其他医院的情况