Rumah  >  Artikel  >  hujung hadapan web  >  Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

青灯夜游
青灯夜游ke hadapan
2021-08-31 18:23:4015717semak imbas

Bagaimana untuk melaksanakan fungsi log masuk WeChat apl Android pada uniapp? Artikel berikut akan berkongsi dengan anda prosedur pengendalian khusus untuk permohonan kebenaran dan pembangunan aplikasi Android log masuk WeChat pada uniapp. Saya harap ia akan membantu semua orang.

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

WeChat Open Platform menyediakan beberapa antara muka terbuka WeChat, seperti log masuk WeChat, pembayaran dikongsi, dsb., dan menyediakan perkhidmatan sokongan untuk aplikasi platform lain. Maklumat dalam talian agak longgar, dan beberapa konsep yang tidak dikenali ditambah, jadi proses mudah tidak disambungkan secara bersiri Artikel ini meringkaskan proses operasi khusus untuk melaksanakan permohonan kebenaran dan pembangunan log masuk aplikasi Android pada uniapp berguna kepada anda.

Mula-mula, mari kita lihat proses keseluruhan membangunkan fungsi log masuk WeChat Saya telah menyusun carta aliran umum untuk membantu anda memahami kandungan berikut dengan cara yang lebih teratur:

. Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

Seperti yang anda lihat, membangunkan log masuk WeChat masih agak menyusahkan saya memperkenalkannya secara terperinci langkah demi langkah.

1 Daftar akaun platform terbuka WeChat

Daftar dahulu akaun WeChat open platform , ada jumlah daripada platform WeChat Terdapat 4 daripadanya Platform terbuka ini membuka log masuk, perkongsian, pembayaran dan kandungan lain WeChat ke aplikasi, halaman web, program mini, dll. Saya tidak akan menerangkan secara terperinci tentang proses tertentu. Hanya berhati-hati agar tidak bercanggah dengan akaun e-mel yang digunakan di tempat lain dalam WeChat.

2. Pensijilan kelayakan pembangun

Log masuk selepas pendaftaran akaun berjaya Untuk membangunkan fungsi log masuk WeChat, pensijilan kelayakan pembangun diperlukan. Pendaftaran untuk platform terbuka kini terbuka kepada individu, tetapi pensijilan kelayakan pemaju hanya terbuka kepada perusahaan dan institusi, dan pensijilan berharga 300 yuan. Pensijilan perusahaan yang saya gunakan memerlukan sijil kelayakan perusahaan yang berkaitan semasa proses permohonan Proses ini sangat cepat dengan maklumat yang lengkap dan boleh disiapkan dalam kira-kira dua atau tiga hari Permohonan invois agak perlahan, mengambil masa kira-kira sebulan.

3. Memohon aplikasi mudah alih pada platform terbuka

Selepas pengesahan berjaya, masuk ke pusat pengurusan, pilih aplikasi mudah alih, buat a aplikasi mudah alih, dan ikuti langkah Hanya datang dan pergi, satu-satunya perkara yang boleh membuat anda tersekat ialah tandatangan aplikasi. Apabila saya sampai ke langkah ini, saya benar-benar keliru dan tidak tahu apa itu tandatangan permohonan.

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

4. Penjanaan tandatangan aplikasi

Lihat penerangan di atas, tandatangan permohonan digunakan terutamanya untuk Pengesahan identiti, dipanggil pengesahan sekunder, adalah relatif kepada pengguna yang log masuk. Biasanya, anda boleh memohon selepas log masuk ke platform terbuka Sekarang anda mempunyai tandatangan ini, anda perlu melalui beberapa masalah untuk membuktikan bahawa anda mempunyai kebenaran pembangunan untuk aplikasi ini. Dalam keadaan biasa, kebanyakan apl Android yang dikeluarkan di kilang kecil menggunakan sijil ujian awam Kini, untuk menjana tandatangan aplikasi, anda perlu menggunakan sijil anda sendiri. Dengan sijil anda sendiri, anda boleh menjana tandatangan aplikasi yang diperlukan oleh WeChat Open Platform. Jadi dari mana datangnya sijil milik sendiri ini? Seterusnya, mari lihat cara membuat sijil dan tandatangan permohonan ini sendiri.

Jana sijil anda sendiri

1), pasang persekitaran jre

jre ialah persekitaran pembangunan java Anda boleh menggunakan tetingkap arahan cmd untuk menggunakan arahan java untuk menentukan sama ada persekitaran semasa mempunyai jre Jika ia menggesa 'java' bukan perintah dalaman atau luaran program atau fail kelompok yang boleh dikendalikan, ini bermakna ia tidak dipasang; jika output seperti ini, ia bermakna ia telah dipasang:

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

Jika tidak dipasang, muat turun pakej pemasangan jre: www.oracle com/java/techno…

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

Selepas pemasangan, buka semula cmd dan masukkan java sekali lagi untuk melihat. kandungan berkaitan keluaran biasa. Seterusnya, tambah laluan pemasangan jre ke pembolehubah persekitaran sistem:

d:  
set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"

Gunakan cmd untuk memasukkan arahan di atas. Baris pertama bermaksud untuk beralih ke pemacu d antara muka. Sijil tandatangan akan dihasilkan Anda boleh mencipta folder dan cd lain ke dalamnya. Selepas menekan Enter, baris kedua bermaksud menambah arahan jre pada pembolehubah persekitaran sementara Alamat berikutnya adalah berdasarkan alamat pemasangan jre sebenar anda. Selepas langkah ini, fail yang dijana oleh operasi seterusnya akan dijana dalam folder semasa.

2), Jana sijil tandatangan

Selepas langkah di atas adalah normal, anda boleh masukkan perintah keytool -genkey berikut untuk menjana sijil. Perlu diingatkan di sini bahawa 'ujian' dalam testalias dan test.keystore boleh diubah suai dan digantikan dengan nama dalam projek anda sendiri.

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

回车后,输入密码,比如123456,密码看不见的,不要输错了,后面的按提示填就可以了,一般输入英文或拼音。最后提示是否正确时,不要回车了,输入y确认正确,否则要再重来一次。

确认后,又提示密钥口令,这个直接回车相同就行。

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

如果提示这个,就把这个指令复制了粘贴执行,输入前面设置的口令123456就可以了。

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

最后在当前执行命令的文件夹里就能看到应用证书了。

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

生成签名

前面是生成证书,这一步终于可以生成签名了。

3)、使用自有证书打包

这一步很简单,用hbuilderx进行app云打包,在弹出框中选择安卓的自有证书打包方式。这个自有证书就是我们刚才生成的证书,兴不兴奋,我们也是有证书的人了!?下面三栏,别名、密码都是前面的操作步骤中写过的,没忘记就写上吧,然后选择证书文件,剩下的都是常规操作,最后打包就可以了。

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

4)、用签名生成工具生成签名

先到微信开放平台下载签名生成工具,下载好之后,在手机端安装,输入安卓包名。

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

这里有坑,要注意下,uniapp的mainfest.json文件配置中,appid必须是'_UNI_'开头,所以你的配置文件中得是'_UNI_'开头的,但是打包时的包名跟那个配置又是两个体系,互不影响,你可以在这里把名字改下,把uni这个头去掉。因为这个包名后面要跟ios版本一起用,你得跟ios一样,相信打过包的人应该能明白我在说啥。

输入正确的包名(去掉了'UNI'开头),点击下面的按钮就生成了一串id,这个就是——应用签名!真是费劲!

Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

5、按开放平台流程申请应用

有了签名,你就可以按照微信开放平台的流程申请移动应用了,就是本文的第二张图,输入签名,一步步走就行。

1Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

最后就是下面这样子了,代表你提交成功,可以耐心的等了(三天了,没变化,最后过了七八天才通过,中间按要求修改了两次):

1Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

等审核通过,就可以申请微信登录等功能了。

1Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

最后要说的一点就是,app或者你资料中提交的相关域名网站不要给登录界面,否则可能会审核不通过,因为他们进不去,看不了当然无法审核。

6、获取appid和appsecret

移动应用的审核通过后,微信登录功能就会自动开放了,同时开放的还有分享、发送朋友等功能。

1Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

同时,你也可以获取到获取appid和appsecret,这个我自己保存越来,后面开发会用到的。

7、微信登录业务流程梳理

uniapp提供了微信登录api,不过我们首先要清楚微信登录的流程,因为微信登录要配合我们系统自身的业务。我在这里梳理了一张流程图,这张图就是上面总流程图的一部分,你可以对照参考,辅助你开发相关功能。

1Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi)

8、微信登录服务api调用

如果你按照前面的步骤拿到AppId和AppSecret信息,接下来就是按照这个流程来开发微信登录功能。在uniapp上开发app版本的微信登录功能需要调用uni的api还有h5+的api。 这里就直接给一个示例代码:

onLoad() {
	plus.oauth.getServices((services) => {
			this.weixinAuthService = services.find((service) => {
					return service.id === 'weixin'
			})
		});
},
methods: {
	appWxLogin() {
		var self = this;
		this.weixinAuthService.authorize(function(res) {
			//支持微信、qq和微博等
			uni.login({
				provider: 'weixin',
				success: function(loginRes) {
					// 微信用户信息存入本地,后期备用
					var auth = null;
					plus.oauth.getServices(function(services) {
						auth = services.find((service) => {
							return service.id === 'weixin'
						});
						try {
							uni.setStorageSync('auth_service', auth)
						} catch {
	
						}
					}, function(e) {
						console.log(e);
					});
					if (loginRes.authResult) {
						let access_token = loginRes.authResult.access_token;
						let openid = loginRes.authResult.openid;
						uni.request({
							method: 'POST',
							url: 'https://*********/wx-login/appwxlogin',
							data: {
								openid: openid
							},
							success: (res) => {
								console.log(res);
								//将openid存入本地缓存
								uni.setStorage({
									key: 'openid_key',
									data: res.data.openid
								});
								if (res.statusCode == 200 && res.data && res.data.username) {
									self.isFirstWXLogin = false;
									self.name = res.data.username;
									self.password = res.data.password;
									setTimeout(function() {
										self.tologin({
											username: res.data.username,
											password: res.data.password,
											encrypted: true
										})
									}, 0)
								} else {
									//首次登录,跳转到一个绑定账号的页面
									uni.navigateTo({
										url: 'wxlogin'
									});
								}
							},
							fail: (error) => {
								console.log(error);
							},
							complete: (e) => {
								console.log(e);
							}
						})
					} else {
	
					}
				},
				fail(e) {
					console.log(e);
				},
				complete(e) {
					console.log(e);
				}
			});
		}, function(error) {
			console.log(error)
		}, {
			scope: 'snsapi_userinfo'
		})
	}
}

注意几点: 

1、首先取到微信服务对象this.weixinAuthService。 

2、其次调用授权api——authorize,然后再调用uni.login这个api。

 3、uni.login成功后,如果想取得用户信息可以调用uni.getUserInfo,也可以调用plus.oauth.getServices,后者是h5+的api,前者也是基于后者的封装。 

4、代码中这个接口(/wx-login/appwxlogin)是一个本地服务,具体的业务就是把openid带到用户表中去查找,如果能找到,说明此用户绑定过微信,后端返回用户信息直接登录;如果没找到,就返回提示需要输入用户名密码登录,而且这个登录过程要带上openid,最终插入数据库。

这个api调用与业务开发流程应该比较好理解,我这里也不再画图了,应该都能看明白。 好了,uniapp开发安卓端的微信登录功能就介绍完了,如果对你有用就点个赞或者帮忙转发吧!谢谢鼓励!

推荐:《uniapp教程

Atas ialah kandungan terperinci Cara melaksanakan fungsi log masuk WeChat apl Android pada uniapp (ringkasan proses operasi). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam