haierUserCenter

来自于:APICloud 官方>

基础类

initMapSDK open close show hide

概述

本模块封装了海尔的用户中心SDK-IOS V3_0

环境要求

支持 iOS7.0及以上的系统版本

准备

1,http 请求配置:

由于iOS9引入了 AppTransportSecurity(ATS)特性,要求 App 访问的网络使用 HTTPS 协议,如果不做特殊设置,http 请求会失败,所以需要开发者在 Info.plist 中增加如下字段:

  1. < key>NSAppTransportSecurity< /key>
  2. < dict>
  3. < key>NSAllowsArbitraryLoads< /key>
  4. < true/>
  5. < /dict>

info.plist 文件配置方法,参考 APICloud 官方论坛帖子

2,设置 SSO 的白名单

由于需要跳转到认证服务器来获取授权码,之后再跳转回 APP,所以需要设置白名单,设置如下:

  1. <key>LSApplicationQueriesSchemes</key>
  2. <array>
  3. <!--URL Scheme -->
  4. <string>HaierSSOSDK</string>
  5. <string>HaierMaster</string>
  6. </array>

在 APICloud 平台上设置白名单方法是在 config.xml 文件内设置如下代码:

  1. //多个值之间用英文逗号隔开
  2. <preference name="querySchemes" value="weixin,sinaweibo" />

详情参考 APICloud 官方文档——-config 配置可被检测的 URL

使用此模块之前必须先配置 config.xml 文件,配置方法如下:

  • 名称:haierUserCenter
  • 参数:ios_api_key
  • 配置示例:
  1. <feature name="haierUserCenter">
  2. <param name="urlScheme" value="haierwantou"/>
  3. <param name="registerAppId" value="wantou"/>
  4. <param name="appSecret" value="secret"/>
  5. <param name="oauthURL" value="http://taccount.haier.com"/>
  6. <param name="baseURL" value="http://taccount.haier.com"/>
  7. <param name="uhomeAppId" value="MB-RSQCSAPP-0000"/>
  8. <param name="uhomeType" value="type_uhome_common_token"/>
  9. <param name="uhomeClientId" value="123456"/>
  10. <param name="uhomeSign" value="76dfe3686b3251a223e458db5445711447e967b48504f87c09c4b12dbee21943"/>
  11. <param name="HUCSDKEnv" value="test"/>
  12. </feature>
  • 字段描述:

    urlScheme:用于实现应用间跳转及数据交换。urlScheme 的 value 值格式被限定为:haier+’自定义名称’ registerAppId:注册 appid appSecret:密钥 oauthURL:授权url baseURL:基础url uhomeAppId:uhome的appid uhomeType:uhome的type uhomeSign:uhome的签名字符串 HUCSDKEnv:生成环境,取值范围:test(开发环境);release(发布环境)

模块接口

oauth2

该方式是基于 OAuth 2.0 的授权码模式(authorization code),当调用了接口后会内部打开一个 webView 加载的授权页面,然后进行授权

oauth2({params},callback(ret, err))

params

theme:

  • 类型:字符串
  • 描述:(可选项)自定义颜色,注意:不得包含 ‘#’,请直接输入 16进制颜色,如:‘111111’
  • 默认:123456

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否登录成功,true||false
  3. accessToken: '', //字符串类型;
  4. tokenType: '', //字符串类型;
  5. uhomeAccessToken: '', //字符串类型;
  6. refreshToken: '', //字符串类型;
  7. expires: , //数字类型;
  8. creatTime: //数字类型;
  9. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. error: '', //字符串类型;
  3. errorMessage: '', //字符串类型;
  4. captcha_token: '', //字符串类型;
  5. captcha_image: '' //字符串类型;
  6. }

示例代码

  1. var haier = api.require('haierUserCenter');
  2. haier.oauth2({
  3. theme:'ff0000'
  4. },function(ret) {
  5. if (ret.status) {
  6. alert('登录成功');
  7. }
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本

scanLoginWithQRCodeURL

调用扫描相关模块扫描二维码或者条码,得到code(字符串)然后传给本接口登录

scanLoginWithQRCodeURL({params},callback(ret))

params

code:

  • 类型:字符串
  • 描述:扫码后得到的code

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. success: true, //布尔类型;是否登录成功,true||false
  3. rescan: '', //布尔类型;是否需要重扫,true||false
  4. message: '' //字符串类型;错误信息
  5. }

示例代码

  1. var haier = api.require('haierUserCenter');
  2. haier.scanLoginWithQRCodeURL({
  3. code:'ff0000'
  4. },function(ret) {
  5. if (ret.success) {
  6. alert('登录成功');
  7. }
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本

userMessage

获取用户信息

userMessage(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否获取成功,true||false
  3. userMessage: '', //字符串类型;
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. error: '', //字符串类型;
  3. errorMessage: '', //字符串类型;
  4. captcha_token: '', //字符串类型;
  5. captcha_image: '' //字符串类型;
  6. }

示例代码

  1. var haier = api.require('haierUserCenter');
  2. haier.userMessage(function(ret) {
  3. if (ret.status) {
  4. alert('获取成功');
  5. }
  6. });

可用性

iOS系统

可提供的1.0.0及更高版本

unchainAuthorization

登出,清理数据

unchainAuthorization()

示例代码

  1. var haier = api.require('haierUserCenter');
  2. haier.unchainAuthorization();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

refreshToken

刷新token

refreshToken({params},callback(ret, err))

params

refreshToken:

  • 类型:字符串
  • 描述:刷新token

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否刷新成功,true||false
  3. accessToken: '', //字符串类型;
  4. tokenType: '', //字符串类型;
  5. uhomeAccessToken: '', //字符串类型;
  6. refreshToken: '', //字符串类型;
  7. expires: , //数字类型;
  8. creatTime: //数字类型;
  9. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. error: '', //字符串类型;
  3. errorMessage: '', //字符串类型;
  4. captcha_token: '', //字符串类型;
  5. captcha_image: '' //字符串类型;
  6. }

示例代码

  1. var haier = api.require('haierUserCenter');
  2. haier.refreshToken({
  3. refreshToken:'ff0000'
  4. },function(ret) {
  5. if (ret.status) {
  6. alert('刷新成功');
  7. }
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本