更新时间:2024-03-14 07:01:24下载pdf
本文介绍如何管理用户账号信息。
因为用户自行上传头像会涉及合规问题,给您带来不必要的风险,该接口即将停止更新,请注意避免使用并及时调整应用功能。
参数说明
参数 | 说明 |
---|---|
headIcon | 头像图像 |
success | 接口发送成功回调 |
failure | 接口发送失败回调,error 表示失败原因 |
示例代码
Objective-C
- (void)updateHeadIcon:(UIImage *)headIcon {
[[ThingSmartUser sharedInstance] updateHeadIcon:headIcon success:^{
NSLog(@"update head icon success");
} failure:^(NSError *error) {
NSLog(@"update head icon failure: %@", error);
}];
}
Swift
func updateHeadIcon(_ headIcon: UIImage) {
ThingSmartUser.sharedInstance()?.updateHeadIcon(headIcon, success: {
print("update head icon success")
}, failure: { (error) in
if let e = error {
print("update head icon failure: \(e)")
}
})
}
接口描述
- (void)updateTempUnitWithTempUnit:(NSInteger)tempUnit
success:(nullable ThingSuccessHandler)success
failure:(nullable ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
tempUnit | 温度单位
|
success | 接口发送成功回调 |
failure | 接口发送失败回调,error 表示失败原因 |
示例代码
Objective-C
- (void)updateTempUnitWithTempUnit:(NSInteger)tempUnit {
[[ThingSmartUser sharedInstance] updateTempUnitWithTempUnit:tempUnit success:^{
NSLog(@"update temp unit success");
} failure:^(NSError *error) {
NSLog(@"update temp unit failure: %@", error);
}];
}
Swift
func updateTempUnit(withTempUnit tempUnit: Int) {
ThingSmartUser.sharedInstance().updateTempUnit(withTempUnit: tempUnit, success: {
print("update temp unit success")
}, failure: { error in
if let error = error {
print("update temp unit failure: \(error)")
}
})
}
接口描述
- (void)updateNickname:(NSString *)nickName
success:(nullable ThingSuccessHandler)success
failure:(nullable ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
nickName | 昵称 |
success | 接口发送成功回调 |
failure | 接口发送失败回调,error 表示失败原因 |
示例代码
Objective-C
- (void)modifyNickname:(NSString *)nickname {
[[ThingSmartUser sharedInstance] updateNickname:nickname success:^{
NSLog(@"updateNickname success");
} failure:^(NSError *error) {
NSLog(@"updateNickname failure: %@", error);
}];
}
Swift
func modifyNickname(_ nickName: String) {
ThingSmartUser.sharedInstance()?.updateNickname(nickName, success: {
print("updateNickname success")
}, failure: { (error) in
if let e = error {
print("updateNickname failure: \(e)")
}
})
}
接口描述
- (void)updateTimeZoneWithTimeZoneId:(NSString *)timeZoneId
success:(nullable ThingSuccessHandler)success
failure:(nullable ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
timeZoneId | 时区 ID,例如 Asia/Shanghai |
success | 接口发送成功回调 |
failure | 接口发送失败回调,error 表示失败原因 |
示例代码
Objective-C
- (void)updateTimeZoneId:(NSString *)timeZoneId {
[[ThingSmartUser sharedInstance] updateTimeZoneWithTimeZoneId:timeZoneId success:^{
NSLog(@"update timeZoneId success");
} failure:^(NSError *error) {
NSLog(@"update timeZoneId failure: %@", error);
}];
}
Swift
func updateTimeZoneId(_ timeZoneId: String) {
ThingSmartUser.sharedInstance()?.updateTimeZone(withTimeZoneId: timeZoneId, success: {
print("update timeZoneId success")
}, failure: { (error) in
if let e = error {
print("update timeZoneId failure: \(e)")
}
})
}
接口描述
- (void)updateLatitude:(double)latitude longitude:(double)longitude;
参数说明
参数 | 说明 |
---|---|
latitude | 用户所处的纬度 |
longitude | 用户所处的经度 |
示例代码
Objective-C
- (void)updateLocation {
double latitude = 30.000;
double longitude = 120.000;
[[ThingSmartSDK sharedInstance] updateLatitude:latitude longitude:longitude];
}
Swift
func updateLocation() {
ThingSmartSDK.sharedInstance()?.updateLatitude(latitude, longitude: longitude);
}
接口描述
/// Change to bind a mobile phone number or an email address.
/// @param account A mobile phone number or an email address.
/// @param countryCode The country code.
/// @param code The verification code.
/// @param success Called when the task is finished.
/// @param failure Called when the task is interrupted by an error.
- (void)changBindAccount:(NSString *)account
countryCode:(NSString *)countryCode
code:(NSString *)code
success:(nullable ThingSuccessHandler)success
failure:(nullable ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
account | 账号,可以是手机号码或者邮箱 |
countryCode | 国家码 |
code | 验证码 |
success | 接口发送成功回调 |
failure | 接口发送失败回调,error 表示失败原因 |
示例代码
Objective-C
[[ThingSmartSDK sharedInstance] changBindAccount:@"example@example.com"
countryCode:@"001"
code:@"123456"
success:^(id result) {
NSLog(@"Success: %@", result);
} failure:^(NSError *error) {
NSLog(@"Error: %@", error.localizedDescription);
}];
Swift
ThingSmartSDK.sharedInstance().changBindAccount("example@example.com",
countryCode: "001",
code: "123456",
success: { result in
print("Success: \(result)")
}, failure: { error in
print("Error: \(error.localizedDescription)")
})
接口描述
- (void)loginOut:(nullable ThingSuccessHandler)success
failure:(nullable ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
success | 接口发送成功回调 |
failure | 接口发送失败回调,error 表示失败原因 |
示例代码
Objective-C
- (void)loginOut {
[ThingSmartUser sharedInstance] loginOut:^{
NSLog(@"logOut success");
} failure:^(NSError *error) {
NSLog(@"logOut failure: %@", error);
}];
}
Swift
func loginOut() {
ThingSmartUser.sharedInstance()?.loginOut({
print("logOut success")
}, failure: { (error) in
if let e = error {
print("logOut failure: \(e)")
}
})
}
接口描述
注销账号后,一周后才会永久注销并删除用户账户中的所有信息。但是,如果用户在永久注销之前重新登录的话,则注销请求会被取消。
- (void)cancelAccount:(nullable ThingSuccessHandler)success
failure:(nullable ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
success | 接口发送成功回调 |
failure | 接口发送失败回调,error 表示失败原因 |
示例代码
Objective-C
- (void)cancelAccount {
[ThingSmartUser sharedInstance] cancelAccount:^{
NSLog(@"cancel account success");
} failure:^(NSError *error) {
NSLog(@"cancel account failure: %@", error);
}];
}
Swift
func cancelAccount() {
ThingSmartUser.sharedInstance()?.cancelAccount({
print("cancel account success")
}, failure: { (error) in
if let e = error {
print("cancel account failure: \(e)")
}
})
}
如果用户账号长期未登录或者账号修改了密码,在访问服务的过程中会返回 Session 过期的错误。此时,您需要监听 ThingSmartUserNotificationUserSessionInvalid
通知,跳转至登录页面,引导用户重新登录。
SDK 5.1 以前版本会在失效时收到多条 ThingSmartUserNotificationUserSessionInvalid
通知,导致您的回调被执行多次而造成问题。建议在处理通知时增加 仅处理一次 的控制,例如利用布尔变量、时间窗口等。
Objective-C
- (void)loadNotification {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sessionInvalid) name:ThingSmartUserNotificationUserSessionInvalid object:nil];
}
- (void)sessionInvalid {
NSLog(@"sessionInvalid");
//跳转至登录页面
MyLoginViewController *vc = [[MyLoginViewController alloc] init];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
}
Swift
func loadNotification() {
NotificationCenter.default.addObserver(self, selector: #selector(sessionInvalid), name: NSNotification.Name(rawValue: "ThingSmartUserNotificationUserSessionInvalid"), object: nil)
}
@objc func sessionInvalid() {
print("sessionInvalid")
//跳转至登录页面
let vc = MyLoginViewController()
window.rootViewController = vc
window.makeKeyAndVisible()
}
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈