问:

uniapp 微信小程序运行,点击当前页授权登录要求必须在客户端打开怎么办?

答:
uniapp 开发的微信小程序,如果要进行微信授权登录,必须在微信客户端内打开。这是因为微信登录需要用到微信的登录能力,而这个能力只存在于微信客户端中。
为了解决这个问题,有几种方法:
1. 引导用户在微信客户端内打开。在小程序首页可以提示用户“请在微信客户端内打开此小程序以获取完整功能”之类的话,引导用户在微信内打开。这种方式最简单,但无法保证所有用户都会按要求操作。
2. 使用微信官方提供的 OAuth 能力。在小程序端不做微信登录,只获取 code,然后在你的服务端使用 code 到微信请求获取用户信息。这种方式需要你搭建服务端,并在服务端实现微信登录的 OAuth 流程。
3. 使用 uni-id 对接微信登录。uni-id 是一个基于 uni-app 的第三方登录和用户系统解决方案。它已经对接了微信登录和其他主流第三方登录方式。你可以直接在 app 中使用 uni-id 的微信登录按钮,它会生成一个二维码,用户使用微信扫码就可以完成登录。这种方式无需你管理第三方登录的 token,但需依赖 uni-id 的服务。
4. 使用第三方微信登录 SDK。有一些第三方提供的微信登录 uni-app SDK,可以在小程序端直接调用其 API 发起微信授权登录流程,它可以生成登录用的二维码,在微信内扫码即可登录。这种方式同样无需你管理第三方登录的 token,只需依赖第三方的 SDK。
以上是几种解决 uniapp 小程序在客户端外无法微信登录的方法。实际开发可以根据自己的需要选择使用其中一种或几种相结合的方式来实现完整的微信授权登录流程。