小程序模拟器和真机调试状态下都可以获取到openid,但是真机非调试状态不能
发布于 6 年前 作者 xiatao 5615 次浏览 来自 问答

我是要把openId存到数据库里,在小程序模拟器和真机调试状态下都可以得到并保存起来,但在真机非调试状态下就获取不到??

微信开发者工具 0.22.202200

基础库版本1.5.2

开启ES6转ES5   开启状态

开启上传代码时样式文件自动补全    开启状态

开启代码压缩上传   开启状态

开发环境不校验请求域名、TLS版本以及HTTPS证书     开启状态

10 回复

把获取微信openid的请求放在webservice上,不要放在小程序端,webserviec代码如下

            string mycode="",//登录时获取的 code(在小程序端调用微信wx.login获得,传到webservice)
            string appid = “****************”;//小程序唯一标识
            string secret = “************************”;//小程序的 app secret
            string grant_type = “authorization_code”;//填写为 authorization_code
            //这是一个 HTTPS 接口,开发者服务器使用登录凭证 code 获取 session_key 和 openid。
            string weixinapi = “https://api.weixin.qq.com/sns/jscode2session?appid=” + appid + “&secret=” + secret + “&js_code=” + mycode + “&grant_type=” + grant_type;//接口地址

            string str = myhttphelper.HttpGet(weixinapi);//C#请求Url(不清楚的自己百度),str就是返回的结果,自己解析一下

服务器那边已支持https协议和443端口,和这个没有关系

我是服务端获取openid,小程序模拟器和真机调试状态下都可以获取到openid,但是真机非调试状态不能 ,有人解决了没有。求答案

问一下,我就是在后端获取的openid,然后返回给小程序端,我在模拟器上都可以获取到,在真机测不可以,不知道是为什么

我现在也是这个问题,小程序在模拟器和真机调试状态下都可以获取到openid但是真机非调试状态不能获取到openid,这个问题该怎么解决啊?

@ 寻祢雨

 

肯定是异步了,一般人选择在app.js中选择去获取openid,就是因为当openid还没拿到的时候,首页onload已经开始加载了,这个时候去打印openid是拿不到了,这就是异步执行,解决异步就可以了

我也遇到了这问题,能不能把webserviec的请求代码发个,十分谢谢!

我的也是这样,打开调试模式什么都可以获取,关闭后wx.login只走fail,但是上线后又正常,如果openId放在服务器端,那官方提供的那个链接干嘛还直接可以获得openId。。。。

我也遇到这个问题了。卡了几天了,太痛苦,一开调试模式,什么问题都没有

你好,你必须在你的小程序合法域名中配置,只支持https协议和443端口。

回到顶部