uniapp写微信小程序,获取openId、unionId

这篇具有很好参考价值的文章主要介绍了uniapp写微信小程序,获取openId、unionId。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、使用uniapp读取获取用户openId

appId,secret  可以从微信公众平台获取,(点击右上角头像,向下滑,可以找到)

注意:这个一般写了app.vue里有个onlanch函数,否则有可能在进入小程序时获取不到openid

微信接口路径为 “https://api.weixin.qq.com/sns/jscode2session”


	/**
	 * 前端获取openId
	 */
	getOpenId() {
		let openId = ''
		uni.login({
			success: res => {
				//code值(5分钟失效)
				let code = res.code;
				//小程序appid
				let appid = '1111111'; //小程序id
				//小程序secret
				let secret = '111111'; //密钥
				//wx接口路径
				let url = 'https://api.weixin.qq.com/sns/jscode2session';
				uni.request({
					url: url, // 请求路径
					data: {
						appid: appid,
						secret: secret,
						js_code: code,
						grant_type: 'authorization_code'
					}, // 请求体
					method: 'GET', //请求方法,
					header: {}, //请求头
					success: result => {
						//响应成功
						//这里就获取到了openid了
						// openId = result.data.openid
						uni.setStorage({
							key: 'openId',
							data: result.data.openid
						})
					},
					fail: err => {} //失败
				});
			}
		});
	},

2、uniapp 获取 unionId

获取unionId的前提条件:微信开放平台绑定你的小程序或者公众号至少一个(注意:一定要是,企业版的,个人版的是不支持unionId的)

具体代码如下:

//前端获取unionId

	getUnionId() {
		// 获取用户信息
		uni.getUserInfo({
			success: (res) => {

                //这里是成功后 解构 返回的res
				const { encryptedData , iv, userInfo } = res
				// 解密用户信息并获取unionid
				wx.login({
					success: (loginResult) => {
						wx.request({
						    url: 'https://api.weixin.qq.com/sns/jscode2session',//路径固定
							data: {
							    appid: '123123',   // 需要填写appId
							    secret: '123123',  // 密钥
							js_code: loginResult.code,  //调取uni.login后,成功后会返回code
								grant_type: 'authorization_code' //固定的
							},
							success: (sessionResult) => {

               //成功后会返回 openId,以及 session_key 用来解密 上边获取的 encryptedData 
								const {openid, session_key } = sessionResult.data
								var appId = '123123' //填写你的appId
								var sessionKey = session_key
								var encryptedDataStr = encryptedData

				// 解密   WXBizDataCrypt 可以在微信开发文档中找到
								const pc = new WXBizDataCrypt(appId, sessionKey);

                // unionId在data里
								const data = pc.decryptData(encryptedDataStr, iv);
								console.log(JSON.stringify(data));

								
							}
						})
					}
				})
			}
		})
	},

注意:请求openId或unionId,一般后端做,前端做的话,微信小程序可能无法,发布成功。。。。。。。

后端获取openId文章来源地址https://www.toymoban.com/news/detail-545417.html

到了这里,关于uniapp写微信小程序,获取openId、unionId的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp+微信小程序获取openId,获取access_token,订阅消息模板,java后台发送消息

    1.前期准备 2.用户订阅消息 3.获取openId(uniapp) 4.获取access_token 5.发送消息 6.请求的代码Springboot(自己写有发送请求方法的可以不用看) 在微信公众号申请订阅消息 在公共模板这里选用模板, 模板种类跟小程序设置的类目有关,只有特殊的类目有长期订阅模板 类目可以在设

    2024年02月03日
    浏览(37)
  • uniapp写微信小程序实现电子签名

    写电子签名一定要注意的是一切全部按照手机上的适配来,为啥这么说呢,因为你在微信开发者工具中调试的时候认为是好的,正常的非常nice,当你发布版本的时候你会发现问题出来了。我下边的写法你可以直接用很简单。就是要记住canvas的几个属性和用法。 直接上干货 1.签

    2024年01月18日
    浏览(37)
  • uniapp写微信小程序使用swiper修改指示点

    原来的指示点样式 在App.vue的style直接加入: wx-swiper .wx-swiper-dot {         width: 30rpx;         height: 6rpx;         border-radius: 20%;     }      wx-swiper .wx-swiper-dot-active {         background-color: #000;         width: 30rpx;     } 改变后的

    2024年04月27日
    浏览(25)
  • uniapp写微信小程序实现二维码条形码扫描识别

    1.最重要的就是一个函数uni.scanCode() 下边是我的代码可以直接使用 上述代码就直接实现了扫描功能很简单记得定义下扫描结果!有啥问题随时@我

    2024年04月09日
    浏览(42)
  • 微信小程序获取openid,微信小程序获取手机号

    工具类

    2024年02月16日
    浏览(40)
  • 微信小程序获取openId

    在微信小程序中,我们无法直接从客户端获取用户的openid,因为openid是保存在微信服务器上的。但是,我们可以通过微信提供的登录接口,使用用户授权登录的方式获取用户的openid。 具体步骤如下: 1. 在小程序中引入`wx.login`方法,调用该方法会返回一个`code`,这个`code`用于

    2024年02月15日
    浏览(35)
  • uniapp微信小程序获得openid

    可以自动获取或点击按钮获取 获取openid 注意:一般都是将code值传到后端去获取openid,因为在前端可能会被抓包或爬取到你的appid和secret,不安全,如果放在后端获取openid,除非你的服务器被攻击了,不然就是安全的。下面的实例是在前端直接获取的,这个明白后,可以直接

    2024年02月06日
    浏览(36)
  • 微信小程序获取openid流程

    调用wx.login(OBJECT) 获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 返回数据信息: { errMsg: 调用结果 code: 用户登录凭证(有效期五分钟)。开发者需要在开发

    2024年02月14日
    浏览(34)
  • 微信小程序----API、获取openid、消息订阅

    https://www.w3xue.com/mobile/wxminiapp/hpm41q8p.html 基础: API,全称Application Programming Interface,即应用程序编程接口。 API 是一些预先定义函数,目的是用来提供应用程序与开发人员基于某软件或者某硬件得以访问一组例程的能力,并且无需访问源码或无需理解内部工作机制细节。 API

    2024年02月09日
    浏览(31)
  • 【微信小程序】通过云函数获取用户openid

    1.pages同级目录下新建新文件夹,命名为cloudFunctions(其他名字也可以)。 2.project.config.json中添加以下内容,值为上一步创建的文件夹名字。编译一次后上一步创建的文件夹前图标就带“云”了。 3.app.js内的App中添加 1.右击cloudFunctions文件夹,点击【新建Node.js云函数】,命名为

    2024年02月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包