微信公众号本地调试

1.先下载微信开发工具,选择微信公众号开发

2.去微信公众平台申请一个接口测试号,后端的代码里appid 使用测试号的

3.将局域网网映射成外网(花生壳之类),然后在测试号里找到网页账号这里,点击修改,将外网地址填入授权回调页面域名(去掉http:)

 2.然后我们去微信公众平台申请一个微信公众号测试号,并点击下面的网页授权获取用户基本信息,填入花生壳映射的域名ruyiruyi.free.idcfengye.com,不用填前面的http,然后用微信扫描测试二维码。id为

隧道id隧道名称隧道协议本地端口服务器类型到期日期赠送域名状态操作
18c52589e5967983

3.我们打开微信开发工具,选择公众号,在地址栏里输入:然后就可以获取到code,拿code去请求后台换取用户信息

    

https://open.weixin.qq.com/connect/oauth2/authorize?appid=测试账号的appid&redirect_uri=转码后的url&response_type=code&scope=snsapi_base&state=123#wechat_redirect



https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxb41bc3da0585513f&redirect_uri=http%3a%2f%2fruyiruyi.free.idcfengye.com&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect

4. 授权登录之后的回跳页面是由后台设置,会在回跳页面上带上code,将vue的xxx.com/#/home打乱,变成xxx.com/?code=xxxx&state=xxx#/home,导致支付时候一直提示页面未注册。目前的解决方法是将地址重新拼接一遍,但是进入页面时会刷新两遍。

 var hashIndex = href.indexOf('#/');
                        var url = href.substring(0, hashIndex); //vue自动在末尾加了 #/ 符号,截取去掉
                        var jingPosit = url.indexOf("home/") + 5; //获取域名结束的位置
                        var urlLeft = url.substring(0, jingPosit); //url左侧部分
                        var urlRight = url.substring(jingPosit, url.length); //url右侧部分
                        window.location.replace(urlLeft + "#" + this.$route.path);

(最后发现是配置问题,只要在支付里配置到com/即可。)

5.每次通过菜单页进入之后,APP的mounted都会执行一次,每次也会重新返回code.

6.调试时后台的appid需要改成测试号的appid。

### 微信公众号H5页面本地开发与调试方法 为了实现在本地环境中顺利测试微信公众号的H5页面,需利用微信公众平台提供的Web开发者工具来完成这一过程[^1]。 #### 使用微信开发者工具进行配置 - **安装并启动微信开发者工具** 安装最新版本的微信开发者工具后,在该工具内创建项目时输入公众号服务器地址以及token等必要参数。这一步骤确保了后续能够正常加载和运行H5应用逻辑。 - **设置合法域名** 进入微信公众平台后台管理界面中的“开发”-> “接口权限”,按照指引添加用于测试的URL前缀作为JS接口安全域名。注意这里的域名应指向本地环境可通过外网访问到的服务端口映射地址(例如通过ngrok实现)。此操作允许H5页面内的JavaScript API调用微信特有的功能。 - **启用HTTPS支持** 对于涉及敏感数据传输的操作,如支付等功能,则必须保证整个流程都在加密状态下执行。因此建议采用SSL证书使本地服务具备https协议的支持能力。可以考虑使用自签名证书配合Chrome浏览器的信任机制来进行初步验证。 ```bash # 启动本地HTTP服务器并将流量转发至公网可见位置(假设已安装ngrok) python3 -m http.server 8080 & ./ngrok http 8080 ``` #### 实现跨域资源共享(CORS) 由于浏览器同源策略限制,默认情况下无法直接请求不同源的数据资源。为此可以在Node.js Express框架下简单配置CORS中间件解决这个问题: ```javascript const express = require('express'); const cors = require('cors'); let app = express(); app.use(cors()); // 允许所有来源的跨域请求 // 或者指定特定白名单 // app.use(cors({ origin: 'http://example.com' })); app.get('/api/data', (req, res) => { res.json({ message: "This is a test response from server." }); }); app.listen(process.env.PORT || 3000); ``` 当完成了上述准备工作之后,便能够在微信客户端内部打开由本地搭建起来的网页链接,并借助微信开发者工具实时查看渲染效果、网络请求状态乃至控制台日志输出等内容,从而达到高效便捷地开展H5页面迭代优化工作的目的。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值