### 安装
npm install @makeblock/passport-client``bash`
yarn add @makeblock/passport-client
- @makeblock/passport-client 里面添集成了环境判断,默认是生成环境。若需要切换环境变量使用如下方式,使用 client.env 设置即可。client.env 是枚举类型,可从 @makeblock/passport-client 导出 CLIENT_ENV 即可,具体使用方式,参看下面文档。token
- 缓存用户 使用的是 cookie,所以需要注意 cookie 域可能存在问题,可以重新设置 client.cookieConfig。
`ts
// 引用
import client, { PAGE_MODE, CLIENT_ENV } from '@makeblock/passport-client';
// 设置环境,默认生成环境
client.env = CLIENT_ENV.TEST;
// 设置是否国际版本
client.intl = true;
// 设置 接入的平台标识
client.platform = '';
// 设置语言
client.lang = '';
// 设置 登录完成跳转回去的链接地址。
// 注:输入的网址不需要转义,我们会默认对其进行转义。
// 没有特殊情况不要设置该属性值。
client.redirect = '';
// 获取跳转登录页面的 URL
const url = client.url;
// 获取登录 URL
const registerUrl = client.getUrl('register');
// 根据获取的 URL 跳转即可。
`
`ts`
const url = client.url;
`ts`
const url = client.stuLoginUrl;
`ts`
const url = client.profile;
`ts`
const utoken = client.token;
ts
const url = client.getUrl('pathName');
`$3
`ts
// 设置展示模式为窗口模式,默认页面形式
client.mode = PAGE_MODE.WIN;
// 设置登录成功回调,窗口模式才需要设置
client.close = (data: { type: string; token: string }) => {
// to do something.
};
// 是否显示登陆注册切换
client.showSwitchLoginRegister = true;
// 是否显示第三方登陆
client.showSocialLogin = true;
// 是否仅手机号登录
client.onlyPhoneLogin = true;
// 是否使用 localstorage 存储策略
client.useLocalstorage = true;
// 重新登录,忽略已登录帐号
client.useReLogin = true;
// 使用自定义图片 logo
client.logo = 'https:'//xxxxx';
// 使用文字 logo
client.textLogo = 'xxxxx';
// 版权信息
client.copyright = 'xxxxx';
// 隐藏 Logo
client.hideLogo = true;
// 是否显示切换服务器的操作
client.showSwitchHost = true;
// 设置切换服务回调
client.switchHost = (isIntl: boolean) => {
// to do something.
};
// 添加消息监听,返回出事件监听
const remove = client.listenMessage();
`$3
`ts
try {
const user = await client.userInfo();
} catch (error) {
// TODO: 未登录或登录失效
}
`$3
`ts
try {
await client.logout();
} catch (error) {
// TODO: 退出登录失败
}
`$3
client 会根据,是否是国际版自动切换 cookie 的域和过期时间。
中国版的 cookie 的域为 .makeblock.com。
国际版的 cookie 的域为 .mblock.cc。
默认有效期都是一年#### 修改配置方法
`ts
client.cookieConfig = {
domain: 'xxxx', // 域
expires: 60 // 过期时间
};
``