APP端接入微信登录过程(uni-app)

也不算个大坑,就申请过程会麻烦,而且要审核。

代码部分

showModal用于查看打包后的查错,因为打包后看不了控制台输出

	wxlogin(){
		var _this=this
		uni.getProvider({
			service: 'oauth',
			success: function(res) {
				// console.log(res.provider);
				// uni.showModal({
				// 	title:'getProvider成功',
				// 	content:JSON.stringify(res)
				// })
				//支持微信、qq和微博等
				if (~res.provider.indexOf('weixin')) {
					uni.login({
						provider: 'weixin',
						success: function(loginRes) {
							// console.log('-------获取openid(unionid)-----');
							// console.log(JSON.stringify(loginRes));
							// uni.showModal({
							// 	title:'login成功',
							// 	content:JSON.stringify(loginRes)
							// })
							// 获取用户信息
							uni.getUserInfo({
								provider: 'weixin',
								success: function(infoRes) {
									console.log('-------获取微信用户所有-----');
									console.log(JSON.stringify(infoRes));
									// uni.showModal({
									// 	title:'getuserinfo成功',
									// 	content:JSON.stringify(infoRes)
									// })
								},
								fail: function(infoRes){
									// uni.showModal({
									// 	title:'getuserinfo失败',
									// 	content:JSON.stringify(infoRes)
									// })
								}
							});
						},
						fail: function(res){
							// uni.showModal({
							// 	title:'login失败',
							// 	content:JSON.stringify(res)
							// })
						}
					});
				}
			},
			fail: function(res){
				// uni.showModal({
				// 	title:'getProvider失败',
				// 	content:JSON.stringify(res)
				// })
			}
		});
	},

真机调试时由于使用HbuildX的证书和微信开放应用信息,可以直接用

打包后就不是了,所以需要完成下面全部步骤

安卓应用签名证书

这个好像没什么好写的,但是为了凑点字数还是写下来8

上oracle下载jre https://www.oracle.com/java/technologies/javase-downloads.html

cmd进入安装目录的bin文件夹

默认安装路径C:\Program Files\Java\ 所以输入

cd C:\Program Files\Java\jre1.8.0_91\bin

生成证书

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
  • testalias 是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  • test.keystore 是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径

剩下看提示自己填,有中文过程提示了现在

需要记住的两个东西:证书别名(如上testalias),密钥库口令,这两要在APP打包时输入

生成证书命令过程完成后,会在bin目录下生成一个keystore文件,找不到就右上角搜索

然后进uni-app里打包,只说云打包(因为老板同意了),离线打包看别的文

选中使用自有证书,填上别名和密码,选择证书文件,即可

记住自己的包名,下面用到

打包出来的应用拿自己手机装一下,然后下另一个获取签名的工具

https://github.com/huiger/GenSignature/raw/master/raw/app-release.apk

使用这个工具输入包名,得到的签名字符串准备填入微信开放平台应用信息,见下

微信开放平台申请应用

先注册个号 https://open.weixin.qq.com/cgi-bin/readtemplate?t=regist/regist_tmpl&lang=zh_CN

注意:这个一般公司邮箱来注册,没有自己整个不是没绑过私人微信的

然后回到首页去申请移动应用,填应用资料,包名和签名见上,其他看着填即可

审核大概需要两三天(非工作日),审核完成后会得到appid和secret密钥,填下边

UNIAPP的manifest配置

点开manifest.json,APP模块配置

勾选OAuth(登录鉴权),勾选微信登录

appid和appsecret分别填入微信开放平台的应用的信息,见上

填完打包,一切都大功告成

点赞
  1. 匿名说道:
    Opera Windows 7
    UJwN

发表回复

邮箱不会被公开,用于显示Gravatar的头像