微信公众号(或微信浏览器)获取openId(网页授权)

下单支付需要openId 首先授权去拿到code --然后调用后太换取openId

1.去拿取code

下图中执行到window.location.href ( redirect_uri 传入当前路径-)--执行后重新跳转到当前页面--但是路径上会带上code参数

//然后调用后台方法--将code传给后台得到 openId

javascript 复制代码
   if (this.is_wx()) {
      if (!uni.getStorageSync("openId")) {
        if (this.getCode() == "") {
			// const currenturl = location.href.split("#")[0];
		  uni.setStorageSync("currentUrl",window.location.href.split("#")[0])
          const currenturl = encodeURIComponent(window.location.href.split("#")[0]);
		  //访问这个链接 redirect_uri 传入当前路径---执行后重新跳转到当前页面--但是路径上会带上code参数
          window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${currenturl}&response_type=code&scope=snsapi_base#wechat_redirect`;
        } else {
          console.log("code");
          console.log(this.getCode());
          let code = this.getCode();
          //拿着code 传输给后台

          this.$request
            .get({
              url: `mp/api/code2accesstoken/${code}`,
            //   loadingTip: "加载中...",
              data: {},
            })
            .then((res) => {
				//将openId参数放进缓存
				uni.setStorageSync('openId',res.data.openid)
			});
        }
      }
    }

--至此支付下单接口需要的参数openId已经得到

官网参考链接

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#0

补充一下

支付接口在测试环境是不支持的

诸君有用且点赞

相关推荐
陈思杰系统思考Jason5 天前
系统思考:自由职业背后的悖论
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason6 天前
系统思考:动态性复杂时代的组织认识
百度·微信·微信公众平台·新浪微博·微信开放平台
WX:ywyy67986 天前
从0到1:付费短剧小程序全栈定制开发实战与避坑指南
微信·小程序·短剧小程序开发·短剧系统开发·短剧app开发·短剧平台开发·短剧平台搭建
陈思杰系统思考Jason7 天前
系统思考:战略定力与组织能力
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason8 天前
系统思考:组织能力持续学习
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason11 天前
系统思考:创办人心智模式与企业规模
百度·微信·微信公众平台·新浪微博·微信开放平台
DokiDoki之父11 天前
边写软件边学kotlin(二)——语法推进
开发语言·微信·kotlin
陈思杰系统思考Jason13 天前
系统思考:心智模式与组织结构
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason15 天前
系统思考:认知边界与组织发展
百度·微信·微信公众平台·新浪微博·微信开放平台
CaracalTiger15 天前
OpenClaw开源项目汇总:Installer一键部署、Moltworker云端方案、钉钉飞书微信接入全指南
微信·开源·aigc·钉钉·飞书·学习方法·业界资讯