1.1.0 • Published 2 years ago

ciam-miniapp-sdk v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

使用SDK完成集成开发

1. SDK实例化
  • 代码示例
import { WXAppletClient }  from 'ciam-miniapp-sdk';
const authSDK = new WXAppletClient({
      clientId: 'your-cliendId',
      authSourceId: 'your-authSourceId',
      userDomain: 'your-userDomain',
	       agreements: [
        {
            "name": "用户协议|隐私协议|附加协议|...", // 必传
            "url": "https://qq.com", // 必传,最大长度1024
            "version": "1.0" // 必传,最大长度10
        },
        {
            "name": "用户协议|隐私协议|附加协议|...", // 必传
            "url": "https://baidu.com", // 必传,最大长度1024
            "version": "2.0.0" // 必传,最大长度10
        }
      ]
    });
  • 初始化参数说明
参数名类型是否必填长度限制描述
clientIdstring-管理端添加的小程序应用ID
authSourceIdstring-管理端添加的小程序认证源ID
userDomainstring-租户域名(自定义域名获取)
agreementsarrayAgreement-如协议流程开启则开发者需要上传协议签署
  • Agreement参数说明
参数名类型是否必填长度限制描述
namestring100协议名称,如用户协议、隐私协议、附加协议
urlstring1024协议链接地址
versionstring10协议版本号
2. 静默授权登录loginCode
  • 代码示例
async bindLoginBySlience() {
    try {
      await authSDK.loginCode();
    }
    catch(err) {
      console.log('bindLoginBySlience error', err)
    }
    const userInfo = authSDK.getUser();
    if (userInfo) {
	      ...
	   }
  },
  • 参数说明 无

  • 返回值: 类型为PromiseUser|null,User结构如下

    首次登录时,静默授权只可获取wechatOpenid和wechatUnionId的值,其他信息需要在用户信息完善后获取。

{
   sub: "69bc2a4d-e575-41cf-bbc6-996e0911e2ec",
   username: "xxx",
   name: "xxx",
   gender: "female",
   phoneNumber: "+86-13612345678",
   email: "xxx@qq.com",
   nickname: "xxxx",
   wechatUnionId: "xxxxx",
   wechatOpenid: "xxxxx"
}
3. 用户信息授权登录 loginUser

首次登录时,用户信息授权只可获取下面在官网api中提供的部分信息,其他信息需要在用户信息完善后获取。

注意该方法需要页面产生点击事件(例如button上bindtap的回调中)后才可调用 官方说明见:获取用户信息

  • 代码示例
async bindLoginByUserInfo() {
    try {
      await authSDK.loginUser();
    }
    catch(err) {
      console.log('bindLoginByUserInfo error', err)
    }
    const userInfo = authSDK.getUser();
    if (userInfo) {
      ...
    }
  },
  • 参数说明 无

  • 返回值: 类型为PromiseUser|null,User结构如下

{
   sub: "69bc2a4d-e575-41cf-bbc6-996e0911e2ec",
   username: "xxx",
   name: "xxx",
   gender: "female",
   phoneNumber: "+86-13612345678",
   email: "xxx@qq.com",
   nickname: "xxxx",
   wechatUnionId: "xxxxx",
   wechatOpenid: "xxxxx"
}
4. 用户手机号授权登录loginPhone

首次登录时,手机号授权只可获取下面在官网api中提供的部分信息,其他信息需要在用户信息完善后获取。

注意该方法需要页面产生点击事件(例如button上bindtap的回调中)后才可调用 注意该方法已更新为官方最新版本的获取手机号接口,开发时请检查开发者工具是否更新以及小程序基础库版本是否在2.21.2以上,暂不支持旧版本调用。官方说明见:获取手机号

  • 代码示例
async bindLoginByPhone(e) {
   
    const {code} = e.detail;

    if (!code) {
      console.error('未获取到code,请检查开发者工具是否更新以及小程序基础库版本是否在2.21.2以上');
      return;
    }
    try { 
      await authSDK.loginPhone(code);
    }
    catch(err) {
      console.log('bindLoginByPhone error', err)
    }

    const userInfo = authSDK.getUser();
   
    if (userInfo) {
      ...
    }
   
  },
  • 参数说明 无

  • 返回值

{
   sub: "69bc2a4d-e575-41cf-bbc6-996e0911e2ec",
   username: "xxx",
   name: "xxx",
   gender: "female",
   phoneNumber: "+86-13612345678",
   email: "xxx@qq.com",
   nickname: "xxxx",
   wechatUnionId: "xxxxx",
   wechatOpenid: "xxxxx"
}
5. 获取登录状态 checkLoginState
  • 代码示例
const isLogin = authSDK.checkLoginState();
    if (!isLogin) {
      return;
    }
  • 参数说明 无

-返回值

true/false
6. 退出登录logout
  • 代码示例
await authSDK.logout();
  • 参数说明 无

  • 返回值: 类型为Boolean,结果如下

true/false
1.1.0

2 years ago

1.0.10-beta.2

2 years ago

1.0.10-beta.1

2 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.6-beta.4

3 years ago

1.0.6-beta.1

3 years ago

1.0.5-beta.2

3 years ago

1.0.6-beta.3

3 years ago

1.0.6-beta.2

3 years ago

1.0.5-beta.1

3 years ago

1.0.5-beta.0

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago