@seayoo-account/login-sdk
v1.1.9
Published
seayoo account login sdk
Readme
Seayoo Account Login SDK
Web页面使用
import { AccountLogin } from "@seayoo-account/login-sdk";
// 环境标记支持 dev / prod
const loginSDK = new AccountLogin("dev");
// 返回 Error 表示意外错误,返回 false 表示用户关闭,返回非空字符串表示 idToken
const idToken = await loginSDK.login();
// 应优先检查 Error 给予提示或调整后续业务逻辑
if (idToken instanceof Error) {
message.error(idToken.message);
} else if (idToken) {
// 获得 idToken
}自定义配置
const loginSDK = new AccountLogin("dev", {
/** 是否开启匿名登录模式,开启后隐藏logo/协议和密码登录模式 */
anonymous: false,
/** 登录页面打开超时时间,默认 6000,即 6 秒 */
timeout: 6000,
/** 背景透明度,默认 0.5 */
backgroundOpacity: 0.5,
/** 是否隐藏密码登录模式 */
hidePasswordLogin: false,
/** 弹窗的位置,默认 "middle",可选 "bottom" */
dialogPosition: "middle";
/** 用户协议链接,域名受限 */
userAgreementUrl: "https://www.seayoo.com/....",
/** 隐私政策链接,域名受限 */
privacyPolicyUrl: "https://jxfs.seayoo.com/...."
});
// 修改配置
loginSDK.config({ ... })错误上报
import { captureException } from "@sentry/vue";
const loginSDK = new AccountLogin("prod");
loginSDK.onError((error) => captureException(error));小程序使用
import { NetRequest } from "@seayoo-web/request/wx";
import { AccountLoginWeixin } from "@seayoo-account/login-sdk";
// 环境标记支持 dev / prod
const loginSDK = new AccountLoginWeixin("dev", APP_ID, NetRequest);
// 如果有本地缓存,则直接调用 login 进行静默登录
if (loginSDK.hasLoginToken) {
const idToken = await loginSDK.login();
if (idToken instanceof Error) {
message.error(idToken.message);
} else if (idToken === "needCode") {
// 登录 token 失效,需要用户重新授权手机号
} else {
// 获得 idToken
}
}
// 如果没有本地缓存,则需要先获取用户授权手机号
// https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
// 获得 code 之后调用登录
const idToken = await loginSDK.login(weixinCode);
if (idToken instanceof Error) {
message.error(idToken.message);
} else {
// 获得 idToken
}