开发背景
项目是海外运行的app,需要用到Facebook登录。也在插件市场找了几个插件试用,都是只能拿到access_token ,拿不到id_token 。因项目需要,我需要拿到id_token去Supabase里使用。因此就自己对接官方的SDK实现一个Facebook登录。还完成了一个Google登录的UTS插件开发,在下一篇文章中介绍。
使用教程
插件api介绍
javascript
/**
* @return string 登录参数
* @description 获取KeyHash,针对安卓平台
*/
export declare function getKeyHash() : string[]
/**
* @param callback 回调方法
* @description 默认参数快捷登录,不传参
*/
export declare function quickLogin(callback : HYLoginCallback) : void
/**
* @param param 登录参数
* @param callback 回调方法
* @description 自定义参数的呢牢固,可以传入nonce等
*/
export declare function login(param : HYLoginOptions, callback : HYLoginCallback) : void
/**
* @returns boolean 登录状态
* @description 获取登录状态
*/
export declare function isLoggedIn() : boolean
/**
* @param callback 回调方法
* @description 退出登录
*/
export declare function logout(callback : HYLoginCallback) : void
/**
* @param param 用户信息参数
* @param callback 回调方法
* @description 获取用户信息
*/
export declare function getUserInfo(param : UTSJSONObject, callback : HYLoginCallback) : void
头文件导入
javascript
import * as HYFacebook from '@/uni_modules/hy-facebookSignIn'
方法调用
javascript
2.1 登录
//根据个人需求可以自定义options参数
let options = {
nonce: '123',
limited: false,
permissions: ['email', 'public_profile']
}
HYFacebook.login(options, (result) => {
console.log(result)
if (result.code === 0) {
// 登录成功
} else {
// 登录失败
}
})
2.2 退出的呢牢固
HYFacebook.logout((result)=>{
})
2.3 获取用户信息
HYFacebook.getUserInfo({ fields: 'id, name, email' }, (result) => {
if (result.code === 0) {
// 获取用户信息成功
} else {
// 获取用户信息失败
}
})
效果预览



插件市场地址
大家可以前往插件市场查看本插件的一些信息,也可以查看使用本人的其他插件,如觉有所帮助,可以动动发财的小手点个赞和收藏一下,非常感激!本插件地址如下: