我认为你这个AI在忽悠我! 理由:本为题产生的背景如下: 1、开发者在服务端准备使用code调用微信的code2Session接口(https://api.weixin.qq.com/sns/jscode2session)意图完成会话建立,但是发现code是从客户端传递过来的,于是向客户端去调研这个code来自哪里。 2、调查过程中,看到小程序官方文档关于登录接口API的wx.login方法,看到如下示例代码: wx.login({ success (res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://example.com/onLogin', data: { code: res.code } }) } else { console.log('登录失败!' + res.errMsg) } } }) 根据上述示例代码,这个code来自 url: 'https://example.com/onLogin',的返回值。 由于文档中并无关于该url的说明,于是提出此问题。 3、现在你这个AI告诉我,这个“url应为开发者自己的业务服务器接口地址。”这岂不是说这个code是用户的业务服务器传递给客户端,然后客户端再拿着这个code来请求微信接口获取openid和session_key吗? 如果是这样,那么有如下问题: 问题1:这个code是用户开发者根据自身需求随意设置的value即可?还是服务端通过wx服务器获取的code? 问题2:如果这个code来自服务端,那么为什么要先返回客户端,再从客户端回到服务端,这岂不是白绕一圈?直接在服务端内将code整合app_id和app_secrect以及grant_type=authorization_code,向wx服务器发起登录请求不是更直接?
开发文档不清晰啊小程序→开发→API的wx.login方法的示例代码如下,其中的url是微信的官方url还是用户自己的业务服务器提供的方法? wx.login({ success (res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://example.com/onLogin', data: { code: res.code } }) } else { console.log('登录失败!' + res.errMsg) } } })
06-25安卓版或鸿蒙版微信服务号点击菜单链接,即使通过用户open_id对应到该用户在系统内的uid,并使之静默登录后,仍然不能正确访问cookie/session,从而导致被强制跳转到登陆页面。 然而,iOS版,一切都很正常,无论陌生用户的第一次登录后的账户绑定,还是绑定后的用户再打开页面时自动静默登录,一切都很好。 只有安卓/鸿蒙版行不通。 android 版本 14
求问,微信内置浏览器访问H5页面存储cookie后,退出再次登录微信,为什么缓存的cookie丢失?如题,就是在微信扫码访问H5页面登录账号进入,后面切换微信账号或者退出微信再登录,刚才缓存的cookie就没了,验证设备如下. window10+电脑端微信+版本3.9.11.25:window10+电脑端企业微信+版本4.1.28.6005:android14+移动端微信+版本8.0.50:android14+企业微信+版本4.1.28:ios12.5.7+微信+版本8.0.29:ios15.6+微信+版本8.0.50:ios17.6.1+微信+版本8.0.50:以上场景验证,都会丢失cookie。 备注:企业微信切换企业再切回来也同样cookie被清空了
2024-12-11是否安卓和鸿蒙版本的微信客户端对菜单链接的返回值303不直接支持? 如果是这样,那么有什么方法/设置可以绕着弯实现这个303跳转吗?
微信服务号网页开发中遇到的问题:iOS版与安卓/鸿蒙版的微信服务号网页链接点击后动作不一致本项目为需登录的H5业务服务系统,可在PC端、移动端(包含iOS、安卓、鸿蒙)等系统原生浏览器中都正常服务。 现在进行了微信服务号的网页开发:在微信服务号上创建自定义菜单,菜单指向系统route_a然后跳转至页面page_a。 设计的逻辑是:已关注服务号的微信用户点击链接,进入route_a,判断该用户是否已经登陆系统,如果未登陆系统,那么自动跳转至系统登陆页面要求用户输入系统UID/PWD登录,系统自动在用户点击登录按钮后绑定其微信号和系统用户,那么下次该微信用户再次点击该链接,系统自动获取微信open_id进行静默登录。而如果检查到用户已经登陆了(request.session.uid)那么自动跳转至page_a(直到用户本地session超时后,再次进入则可静默登录)。 现在遇到问题: 1、iOS版微信服务号中,任意用户都可以顺利按照上述逻辑走通,这是符合预期OK的; 2、安卓版或鸿蒙版微信服务号,任意用户(包含上述在iOS版中通过的用户)点击菜单链接,即使经过了静默登录处理,且从日志确认静默登录成功(查看了session.uid,并设置了request.params['login_success']=True),但是仍被系统默认跳转到了登陆页面。然后在登录页面看到request.params['login_success']=False。 针对这样的问题,在controller中应该如何处理才能使安卓版和鸿蒙版都能像iOS版一样,即:如果检测到用户已登录,那么就能成功跳转至目标页面;如果检测到用户未登录,那么经过静默登录后也能跳转至目标页面。 请高手指点!
2024-12-11