haierUserCenter
来自于:APICloud 官方>
基础类
initMapSDK open close show hide
概述
本模块封装了海尔的用户中心SDK-IOS V3_0
环境要求
支持 iOS7.0及以上的系统版本
准备
1,http 请求配置:
由于iOS9引入了 AppTransportSecurity(ATS)特性,要求 App 访问的网络使用 HTTPS 协议,如果不做特殊设置,http 请求会失败,所以需要开发者在 Info.plist 中增加如下字段:
< key>NSAppTransportSecurity< /key>
< dict>
< key>NSAllowsArbitraryLoads< /key>
< true/>
< /dict>
info.plist 文件配置方法,参考 APICloud 官方论坛帖子。
2,设置 SSO 的白名单
由于需要跳转到认证服务器来获取授权码,之后再跳转回 APP,所以需要设置白名单,设置如下:
<key>LSApplicationQueriesSchemes</key>
<array>
<!--URL Scheme -->
<string>HaierSSOSDK</string>
<string>HaierMaster</string>
</array>
在 APICloud 平台上设置白名单方法是在 config.xml 文件内设置如下代码:
//多个值之间用英文逗号隔开
<preference name="querySchemes" value="weixin,sinaweibo" />
详情参考 APICloud 官方文档——-config 配置可被检测的 URL
使用此模块之前必须先配置 config.xml 文件,配置方法如下:
- 名称:haierUserCenter
- 参数:ios_api_key
- 配置示例:
<feature name="haierUserCenter">
<param name="urlScheme" value="haierwantou"/>
<param name="registerAppId" value="wantou"/>
<param name="appSecret" value="secret"/>
<param name="oauthURL" value="http://taccount.haier.com"/>
<param name="baseURL" value="http://taccount.haier.com"/>
<param name="uhomeAppId" value="MB-RSQCSAPP-0000"/>
<param name="uhomeType" value="type_uhome_common_token"/>
<param name="uhomeClientId" value="123456"/>
<param name="uhomeSign" value="76dfe3686b3251a223e458db5445711447e967b48504f87c09c4b12dbee21943"/>
<param name="HUCSDKEnv" value="test"/>
</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 对象
- 内部字段:
{
status: true, //布尔类型;是否登录成功,true||false
accessToken: '', //字符串类型;
tokenType: '', //字符串类型;
uhomeAccessToken: '', //字符串类型;
refreshToken: '', //字符串类型;
expires: , //数字类型;
creatTime: //数字类型;
}
err:
- 类型:JSON 对象
- 内部字段:
{
error: '', //字符串类型;
errorMessage: '', //字符串类型;
captcha_token: '', //字符串类型;
captcha_image: '' //字符串类型;
}
示例代码
var haier = api.require('haierUserCenter');
haier.oauth2({
theme:'ff0000'
},function(ret) {
if (ret.status) {
alert('登录成功');
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
scanLoginWithQRCodeURL
调用扫描相关模块扫描二维码或者条码,得到code(字符串)然后传给本接口登录
scanLoginWithQRCodeURL({params},callback(ret))
params
code:
- 类型:字符串
- 描述:扫码后得到的code
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
success: true, //布尔类型;是否登录成功,true||false
rescan: '', //布尔类型;是否需要重扫,true||false
message: '' //字符串类型;错误信息
}
示例代码
var haier = api.require('haierUserCenter');
haier.scanLoginWithQRCodeURL({
code:'ff0000'
},function(ret) {
if (ret.success) {
alert('登录成功');
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
userMessage
获取用户信息
userMessage(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;是否获取成功,true||false
userMessage: '', //字符串类型;
}
err:
- 类型:JSON 对象
- 内部字段:
{
error: '', //字符串类型;
errorMessage: '', //字符串类型;
captcha_token: '', //字符串类型;
captcha_image: '' //字符串类型;
}
示例代码
var haier = api.require('haierUserCenter');
haier.userMessage(function(ret) {
if (ret.status) {
alert('获取成功');
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
unchainAuthorization
登出,清理数据
unchainAuthorization()
示例代码
var haier = api.require('haierUserCenter');
haier.unchainAuthorization();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
refreshToken
刷新token
refreshToken({params},callback(ret, err))
params
refreshToken:
- 类型:字符串
- 描述:刷新token
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;是否刷新成功,true||false
accessToken: '', //字符串类型;
tokenType: '', //字符串类型;
uhomeAccessToken: '', //字符串类型;
refreshToken: '', //字符串类型;
expires: , //数字类型;
creatTime: //数字类型;
}
err:
- 类型:JSON 对象
- 内部字段:
{
error: '', //字符串类型;
errorMessage: '', //字符串类型;
captcha_token: '', //字符串类型;
captcha_image: '' //字符串类型;
}
示例代码
var haier = api.require('haierUserCenter');
haier.refreshToken({
refreshToken:'ff0000'
},function(ret) {
if (ret.status) {
alert('刷新成功');
}
});
可用性
iOS系统
可提供的1.0.0及更高版本