@douyinfe/semi-site-banner

中文文档
0.1.5发布于 2024/04/19MITTypeScriptESM + CJS近 30 天下载 2589

半站点横幅

中文使用文档
文档目录4 节
  1. Semi site banner
  2. 安装
  3. 使用
  4. Data 配置

Semi site banner

used in Semi Design

安装

npm i @douyinfe/semi-site-banner

使用

UMD 版本由于 SSR 原因,没有将样式内联进去,因此 CSS 需要单独引入。

import React from 'react';
import SemiSiteReactBanner from '@douyinfe/semi-site-banner';
import '@douyinfe/semi-site-banner/dist/index.css';

class App extends React.Component {
  render() {
    const data = {
      zh: {
            "title": "抖音系企业应用设计系统 Semi Design 开源啦 🎉",
            "href": "https://bytedance.feishu.cn/docx/doxcnuCrjVb0zQEnqpzYzsisXkc#doxcnCaqWgw0oOgGumcwu58G47f"
      },
      en: {
            "title": "Build sensible web app with Semi Design, now is open-sourced 🎉",
            "href": "https://bytedance.feishu.cn/docx/doxcnuCrjVb0zQEnqpzYzsisXkc#doxcnCaqWgw0oOgGumcwu58G47f"
      },
    };
  
    return (
      <div style={{ backgroundColor: '#FFF', padding: 20 }}>
        <SemiSiteReactBanner type="default" />
        <br />
        <SemiSiteReactBanner type="default" icon={null} />
        <br />
        <SemiSiteReactBanner data={data} icon={<IconGift style={{ color: '#FBCD2C' }} />} />
        <br />
        <SemiSiteReactBanner type="blue" />
        <br />
        <SemiSiteReactBanner type="colour" />
        <br />
        <SemiSiteReactBanner type="black" />
      </div>
    );
  }
}

Data 配置

data 用于配置 banner 显示内容,可以选择直接通过 prop 配置和通过 TCC 配置。推荐使用 TCC 配置,可以动态更新。

  • 通过 TCC 进行配置可以动态更新banner内容,用户点击关闭后如果 TCC 数据没有更新则不再打开;
  • 通过 data prop 直接进行配置,用户关闭后 7 日内不会再显示。

API 参考

参数名说明类型默认值
data通过 data prop 配置 bannerBannerDatanull
type预设的几种背景色,可选 default、blue、colour、blackstringdefault
icon自定义通知icon,type 为default有默认iconReactNode-
closeIcon自定义关闭按钮ReactNode<IconClose />
className自定义类名string-
style自定义样式CSSProperties-
onClose点击关闭按钮时的回调Function() => {}
type BannerData = 
    BaseBannerData | // 直接通过 prop 配置
    ({ [x: string]: BaseBannerData;}); // 通过 TCC 配置

interface BaseBannerData {
  zh?: DataItem;
  en?: DataItem;
  style?: React.CSSProperties;
}

interface DataItem {
  title?: string;
  href?: string; // 完整的 url 链接
  path?: string; // 没有域名的 url 链接,用于站内跳转
}

版本与发布记录

@douyinfe/semi-site-banner 共发布 12 个版本,首次发布于 2021/10/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.1.5latest2024/04/192 年前
0.1.42024/02/062 年前
0.1.32024/02/042 年前
0.2.02023/11/302 年前
0.1.22023/08/043 年前
0.1.12023/08/033 年前

关于 @douyinfe/semi-site-banner 的常见问题

@douyinfe/semi-site-banner 是什么?

半站点横幅

如何安装 @douyinfe/semi-site-banner?

在项目目录运行 npm install @douyinfe/semi-site-banner,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=16.10.2)、react-dom(>=16.10.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@douyinfe/semi-site-banner 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@douyinfe/semi-site-banner 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@douyinfe/semi-site-banner 可以商用吗?

@douyinfe/semi-site-banner 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@douyinfe/semi-site-banner 的下载量有多少?

根据 npm 官方下载统计,@douyinfe/semi-site-banner 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,589 次,日均约 86 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@douyinfe/semi-site-banner 还在维护吗?

最新版本 0.1.5 发布于 2024/04/19(2 年前);至今共发布 12 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/10/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。