实现大概思路
方式一
1、在小程序里面加页面 写入 web-view
2、 在小程序主体的公众号下配置 (查看公众号主体 微信开发平台- 公众号 - 基本配置(主体名称))
3、 在主体下的域名网站配置中转页面获取到用户的code信息
4、 把 第三步 的用户信息code带回来 在微信小程序的webview页面 实现code的逻辑 获取openid或者传递给后端获取openid
实现具体方式
1 --- <web-view src="https://www.xxxxx.com/Templets/activity/supplierInquiryWXApp/getLoginInfoCode.html"/>
src 就是主体域名下的中转页面
2 --- 查看公众号下的主体域名 公众号平台 - 设置与开发 - 公众号设置 - 功能设置
3 --- getLoginInfoCode.html 页面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- <title>使用获取小程序的code</title> -->
<!-- <title>当前页面用来获取小程序用户信息请勿操作</title> -->
<!-- 此页面勿动 此页面勿动 此页面勿动 用来获取 2023-09-22 之后小程序关于code不能用于公众号的 实现方式 -->
</head>
<body>
<!-- <a href="weixin://dl/business/?appid=appid¶m1=1212">跳转到小程序</a> -->
<!-- <a href="weixin://dl/business/?action=openWeApp&appId=appid">打开小程序1111</a> -->
</body>
// 引入官方js
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script>
window.onload = ()=>{
var getUrlInfo = location.search
if (getUrlCode().code) {
console.log(getUrlInfo,'getUrlInfogetUrlInfogetUrlInfogetUrlInfo')
wx.miniProgram.reLaunch({
// 跳转到询价单 //url 是回调到小程序的页面地址
url: `/pages/InquirySheet/InquirySheet?code=${getUrlCode().code}&appId=${'这里是小程序的openid'}`,
success: function(res) {
console.log(res, '获取成功')
},
fall: function(err) {
console.log(err)
}
})
// return getUrlInfo
} else {
window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=这里是公众号的appid&redirect_uri=https://www.xxx.com/Templets/activity/supplierInquiryWXApp/getLoginInfoCode.html&response_type=code&scope=snsapi_base&state=123#wechat_redirect'
}
}
function getUrlCode() {
// 截取url中的code方法
var url = location.search;
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
var strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
}
}
console.log(theRequest);
return theRequest;
}
</script>
</html>
测试---
通过微信开发者工具软件 - 微信开发者工具 - 更换开发者模式 - 公众号网页 进行调试 调试路径为 主题域名下的微信官方接口 可以获取 code信息
---完结
这个得先关注才能获取到公众号openId呢。 不知道有什么逻辑可以 在小程序携带登录用户ID跳转到公众号关注页面,通过公众号关注事件存储openId 对应入库就好了 。 不使用unionId