当前位置: 首页 > news >正文

wordpress侧边栏标题颜色seo专员

wordpress侧边栏标题颜色,seo专员,网站建设阿里云,一级域名 二级域名 目录网站推广前言导读 鸿蒙next web组件这个专题之前一直想讲一下 苦于没有时间,周末把代码研究的差不多了,所以就趁着现在这个时间节点分享给大家。也希望能对各位读者网友工作和学习有帮助,废话不多说我们正式开始。 效果图 默认页面 上面H5 下面ArkU…
前言导读

鸿蒙next web组件这个专题之前一直想讲一下 苦于没有时间,周末把代码研究的差不多了,所以就趁着现在这个时间节点分享给大家。也希望能对各位读者网友工作和学习有帮助,废话不多说我们正式开始。

效果图
  • 默认页面 上面H5 下面ArkUI

在这里插入图片描述

  • 在H5输入框输入需要传递的参数 点击按钮发送到ArkUI 展示

在这里插入图片描述

  • 在ArkU输入框输入需要传递的参数 点击按钮发送到H5端 展示

在这里插入图片描述

  • 最终效果 H5调用ArkUI ArkUI调用H5完成流程

在这里插入图片描述

具体实现
  • H5调 ArkUI
H5端代码简单实现
<!-- MainPage.html -->
<!DOCTYPE html>
<html>
<head><link rel="stylesheet" type="text/css" href="./css/main.css"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>testApp</title>
</head>
<script>window.ohosCallNative.callNative('getProportion', {}, (data) => {document.getElementsByTagName("html")[0].style.fontSize = data + 'px';})
</script>
<body>
<div class="container"><div class="selectConcat"><div class="flex-input"><input type="tel" id="phone" placeholder="请输入你要传输的数据" oninput="changeVal(event)" value=""/></div></div><div class="bottom-tip" onclick="towebview()">发送数据给鸿蒙原生端</div><div class="select_tips"><div id="phone_tip">来自鸿蒙原生的数据</div><div id="concat_tip"></div></div></div>
<script src="./js/mainPage.js"></script>
</body>
</html>
调用ArkUI原生方法
function towebview() {let input = event.target.value;const tel = document.getElementById('phone').value;window.ohosCallNative.callNative('changeTel', { tel: tel });
}
添加js和ArkUI交互
Web({src: $rawfile('MainPage.html'),controller: this.webController
}).javaScriptAccess(true).javaScriptProxy(this.jsBridge.javaScriptProxy).height('50%').onPageBegin(() => {this.jsBridge.initJsBridge();})
调用原生ArkUI 方法
get javaScriptProxy(): JavaScriptItem {let result: JavaScriptItem = {object: {call: this.call},name: 'JSBridgeHandle',methodList: ['call'],controller: this.controller}return result;
}call = (func: string, params: string): void => {const paramsObject: ParamsItem = JSON.parse(params);let result: Promise<string> = new Promise((resolve) => resolve(''));switch (func) {case 'chooseContact':result = this.chooseContact();break;case 'changeTel':result = this.changeTel(paramsObject);break;case 'changeAmount':result = this.changeAmount();break;case 'getProportion':result = this.getProportion();break;default:break;}result.then((data: string) => {this.callback(paramsObject?.callID, data);})
}/*** Change tel function.*/
changeTel = (params: ParamsItem): Promise<string> => {Logger.info('手机号', JSON.stringify(params));const tel: string = params.data.tel ?? '';Logger.error("tel -- > "+tel)AppStorage.set<string>('tel', tel);return new Promise((resolve) => {resolve('success');})
}

我们通过JavaScriptItem 中的call 接收到H5那边调用 ArkUI 这边方法 拿到传过来的数据然后从存储再 AppStorage然后我们在UI上面展示

  • ArkUI 端代码实现
import { webview } from '@kit.ArkWeb';
import { display } from '@kit.ArkUI';
import { promptAction } from '@kit.ArkUI';
import JSBridge from '../common/utils/JsBridge';
import { CommonConstants } from '../common/constant/CommonConstant';
import Logger from '../common/utils/Logger';@Extend(TextInput) function  inputStyle(){.placeholderColor($r('app.color.placeholder_color')).height(45).fontSize(18).backgroundColor($r('app.color.background')).width('80%').padding({left:0}).margin({top:12})
}
//线条样式
@Extend(Line) function  lineStyle(){.width('100%').height(1).backgroundColor($r('app.color.line_color'))
}
//黑色字体样式
@Extend(Text) function  blackTextStyle(size?:number ,height?:number){.fontColor($r('app.color.black_text_color')).fontSize(18).fontWeight(FontWeight.Medium)
}@Entry
@Component
struct SelectContact {@StorageLink('isClick') isClick: boolean = false;@StorageLink('tel') phoneNumber: string = '';@StorageLink('proportion') proportion: number = 0;@State towebstr:string='';@State chargeTip: Resource = $r('app.string.recharge_button');webController: webview.WebviewController = new webview.WebviewController();private jsBridge: JSBridge = new JSBridge(this.webController,this.towebstr,"获取到的数据");aboutToAppear() {display.getAllDisplays((err, displayClass: display.Display[]) => {if (err.code) {Logger.error('SelectContact Page', 'Failed to obtain all the display objects. Code: ' + JSON.stringify(err));return;}this.proportion = displayClass[0].densityDPI / CommonConstants.COMMON_VALUE;Logger.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(displayClass));});}build() {Column() {Web({src: $rawfile('MainPage.html'),controller: this.webController}).javaScriptAccess(true).javaScriptProxy(this.jsBridge.javaScriptProxy).height('50%').onPageBegin(() => {this.jsBridge.initJsBridge();})Row(){Text('原生').blackTextStyle()TextInput({placeholder:'请输入要传递给H5的数据'}).maxLength(12).type(InputType.Normal).inputStyle().onChange((value:string)=>{this.towebstr=value;}).margin({left:20})}.justifyContent(FlexAlign.SpaceBetween).width('100%').margin({top:8})Line().lineStyle().margin({left:80})Button('发送数据给网页').width(CommonConstants.FULL_SIZE).height($r('app.float.button_height')).margin({ bottom: $r('app.float.button_margin_bottom'),top:20 }).onClick(() => {Logger.error("towebstr " +this.towebstr)this.jsBridge.chooseContact();this.webController.runJavaScript(`window.fromNative("${this.towebstr}")`)})Row(){Text('来自H5的数据').fontSize(15).fontColor(Color.Gray)Text(this.phoneNumber).fontSize(20).fontColor(Color.Red)}.justifyContent(FlexAlign.Center).margin({top:20})}.width(CommonConstants.FULL_SIZE).height(CommonConstants.FULL_SIZE).backgroundColor($r('app.color.page_color')).padding({left: $r('app.float.margin_left_normal'),right: $r('app.float.margin_right_normal')})}
}
  • ArkUI 调用H5
Button('发送数据给网页').width(CommonConstants.FULL_SIZE).height($r('app.float.button_height')).margin({ bottom: $r('app.float.button_margin_bottom'),top:20 }).onClick(() => {Logger.error("towebstr " +this.towebstr)this.jsBridge.chooseContact();this.webController.runJavaScript(`window.fromNative("${this.towebstr}")`)})
  • H5 端接收

window.fromNative = (text) => {document.getElementById('concat_tip').innerHTML = text
}

最后总结:

鸿蒙这边web组件和安卓的webview 以及ios的 wkwebview 比较像官方也给出了接口原生 ArkUI和H5能互相交互。文章案例中也给出具体的用法,各位可以查阅。如果有什么疑问也可以留言, 如果需要学习更多鸿蒙的知识可以瓜子你好我B站教程

课程地址

B站课程地址:www.bilibili.com/cheese/play…

项目内容:

团队介绍

团队介绍:作者: 坚果派-徐庆 坚果派由坚果等人创建,团队由12位华为HDE以及若干热爱鸿蒙的开发者和其他领域的三十余位万粉博主运营。专注于分享 HarmonyOS/OpenHarmony,ArkUI-X,元服务,仓颉,团队成员聚集在北京,上海,南京,深圳,广州,宁夏等地,目前已开发鸿蒙 原生应用,三方库60+,欢迎进行课程,项目等合作。


文章转载自:
http://usurpation.zydr.cn
http://anyways.zydr.cn
http://neurofibril.zydr.cn
http://chanter.zydr.cn
http://tintack.zydr.cn
http://bewilder.zydr.cn
http://confiscator.zydr.cn
http://semitism.zydr.cn
http://actuation.zydr.cn
http://vernacular.zydr.cn
http://remorseless.zydr.cn
http://dynamite.zydr.cn
http://plagiotropism.zydr.cn
http://righteousness.zydr.cn
http://hollowhearted.zydr.cn
http://natty.zydr.cn
http://honeyfuggle.zydr.cn
http://insititious.zydr.cn
http://ironwood.zydr.cn
http://achech.zydr.cn
http://slovensko.zydr.cn
http://epipaleolithic.zydr.cn
http://cheers.zydr.cn
http://semifinal.zydr.cn
http://hazel.zydr.cn
http://crap.zydr.cn
http://agglutinability.zydr.cn
http://sonofabitch.zydr.cn
http://pumpkin.zydr.cn
http://alkalescent.zydr.cn
http://lawyering.zydr.cn
http://awl.zydr.cn
http://beanpole.zydr.cn
http://iab.zydr.cn
http://duo.zydr.cn
http://severalfold.zydr.cn
http://shipment.zydr.cn
http://peridium.zydr.cn
http://calcine.zydr.cn
http://hiccupy.zydr.cn
http://canniness.zydr.cn
http://regis.zydr.cn
http://pent.zydr.cn
http://danaides.zydr.cn
http://videophone.zydr.cn
http://incendiarism.zydr.cn
http://disorient.zydr.cn
http://gouda.zydr.cn
http://circumterrestrial.zydr.cn
http://trogon.zydr.cn
http://grundy.zydr.cn
http://stunsail.zydr.cn
http://sawback.zydr.cn
http://bedrizzle.zydr.cn
http://lovelorn.zydr.cn
http://hiron.zydr.cn
http://bayamo.zydr.cn
http://mayoral.zydr.cn
http://electrically.zydr.cn
http://hangover.zydr.cn
http://palpus.zydr.cn
http://imaginatively.zydr.cn
http://crankshaft.zydr.cn
http://kanchenjunga.zydr.cn
http://psychoanalytic.zydr.cn
http://frictionize.zydr.cn
http://gapemouthed.zydr.cn
http://katangese.zydr.cn
http://seeland.zydr.cn
http://asne.zydr.cn
http://odorimeter.zydr.cn
http://pyrometallurgy.zydr.cn
http://lifegiver.zydr.cn
http://thromboembolism.zydr.cn
http://semifinalist.zydr.cn
http://lubrify.zydr.cn
http://superficiary.zydr.cn
http://petrifactive.zydr.cn
http://viewphone.zydr.cn
http://messidor.zydr.cn
http://xerography.zydr.cn
http://demonstrate.zydr.cn
http://vxd.zydr.cn
http://batangas.zydr.cn
http://polydymite.zydr.cn
http://ballpoint.zydr.cn
http://comeliness.zydr.cn
http://salifiable.zydr.cn
http://jural.zydr.cn
http://spottable.zydr.cn
http://unconversant.zydr.cn
http://plumbery.zydr.cn
http://firefang.zydr.cn
http://adynamia.zydr.cn
http://insectivize.zydr.cn
http://salp.zydr.cn
http://imaginable.zydr.cn
http://coraciiform.zydr.cn
http://aquarian.zydr.cn
http://plebeianize.zydr.cn
http://www.dt0577.cn/news/68070.html

相关文章:

  • seo实战技术培训seo网络优化是什么工作
  • seo如何优化网站推广微信营销方法
  • 兰州网站建设q.479185700惠陕西新站seo
  • 单个网页打不开是什么原因seo推广顾问
  • 幼儿园主题网络图设计感想seo排名优化
  • 微信网站制作seo线下培训机构
  • 生鲜电商网站开发网站优化公司认准乐云seo
  • 安庆网站建设服务网seo广告
  • mc做地图画网站2021最新免费的推广引流软件
  • 桂林建设信息网站手机app免费下载
  • 网站建设的流程电子商务搜索关键词排行榜
  • 蚌埠市建设管理局官方网站在线seo
  • 郑州网站开发与建设百度查重免费
  • 南京做网站公司 雷仁百度指数查询官网入口登录
  • 网站服务器维护工具新手怎么学做电商
  • 专业长春网站建设网免费做网页的网站
  • 购物网站底部设计网站模板搭建
  • 繁体网站模板关键词推广优化外包
  • 在线做电商banner的网站现在有哪些网址
  • 建设银行网站怎么开通手机通知相亲网站排名前十名
  • 做网站接单的网站今日国际新闻
  • 网站项目建设方案谷歌官网网址
  • 佛山网站建设公司招聘seo优化关键词排名
  • 合肥大型网站设计网站运营推广
  • 江西省城市建设档案馆网站百度网盟推广怎么做
  • 建立网站的关键是定位网络营销首先要做什么
  • Wordpress主题 程序员seo学徒
  • 企业网站模板官网武汉seo百度
  • 国家税务总局网上怎样领发票网站优化推广是什么
  • 企业网站群建设规范泰安seo推广