精华内容
下载资源
问答
  • uniapp获取openid
    千次阅读
    2021-11-08 14:41:48

    uniapp获取openid

    wx.login({
    							success: function(res) {
    								console.log('resCode', res)
    				
    								//发起网络请求
    								wx.request({
    									url: 接口地址,
    									data: {
    										code: res.code
    									},
    									success: res => {
    										console.log('res获取openid', res, res.data.openid);
    										// this.openid = res.data.openid;
    										console.log('this.openid', res.data.openid)
    							}
    						});
    
    更多相关内容
  • uniapp对小程序登录实现了封装,先通过uni.login获取code,然后再用code请求自己服务器,自己服务器拿着code去微信服务器获取openid,然后业务自定义实现登录。基本流程跟微信小程序官方文档是一样的 uniapp的话,...

    小程序实现登录的流程,是先通过wx.login获取code,然后再用code请求自己服务器,自己服务器拿着code去微信服务器获取openid,然后业务自定义实现登录,微信小程序登录流程图
    在这里插入图片描述

    uniapp实现登录与上述流程是一样的,只是对登录实现了封装,用uni.login替代了wx.login

    uni.login({
      provider: 'weixin',
      success: function (loginRes) {
       //loginRes中有code,拿着code再请求自己服务器以获取openid
        console.log(loginRes.authResult);
      }
    });
    

    开发者服务器拿着code,请求微信服务器auth.code2Session接口

    GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
    
    

    js_code=JSCODE就是上文说的code,
    这个接口就会返回openid、session_key。

    • openid
      • 用户的身份标识,每个用户在每个公众号或者小程序中都有一个唯一openid,跨公众号/小程序时openid不相同
    • session_key
    展开全文
  • 微信h5授权获取用户openId的方法和步骤,用于用户登录和注册,代码已经封装好,下载就能用
  • uniapp小程序获取openid

    千次阅读 2022-03-17 12:34:30
    点击授权 getUserInfo() { var that = this var openid = uni.getStorageSync("openid") if (!openid) { let appid = config.appid let secret = config.appSecret uni.login({ ...
    <view
    			style="position: fixed;width: 100%;height: 100%;background-color: #808080;opacity: 0.9;display: flex;justify-content: center;align-items: center;z-index: 999;"
    			v-if="hastoken==false">
    			<button @getuserinfo="getUserInfo" type="default" open-type="getUserInfo" @getUserInfo
    				style="height: 80rpx;display: flex;align-items: center;justify-content: center;margin-top: 100upx;">
    				<label style="opacity: 1;font-size: 35rpx;">
    					点击授权
    				</label>
    			</button>
    		</view>
    getUserInfo() {
    				var that = this
    				var openid = uni.getStorageSync("openid")
    				if (!openid) {
    					let appid = config.appid
    					let secret = config.appSecret
    					uni.login({
    						provider: 'weixin',
    						success: function(res) {
    							try {
    								var code = res.code
    								uni.getUserInfo({
    									provider: 'weixin',
    									success: function(infoRes) {
    										var  nickName = infoRes.data.nickName
    										var  avatarUrl = infoRes.data.avatarUrl
    										let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid +
    											'&secret=' + secret + '&js_code=' +
    											code + '&grant_type=authorization_code';
    										uni.request({
    											url: url, // 请求路径
    											success: result => {
    												uni.setStorageSync("openid", result.data.openid)
    												uni.setStorageSync("nickName", nickName)
    												uni.setStorageSync("avatarUrl", avatarUrl)
    												that.openid = result.data.openid
    												that.hastoken = true
    												console.info(result.data.openid)
    											},
    											fail(ex) {
    												console.log(ex.message)
    											}
    										})
    									}
    								});
    
    							} catch (ex) {
    								console.log(ex.message)
    							}
    						}
    					});
    				}
    			},

    展开全文
  • <template> <div> <button type="default" @tap="appLoginWx">微信登录<... var openid; var avatarUrl; var nickName; export default { data() { return { }; },
    <template>
    	<div>
    		<button type="default" @tap="appLoginWx">微信登录</button>
    	</div>
    </template>
    
    <script>
    	var code;
    	var openid;
    	var avatarUrl;
    	var nickName;
    	
    	export default {
    		data() {
    			return {
    
    			};
    		},
    		methods: {
    			appLoginWx() {
    				var _this = this;
    				// 获取用户信息
    				// 注意 getUserProfile 不支持在事件中使用异步操作
    				// 否则会触发错误:{errMsg: "getUserProfile:fail can only be invoked by user TAP gesture."}
    				uni.getUserProfile({
    					//userInfo 获取用户信息
    					lang: 'zh_CN',
    					desc: '获取用户信息',
    					success: userInfo => {
    						console.log('userInfo', userInfo);
    						// console.log(JSON.stringify(userInfo));
    						// rawdata = JSON.parse(userInfo.rawData);
    						console.log('头像为  ' + userInfo.userInfo.avatarUrl);
    						console.log('微信昵称为  ' + userInfo.userInfo.nickName);
    						avatarUrl = userInfo.userInfo.avatarUrl;
    						nickName = userInfo.userInfo.nickName;
    					
    						uni.login({
    							//loginInfo 获取code
    							provider: 'weixin',
    							success: loginInfo => {
    								console.log('loginInfo', loginInfo);
    								// console.log(loginInfo.code);
    								code = loginInfo.code;
    								 console.log(code);
    								 //如果有了code 拿着code获取openid session_key
    								 if (code) {
    								 	var appId = '填自己的';
    								 	var secret = '填自己的';
    								 	wx.request({
    								 		url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId +
    								 			'&secret=' + secret + '&js_code=' + code +
    								 			'&grant_type=authorization_code',
    								 		data: {},
    								 		header: {
    								 			'content-type': 'json'
    								 		},
    								 		success: function(res) {
    								 			openid = res.data.openid //返回openid
    								 			// console.log(res)
    								 			console.log('openid为  ' + openid);
    								 			uni.showToast({
    								 				title: "授权成功"
    								 			})
    								 
    								 		}
    								 
    								 	})
    								 
    								 }
    								 
    							}
    						});
    
                           
    						uni.request({
    							url:_this.apiServer + 'member&m = login',
    							method:'POST',
    							header:{'content-type':"application/x-www-form-urlencoded"},
    							data:{
    								openid:openid,
    								name:nickName,
    								face:avatarUrl
    							},
    							success:res=>{
    								console.log("请求成功")
    								console.log("请求成功" ,res)
    							},fail:()=>{
    								console.log("请求失败")
    							}
    						})
    
    					},
    					fail: err => {
    						console.log(err, 'err')
    					}
    				});
    				
    				
    				
    				
    				
    				
    			}
    		},
    		onLoad: function(options) {
    			
    
    		
    		}
    	}
    </script>
    
    <style>
    </style>
    
    
    展开全文
  • 如果开发过程中需要前端人员自己获取微信用户的openId,阅读下面的文章,按照步骤写就可以 1、首先需要使用uni.login() 获取返回的code uni.login({ provider: 'weixin', success: function (loginRes) { ...
  • uniapp实现微信公众号登录获取openid

    千次阅读 2020-12-23 13:47:43
    == -1) { let openid = this.$queue.getData('openid'); //校验本地有没有openid if (!openid) { //检测url里面是否携带code if (window.location.href.indexOf('?code=') !== -1 || window....
  • 方法一:使用云函数 // 云函数入口文件 const cloud = require('wx-server-sdk') ... const openid = cloud.getWXContext().OPENID; const id = event.id }) 方法二:根据appid跟AppSecret(小程序
  • 框架:uniapp+云开发+云函数。 方案一:通过官方提供的 univerify 插件 官方文档:uni一键登录 - uni-app官网 (dcloud.io) univerify 是DCloud 推出的一键登录产品,通过与运营商深度合作,实现APP用户无需输入...
  • 因为uni的login()方法封装了微信wx.login()方法,所以我们这里直接调用...我们可以获取微信小程序用户的openid作为唯一标识,和后台用户进行绑定,获取方式也比较简单,这里做一下记录,方便后续可以快速查找并使用。..
  • uniapp+微信小程序获取openId,获取access_token,订阅消息模板,java后台发送消息
  • uni-app 获取用户的openID和基本信息

    千次阅读 2021-12-24 15:27:02
    1、前提条件:找到小程序的id和密钥 ... 2、代码展示 (1)uni.login:获取...(2)uni.request:发送网络请求,通过登录凭证获取用户的openID。 https://uniapp.dcloud.io/api/request/request?id=request (3)请求接
  • 1.公众号申请好后,配置公众号基本信息,主要是appid,AppSecret,还有ip白...2. 配置授权域名,不然调用接口获取openid会提示redirect_uri域名与配置不一致 1)填写域名 2)下载txt文件,放在项目根目录 ...
  • 当需要openid的时候,就看看本仙女的这篇博客✨ 文章建立在你有appid(也就是说微信公众平台你有账号)的基础上,话不多说,let's start ! Step 1 :https://mp.weixin.qq.com/,进链接以后登录(如下图所示)→点击...
  • 1.uniapp中App.vue文件中写获取openId的方法 onLaunch: function() { console.log('App Launch'); // 第一步:初始化微信云函数 wx.cloud.init({ env: 'test-2gt0mbv78a4941aa', // 打开微信云开发...
  • uniapp 微信小程序登录获取openid 报错errcode: 40029 我的问题:appid跟秘钥跟微信开发者工具使用不一致,修改前后端使用的一致就可以了 const result = await ctx.curl(`...
  • 前端代码(uniapp) <template> <view class="login"> <view v-if="isCanUse"> <view> <view class="header"><image src="../../static/icon/news-active.png"></...
  • 需要用到wx指定的接口 注意: 注意:一般都是将code值传到后端去获取openid,因为在前端可能会被抓包或爬取到你的appid和secret,不安全,如果放在后端获取openid,除非你的服务器被攻击了,不然就是安全的。...
  • 主要介绍了微信h5静默和非静默授权获取用户openId的方法和步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • //获取code getcode(){ let that = this uni.login({ success:function(res){ let code = res.code //console.log(res,... //获取openid getopenid(code){ console.log(cod...
  • uniapp 开发微信小程序——获取openid

    万次阅读 2019-07-23 09:59:35
    1、初始化微信云函数 ... console.log('[云函数] [login] user openid: ', res.result.openid) }, fail: err => { console.error('[云函数] [login] 调用失败', err) } })  
  • }) }, getOpenId: function(data) {//获取openid return new Promise((resolve, reject) => { uni.request({ header: { 'content-type': 'application/x-www-form-urlencoded' }, //否则无法...
  • 小程序获取openid实例

    2018-12-26 00:44:13
    小程序前端获取openid的一个小demo,在js获取openid然后显示在前端界面上
  • uniapp获取手机号(详细教程附代码)
  • 使用uni.login 方法获取微信openid,后端返回openid和商户openid不匹配
  • uniapp在微信小程序获取用户信息和openId获取用户信息获取openId 获取用户信息 使用getUserProfile(),这个方法在每次出发的时候都会调起微信授权的那个弹出层,为什么不用getUserInfo(),微信给程序员们发公告了,...
  • 补充JSAPI获取openid 接上次发布资源,文件中有一些异常抛出类和日志类需要手动修改与自己框架的兼容性
  • uniapp获取小程序openid

    2022-09-14 15:52:12
    uniapp获取小程序openid

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,028
精华内容 411
关键字:

uniapp获取openid