This commit is contained in:
toom1996
2025-07-03 17:24:35 +08:00
parent 99e4dd1667
commit f61f0bcc6f
15 changed files with 1385 additions and 1070 deletions

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1751524741029" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4814" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M955.757714 955.977143c-68.315429 68.022857-136.557714 68.022857-256 68.022857H324.242286c-119.442286 0-187.684571 0-256-68.022857S0 819.2 0 699.977143V324.022857C0 204.8 0.731429 136.777143 68.242286 68.022857S204.8 0 324.242286 0h375.515428c119.442286 0 187.684571 0 256 68.022857S1024 204.8 1024 324.022857v375.954286c0 119.222857 0 187.245714-68.242286 256zM802.669714 191.634286c-20.553143-13.165714-42.130286-24.137143-62.025143-38.034286a24.137143 24.137143 0 0 0-37.229714 2.925714 58.002286 58.002286 0 0 1-48.347428 18.285715c-121.124571-0.731429-242.249143 0-363.446858-0.731429H146.285714v8.777143a8.557714 8.557714 0 0 1 2.121143 0.731428 32.841143 32.841143 0 0 0 40.813714 25.6c65.243429-1.462857 130.56-0.731429 195.876572-0.731428h16.310857l-17.188571 106.788571c-2.194286 13.165714-4.973714 26.331429-6.509715 40.228572a10.093714 10.093714 0 0 1-12.361143 10.24 620.836571 620.836571 0 0 1-127.268571-13.165715 1250.742857 1250.742857 0 0 0-24.283429-2.194285V877.714286h122.002286c0-11.702857 0.804571-23.405714 0-35.108572s2.779429-14.628571 13.092572-14.628571c54.491429 0.731429 108.982857 0 163.474285 0h105.033143l4.096 49.737143h119.442286V614.4a449.389714 449.389714 0 0 1-115.712 64.365714 15.798857 15.798857 0 0 0-6.070857 11.702857c-0.585143 19.017143 0 38.034286 0 57.051429v47.542857a92.598857 92.598857 0 0 1-13.312 0.731429c-86.089143 0.731429-172.178286 0-258.267429 0.731428-9.362286 0-11.410286-3.657143-11.410286-13.897143V400.091429h283.282286v31.451428c1.682286 0.731429 2.194286 1.462857 2.486857 1.462857a387.657143 387.657143 0 0 1 114.614857-41.691428 24.210286 24.210286 0 0 0 4.096-14.628572 12.580571 12.580571 0 0 0-5.485714-10.24q-55.881143-8.777143-111.689143-15.36a4.022857 4.022857 0 0 0-3.584 1.462857l-1.682285 11.702858H453.193143c26.843429-49.005714 52.809143-96.548571 78.189714-143.36a18.944 18.944 0 0 1 19.529143-12.434286c82.651429 0.731429 165.229714 0 247.881143 0a28.672 28.672 0 0 0 12.068571-5.12 59.318857 59.318857 0 0 0-8.192-11.702857zM511.268571 547.108571a597.942857 597.942857 0 0 0-151.259428 231.862858 38.619429 38.619429 0 0 0 9.581714-8.045715c23.698286-27.794286 47.250286-56.32 71.314286-84.114285a21.065143 21.065143 0 0 1 13.677714-8.045715 236.909714 236.909714 0 0 0 143.36-19.748571c15.140571-6.582857 29.257143-15.36 46.884572-24.868572-16.603429-8.777143-28.745143-15.36-40.96-21.211428a222.208 222.208 0 0 0 190.537142-77.531429c-18.212571-2.925714-33.133714-5.851429-47.981714-8.045714 0-1.462857 0-2.194286-0.512-3.657143a154.038857 154.038857 0 0 0 131.657143-108.251428 480.768 480.768 0 0 0-366.299429 131.657142z" fill="#353535" p-id="4815"></path></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -1,7 +1,21 @@
--- ---
import { getConfig } from "../../../utils/config"; import { getConfig, getExtra } from "../../../utils/config";
import { TP2_COLUMN_NEWS, TP2_COLUMN_NEWS_URL, TP2_COLUMN_ABOUT_US, TP2_COLUMN_ABOUT_US_URL, TP2_COLUMN_CONTACT_US, TP2_COLUMN_CONTACT_US_URL, TP2_COLUMN_PROTECT, TP2_COLUMN_PROTECT_URL } from "../../../utils/const"; import BaijiahaoLogo from '../../../public/template_2/baijiahao.svg'
import Toutiaohao from '../../../public/template_2/toutiaohao.svg'
import {
TP2_COLUMN_NEWS,
TP2_COLUMN_NEWS_URL,
TP2_COLUMN_ABOUT_US,
TP2_COLUMN_ABOUT_US_URL,
TP2_COLUMN_CONTACT_US,
TP2_COLUMN_CONTACT_US_URL,
TP2_COLUMN_PROTECT,
TP2_COLUMN_PROTECT_URL,
TP2_COLUMN_REFUND,
TP2_COLUMN_REFUND_URL
} from "../../../utils/const";
const config = getConfig(Astro) const config = getConfig(Astro)
const extra = getExtra('')
const { path = [] } = Astro.props const { path = [] } = Astro.props
--- ---
<footer class="v4 n09-footer footer" data-component="n09-footer"> <footer class="v4 n09-footer footer" data-component="n09-footer">
@ -112,6 +126,18 @@ const { path = [] } = Astro.props
<div class="heading footer-links__title heading-06 js-footer-accordion-btn">服务支持</div> <div class="heading footer-links__title heading-06 js-footer-accordion-btn">服务支持</div>
<ul class="footer-links__list" role="menubar"> <ul class="footer-links__list" role="menubar">
<li class="footer-links__item" role="menuitem">
<a title={TP2_COLUMN_PROTECT} class="footer-links__link" href={TP2_COLUMN_PROTECT_URL}>
{TP2_COLUMN_PROTECT}
</a>
</li>
<li class="footer-links__item" role="menuitem">
<a title={TP2_COLUMN_REFUND} class="footer-links__link" href={TP2_COLUMN_REFUND_URL}>
{TP2_COLUMN_REFUND}
</a>
</li>
<li class="footer-links__item" role="menuitem"> <li class="footer-links__item" role="menuitem">
<a title="保修政策" data-title="保修政策" class="footer-links__link" href="/cn/support/warranty-policy/"> <a title="保修政策" data-title="保修政策" class="footer-links__link" href="/cn/support/warranty-policy/">
保修政策 保修政策
@ -358,30 +384,46 @@ const { path = [] } = Astro.props
</p> </p>
</div> </div>
<!-- <div class="contact__block col-xl-4 col-md-6"> <div class="contact__block col-xl-4 col-md-6">
<div class="heading contact__title heading-06"> <div class="heading contact__title heading-06">
关注我们 关注我们
</div> </div>
<ul class="contact__social-links lazyload-target"> <ul class="contact__social-links lazyload-target">
<li class="contact__social-item"> {
<a title="微信" class="contact__social-link" data-social="weixin"> extra.weibo_offical.address ?
<span class="icon-lazy" data-name="font-ico-weixin"></span> <li class="contact__social-item">
<span class="contact__social-qrcode"> <a title={extra.weibo_offical.name} class="contact__social-link" href={extra.weibo_offical.address} target="_blank" rel="noreferrer">
<picture> <span class="icon-lazy font-ico-weibo" data-name="font-ico-weibo"></span>
<source class="lazyload-img" media="(max-width: 1199.98px)" data-srcset="//consumer-img.huawei.com/content/dam/huawei-cbg-site/greate-china/cn/mkt/v4/footer/weixin-mob.jpg" /> </a>
<img class="lazyload-img" data-src="//consumer-img.huawei.com/content/dam/huawei-cbg-site/greate-china/cn/mkt/v4/footer/weixin.jpg" alt="weixin" srcset="" /> </li> : ''
</picture> }
</span> {
</a> extra.gongzhonghao_offical.address ?
</li> <li class="contact__social-item">
<a title={extra.gongzhonghao_offical.name} class="contact__social-link" href={extra.gongzhonghao_offical.address} target="_blank" rel="noreferrer">
<li class="contact__social-item"> <span class="icon-lazy font-ico-weixin" data-name="font-ico-weixin"></span>
<a title="微博" class="contact__social-link" data-social="weibo" href="http://t.sina.com.cn/huaweidevice" target="_blank" rel="noopener noreferrer"> <span class="contact__social-qrcode"></span>
<span class="icon-lazy" data-name="font-ico-weibo"></span> </a>
</a> </li> : ''
</li> }
{
extra.baijiahao_offical.address ?
<li class="contact__social-item">
<a title={extra.baijiahao_offical.name} class="contact__social-link" href={extra.baijiahao_offical.address} target="_blank" rel="noreferrer">
<BaijiahaoLogo class="icon-lazy" />
</a>
</li> : ''
}
{
extra.toutiaohao_offical.address ?
<li class="contact__social-item">
<a title={extra.toutiaohao_offical.name} class="contact__social-link" href={extra.toutiaohao_offical.address} target="_blank" rel="noreferrer">
<Toutiaohao class="icon-lazy" />
</a>
</li> : ''
}
</ul> </ul>
</div> --> </div>
</div> </div>
</div> </div>
<div class="footer-legals"> <div class="footer-legals">
@ -410,11 +452,6 @@ const { path = [] } = Astro.props
法律信息 法律信息
</a> </a>
</li> </li>
<li class="bottom-links__item">
<a title={TP2_COLUMN_PROTECT} class="bottom-links__link" href={TP2_COLUMN_PROTECT_URL}>
{TP2_COLUMN_PROTECT}
</a>
</li>
</ul> </ul>
</div> </div>
</div> </div>
@ -425,6 +462,12 @@ const { path = [] } = Astro.props
.footer-legals .row { .footer-legals .row {
justify-content: space-between; justify-content: space-between;
} }
.icon-lazy {
width: 24px;
height: 24px;
}
</style> </style>
<script> <script>
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function () {

View File

@ -1,7 +1,7 @@
--- ---
import { getConfig } from "../../../utils/config"; import { getConfig } from "../../../utils/config";
import { Image } from 'astro:assets'; import { Image } from 'astro:assets';
import { TP2_COLUMN_NEWS, TP2_COLUMN_NEWS_URL } from "../../../utils/const"; import { TP2_COLUMN_CONTACT_US, TP2_COLUMN_CONTACT_US_URL, TP2_COLUMN_NEWS, TP2_COLUMN_NEWS_URL } from "../../../utils/const";
const config = getConfig(Astro) const config = getConfig(Astro)
--- ---
<div class="v4 header slide-down-corporation nav-v2 scroll-with-screen" id="header-v4" data-component="header" role="navigation"> <div class="v4 header slide-down-corporation nav-v2 scroll-with-screen" id="header-v4" data-component="header" role="navigation">
@ -21,20 +21,17 @@ const config = getConfig(Astro)
<nav class="main-nav" role="presentation"> <nav class="main-nav" role="presentation">
<div class="lf-nav nav-zone"> <div class="lf-nav nav-zone">
<ul class="main-nav__list" role="menubar"> <ul class="main-nav__list" role="menubar">
<li class="main-nav__item" role="menuitem">
<a title="首页" class="main-nav__link unhover title-hide-v5" href="/">首页</a>
</li>
<li class="main-nav__item" role="menuitem"> <li class="main-nav__item" role="menuitem">
<a title={TP2_COLUMN_NEWS} class="main-nav__link unhover title-hide-v5" href={TP2_COLUMN_NEWS_URL}>{TP2_COLUMN_NEWS}</a> <a title={TP2_COLUMN_NEWS} class="main-nav__link unhover title-hide-v5" href={TP2_COLUMN_NEWS_URL}>{TP2_COLUMN_NEWS}</a>
</li> </li>
<!-- <li class="main-nav__item" role="menuitem">
<a title="企业文化" data-navicon="企业文化" class="main-nav__link unhover title-hide-v5" href="/cn/phones/">企业文化</a>
</li>
<li class="main-nav__item" role="menuitem"> <li class="main-nav__item" role="menuitem">
<a title="产品介绍" data-navicon="产品介绍" class="main-nav__link unhover title-hide-v5" href="/cn/harmonyos-computer/">产品介绍</a> <a title={TP2_COLUMN_CONTACT_US} class="main-nav__link unhover title-hide-v5" href={TP2_COLUMN_CONTACT_US_URL}>{TP2_COLUMN_CONTACT_US}</a>
</li> -->
<li class="main-nav__item" role="menuitem">
<a title="联系方式(888-888)" data-navicon="联系方式" class="main-nav__link unhover title-hide-v5" href="/cn/harmonyos-computer/">联系方式(888-888)</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -21,7 +21,7 @@ const config = getConfig(Astro)
<meta name="baidu-site-verification" content="codeva-kLMUXYuoiO" /> <meta name="baidu-site-verification" content="codeva-kLMUXYuoiO" />
<!-- <link href="https://fonts.googleapis.com/css2?family=Graphik:wght@400;500;600;700&display=swap" rel="stylesheet"> --> <!-- <link href="https://fonts.googleapis.com/css2?family=Graphik:wght@400;500;600;700&display=swap" rel="stylesheet"> -->
</head> </head>
<body class="huawei-v4 huawei-cn page-name-books none-ecommerce"> <body class="app-v4 page-name-books none-ecommerce">
<Header /> <Header />
<!-- <main> --> <!-- <main> -->
<slot /> <slot />

View File

@ -1,11 +1,12 @@
--- ---
import Layout from "../../../layouts/Layout_2.astro"; import Layout from "../../../layouts/Layout_2.astro";
import { getConfig } from "../../../../utils/config"; import { getConfig, getExtra } from "../../../../utils/config";
import { import {
TP2_COLUMN_ABOUT_US, TP2_COLUMN_ABOUT_US,
TP2_COLUMN_ABOUT_US_URL, TP2_COLUMN_ABOUT_US_URL,
} from "../../../../utils/const"; } from "../../../../utils/const";
const config = getConfig(Astro); const config = getConfig(Astro);
const extra = getExtra('');
const breadcrumb = [ const breadcrumb = [
{ title: "主页", url: "/" }, { title: "主页", url: "/" },
{ title: TP2_COLUMN_ABOUT_US, url: TP2_COLUMN_ABOUT_US_URL }, { title: TP2_COLUMN_ABOUT_US, url: TP2_COLUMN_ABOUT_US_URL },
@ -18,70 +19,30 @@ const breadcrumb = [
> >
<div id="content" class="main" data-site="中国"> <div id="content" class="main" data-site="中国">
<div> <div>
<!-- 活动与新闻--> <!-- 活动与新闻-->
<div class="hcomponent-page-info"> <div class="hcomponent-page-info">
<div class="news-detail-title"> <div class="news-detail-title">
<div class="container-custom fix-p-color"> <div class="container-custom fix-p-color">
<h1><span>华为责任矿产尽职管理声明</span></h1> <h1><span>{extra.about_us.title}{config.app_name}</span></h1>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<!-- <div data-mod-id="eff0ddd73dbb4d069e65086c4339ccd5"> --> <div class="container-custom hcomponent-share-bar">
<div <div class="container-custom">
data-mod-name-pc="@cloud/hcomponent-share-bar/pc/index" <ul class="share-box list-unstyled hasLine">
data-mod-name-m="@cloud/hcomponent-share-bar/m/index" <li class="line"></li>
data-mod-name="hcomponent-share-bar" </ul>
data-loaded="true"
>
<!-- 活动与新闻-->
<div>
<!-- 社交分享栏 -->
<div class="container-custom hcomponent-share-bar">
<div class="container-custom">
<ul class="share-box list-unstyled hasLine">
<li class="line"></li>
</ul>
</div>
</div>
</div>
</div> </div>
<!-- </div> --> </div>
<div >
<div <div class="hcomponent-news-detail-content">
data-mod-id="hcomponent-news-detail-content_920738a0bc3049d489a293983eb596d8" <div class="news-detail-box container-custom clearfix">
> <div class="news-detail-content">
<div <Fragment set:html={extra.about_us.content} />
data-mod-name-pc="@cloud/hcomponent-news-detail-content/pc/index" <p style="text-align: right;">{config.app_company}</p>
data-mod-name-m="@cloud/hcomponent-news-detail-content/m/index"
data-mod-name="hcomponent-news-detail-content"
data-loaded="true"
>
<!-- 活动与新闻-->
<div class="hcomponent-news-detail-content">
<div class="news-detail-box container-custom clearfix">
<div class="news-detail-content">
<p>
作为联合国全球契约、GeSI、RBA、RMI组织的成员华为公司一直坚持把全球社会责任作为我们的目标实施道德采购促进产业链可持续发展。
</p>
<p>
华为承诺并致力于以负责任的方式采购产品中使用的锡、钽、钨、金、钴、云母等矿产原料,并参照《经济合作与发展组织关于来自受冲突影响和高风险区域的矿石的负责任供应链尽职调查指南》、《中国负责任矿产供应链尽责管理指南》(以下统称“指南”)等要求,推动供应商制定政策以防范和降低其制造产品中所含的矿产以直接或间接的方式为高风险地区中,可能助长严重侵犯人权、严重环境危害、严重健康安全隐患、严重腐败等的团体提供资金或利益的风险,要求供应商对其采购的产品中使用到矿产
产品进行来源追踪和责任矿产尽职调查,并与客户分享尽责调查信息,以确保供应链政策与指南要求保持一致,逐步提高供应链透明度和供应链治理能力。
</p>
<p>
供应链的责任矿产尽责管理是一个持续改进的过程,需要企业、政府和非政府组织的承诺和合作才能解决。华为公司支持通过行业合作来处理矿产供应链中的社会责任问题,我们将持续参与行业组织的活动,与客户和供应商一起寻求可持续的解决方案,推动矿产供应链的可持续发展。
</p>
<p style="text-align: right;">华为技术有限公司</p>
</div>
</div> </div>
</div> </div>
<link
rel="stylesheet"
href="/-/media/hcomponent-news-detail-content/1.0.1.20250530113357/component/corp/2020/js/lib/vendor/katex/katex.min.css?ver=202410101545"
/>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,9 +1,12 @@
--- ---
import Layout from "../../../layouts/Layout_2.astro"; import Layout from "../../../layouts/Layout_2.astro";
import { getConfig } from "../../../../utils/config"; import { Image } from "astro:assets";
import { getConfig, getExtra } from "../../../../utils/config";
import { TP2_COLUMN_CONTACT_US, TP2_COLUMN_CONTACT_US_URL } from "../../../../utils/const"; import { TP2_COLUMN_CONTACT_US, TP2_COLUMN_CONTACT_US_URL } from "../../../../utils/const";
import Dianhua from "../../../../public/template_2/contact-us/dianhua.svg"; import BaijiahaoLogo from '../../../../public/template_2/baijiahao.svg'
import Youxiang from "../../../../public/template_2/contact-us/youxiang.svg"; import Toutiaohao from '../../../../public/template_2/toutiaohao.svg'
// import Youxiang from "../../../../public/template_2/contact-us/youxiang.svg";
const extra = getExtra('')
const config = getConfig(Astro); const config = getConfig(Astro);
const breadcrumb = [ const breadcrumb = [
{ title: '主页', url: '/' }, { title: '主页', url: '/' },
@ -11,80 +14,167 @@ const breadcrumb = [
]; ];
--- ---
<Layout title={TP2_COLUMN_CONTACT_US + ` - ${config.app_name}`} breadcrumb={breadcrumb}> <Layout title={TP2_COLUMN_CONTACT_US + ` - ${config.app_name}`} breadcrumb={breadcrumb}>
<div id="csr">
<!-- sec conta -->
<section class="sec_conta">
<div class="look_mainTit conta_title">如对本报告有任何建议和意见,请通过以下方式与华为<span class="nr">联系:</span></div>
<div class="conta_lists"> <main>
<div class="conta_list"> <div class="contact-container">
<div class="conta_ti"> <h1 style="font-size: 5rem;margin-bottom: 5rem;">{extra.contact_us.title}</h1>
<Dianhua class="conta_svg" /> <!-- <Fragment set:html={extra.contact_us.content}/> -->
<span class="look_smalTit conta_span sec_both">电话</span> <section class="list-box">
</div> <h2 class="list-title">在线客服</h2>
<div class="look_mainTit text_color conta_tx">+86-(0)755-28780808</div> <ul>
<div class="look_mainTit text_color conta_tx">+86-(0)755-28780808</div> {
<div class="look_mainTit text_color conta_tx">+86-(0)755-28780808</div> extra.contact_us.telephone.map(e => {
</div> return <li class="list-item">
<a href={`tel:${e.number}`}>
<div class="item-content">
<Image height={50} width={50} src="/template_2/contact-us/hotline.png" alt="联系热线"/>
<div class="txt">
<h3 style="margin-left: 1rem;font-weight: bold;">{e.number}</h3>
<h4 style="margin-left: 1rem;">24小时全国热线</h4>
</div>
</div>
<i class="fas fa-chevron-right"></i>
</a>
</li>
})
}
</ul>
<div class="conta_list"> <h2 class="list-title">联系邮箱</h2>
<div class="conta_ti"> <ul>
<Youxiang class="conta_svg" /> {
<span class="look_smalTit conta_span sec_both">电子邮箱!!</span> extra.contact_us.email.map(e => {
</div> return <li class="list-item">
<div class="look_mainTit text_color conta_tx"> <a href={`tel:${e.address}`}>
<a class="a-btn-link4 text_color" data-pagename="ConsumerCSD@Huawei.com" data-linkname="ConsumerCSD@Huawei.com" href="mailto:ConsumerCSD@Huawei.com">ConsumerCSD@Huawei.com <div class="item-content">
</a> <Image height={50} width={50} src="/template_2/contact-us/hotline.png" alt="联系邮箱"/>
</div> <div class="txt">
</div> <h3 style="margin-left: 1rem;font-weight: bold;">{e.address}</h3>
</div> <h4 style="margin-left: 1rem;"></h4>
</div>
</div>
<i class="fas fa-chevron-right"></i>
</a>
</li>
})
}
</ul>
<h2 class="list-title">官方媒体平台</h2>
<ul>
{
extra.weibo_offical.address ?
<li class="list-item">
<a href={extra.weibo_offical.address} target="blank">
<div class="item-content">
<span class="icon-lazy font-ico-weibo" data-name="font-ico-weibo"></span>
<div class="txt">
<h3>{extra.weibo_offical.name}</h3>
</div>
</div>
<i class="fas fa-chevron-right"></i>
</a>
</li> : ''
}
{
extra.gongzhonghao_offical.address ?
<li class="list-item">
<a href={extra.gongzhonghao_offical.address} target="blank">
<div class="item-content">
<span class="icon-lazy font-ico-weixin" data-name="font-ico-weixin"></span>
<div class="txt">
<h3>{extra.gongzhonghao_offical.name}</h3>
</div>
</div>
<i class="fas fa-chevron-right"></i>
</a>
</li> : ''
}
{
extra.baijiahao_offical.address ?
<li class="list-item">
<a href={extra.baijiahao_offical.address} target="blank">
<div class="item-content">
<BaijiahaoLogo class="icon-lazy" />
<div class="txt">
<h3>{extra.baijiahao_offical.name}</h3>
</div>
</div>
<i class="fas fa-chevron-right"></i>
</a>
</li> : ''
}
{
extra.toutiaohao_offical.address ?
<li class="list-item">
<a href={extra.toutiaohao_offical.address} target="blank">
<div class="item-content">
<Toutiaohao class="icon-lazy"/>
<div class="txt">
<h3>{extra.toutiaohao_offical.name}</h3>
</div>
</div>
<i class="fas fa-chevron-right"></i>
</a>
</li> : ''
}
</ul>
</section> </section>
</div> </div>
</main>
</Layout> </Layout>
<style> <style>
#csr {
.sec_conta {
margin-left: auto;
margin-right: auto;
width: 68.22917vw;
margin-top: 10rem;
}
.sec_conta .conta_ti {
width: 100%;
height: 3.64583vw;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.sec_conta .conta_list { .fa-chevron-right:before {
width: 33.59375vw; content: ">"
border-radius: 1.04167vw; }
overflow: hidden;
background-color: #f5f5f7;
/* padding: 4.6875vw 0 1.82292vw; */
text-align: center;
}
.sec_conta .conta_svg { h2 {
width: 3.39583vw; font-size: 2rem ;
} margin-top: 4rem;
margin-bottom: 1rem;
}
.sec_conta .conta_lists { h3 {
margin-top: 3rem; margin-left: 1rem;
width: 100%; font-weight: bold;
display: -webkit-box; }
display: -ms-flexbox;
display: flex; h4 {
-webkit-box-pack: justify; margin-left: 1rem;
-ms-flex-pack: justify; color: #7f7f7f;
justify-content: space-between; }
} .icon-lazy {
width: 50px;
height: 50px;
}
.contact-container {
padding-top: 5rem;
}
.list-item {
border-top: 0.01rem solid #d8d8d8;
}
.item-content{
display: flex;
justify-content: center;
}
.txt {
display: flex;
justify-content: center;
align-items: center;
}
.list-box .list-item>a {
padding: 1.5rem;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-align: center;
align-items: center;
/* height: 1.08rem; */
} }
</style> </style>

View File

@ -5,18 +5,9 @@ import ImageXiazai from '../../../../public/template_2/xiazai.svg';
import { Image } from 'astro:assets'; import { Image } from 'astro:assets';
import { getConfig, getExtra } from "../../../../utils/config"; import { getConfig, getExtra } from "../../../../utils/config";
const config = getConfig(Astro) const config = getConfig(Astro)
const extra = getExtra().index const extra = getExtra('')
const sc1Homepage = config?.extra?.sc1?.img_homepage || '/template_2/index/homepage.webp'
// swiper 数据 // swiper 数据
const swiper = extra.sc3.swiper; const swiper = extra.index.sc3.swiper;
console.log(extra)
// const sc2BookCover = config?.extra?.index?.sc2?.book1 || '/template_2/index/book-cover-chenai.webp'
// const sc2BookCover = config?.extra?.index?.sc2?.book1 || '/template_2/index/book-cover-daming.webp'
// const sc2BookCover = config?.extra?.index?.sc2?.book1 || '/template_2/index/book-cover-fancui.webp'
// const sc2BookCover = config?.extra?.index?.sc2?.book1 || '/template_2/index/book-cover-qiren.webp'
// const sc2BookCover = config?.extra?.index?.sc2?.book1 || '/template_2/index/book-cover-wenhua.webp'
// const sc2BookCover = config?.extra?.index?.sc2?.book1 || '/template_2/index/book-cover-yuanze.webp'
// const sc2BookCover = config?.extra?.index?.sc2?.book1 || '/template_2/index/book-cover-zero.webp'
const breadcrumb = [{ const breadcrumb = [{
title: '主页', title: '主页',
url: '/' url: '/'
@ -42,14 +33,14 @@ const breadcrumb = [{
<div class="product-tabs__heading"> <div class="product-tabs__heading">
<div class="product-tabs__title body-medium"> <div class="product-tabs__title body-medium">
<a title={config.app_name} href="/" class="product-link product-link__active" data-title="华为阅读">{config.app_name}</a> <a title={config.app_name} href="/" class="product-link product-link__active" data-title="华为阅读">{config.app_name}</a>
<a class="btn erweimaBTN a-btn-install-ga" href="https://appgallery.huawei.com/#/app/C100259315" target="_blank">点击下载 <a class="btn erweimaBTN a-btn-install-ga" href={extra.app_download} target="_blank">点击下载
<ImageXiazai style="margin-left:10px;width: 11px;height: 11px;" alt="下载按钮" /> <ImageXiazai style="margin-left:10px;width: 11px;height: 11px;" alt="下载按钮" />
</a> </a>
</div> </div>
<div class="product-tabs__links-container" style="margin-right: -20px;"> <div class="product-tabs__links-container" style="margin-right: -20px;">
<ul class="product-tabs__links"> <ul class="product-tabs__links">
<li class="product-tabs__links-item"> <li class="product-tabs__links-item">
<a class="btn erweimaBTN a-btn-install-ga" href="https://appgallery.huawei.com/#/app/C100259315" style="position: relative;"> <a class="btn erweimaBTN a-btn-install-ga" href={extra.app_download} style="position: relative;">
点击下载<ImageXiazai style="margin-left:10px;width: 11px;height: 11px;" alt="下载按钮" /> 点击下载<ImageXiazai style="margin-left:10px;width: 11px;height: 11px;" alt="下载按钮" />
</a> </a>
</li> </li>
@ -60,33 +51,34 @@ const breadcrumb = [{
</div> </div>
</div> </div>
<div class="app-read-container"> <div class="app-read-container">
<div class="app-read-sc1-kv"> <div class="app-read-sc1-kv sc1">
<div class="sc1-mkt-text"> <div class="sc1-mkt-text">
<h1>{config.app_name}</h1> <div class="mkt-info">
<h1 class="mkt-title">遇见更好的自己</h1> <Image src={config.app_logo} alt="logo" width="25" height="25" loading="eager"/>
<h1 class="app-name">{config.app_name}</h1>
</div>
<h1 class="mkt-title">{extra.index.sc1.mkt_title}</h1>
<p class="mkt-text"> <p class="mkt-text">
百万优质图书和精品有声内容;精巧微动效、精美排版,媲美精装纸质书;精品音色、定制人声,享受沉浸悦听;超 <Fragment set:html={extra.index.sc1.mkt_text}/>
50
种语言一键翻译;跨设备流转,无缝续读;丰富的会员权益,各种福利活动持续<span class="text-nowrap">上新。</span>
</p> </p>
</div> </div>
<div class="sc1-mkt-img"> <div class="sc1-mkt-img">
<Image style="height:100%;width:100%" src={sc1Homepage} alt="app首页" width={100} height={100} loading="eager"/> <Image style="height:100%;width:100%" src={extra.index.sc1.img_box} alt="app首页" width={100} height={100} loading="eager"/>
</div> </div>
</div> </div>
<div class="app-read-sc2"> <div class="app-read-sc2">
<div class="text-box"> <div class="text-box">
<div class="read-title"> <div class="read-title">
{extra.sc2.reaad_title} {extra.index.sc2.reaad_title}
</div> </div>
<p class="read-text"> <p class="read-text">
{extra.sc2.reaad_text} {extra.index.sc2.reaad_text}
</p> </p>
</div> </div>
<div class="sc2-swiper-box"> <div class="sc2-swiper-box">
<div class="swiper-wrapper sc2-swiper-container"> <div class="swiper-wrapper sc2-swiper-container">
{ {
extra.sc3.swiper.map(item => { extra.index.sc3.swiper.map(item => {
return <div class="sc2-swiper-silde swiper-slide"> return <div class="sc2-swiper-silde swiper-slide">
<Image class="h-auto" src={item.url} height={100} width={100} alt={`${item.name}封面`}/> <Image class="h-auto" src={item.url} height={100} width={100} alt={`${item.name}封面`}/>
<span class="book-name">{item.name}</span> <span class="book-name">{item.name}</span>
@ -99,17 +91,17 @@ const breadcrumb = [{
<div class="app-read-sc5" id="sc5Scene"> <div class="app-read-sc5" id="sc5Scene">
<div class="sc5-animation-box"> <div class="sc5-animation-box">
<div class="sc5-book-container img-box" id="sc5ZdpScene"> <div class="sc5-book-container img-box" id="sc5ZdpScene">
<Image class="h-full" src={extra.sc5.img_box} alt="背景" width={100} height={100} /> <Image class="h-full" src={extra.index.sc5.img_box} alt="背景" width={100} height={100} />
</div> </div>
<div class="text-box"> <div class="text-box">
<div class="read-subtitle"> <div class="read-subtitle">
{extra.sc5.read_subtitle} {extra.index.sc5.read_subtitle}
</div> </div>
<div class="read-title"> <div class="read-title">
{extra.sc5.read_title} {extra.index.sc5.read_title}
</div> </div>
<p class="read-text"> <p class="read-text">
<Fragment set:html={extra.sc5.read_text}></Fragment> <Fragment set:html={extra.index.sc5.read_text}></Fragment>
</p> </p>
</div> </div>
</div> </div>
@ -118,36 +110,36 @@ const breadcrumb = [{
<div class="sc6-animation-container"> <div class="sc6-animation-container">
<div class="text-box"> <div class="text-box">
<div class="read-title"> <div class="read-title">
{extra.sc6.read_title} {extra.index.sc6.read_title}
</div> </div>
<p class="read-text"> <p class="read-text">
<Fragment set:html={extra.sc6.read_text} /> <Fragment set:html={extra.index.sc6.read_text} />
</p> </p>
</div> </div>
<div class="sc6-animation-box img-box" id="sc6ZdpScene"> <div class="sc6-animation-box img-box" id="sc6ZdpScene">
<Image src={extra.sc6.img_box} class="h-full" alt="" width={100} height={100}/> <Image src={extra.index.sc6.img_box} class="h-full" alt="" width={100} height={100}/>
</div> </div>
</div> </div>
</div> </div>
<div class="app-read-sc7"> <div class="app-read-sc7">
<div class="text-box"> <div class="text-box">
<div class="read-title"> <div class="read-title">
{extra.sc7.read_title} {extra.index.sc7.read_title}
</div> </div>
<p class="read-text"> <p class="read-text">
<Fragment set:html={extra.sc7.read_text}> <Fragment set:html={extra.index.sc7.read_text}>
</p> </p>
</div> </div>
<div class="sc7-img-box"> <div class="sc7-img-box">
<Image class="h-auto" src={extra.sc7.img_box} alt="背景图" width={100} height={100} /> <Image class="h-auto" src={extra.index.sc7.img_box} alt="背景图" width={100} height={100} />
</div> </div>
</div> </div>
<div class="app-read-sc8"> <div class="app-read-sc8">
<Image class="h-full" src={extra.sc8.img_box} alt="背景" height={100} width={100}/> <Image class="h-full" src={extra.index.sc8.img_box} alt="背景" height={100} width={100}/>
<div class="sc8-content-wrapper"> <div class="sc8-content-wrapper">
<div class="text-box"> <div class="text-box">
<div class="read-title"> <div class="read-title">
{extra.sc8.read_title} {extra.index.sc8.read_title}
</div> </div>
</div> </div>
<div class="icon-container"> <div class="icon-container">
@ -155,28 +147,28 @@ const breadcrumb = [{
<div class="icon-warpper2"> <div class="icon-warpper2">
<div class="icon-top"> <div class="icon-top">
<div class="icon-item"> <div class="icon-item">
<Image class="h-full" src={extra.sc8.icon1} alt="icon" height={100} width={100} /> <Image class="h-full" src={extra.index.sc8.icon1} alt="icon" height={100} width={100} />
<span class="icon-desc">{extra.sc8.icon1_text}</span> <span class="icon-desc">{extra.index.sc8.icon1_text}</span>
</div> </div>
<div class="icon-item"> <div class="icon-item">
<Image class="h-full" src={extra.sc8.icon2} alt="icon" height={100} width={100} /> <Image class="h-full" src={extra.index.sc8.icon2} alt="icon" height={100} width={100} />
<span class="icon-desc">{extra.sc8.icon2_text}</span> <span class="icon-desc">{extra.index.sc8.icon2_text}</span>
</div> </div>
</div> </div>
<div class="icon-center"> <div class="icon-center">
<div class="icon-item icon-item2"> <div class="icon-item icon-item2">
<Image class="h-full" src={extra.sc8.icon3} alt="icon" height={100} width={100} /> <Image class="h-full" src={extra.index.sc8.icon3} alt="icon" height={100} width={100} />
<span class="icon-desc">{extra.sc8.icon3_text}</span> <span class="icon-desc">{extra.index.sc8.icon3_text}</span>
</div> </div>
</div> </div>
<div class="icon-bottom"> <div class="icon-bottom">
<div class="icon-item"> <div class="icon-item">
<Image class="h-full" src={extra.sc8.icon4} alt="icon" height={100} width={100} /> <Image class="h-full" src={extra.index.sc8.icon4} alt="icon" height={100} width={100} />
<span class="icon-desc">{extra.sc8.icon4_text}</span> <span class="icon-desc">{extra.index.sc8.icon4_text}</span>
</div> </div>
<div class="icon-item"> <div class="icon-item">
<Image class="h-full" src={extra.sc8.icon5} alt="icon" height={100} width={100} /> <Image class="h-full" src={extra.index.sc8.icon5} alt="icon" height={100} width={100} />
<span class="icon-desc">{extra.sc8.icon5_text}</span> <span class="icon-desc">{extra.index.sc8.icon5_text}</span>
</div> </div>
</div> </div>
</div> </div>
@ -192,6 +184,17 @@ const breadcrumb = [{
</Layout> </Layout>
<style> <style>
.mkt-info {
display: flex;
justify-content: flex-start;
align-items: center;
img {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
}
.sc2-swiper-box { .sc2-swiper-box {
img { img {
height: 100%; height: 100%;
@ -263,6 +266,17 @@ const breadcrumb = [{
.v4.n06-news-second-navigation .product-tabs__title .btn { .v4.n06-news-second-navigation .product-tabs__title .btn {
display: none !important; display: none !important;
} }
.mkt-info {
img {
width: 30px;
height: 30px;
}
}
.sc1 .app-name {
font-size: 2rem;
}
} }
@media (max-width: 1100px) { @media (max-width: 1100px) {

View File

@ -0,0 +1,243 @@
---
import Layout from "../../../layouts/Layout_2.astro";
import { getConfig, getExtra } from "../../../../utils/config";
import {
TP2_COLUMN_ABOUT_US,
TP2_COLUMN_ABOUT_US_URL,
} from "../../../../utils/const";
const config = getConfig(Astro);
const extra = getExtra('');
const breadcrumb = [
{ title: "主页", url: "/" },
{ title: TP2_COLUMN_ABOUT_US, url: TP2_COLUMN_ABOUT_US_URL },
];
---
<Layout
title={TP2_COLUMN_ABOUT_US + ` - ${config.app_name}`}
breadcrumb={breadcrumb}
>
<div id="content" class="main" data-site="中国">
<div>
<!-- 活动与新闻-->
<div class="hcomponent-page-info">
<div class="news-detail-title">
<div class="container-custom fix-p-color">
<h1><span>{config.app_name}{extra.refund.title}</span></h1>
</div>
</div>
</div>
</div>
<div class="container-custom hcomponent-share-bar">
<div class="container-custom">
<ul class="share-box list-unstyled hasLine">
<li class="line"></li>
</ul>
</div>
</div>
<div >
<div class="hcomponent-news-detail-content">
<div class="news-detail-box container-custom clearfix">
<div class="news-detail-content">
<Fragment set:html={extra.refund.content} />
<p style="text-align: right;">{config.app_company}</p>
</div>
</div>
</div>
</div>
</div>
</Layout>
<style>
.main {
padding-top: 10rem;
h1 {
span {
font-weight: bold;
}
margin-top: 0;
text-align: center;
font-size: 2rem;
}
.container-custom {
margin-left: auto;
margin-right: auto;
padding-left: 15px;
padding-right: 15px
}
}
p {
color: #666;
font-size: 1em;
line-height: 1.95em;
margin: 0
}
@media (max-width:767px) {
.container-custom>.container-custom {
padding: 0;
}
}
.mt20{
margin-top: 20px;
}
.main .bottom-box .share-box {
margin: 20px auto 0 auto;
}
.main .share-box {
padding-left: 0;
padding-right: 0;
text-align: center;
margin-bottom: 30px;
width: 100%;
position: relative;
z-index: 99;
}
.share-box.list-unstyled:not(.hasLine){
margin-bottom: 0;
}
.main .hasLine li {
padding: 0 22px;
margin: 0;
background: #fff;
position: relative;
z-index: 2;
margin: 0 -2px;
}
.main .share-box li .wechat-qrcode {
top: 30px;
height: 240px;
}
.main .share-box li .wechat-qrcode p {
text-align: center;
margin: 0;
padding: 0;
}
.main .hasLine .line {
position: absolute;
width: 100%;
height: 1px;
background: #dddddd;
top: 0;
left: 0;
top: 50%;
margin-top: -1px;
}
.main .share-box.s-bottom {
border-bottom: 1px solid #ddd;
padding-top: 40px;
padding-bottom: 40px;
margin: 20px auto 0 auto;
}
.news-detail-box {
margin-top: 5rem;
}
@media (min-width: 768px) {
.container {
width:100%
}
}
@media (min-width: 992px) {
body,html {
font-size:16px
}
.container-custom {
max-width: 1430px;
width: 85.652%;
}
.container {
max-width: 1799.136px;
width: 93.705%
}
}
@media (min-width: 1440px) {
body,html {
font-size:17px
}
}
@media (min-width: 1680px) {
body,html {
font-size:18px
}
}
@media (min-width: 1500px) {
.col-ls-4 {
width:33.33333333%
}
.col-ls-3 {
width: 25%
}
}
.news-detail-box .news-detail-content {
text-align: center;
padding: 0 8.5%;
}
.news-detail-box p {
margin-bottom: 20px;
}
.news-detail-box p {
text-align: left;
margin-bottom: 20px;
text-indent: 0em;
word-break: break-word;
word-wrap: break-word;
}
.news-detail-box .content-text {
text-align: left;
}
.news-detail-box .content-text p {
padding: 0;
}
.news-detail-box .news-detail-content {
text-align: center;
padding: 0 8.5%;
}
.news-detail-box .news-detail-content a {
color: #666;
-webkit-text-decoration: underline;
text-decoration: underline;
}
.news-detail-box .news-detail-content a:hover {
color: #000;
}
.news-detail-box .news-detail-content a.link-submit:hover {
color: #fff;
}
.news-detail-box .news-detail-content a.btn-rect {
-webkit-text-decoration: none;
text-decoration: none;
}
@media (min-width: 768px) {
.news-detail-box .news-detail-content>h2 {
padding: 0;
}
}
</style>

View File

@ -15,8 +15,8 @@
.v4.h06-in-page-banner .banner-block--dark-theme .banner-block__btn{background-color:#fff;color:#000;border-color:#fff} .v4.h06-in-page-banner .banner-block--dark-theme .banner-block__btn{background-color:#fff;color:#000;border-color:#fff}
.v4.h06-in-page-banner .banner-item__text{font-size:12px;font-weight:400;line-height:1.6;color:#000;max-width:880px;display:none} .v4.h06-in-page-banner .banner-item__text{font-size:12px;font-weight:400;line-height:1.6;color:#000;max-width:880px;display:none}
.v4.h06-in-page-banner .banner-block--image{background-position:center center;background-repeat:no-repeat;background-size:cover} .v4.h06-in-page-banner .banner-block--image{background-position:center center;background-repeat:no-repeat;background-size:cover}
@media only screen and (max-width:1199.98px){.huawei-v4 .v4.h06-in-page-banner:last-of-type{margin-bottom:0} @media only screen and (max-width:1199.98px){.app-v4 .v4.h06-in-page-banner:last-of-type{margin-bottom:0}
.huawei-v4 .v4.h06-in-page-banner:last-of-type .banner-item{margin-bottom:0} .app-v4 .v4.h06-in-page-banner:last-of-type .banner-item{margin-bottom:0}
.v4.h06-in-page-banner{margin-bottom:40px} .v4.h06-in-page-banner{margin-bottom:40px}
.v4.h06-in-page-banner .banner-block--right{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start} .v4.h06-in-page-banner .banner-block--right{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}
.v4.h06-in-page-banner .container{padding:0} .v4.h06-in-page-banner .container{padding:0}

File diff suppressed because it is too large Load Diff

View File

@ -476,6 +476,17 @@ main {
margin-top: 3vw; margin-top: 3vw;
} }
.app-read-sc1-kv .mkt-info {
img {
width: 20px;
height: 20px;
}
}
.app-name {
font-size: 1.3rem;
}
.app-read-sc1-kv .mkt-text { .app-read-sc1-kv .mkt-text {
width: 82.333333vw; width: 82.333333vw;
font-size: 3.3333333vw; font-size: 3.3333333vw;

View File

@ -1,4 +1,5 @@
import type { IWebsiteConfig } from "./rpc"; import type { IWebsiteConfig } from "./rpc";
import {EXTRA_HONGTIXIANYUE} from './extra.ts'
export function getConfig(Astro: any):IWebsiteConfig export function getConfig(Astro: any):IWebsiteConfig
{ {
@ -6,77 +7,7 @@ export function getConfig(Astro: any):IWebsiteConfig
} }
// 取默认的配置 // 取默认的配置
export function getExtra() export function getExtra(host: string)
{ {
return { return EXTRA_HONGTIXIANYUE;
index: {
sc1: {
homepage: ''
},
sc2: {
reaad_title: '全球 220 万 + 册优质图书和精品有声内容',
reaad_text: '覆盖经典出版物、爆款原创网文、热门有声书、独家大咖精品课等全品类阅读内容,满足用户多元化阅读需求,持续、快速更新海量内容库,定期推出不同的免费内容',
},
sc3: {
// swiper
swiper: [
{
url: '/template_2/index/book-cover-chenai.webp',
name: '尘埃落定',
},{
url: '/template_2/index/book-cover-chali.webp',
name: '穷查理宝典'
},{
url: '/template_2/index/book-cover-daming.webp',
name: '大明王朝',
},{
url: '/template_2/index/book-cover-fancui.webp',
name: '反脆弱',
},{
url: '/template_2/index/book-cover-qiren.webp',
name: '俗世奇人',
},{
url: '/template_2/index/book-cover-wenhua.webp',
name: '文化苦旅',
},{
url: '/template_2/index/book-cover-yuanze.webp',
name: '原则',
},{
url: '/template_2/index/book-cover-zero.webp',
name: '从0到1',
}
]
},
sc5: {
img_box: '/template_2/index/paper-translation.webp',
read_subtitle: '墨水平板 沉浸专注 跃然纸上',
read_title: '超 50 种语言一键翻译,原文 + 译文对照阅读',
read_text: '支持简繁字转换及超 50 种外文语言<br />互译,为用户打破阅读屏障',
},
sc6: {
read_title: '纸感阅读健康护眼,落笔生花记录灵感',
read_text: '还原真实自然的纸质书籍阅读体验,<br class="show-pc" />自适应环境调节背光亮度;边看边记,<br class="show-pc" />随时记录阅读灵感<br class="show-mob" />和精彩片段,<br class="show-pc" />笔记分类,便捷<span class="text-nowrap">高效</span>',
img_box: '/template_2/index/paper-notation-eyecare.webp'
},
sc7: {
read_title: '跨设备自由流转,阅读进度无缝接续',
read_text: '手机、平板、穿戴等设备阅、听无缝链接,让体验更畅快',
img_box: '/template_2/index/bookshelf-pc.webp'
},
sc8: {
read_title: '海量书籍、专享折扣、各种福利活动持续上新,让用户畅读好书',
img_box: '/template_2/index/opening-pc.webp',
icon1: '/template_2/index/opening-id-icon.svg',
icon1_text: 'VIP 身份标识',
icon2: '/template_2/index/opening-fiction-icon.svg',
icon2_text: 'VIP 网络小说',
icon3: '/template_2/index/opening-welfare-icon.svg',
icon3_text: 'VIP 专属福利',
icon4: '/template_2/index/opening-book1-icon.svg',
icon4_text: 'VIP 出版书籍',
icon5: '/template_2/index/opening-book2-icon.svg',
icon5_text: 'VIP 有声书籍',
}
}
}
} }

191
utils/extra.ts Normal file

File diff suppressed because one or more lines are too long