Harmony开发 eTs公共样式抽取
Harmony系统开发使用eTs开发过程中对于样式相同且重复使用的样式可以抽取成公共样式循环利用,类似于android的style样式。
import router from '@ohos.router'
import cryptoFramework from '@ohos.security.cryptoFramework';
import prompt from '@system.prompt'
class LoginBean {phone: string;pwd: string;name: string;
}
//标题
@Extend(Text) function extendTitle() {.fontSize(22).fontColor($r('app.color.primary_orange')).maxLines(1).fontWeight(FontWeight.Bold).margin({ top: 10, bottom: 40 })
}
//底部文字
@Extend(Text) function extendRight() {.fontSize(20).fontColor($r('app.color.white')).maxLines(1).fontWeight(FontWeight.Bold).margin({ bottom: 40 })
}
//item布局
@Extend(Row) function extendItemLayout() {.margin({ top: 4, bottom: 4 }).padding({ top: 4, bottom: 10 }).border({width: { bottom: 1 },color: { bottom: $r('app.color.primary_line') },// radius: { bottomRight: 80 },style: {bottom: BorderStyle.Solid} })
}@Extend(Image) function extendItemImg() {.objectFit(ImageFit.Contain).width(30).height(30)
}@Extend(TextInput) function extendItemInput(type) {.width('80%').fontSize(15).type(type).placeholderFont({ size: 15 }).placeholderColor($r('app.color.primary_gray')).caretColor($r('app.color.primary_green')).backgroundColor(Color.White)
}
// 字节流以16进制输出
function uint8ArrayToShowStr(uint8Array) {return Array.prototype.map.call(uint8Array, (x) => ('00' + x.toString(16)).slice(-2)).join('');
}function testGenerateAesKey() {// 创建对称密钥生成器let symKeyGenerator = cryptoFramework.createSymKeyGenerator('AES256');// 通过密钥生成器随机生成对称密钥let promiseSymKey = symKeyGenerator.generateSymKey();promiseSymKey.then(key => {// 获取对称密钥的二进制数据,输出长度为256bit的字节流let encodedKey = key.getEncoded();console.log("213==uint8ArrayToShowStr:"+ uint8ArrayToShowStr(encodedKey.data));})
}@Entry
@Component
struct Login {@State loginBean: LoginBean = new LoginBean();private loginClick() {console.log("213==phone:" + this.loginBean.phone)console.log("213==pwd:" + this.loginBean.pwd)testGenerateAesKey()if (!this.loginBean.phone) {prompt.showToast({message: '请输入手机号'})return} else if (!this.loginBean.pwd) {prompt.showToast({message: '请输入密码'})return}// router.pushUrl({// url: 'pages/Main'// }, router.RouterMode.Standard,// (err) => {// });}build() {Column() {Column() {Image($r('app.media.icon_app_label')).objectFit(ImageFit.Contain).width(60).height(60)Text($r('app.string.app_name')).extendTitle()}.width('100%').height(0).layoutWeight(1).alignItems(HorizontalAlign.Center).justifyContent(FlexAlign.End)Column() {//手机号Row() {Image($r('app.media.icon_login_phone')).objectFit(ImageFit.Contain).width(30).height(30)TextInput({ placeholder: '请输入手机号', text: 'xcxxcc1' }).extendItemInput(InputType.Normal).onChange((value: string) => {this.loginBean.phone = value})}.extendItemLayout()//密码Row() {Image($r('app.media.icon_login_pwd')).extendItemImg()TextInput({ placeholder: '请输入密码', text: ';lywg@2023' }).extendItemInput(InputType.Password).placeholderFont({ size: 14, weight: 400 }).onChange((value: string) => {this.loginBean.pwd = value})}.extendItemLayout()Row() {//登陆按钮Text('登录').backgroundColor($r("app.color.primary_green")).fontSize(18).fontColor($r("app.color.white")).borderRadius(8).margin({ top: 30 }).padding({ top: 5, bottom: 5, left: 40, right: 40 }).onClick(this.loginClick.bind(this))// .onClick(() => {})}}.borderRadius(10).margin({ left: 20, right: 20 }).padding({ top: 20, bottom: 20, left: 20, right: 20 }).backgroundColor($r('app.color.white'))Column() {Text('深化治理建设 打造数字山东').extendRight()}.width('100%').height(0).layoutWeight(1).alignItems(HorizontalAlign.Center).justifyContent(FlexAlign.End)}.width('100%').height('100%').backgroundImage($r('app.media.login_bg')).backgroundImageSize({ width: '100%', height: '100%' })}
}


相关文章:
Harmony开发 eTs公共样式抽取
Harmony系统开发使用eTs开发过程中对于样式相同且重复使用的样式可以抽取成公共样式循环利用,类似于android的style样式。 import router from ohos.router import cryptoFramework from ohos.security.cryptoFramework; import prompt from system.prompt class L…...
Java中的方法
在Java中,方法是一个重要的概念,它用于组织和执行可重复使用的代码块。本文将详细介绍Java中方法的概念、定义和使用方法,以及一些常见的编程技巧和注意事项。 一、方法的概念 在Java中,方法是用来执行特定任务的代码块。它封装了…...
存算一体还是存算分离?谈谈数据库基础设施的架构选择
从一则用户案例说起 某金融用户问,数据库用服务器本地盘性能好还是外置存储好?直觉上,本地盘路径短性能应该更好。然而测试结果却出乎意料:同等中等并发压力,混合随机读写模型,服务器本地SSD盘合计4万 IOPS…...
go模版引擎的使用~~
go模板语句 以下是一些go语言模板引擎的一些简单知识和使用 基础语法 重要!!!: 模板在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页࿰…...
我们为什么要进行敏捷开发培训
敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。它强调团队合作、客户需求和适应变化。进行敏捷开发培训其实有多种原因,我整理了一些,可以作为参考: 理解敏捷原则和实践: 敏捷开发不仅是一种方法论,更是一…...
【算法萌新闯力扣】:合并两个有序链表
力扣题目:合并两个有序链表 开篇 今天是备战蓝桥杯的第24天及算法村开营第2天。根据算法村的讲义,来刷链表的相关题目。今天要分享的是合并两个有序链表。 题目链接: 21.合并两个有序链表 题目描述 代码思路 通过创建一个新链表,然后遍历…...
BEV+Transformer架构加速“上车”,智能驾驶市场变革开启
BEVTransformer成为了高阶智能驾驶领域最为火热的技术趋势。 近日,在2023年广州车展期间,不少车企及智能驾驶厂商都发布了BEVTransformer方案。其中,极越01已经实现了“BEVTransformer”的“纯视觉”方案的量产,成为国内唯一量产…...
Java中的jvm——面试题+答案(JVM的一些高级概念、调优技巧、垃圾回收算法等)——第13期
当涉及到Java虚拟机(JVM)时,面试官可能涉及更深入的问题,涵盖性能调优、垃圾回收算法、类加载机制等方面。 什么是类加载机制?请解释类加载的过程。 答案: 类加载是将类的.class文件加载到内存中的过程&…...
Android修行手册-ViewPager定制页面切换以及实现原理剖析
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…...
Mycat实现读写分离
Mycat实现读写分离 Mycat支持MySQL主从复制状态绑定的读写分离机制。这里实现的也是基于MySQL主从复制的读写分离。 MySQL主从复制配置 首先要配置MySQL的主从复制,这里配置的是一主一次从。可以参考下面的文章。 https://blog.csdn.net/wsb_2526/article/detail…...
Ceph----CephFS文件系统的使用:详细实践过程实战版
CephFS 介绍 是一个基于 ceph 集群 且兼容 POSIX 标准的文件系统。 创建 cephfs 文件系统时 需要在 ceph 集群中添加 mds 服务,该服务 负责处理 POSIX 文件系统中的 metadata 部分, 实际的数据部分交由 ceph 集群中的 OSD 处理。 cephfs 支持以内核模块…...
python tkinter 使用(七)
python tkinter 使用(七) 本篇文章主要讲下tkinter 中的message 控件. Message控件可以用于在窗口中显示一段文本消息. 以下是个简单的例子: #!/usr/bin/python3 # -*- coding: UTF-8 -*- """Author: zhTime 2023/11/24 上午11:38 .Email:Describe: "…...
17. Python 数据库操作之MySQL和SQLite实例
目录 1. 简介2. 使用PyMySQL2. 使用SQLite 1. 简介 数据库种类繁多,每种数据库的对外接口实现各不相同,为了方便对数据库进行统一的操作,大部分编程语言都提供了标准化的数据库接口,用户不需要了解每种数据的接口实现细节&#x…...
Kafka-TopicPartition
Kafka主题与分区 主题与分区 topic & partition,是Kafka两个核心的概念,也是Kafka的基本组织单元。 主题作为消息的归类,可以再细分为一个或多个分区,分区也可以看作对消息的二次归类。 分区的划分为kafka提供了可伸缩性、水…...
英特尔工作站:助力专业用户实现高效创作
原创 | 文 BFT机器人 英特尔工作站是由全球知名的英特尔公司设计和开发的一款计算平台。英特尔在工作站处理器领域将其产品分为性能型和移动型两类,它的诞生旨在满足专业用户在科学、工程、设计等领域对高性能计算的需求。英特尔工作站配备了最新的英特尔处理器、大…...
软件工程期末复习(选择+填空+判断)
文章目录 软件工程期末复习一、 选择题 软件工程期末复习 一、 选择题 1.“软件危机”的表现不包括:(c) A、软件产品不能按期交付 B、用户对“已完成的”软件产品时常不满意 C、程序员越来越供不应求 D、软件项目难以管理,维护困…...
群晖NAS基础设置
群晖NAS基础设置 最近一直在玩群晖NAS系统,有一些基础的配置跟大家分享一下 开启ssh登录 1.开启方法 控制面板—>终端和SNMP—>终端机 2.使用ssh软件登录 这里我用SecureCRT登录 进入ssh 3.进入root用户 starstar-nas:~$ sudo su -l root Password: ro…...
2023亚太杯数学建模A题B题C题选题建议,思路分析,模型代码
目录 ABC题思路模型代码:获取见文末名片,第一时间更新 视频连接讲解如上 A题思路:采果机器人的图像识别技术思路模型代码 B题思路:玻璃温室中的微气候法规 C题思路:我国新能源电动汽车的发展趋势 ABC题思路模型代…...
OpenGL的学习之路 -5
1.视景体 正交投影 人眼看世界,有一个可见范围。范围内可见,范围外不可见。视景体就是这么一个概念。 (上图仅学习记录用) 在OGL中,有两种投影方式,对应两种视景体。第一种,正交投影…...
【linux】服务器CPU占用50%,top/htop/ps却看不到异常进程?使用unhide可以查看!
问题描述 htop发现前32个核全被占满了,但是却找不到对应进程号 查杀 治标:杀死隐藏进程 1、unhide 安装unhide apt-get install unhideunhide使用 unhide proc果然发现了隐藏进程 kill -9 kill -9 [pid]这么多pid号,我这边杀了其中…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
