<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 1.下載 下載 [ 人臉登錄 SDK ](http://attachment.yun2win.com/v1/attachments/1589797711229407/85e6e32427f7c053a949d61997986451),里面包含了 SDK、 demo,開發者可以自己研讀實踐。 # ### 2.集成 將下載的 SDK 導入到項目并添加到 Targets -> General -> Embedded Binaries 里,如下圖 ![導入SDK](https://attachment.yun2win.com/v1/attachments/1589786596018679/75d9f95b8abf5d4d2c6f45deff9740ed) > Embed 要選中 Embed & Sign # 在需要使用的地方導入頭文件: ~~~ #import <FRS_SDK/FRS_SDK.h> ~~~ > 目前僅支持真機運行 > Build Configuration 僅支持 Release # ### 3.調用方式 ~~~ - (void)viewDidLoad { [super viewDidLoad]; // 創建實例 self.faceLogin = [[FRSFaceLogin alloc] initWithDelegate: self]; // 設置 accessToken (應從服務端獲取) [self.faceLogin setAccessToken: accessToken]; // 傳入照片進行識別 [self.faceLogin validate: image]; } // 在此設備首次識別成功會要求輸入工號進行驗證 - (void)handleConfirmForFaceLogin:(FRSFaceLogin *)faceLogin{ // 輸入工號后調用 [self.faceLogin confirm: number] 進行驗證 } // 識別成功后會接收到一個臨時 identityToken(5分鐘有效期) - (void)faceLogin:(FRSFaceLogin *)faceLogin didSuccessWithIdentityToken:(NSString *)identityToken{ // 獲取 identityToken 后提交到服務端進行登錄 } // 調用時捕獲到的一些事件需要處理 - (void)faceLogin:(FRSFaceLogin *)faceLogin handleEvent:(FRSFaceLoginEventCode)eventCode{ switch (eventCode) { case FRSFaceLoginEventCodeAccessTokenInvalid: case FRSFaceLoginEventCodeAccessTokenHasExpired: // 獲取并設置新 [self.faceLogin setAccessToken: accessToken] // 然后繼續調用 [self.faceLogin validate: image] break; case FRSFaceLoginEventCodeModuleDisabled: case FRSFaceLoginEventCodeModuleNotFormal: // 此類問題請到富源開放平臺查看 break; case FRSFaceLoginEventCodeNoFace: // 沒有在照片中找到人臉,使用新照片重試 [self.faceLogin validate: image] break; case FRSFaceLoginEventCodeNoMatchFace: // 照片中存在人臉但不在安全處人臉庫中,使用新照片重試 [self.faceLogin validate: image] break; case FRSFaceLoginEventCodeImageFormatError: // 傳入的圖片格式無法識別,請檢查圖片是否正確 break; } } // 執行失敗,可能是網絡錯誤或其它未知錯誤 - (void)faceLogin:(FRSFaceLogin *)faceLogin didFailWithError:(NSError *)error { } ~~~ # ### 4.API * FRSFaceLogin 類包含人臉登錄的主要操作 * FRSFaceLoginDelegate 代理協議包含登錄返回結果 * FRSFaceLoginEventCode 枚舉包含登錄異常的事件碼 # ### FaceLogin 成員方法 # ### ◆ 設置 Token ``` - (void)setAccessToken:(NSString *)accessToken; ``` 參數 name | 類型 | 說明 |-|-|-| accessToken | NSString | 在 App 服務器端生成的用于鑒權的 accessToken | >注解: >* 在初始化 FRSFaceLogin 實例后應首先調用 setAccessToken 設置 accessToken。為保證 App 的安全性,App 客戶端應請求 App 服務器端接口獲取 accessToken(服務端端生成 accessToken,詳見[從服務端生成 accessToken](https://help.yun2win.com/fuyuan-help/1700825#1_Accesstoken_0))。 >* 當 accessToken 無效(FRSFaceLoginEventCodeAccessTokenInvalid)或 accessToken 過期(FRSFaceLoginEventCodeAccessTokenHasExpired)時,客戶端需要重新請求服務器獲取 accessToken,并調用 setAccessToken 進行設置。 # ### ◆ 人臉驗證 ``` - (void)validate:(UIImage *)image; ``` 參數 name | 類型 | 說明 |-|-|-| image | NSString | 攝像頭采集的圖片 | >注解:第一次調用 validate 之前,必須設置應用的 accessToken。 # ### ◆ 確認工號 ``` - (void)confirm:(NSString *)uid; ``` 參數 name | 類型 | 說明 |-|-|-| uid | NSString | 員工工號 | > 注解: 此方法僅能在觸發 - (void)handleConfirmForFaceLogin:(FRSFaceLogin *)faceLogin 代理方法后使用,要求用戶輸入工號后調用 confirm 進行驗證。 # ### FRSFaceLoginDelegate 代理方法 ### ◆ 處理驗證員工工號 ``` - (void)handleConfirmForFaceLogin:(FRSFaceLogin *)faceLogin; ``` 接收到此回調需要讓用戶輸入員工工號,然后調用 confirm 進行驗證。 > * 首次調用 validate 成功會觸發 - (void)handleConfirmForFaceLogin:(FRSFaceLogin *)faceLogin 代理方法。 > * 用戶在一個設備識別并驗證成功后,下次就不會再觸發 - (void)handleConfirmForFaceLogin:(FRSFaceLogin *)faceLogin 代理方法。 # ### ◆ 人臉驗證通過 ``` - (void)faceLogin:(FRSFaceLogin *)faceLogin didSuccessWithIdentityToken:(NSString *)identityToken; ``` 人臉驗證成功后會觸發此回調 > identityToken 可用來獲取用戶信息。 # ### ◆ 人臉驗證異常事件處理 ``` - (void)faceLogin:(FRSFaceLogin *)faceLogin handleEvent:(FRSFaceLoginEventCode)eventCode; ``` 調用 validate 時可能會接收到的異常事件,需要處理后再次調用 validate | FRSFaceLoginEventCode 枚舉值 | 描述 | 處理方式 | | - | :-: | :-: | | FRSFaceLoginEventCodeModuleDisabled | 模塊已被禁用 | 開通模塊 | | FRSFaceLoginEventCodeModuleNotFormal | 模塊還未申請正式 | 申請正式服務 | | FRSFaceLoginEventCodeAccessTokenInvalid | accessToken 無效 | 實時更新 Token | | FRSFaceLoginEventCodeAccessTokenHasExpired | accessToken 已過期 | 實時更新 Token | | FRSFaceLoginEventCodeNoFace | 未檢測到人臉 | 拍照重試 | | FRSFaceLoginEventCodeNoMatchFace | 未找到匹配的人臉 | 拍照重試 | | FRSFaceLoginEventCodeImageFormatError | 輸入圖片格式不正確 | 檢查圖片是否正常 | # ### ◆ 人臉驗證出現錯誤 ``` - (void)faceLogin:(FRSFaceLogin *)faceLogin didFailWithError:(NSError *)error ``` 執行失敗,可能是網絡錯誤或其它未知錯誤
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看