!150 更新人脸认证UI代码

Merge pull request !150 from Tianshi Liu/update_api9
This commit is contained in:
openharmony_ci
2022-06-08 03:56:35 +00:00
committed by Gitee
21 changed files with 92 additions and 48 deletions
@@ -15,7 +15,7 @@
import Ability from '@ohos.application.Ability'
import Log from '../utils/log'
import UserIDMModel from '../model/userIDMModel'
import UserIdmModel from '../model/userIdmModel'
import CommonController from '../controller/commonController'
export default class MainAbility extends Ability {
@@ -28,7 +28,7 @@ export default class MainAbility extends Ability {
onDestroy() {
Log.info(this.TAG, 'Application onDestroy+')
UserIDMModel.destroy()
UserIdmModel.destroy()
Log.info(this.TAG, 'Application onDestroy-')
}
@@ -17,7 +17,7 @@ import Log from '../utils/log'
@CustomDialog
export default struct ConfirmDialog {
private TAG: string = "ConfirmDialog:"
private TAG: string = "ConfirmDialog"
private controller: CustomDialogController;
private title: string | Resource
private content: string | Resource
@@ -17,7 +17,7 @@ import Log from '../utils/log'
import display from '@ohos.display';
class Config {
private TAG: string = "Config:"
private TAG: string = "Config"
private deviceType : string = "tablet"
private nonAppBarDisplayHeight: number = 0
private nonDisplayHeight: number = 0
@@ -16,10 +16,10 @@
import Log from '../utils/log'
import router from '@system.router';
import Config from '../config/config'
import UserIDMModel from '../model/userIDMModel'
import UserIdmModel from '../model/userIdmModel'
class CommonController {
private TAG: string = "CommonController:"
private TAG: string = "CommonController"
async routeBack() {
Log.info(this.TAG, 'router getLength: ' + router.getLength())
@@ -36,10 +36,10 @@ class CommonController {
async terminateAbility() {
Log.info(this.TAG, 'terminate ability+')
UserIDMModel.destroy()
UserIdmModel.destroy()
globalThis.abilityContext.terminateSelf()
.then(data => Log.info(this.TAG, 'terminateSelf promise::then : ' + data))
.catch(error => Log.error(this.TAG, 'terminateSelf promise::catch : ' + error));
.then(data => Log.info(this.TAG, 'terminateSelf promise then ' + data))
.catch(error => Log.error(this.TAG, 'terminateSelf promise catch ' + error));
Log.info(this.TAG, 'terminate ability-')
}
@@ -76,7 +76,9 @@ class CommonController {
if (Config.getDeviceType() != 'phone') {
return;
}
let sideLength = Math.floor((nonAppBarDisplayHeight / 4) * 2)
nonAppBarDisplayHeight = nonAppBarDisplayHeight + AppStorage.Get<number>('SYSTEM_NAVIGATION_BAR_HEIGHT')
Log.info(this.TAG, 'update nonAppBarDisplayHeight to ' + nonAppBarDisplayHeight)
let sideLength = Math.floor(nonAppBarDisplayHeight / 2)
AppStorage.SetOrCreate('enrollImageHeight', sideLength);
AppStorage.SetOrCreate('enrollImageWidth', nonAppBarDisplayWidth);
// when percentage is 166%, circular diameter == height
@@ -91,6 +93,8 @@ class CommonController {
if (Config.getDeviceType() != 'tablet') {
return;
}
displayHeight = displayHeight + AppStorage.Get<number>('SYSTEM_NAVIGATION_BAR_HEIGHT') + AppStorage.Get<number>('SYSTEM_STATUS_BAR_HEIGHT')
Log.info(this.TAG, 'update displayHeight to ' + displayHeight)
let sideLength = Math.floor(Math.min(displayWidth, displayHeight / 2) * 0.8 / 2) * 2
Log.info(this.TAG, 'sideLength ' + sideLength)
AppStorage.SetOrCreate('enrollImageHeight', sideLength);
@@ -159,6 +163,13 @@ class CommonController {
buffer.push(0)
return new Uint8Array(buffer)
}
getStartViewImage() : any {
if (Config.getDeviceType() === 'tablet') {
return $r('app.media.face_start_view_pad')
}
return $r('app.media.face_start_view')
}
}
let commonController = new CommonController();
@@ -17,11 +17,11 @@ import Constants from '../config/constant'
import Log from '../utils/log'
import router from '@system.router';
import CommonController from '../controller/commonController'
import UserIDMModel from '../model/userIDMModel'
import UserIdmModel from '../model/userIdmModel'
import UserAuthModel from '../model/userAuthModel'
class EnrollingController {
private TAG: string = "EnrollingController:"
private TAG: string = "EnrollingController"
private ANIMATION_TIME: number = 2000
private enrolling: boolean = false
@@ -62,8 +62,8 @@ class EnrollingController {
}
let setResult = await UserAuthModel.setSurfaceId(AppStorage.Get('xComponentSurfaceId'))
Log.info(this.TAG, 'setSurfaceId result is ' + setResult)
UserIDMModel.setOnAcquireCallback(this.onAcquire.bind(this))
UserIDMModel.enrollFace().then(this.processResult.bind(this))
UserIdmModel.setOnAcquireCallback(this.onAcquire.bind(this))
UserIdmModel.enrollFace().then(this.processResult.bind(this))
this.enrolling = true
Log.info(this.TAG, 'startEnroll-')
}
@@ -15,7 +15,7 @@
import Log from '../utils/log'
import UserAuthModel from '../model/userAuthModel'
import UserIDMModel from '../model/userIDMModel'
import UserIdmModel from '../model/userIdmModel'
import router from '@system.router';
class EntryViewController {
@@ -23,14 +23,14 @@ class EntryViewController {
constructor() {
Log.info(this.TAG, "constructor+")
UserIDMModel.updateFaceInfo()
UserIdmModel.updateFaceInfo()
Log.info(this.TAG, "constructor-")
}
async doPINAuth() {
try {
Log.info(this.TAG, "doPINAuth+")
let challenge = await UserIDMModel.getChallenge()
let challenge = await UserIdmModel.getChallenge()
Log.info(this.TAG, "get challenge " + JSON.stringify(challenge) )
let token = await UserAuthModel.authPin(challenge)
Log.info(this.TAG, "authPin result " + JSON.stringify(token))
@@ -38,14 +38,14 @@ class EntryViewController {
Log.error(this.TAG, "authPin fail ")
throw 1
}
UserIDMModel.setToken(token)
UserIdmModel.setToken(token)
Log.info(this.TAG, "set token ok")
} catch(err) {
Log.error(this.TAG, "exception " + JSON.stringify(err))
Log.info(this.TAG, "doPINAuth -")
throw 1
}
if (UserIDMModel.getFaceNum() == 0) {
if (UserIdmModel.getFaceNum() == 0) {
Log.info(this.TAG, "route to enrollIntro")
router.replace({uri: 'pages/enrollIntro'})
} else {
@@ -14,11 +14,11 @@
*/
import Log from '../utils/log'
import UserIDMModel from '../model/userIDMModel'
import UserIdmModel from '../model/userIdmModel'
import CommonController from '../controller/commonController'
class FaceConfigController {
private TAG: string = "FaceConfigController:"
private TAG: string = "FaceConfigController"
constructor() {
Log.info(this.TAG, "constructor+")
@@ -27,7 +27,7 @@ class FaceConfigController {
deleteFace() {
Log.info(this.TAG, "deleteFace+")
UserIDMModel.deleteFace().then((result)=>{
UserIdmModel.deleteFace().then((result)=>{
Log.info(this.TAG, "deleteFace result: " + result)
if (result == 0) {
Log.info(this.TAG, "deleteFace routeBack+")
@@ -17,8 +17,8 @@ import Log from '../utils/log'
import account_osAccount from '@ohos.account.osAccount';
import CommonController from '../controller/commonController'
class UserIDMModel {
readonly TAG: string = "UserIDMModel"
class UserIdmModel {
readonly TAG: string = "UserIdmModel"
protected userIdentityManager: any
protected challenge: Uint8Array
protected token: Uint8Array
@@ -44,12 +44,12 @@ class UserIDMModel {
setToken(token: Uint8Array) {
let tokenStr = CommonController.uin8Array2JsonString(token);
AppStorage.SetOrCreate<string>("UserIDM_Token", tokenStr)
AppStorage.SetOrCreate<string>("UserIdm_Token", tokenStr)
Log.info(this.TAG, "setToken ok " + JSON.stringify(token))
}
getToken() : Uint8Array {
let tokenStr = AppStorage.Get<string>("UserIDM_Token")
let tokenStr = AppStorage.Get<string>("UserIdm_Token")
let token = CommonController.jsonString2Uint8Array(tokenStr)
Log.info(this.TAG, "getToken ok " + JSON.stringify(token))
return token
@@ -57,12 +57,12 @@ class UserIDMModel {
setCredentialId(credId: Uint8Array) {
let credIdStr = CommonController.uin8Array2JsonString(credId);
AppStorage.SetOrCreate<string>("UserIDM_CredId", credIdStr)
AppStorage.SetOrCreate<string>("UserIdm_CredId", credIdStr)
Log.info(this.TAG, "setCredentialId ok " + JSON.stringify(credId))
}
getCredentialId() : Uint8Array {
let credIdStr = AppStorage.Get<string>("UserIDM_CredId")
let credIdStr = AppStorage.Get<string>("UserIdm_CredId")
let credId = CommonController.jsonString2Uint8Array(credIdStr)
Log.info(this.TAG, "getCredentialId ok " + JSON.stringify(credId))
return credId
@@ -71,7 +71,7 @@ class UserIDMModel {
updateFaceInfo() {
this.userIdentityManager.getAuthInfo(2).then((data) => {
Log.info(this.TAG, 'getAuthInfo length ' + data.length)
AppStorage.SetOrCreate<number>("UserIDM_FaceNum", data.length);
AppStorage.SetOrCreate<number>("UserIdm_FaceNum", data.length);
if (data.length > 0) {
this.setCredentialId(data[0].credentialId);
}
@@ -79,7 +79,7 @@ class UserIDMModel {
}
getFaceNum(): number {
return AppStorage.Get<number>("UserIDM_FaceNum");
return AppStorage.Get<number>("UserIdm_FaceNum");
}
setOnAcquireCallback(onAcquireCallback: (result: number) => any) {
@@ -135,5 +135,5 @@ class UserIDMModel {
}
}
let userIDMModel = new UserIDMModel();
export default userIDMModel as UserIDMModel
let userIdmModel = new UserIdmModel();
export default userIdmModel as UserIdmModel
@@ -40,7 +40,7 @@ import CommonController from '../controller/commonController'
@Component
export default struct EnrollDeclare {
private pattern: string = "2D";
private TAG: string = "EnrollDeclare:"
private TAG: string = "EnrollDeclare"
@StorageLink('CONTENT_TYPE_WIDTH') CONTENT_TYPE_WIDTH: number = 0
build() {
@@ -46,7 +46,7 @@ import Constants from '../config/constant'
@Entry
@Component
struct EnrollIntro {
@State TAG: string = "EnrollIntro:"
@State TAG: string = "EnrollIntro"
@StorageLink('enrollImageHeight') enrollImageHeight: number = 0
@StorageLink('enrollImageWidth') enrollImageWidth: number = 0
@StorageLink('CONTENT_TYPE_WIDTH') CONTENT_TYPE_WIDTH: number = 0
@@ -66,7 +66,7 @@ struct EnrollIntro {
top : "12vp",
bottom: "24vp"
})
Image($r('app.media.startImage_2D'))
Image(CommonController.getStartViewImage())
.objectFit(ImageFit.Contain)
.width(this.enrollImageWidth)
.height(this.enrollImageHeight)
@@ -34,7 +34,7 @@ import EnrollingController from '../controller/enrollingController'
@Entry
@Component
struct Enrolling {
private TAG: string = "Enrolling:"
private TAG: string = "Enrolling"
private xComponentController = new XComponentController()
@StorageLink('enrollStatus') enrollStatus: string = ""
@StorageLink('stackVideoVisibility') stackVideoVisibility: Visibility = Visibility.Visible
@@ -13,6 +13,8 @@
* limitations under the License.
*/
import window from '@ohos.window'
import BackComponent from '../component/backComponent'
import Log from '../utils/log'
import EntryViewController from '../controller/entryViewController'
@@ -22,8 +24,12 @@ import Constants from '../config/constant'
@Entry
@Component
struct Index {
private TAG: string = "Index:"
private TAG: string = "Index"
private TYPE_STATUS_BAR_TEMP:number = 2108 // In current version, windows subscribe type id is wrong, temporary use these id
private TYPE_NAVIGATION_BAR_TEMP:number = 2112
@State resultString: string = ""
@StorageLink('SYSTEM_STATUS_BAR_HEIGHT') SYSTEM_STATUS_BAR_HEIGHT: number = 0
@StorageLink('SYSTEM_NAVIGATION_BAR_HEIGHT') SYSTEM_NAVIGATION_BAR_HEIGHT: number = 0
build() {
Column() {
@@ -62,6 +68,22 @@ struct Index {
.height("100%")
.backgroundColor($r("sys.color.ohos_id_color_sub_background"))
.onAreaChange((_, newArea) => {
window.on('systemBarTintChange', (data) => {
Log.info(this.TAG, 'receive system bar tint change: ' + JSON.stringify(data));
for (let i = 0; i < data.regionTint.length; i++) {
let regionData = data.regionTint[i]
if (regionData.type == this.TYPE_STATUS_BAR_TEMP) {
this.SYSTEM_STATUS_BAR_HEIGHT = px2vp(regionData.region.height)
Log.info(this.TAG, "set status bar height " + regionData.region.height)
continue
}
if (regionData.type == this.TYPE_NAVIGATION_BAR_TEMP) {
this.SYSTEM_NAVIGATION_BAR_HEIGHT = px2vp(regionData.region.height)
Log.info(this.TAG, "set navigation bar height " + this.SYSTEM_NAVIGATION_BAR_HEIGHT)
continue
}
}
});
Log.info(this.TAG, "new display area :" + JSON.stringify(newArea))
CommonController.setDisplaySize(Number(newArea.width), Number(newArea.height))
Log.info(this.TAG, "total area w: " + newArea.width + " h: " + newArea.height)
@@ -42,7 +42,7 @@ import Constants from '../config/constant'
@Entry
@Component
struct FaceConfig {
@State TAG: string = "FaceConfig:"
@State TAG: string = "FaceConfig"
@State touched: boolean = false
@StorageLink('CONTENT_TYPE_WIDTH') CONTENT_TYPE_WIDTH: number = 0
@StorageLink('CARD_TYPE_WIDTH') CARD_TYPE_WIDTH: number = 0
@@ -13,19 +13,18 @@
* limitations under the License.
*/
import hilog from '@ohos.hilog'
const TAG = 'Settings_FaceAuth';
const IAM_DOMAIN_ID_FACE = 0xD002442;
export default class Log {
static info(tag, log) {
console.info(`Info:${TAG}:${tag} ${log}`);
static info(tag, content) {
hilog.info(IAM_DOMAIN_ID_FACE, TAG + ":" + tag, content,);
}
static debug(tag, log) {
console.debug(`Debug:${TAG}:${tag} ${log}`);
}
static error(tag, log) {
console.error(`Error:${TAG}:${tag} ${log}`);
static error(tag, content) {
hilog.error(IAM_DOMAIN_ID_FACE, TAG + ":" + tag, content,);
}
}
@@ -21,7 +21,6 @@
"description": "$string:description_enrollmentstartview",
"mainElement": "com.ohos.settings.faceauth.enrollmentstartview",
"deviceTypes": [
"phone",
"tablet"
],
"deliveryWithInstall": true,
@@ -50,6 +49,8 @@
"description": "$string:mainability_description",
"icon": "$media:app_icon",
"label": "$string:app_name",
"startWindowIcon": "$media:transparent",
"startWindowBackground": "$color:background",
"visible": true,
"skills": [
{
@@ -62,4 +63,4 @@
}
]
}
}
}
@@ -0,0 +1,8 @@
{
"color": [
{
"name": "background",
"value": "#00000000"
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

+3
View File
@@ -13,5 +13,8 @@
"hypium": "^1.0.0",
"@ohos/hvigor": "1.0.6",
"@ohos/hvigor-ohos-plugin": "1.0.6"
},
"scripts": {
"buildOhosHaps": "hvigor assembleHap"
}
}