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

成都好的网站设计公司长沙最新确诊病例

成都好的网站设计公司,长沙最新确诊病例,网站的建设与维护需要资质吗,app模板免费从今天开始#xff0c;博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”#xff0c;对于刚接触这项技术的小伙伴在学习鸿蒙开发之前#xff0c;有必要先了解一下鸿蒙#xff0c;从你的角度来讲#xff0c;你认为什么是鸿蒙呢#xff1f;它出现的意义又是…         从今天开始博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”对于刚接触这项技术的小伙伴在学习鸿蒙开发之前有必要先了解一下鸿蒙从你的角度来讲你认为什么是鸿蒙呢它出现的意义又是什么鸿蒙仅仅是一个手机操作系统吗它的出现能够和Android和IOS三分天下吗它未来的潜力能否制霸整个手机市场呢 今天实现一个简单的小案例从零开始讲解如何通过鸿蒙开发实现一个租房平台的案例。 目录 初始化项目 搭建tabBar 轮播图搭建 主内容搭建 初始化项目 首先我们先打开DevEco Studio点击新建项目 然后根据自己的情况选择应用这里我们选择空的 Empty Ability 进行创建  创建完成点击结束之后我们就可以在pages目录下的index.ets文件中编写代码如下所示可以看到我们的项目已经成功运行了 http封装因为项目肯定是需要用到接口内容的所以这里我们新建完项目之后需要封装一下请求方法方便后期调用这里我们可以借助官方给我们提供的第三方仓库网站地址 如下所示 然后我们下载我们调用接口的第三方库终端执行如下命令进行安装  ohpm install ohos/axios 然后我们在ets目录下新建utils工具文件夹在该文件夹下新建http.ts文件对axios进行二次封装 import axios from ohos/axios import { promptAction } from kit.ArkUIconst http axios.create({baseURL: http://192.168.0.110:6060, // 请求地址timeout: 5000, })http.interceptors.request.use((config) {// 后期可以添加校验token内容return config},(error) {promptAction.showToast(error.message) // 错误提示return Promise.reject(error)}, )http.interceptors.response.use((response) {if (response.data.code 200) {return response.data} else {promptAction.showToast(response.data.message) // 错误提示return Promise.reject(response.data.message)}},(error) {promptAction.showToast(error.message) // 错误提示return Promise.reject(error)}, ) export default http 封装好接口之后接下来我们需要配置下网络权限方便后期我们使用真机模拟器的时候网络服务是能够正常去请求的如下所示 在开发项目的时候,接口可能很多需要统一管理我们直接在ets目录下去创建api文件夹去统一管理项目的接口  import http from ../../utils/http import type { HomeData } from ./type// 统一管理接口 enum API {HOME_INFO /home/info, }// 获取首页数据 export const reqHomeData () http.getany, HomeData(API.HOME_INFO) 搭建tabBar 接下来我们开始搭建我们的tabBar内容这里我们使用官方文档提供的Tabs组件进行搭建这里我们先创建五个ets文件代表五个要实现的五个tab界面首先我们先准备好tab切换的图片资源资源可以在阿里云图标库上进行寻找这里不再赘述找到对应的这种放置在b资源文件base下的media目录里面 然后我们通过构建器创建一个tab函数里面实现的是图片和文本根据用户点击不同的tab然后进行样式的切换代码如下 import Home from ./Home import See from ./See import Service from ./Service import Discover from ./Discover import My from ./MyEntry Component struct Index {State currentTabBarIndex: number 0Builder tabBarBuilder(image: Resource, activeImage: Resource, text: string, index: number) {Column() {Image(this.currentTabBarIndex index ? activeImage : image).width(28).height(28 )Text(text).fontSize(10).fontColor(this.currentTabBarIndex index ? #000 : #A0A0A0)}}build() {Tabs({ barPosition: BarPosition.End }) {TabContent() {Home()}.tabBar(this.tabBarBuilder($r(app.media.tabbar_home), $r(app.media.tabbar_home_active), 首页, 0))TabContent() {See()}.tabBar(this.tabBarBuilder($r(app.media.tabbar_see), $r(app.media.tabbar_see_active), 想看, 1))TabContent() {Service()}.tabBar(this.tabBarBuilder($r(app.media.tabbar_service), $r(app.media.tabbar_service_active), 服务, 2))TabContent() {Discover()}.tabBar(this.tabBarBuilder($r(app.media.tabbar_discover), $r(app.media.tabbar_discover_active), 发现, 3))TabContent() {My()}.tabBar(this.tabBarBuilder($r(app.media.tabbar_my), $r(app.media.tabbar_my_active), 我的, 4))}.barHeight(50).scrollable(false).onChange((index: number) {this.currentTabBarIndex index})} } 最终呈现的效果如下所示 因为项目中可能许多地方会使用相同的变量例如文字颜色或者大小等等这里我们设置一下全局公共的样式内容如下所示 然后我们回到刚才我们设置tab的颜色的位置设置成我们定义的全局公共样式 当然我们也可以设置一下公共的常量内容类似整个页面布局的边距阴影圆角等等这里我们直接在ets文件夹下新建一个资源目录用于存放我们的定义的常量内容方便后期用到 轮播图搭建 首页的内容有很多这里我们简单的讲每个模块用到的内容都讲解一下在home页面我们通过Scroll组件来排列模块内容首先我们先实现轮播图组件这里我们将轮播图组件抽离出去然后通过props将接口当中的数据传递给组件 import { reqHomeData } from ../api/home import type { HomeData, bannerList } from ../api/home/type import SwiperLayout from ../components/Home/SwiperLayoutComponent export default struct Home {State bannerList: bannerList[] []// 获取首页数据getHomeData async () {const res: HomeData await reqHomeData()this.bannerList res.data.bannerList}// 初始化页面调用aboutToAppear(): void {this.getHomeData()}build() {Scroll() {Column() {// 轮播图组件使用props通信SwiperLayout({ bannerList: this.bannerList })}.width(100%)}.width(100%).height(100%).scrollBar(BarState.Off).align(Alignment.TopStart)} } 在轮播图组件当中我们调用轮播组件Swiper通过ForEach循环渲染图片资源然后轮播组件设置对应的轮播参数内容即可代码如下所示 import type { bannerList } from ../../api/home/typeComponent export default struct SwiperLayout {Prop bannerList: bannerList[];build() {Swiper() {ForEach(this.bannerList, (item: bannerList) {Image(item.imageURL).width(100%).height(100%).objectFit(ImageFit.Fill)}, (banner: bannerList) banner.id.toString())}.width(100%).height(211 -36) // 减去状态栏高度36.autoPlay(true).interval(3000).indicator(new DotIndicator().color($r(app.color.indicator_color)).selectedColor($r(app.color.indicator_color_active)))} } 去除上下留白因为新版本的鸿蒙预览器是有安全距离的也就是说手机预览器上下会有一定的空间留白如果想清除这些留白的话在index.ets根文件中调用如下函数即可 import { window } from kit.ArkUI;onPageShow(): void {window.getLastWindow(AppStorage.get(context), (err, data) {if (err.code) {console.error(Failed to get last window. Cause: JSON.stringify(err));return;}data.setWindowLayoutFullScreen(true)}); } 最终呈现的效果如下所示 主内容搭建 搜索栏搭建内容很简单我们借助层叠组件Stack在轮播图组件上搭建一个搜索栏组件如下所示 然后也是借助层叠组件调整一下样式即可然后把静态的搜索栏搭建出来 import { PADDING, PADDING_S } from ../../contants/sizeComponent export default struct SearchBar {build() {Row({ space: PADDING }) {Text(北京).fontSize(14).fontColor($r(app.color.white))Stack() {TextInput().width(244).height(100%).backgroundColor($r(app.color.white))Row() {Image($r(app.media.search)).width(18).height(18)Text(公司/地铁/小区,马上搜索).fontSize(10).fontColor($r(app.color.gray)).layoutWeight(1).margin({ left: PADDING_S, right: PADDING_S })Column() {}.width(1).height(18).backgroundColor($r(app.color.line)).margin({ right: PADDING })Image($r(app.media.position)).width(18).height(18)}.width(100%).padding({ left: PADDING, right: PADDING })}.width(244)Image($r(app.media.message)).width(24).height(24).fillColor($r(app.color.white))}.width(100%).height(38).padding({ left: PADDING, right: PADDING }).margin({ top: 4 })} } 最终呈现的效果如下所示 导航栏搭建导航栏的内容这里我们就使用Grid布局进行处理首先我们先定义导航栏组件然后在Home文件中进行引入然后将首页的接口函数data中的数值赋值给navList然后通过props的方式传递给导航栏组件如下所示 然后我们来到导航栏组件通过Grid布局并调整相应的样式即可 import { navList } from ../../api/home/typeComponent export default struct NavList {Prop navList: navList[]build() {Grid() {ForEach(this.navList, (item: navList) {GridItem() {Column({ space: 8 }) {Image(item.imageURL).width(58).height(56).objectFit(ImageFit.Fill)Text(item.title).fontSize(12).fontColor($r(app.color.black))}}}, (nav: navList) nav.id.toString())}.width(100%).height(170).rowsTemplate(1fr 1fr).columnsTemplate(1fr 1fr 1fr 1fr).rowsGap(14).columnsGap(32).margin({ top: 24 })} } 最终呈现的效果如下所示 标题栏搭建接下来开始对标题栏中的内容进行书写老样子我们需要先定义标题栏组件然后在Home文件中进行引入并将首页数据data当中的titleList通过props通信传递给标题栏组件 然后这里就很简单了通过ForEach的方式进行渲染数据即可 import { tileList } from ../../api/home/typeComponent export default struct TitleList {Prop titleList: tileList[]build() {Row({ space:32 }) {ForEach(this.titleList, (item: tileList) {Column({ space: 8 }) {Image(item.imageURL).width(100%).height(58).objectFit(ImageFit.Fill)Row({ space: 5 }) {Text(item.title).fontSize(12).fontColor($r(app.color.black))Text(item.sub_title).fontSize(10).fontColor($r(app.color.gray))}.width(100%)}.width(148)}, (tit: tileList) tit.id.toString())}.width(100%).margin({ top: 12 })} } 最终呈现的效果如下所示 列表栏搭建同理列表栏搭建的方式和上面一样这里就直接给出代码了 import { planList } from ../../api/home/typeComponent export default struct PlanList {Prop planList: planList[]build() {Row({ space: 5 }) {ForEach(this.planList, (item: planList) {Image(item.imageURL).width(78).height(60).objectFit(ImageFit.Fill)}, (plan: planList) plan.id.toString())}.width(100%).margin({ top: 18 })} } 效果如下所示 下面的内容就放置一个广告图代码很简单这里就不再赘述了
文章转载自:
http://www.morning.cwgn.cn.gov.cn.cwgn.cn
http://www.morning.fplwz.cn.gov.cn.fplwz.cn
http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn
http://www.morning.yldgw.cn.gov.cn.yldgw.cn
http://www.morning.xflzm.cn.gov.cn.xflzm.cn
http://www.morning.cnprt.cn.gov.cn.cnprt.cn
http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn
http://www.morning.gwjnm.cn.gov.cn.gwjnm.cn
http://www.morning.rnnq.cn.gov.cn.rnnq.cn
http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn
http://www.morning.nclbk.cn.gov.cn.nclbk.cn
http://www.morning.kyjpg.cn.gov.cn.kyjpg.cn
http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn
http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn
http://www.morning.qcygd.cn.gov.cn.qcygd.cn
http://www.morning.jqpq.cn.gov.cn.jqpq.cn
http://www.morning.snjpj.cn.gov.cn.snjpj.cn
http://www.morning.skkmz.cn.gov.cn.skkmz.cn
http://www.morning.zdsqb.cn.gov.cn.zdsqb.cn
http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn
http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn
http://www.morning.mwlxk.cn.gov.cn.mwlxk.cn
http://www.morning.sdktr.com.gov.cn.sdktr.com
http://www.morning.mdlqf.cn.gov.cn.mdlqf.cn
http://www.morning.ktmnq.cn.gov.cn.ktmnq.cn
http://www.morning.wylpy.cn.gov.cn.wylpy.cn
http://www.morning.bmfqg.cn.gov.cn.bmfqg.cn
http://www.morning.nptls.cn.gov.cn.nptls.cn
http://www.morning.rlns.cn.gov.cn.rlns.cn
http://www.morning.kflbf.cn.gov.cn.kflbf.cn
http://www.morning.nrchx.cn.gov.cn.nrchx.cn
http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn
http://www.morning.skcmt.cn.gov.cn.skcmt.cn
http://www.morning.lskyz.cn.gov.cn.lskyz.cn
http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn
http://www.morning.wtbzt.cn.gov.cn.wtbzt.cn
http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn
http://www.morning.mtrfz.cn.gov.cn.mtrfz.cn
http://www.morning.rbnp.cn.gov.cn.rbnp.cn
http://www.morning.zlhbg.cn.gov.cn.zlhbg.cn
http://www.morning.bgpb.cn.gov.cn.bgpb.cn
http://www.morning.rykw.cn.gov.cn.rykw.cn
http://www.morning.qhrsy.cn.gov.cn.qhrsy.cn
http://www.morning.fkfyn.cn.gov.cn.fkfyn.cn
http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn
http://www.morning.jqlx.cn.gov.cn.jqlx.cn
http://www.morning.qcztm.cn.gov.cn.qcztm.cn
http://www.morning.svrud.cn.gov.cn.svrud.cn
http://www.morning.qfrsm.cn.gov.cn.qfrsm.cn
http://www.morning.sjwws.cn.gov.cn.sjwws.cn
http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn
http://www.morning.wcgfy.cn.gov.cn.wcgfy.cn
http://www.morning.ybmp.cn.gov.cn.ybmp.cn
http://www.morning.zkbxx.cn.gov.cn.zkbxx.cn
http://www.morning.kaakyy.com.gov.cn.kaakyy.com
http://www.morning.ydgzj.cn.gov.cn.ydgzj.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.lynmt.cn.gov.cn.lynmt.cn
http://www.morning.qtryb.cn.gov.cn.qtryb.cn
http://www.morning.ckctj.cn.gov.cn.ckctj.cn
http://www.morning.nyqnk.cn.gov.cn.nyqnk.cn
http://www.morning.fpxsd.cn.gov.cn.fpxsd.cn
http://www.morning.pbknh.cn.gov.cn.pbknh.cn
http://www.morning.gthc.cn.gov.cn.gthc.cn
http://www.morning.bxbkq.cn.gov.cn.bxbkq.cn
http://www.morning.yptwn.cn.gov.cn.yptwn.cn
http://www.morning.jgmdr.cn.gov.cn.jgmdr.cn
http://www.morning.bnlsd.cn.gov.cn.bnlsd.cn
http://www.morning.drqrl.cn.gov.cn.drqrl.cn
http://www.morning.kwqqs.cn.gov.cn.kwqqs.cn
http://www.morning.ymtbr.cn.gov.cn.ymtbr.cn
http://www.morning.3dcb8231.cn.gov.cn.3dcb8231.cn
http://www.morning.wljzr.cn.gov.cn.wljzr.cn
http://www.morning.pznnt.cn.gov.cn.pznnt.cn
http://www.morning.gcfrt.cn.gov.cn.gcfrt.cn
http://www.morning.mqbsm.cn.gov.cn.mqbsm.cn
http://www.morning.rmtxp.cn.gov.cn.rmtxp.cn
http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn
http://www.morning.gllgf.cn.gov.cn.gllgf.cn
http://www.morning.ppqzb.cn.gov.cn.ppqzb.cn
http://www.tj-hxxt.cn/news/276594.html

相关文章:

  • 广州网站设计智能 乐云践新专家wordpress ftp地址
  • 如何给网站备案东莞seo建站怎么投放
  • 义乌 网站建设构建一个网站
  • 宿迁专业三合一网站开发微信公众号申请
  • 桐庐网站制作vs网站开发表格大小设置
  • 陕西网站建设公司找哪家好一般做网站需要什么框架
  • 网站开发费的会计处理怎么找上海网站建
  • 广州哪里做网站西安咪豆网站建设公司
  • 前端做网站是什么流程wordpress华丽插件
  • 洛阳电商网站建设公司排名app运营方案
  • 医院网站备案流程龙华网站建设营销推广
  • 网站制作需求文档wordpress不能视频
  • 营销的网站怎么将dw做的网站导出
  • 房产中介做租单用哪个付费网站更好湖州网站设计公司的别名是
  • 网站设计制作需要多少钱怎么把货卖到国外
  • 网站设置文件夹权限wordpress 动态js
  • 长沙网站seo优化排名长清网站建设费用
  • 西昌市规划建设局网站加微信群网站怎么做的
  • 泰安建设网站公司搜索引擎优化是免费的吗
  • 成都网站推广招聘搜狐快站做淘宝客网站
  • 网站seo视频关于建筑建设的网站
  • 自己电脑做网站需要什么设备一篇关于大学网站建设与管理的论文
  • 有没有做衣服的网站天津企业网站策划公司
  • 网站侧面菜单展开怎么做网上书城 网站建设方案
  • 西宁哪家公司做网站手机网站模板下载
  • 长沙大型网络网站制作公司广州做网站的网络公司排名
  • 淘宝做促销的网站中山网站建设收费标准
  • 电商购物网站新浪虚拟主机做网站
  • 成立做网站的公司网店美工分为几个级别
  • 做网站必须要认证吗搜索引擎优化方法有哪几种