WeUI 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
WeUI 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
WeUI 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库。

WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含buttoncelldialogtoastarticleicon等各式元素。

使用

方法一:

使用bower进行安装

bower install --save weui

方法二:

使用npm进行安装

npm install --save weui

开发

git clone https://github.com/weui/weui.git
cd weui
npm install -g gulp
npm install
gulp -ws

运行gulp -ws命令,会监听src目录下所有文件的变更,并且默认会在8080端口启动服务器,然后在浏览器打开 http://localhost:8080/example

手机预览

请用微信扫码 

https://weui.io

Button

按钮可以使用a或者button标签。wap上要触发按钮的active态,必须触发ontouchstart事件,可以在body上加上ontouchstart=""全局触发。

按钮常见的操作场景:确定、取消、警示,分别对应class:weui_btn_primaryweui_btn_defaultweui_btn_warn,每种场景都有自己的置灰态weui_btn_disabled,除此外还有一种镂空按钮weui_btn_plain_xxx,客户端webview里的按钮尺寸有两类,默认宽度100%,小型按钮宽度自适应,两边边框与文本间距0.75em:

<a href="javascript:;" class="weui_btn weui_btn_primary">按钮</a>
<a href="javascript:;" class="weui_btn weui_btn_disabled weui_btn_primary">按钮</a>
<a href="javascript:;" class="weui_btn weui_btn_warn">确认</a>
<a href="javascript:;" class="weui_btn weui_btn_disabled weui_btn_warn">确认</a>
<a href="javascript:;" class="weui_btn weui_btn_default">按钮</a>
<a href="javascript:;" class="weui_btn weui_btn_disabled weui_btn_default">按钮</a>
<div class="button_sp_area">
    <a href="javascript:;" class="weui_btn weui_btn_plain_default">按钮</a>
    <a href="javascript:;" class="weui_btn weui_btn_plain_primary">按钮</a>

    <a href="javascript:;" class="weui_btn weui_btn_mini weui_btn_primary">按钮</a>
    <a href="javascript:;" class="weui_btn weui_btn_mini weui_btn_default">按钮</a>
</div>

Cell

Cell,列表视图,用于将信息以列表的结构显示在页面上,是wap上最常用的内容结构。Cell由多个section组成,每个section包括section headerweui_cells_title以及cellsweui_cells

cell由thumnailweui_cell_hd、bodyweui_cell_bd、accessoryweui_cell_ft三部分组成,cell采用自适应布局,在需要自适应的部分加上classweui_cell_primary即可:

带说明的列表项

<div class="weui_cells_title">带说明的列表项</div>
<div class="weui_cells">
    <div class="weui_cell">
        <div class="weui_cell_bd weui_cell_primary">
            <p>标题文字</p>
        </div>
        <div class="weui_cell_ft">
            说明文字
        </div>
    </div>
</div>

Cell可根据需要进行各种自定义扩展,包括辅助说明、跳转、单选、复选等。下面以带图标、说明、跳转的列表项,其他情况可以直接参考example下的代码:

<div class="weui_cells_title">带图标、说明、跳转的列表项</div>
<div class="weui_cells weui_cells_access">

    <a class="weui_cell" href="javascript:;">
        <div class="weui_cell_hd">
            <img src="" alt="icon" style="width:20px;margin-right:5px;display:block">
        </div>
        <div class="weui_cell_bd weui_cell_primary">
            <p>cell standard</p>
        </div>
        <div class="weui_cell_ft">
            说明文字
        </div>
    </a>
    <a class="weui_cell" href="javascript:;">
        <div class="weui_cell_hd">
            <img src="" alt="icon" style="width:20px;margin-right:5px;display:block">
        </div>
        <div class="weui_cell_bd weui_cell_primary">
            <p>cell standard</p>
        </div>
        <div class="weui_cell_ft">
            说明文字
        </div>
    </a>
</div>

Dialog

若系统的alert窗体无法满足网页的临时视图内容需求,则可以自定义实现与alert形式相似的dialog,并且在dialog中可以自定义地使用各种控件,来满足需求。

<div class="weui_dialog_confirm">
    <div class="weui_mask"></div>
    <div class="weui_dialog">
        <div class="weui_dialog_hd"><strong class="weui_dialog_title">弹窗标题</strong></div>
        <div class="weui_dialog_bd">自定义弹窗内容<br>...</div>
        <div class="weui_dialog_ft">
            <a href="javascript:;" class="weui_btn_dialog default">取消</a>
            <a href="javascript:;" class="weui_btn_dialog primary">确定</a>
        </div>
    </div>
</div>

<div class="weui_dialog_alert">
    <div class="weui_mask"></div>
    <div class="weui_dialog">
        <div class="weui_dialog_hd"><strong class="weui_dialog_title">弹窗标题</strong></div>
        <div class="weui_dialog_bd">弹窗内容,告知当前页面信息等</div>
        <div class="weui_dialog_ft">
            <a href="javascript:;" class="weui_btn_dialog primary">确定</a>
        </div>
    </div>
</div>

Toast

toast用于临时显示某些信息,并且会在数秒后自动消失。这些信息通常是轻量级操作的成功、失败或等待状态信息。

<div id="toast" style="display: none;">
    <div class="weui_mask_transparent"></div>
    <div class="weui_toast">
        <i class="weui_icon_toast"></i>
        <p class="weui_toast_content">已完成</p>
    </div>
</div>

<div id="loadingToast" class="weui_loading_toast" style="display:none;">
    <div class="weui_mask_transparent"></div>
    <div class="weui_toast">
        <div class="weui_loading">            <!-- :) -->
            <div class="weui_loading_leaf weui_loading_leaf_0"></div>
            <div class="weui_loading_leaf weui_loading_leaf_1"></div>
            <div class="weui_loading_leaf weui_loading_leaf_2"></div>
            <div class="weui_loading_leaf weui_loading_leaf_3"></div>
            <div class="weui_loading_leaf weui_loading_leaf_4"></div>
            <div class="weui_loading_leaf weui_loading_leaf_5"></div>
            <div class="weui_loading_leaf weui_loading_leaf_6"></div>
            <div class="weui_loading_leaf weui_loading_leaf_7"></div>
            <div class="weui_loading_leaf weui_loading_leaf_8"></div>
            <div class="weui_loading_leaf weui_loading_leaf_9"></div>
            <div class="weui_loading_leaf weui_loading_leaf_10"></div>
            <div class="weui_loading_leaf weui_loading_leaf_11"></div>
        </div>
        <p class="weui_toast_content">数据加载中</p>
    </div>
</div>

Msg Page

结果页通常来说可以认为进行一系列操作步骤后,作为流程结束的总结性页面。结果页的作用主要是告知用户操作处理结果以及必要的相关细节(可用于确认 之前的操作是否有误)等信息;若该流程用于开启或关闭某些重要功能,可在结果页增加与该功能相关的描述性内容;除此之外,结果页也可以承载一些附加价值操 作,例如提供抽奖、关注公众号等功能入口。

<div class="weui_msg">
    <div class="weui_icon_area"><i class="weui_icon_success weui_icon_msg"></i></div>
    <div class="weui_text_area">
        <h2 class="weui_msg_title">操作成功</h2>
        <p class="weui_msg_desc">内容详情,可根据实际需要安排</p>
    </div>
    <div class="weui_opr_area">
        <p class="weui_btn_area">
            <a href="javascript:;" class="weui_btn weui_btn_primary">确定</a>
            <a href="javascript:;" class="weui_btn weui_btn_default">取消</a>
        </p>
    </div>
    <div class="weui_extra_area">
        <a href="">查看详情</a>
    </div>
</div>

Article

文字视图显示大段文字,这些文字通常是页面上的主体内容。Article支持分段、多层标题、引用、内嵌图片、有/无序列表等富文本样式,并可响应用户的选择操作。

在微信客户端webview中使用Article,必须保证文字有足够的可读性和可辨识性、使用规范字体、保证足够的段间距、段首无缩进。

<article class="weui_article">
    <h1>大标题</h1>
    <section>
        <h2 class="title">章标题</h2>
        <section>
            <h3>1.1 节标题</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
                tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                consequat. Duis aute</p>
        </section>
        <section>
            <h3>1.2 节标题</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
                tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
                proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
        </section>
    </section>
</article>

Icon

<i class="weui_icon_msg weui_icon_success"></i>
<i class="weui_icon_msg weui_icon_info"></i>
<i class="weui_icon_msg weui_icon_warn"></i>
<i class="weui_icon_msg weui_icon_waiting"></i>
<i class="weui_icon_safe weui_icon_safe_success"></i>
<i class="weui_icon_safe weui_icon_safe_warn"></i>
<div class="icon_sp_area">
    <i class="weui_icon_success"></i>
    <i class="weui_icon_success_circle"></i>
    <i class="weui_icon_success_no_circle"></i>
    <i class="weui_icon_info"></i>
    <i class="weui_icon_waiting"></i>
    <i class="weui_icon_waiting_circle"></i>
    <i class="weui_icon_circle"></i>
    <i class="weui_icon_warn"></i>
    <i class="weui_icon_download"></i>
</div>
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(79)
2019/05/06 06:56

WeUI 2.0.0 发布,微信 Web 应用设计 UI 库

WeUI 2.0.0 发布了,上个版本(1.1.3)在去年六月底发布。WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。 新版更新内容如下: 【增强】 颜色规范、字体大小规范、间距规范对齐微信 7.0 新视觉风格 【增强】 更新按钮 UI 【增强】 按钮改为默认定宽184px,需要用回拉通型可加 classweui-btn_block 【增强】 新增行按钮 UI 【增强】 更新图标 UI 【...

2
36
发表了资讯
2016/09/24 00:00

Weui 1.0 发布,微信 Web 应用设计 UI 库

Weui 1.0 发布了。 WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。 主要更新内容: 【增强】 采用BEM命名规范 【增强】 新增Flex布局 【增强】 新增Gallery 【增强】 新增Preview 【增强】 新增Agreement 【增强】 新增Footer 【增强】 新增Dialog和Actionsheet的Android样式 【修复】 修正了部分组件的间距 【修复】 修复了已知问题 下载地...

4
80
发表了资讯
2016/07/08 00:00

WeUI 0.4.3 发布,微信 Web 应用设计 UI 库

WeUI 0.4.3 发布了,更新如下: v0.4.3 (2016-07-05) [修复] 图片上传组件无法选中图片的缺陷 [修复] 九宫格组件少于3个时出现多余线段的缺陷 [修复] 解决某些组件的z-index冲突,标准化z-index [修复] 解决pannel图标没有对齐的问题 [增强] demo 更新 router [增强] autoprefixer 指定浏览器范围 详情参考: 60873c2 fix 某些android机不能选图片的bug (issues#388) 46235c6 #376 Fix grids top line bug with less than 2 ite...

3
69
发表了资讯
2016/05/07 00:00

WeUI 0.4.2 发布,微信 Web 应用设计 UI 库

WeUI 0.4.2 发布了。WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库。 WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、toast、article、icon等各式元素。 改进记录: [修复] 修复 weui_label 在英文字符下溢出的缺陷 [增强] Article 页面增加支持图片样式 [修复] demo 页面的 lang 属性修改 [修复] 修复 demo 页面的 Action...

4
72
发表了资讯
2016/03/16 00:00

jQuery WeUI V0.4.2 发布

jQuery WeUI V0.4.2 发布了! jQuery WeUI 中使用的是官方WeUI的CSS代码,并提供了jQuery/Zepto版本的JS API实现。因为直接使用了官方的CSS,所以你不用担心跟官方版本的冲突。实际上 jQuery WeUI == WeUI + jQuery插件。轻量的特性使jQuery WeUI 可以很好的和VUE、React、Angular等JS框架结合使用。 jQuery WeUI 包含了WeUI官方的全部组件,而且还提供了下拉刷新、滚动加载等常用的组件,后续更新会不断增加更多常用组件。如果...

28
194
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
Axios 代码问题漏洞
SSRF
Axios是一款基于Promise(异步编程的一种解决方案)的HTTP客户端。 Axios NPM package 0.21.0版本存在安全漏洞,攻击者可利用该漏洞能够通过提供一个URL绕过代理,该URL通过重定向响应一个受限制的主机或IP地址。
CVE-2020-28168 MPS-2020-16365
2022-08-08 19:06
Socketio Engineio 资源管理错误漏洞
拒绝服务
Socketio Engineio是Socketio社区的一个基于Javascript用于浏览器与设备进行双向通信的实时引擎。 Socketio socket.io-parser before 3.4.1 存在安全漏洞,攻击者可利用该漏洞通过大包导致拒绝服务(内存消耗)。
CVE-2020-36049 MPS-2021-0192
2022-08-08 19:06
mixin-deep 参数注入漏洞
参数注入或修改
mixin-deep是一款能够将对象属性混合到第一个对象中的模块。 mixin-deep 1.3.2之前版本和2.0.0版本中存在参数注入漏洞。该漏洞源于外部输入数据构造命令参数的过程中,网络系统或产品未正确过滤参数中的特殊字符。攻击者可利用该漏洞执行非法命令。
CVE-2019-10746 MPS-2019-10507
2022-08-08 19:06
lodash输入验证错误漏洞
原型污染
lodash是一款开源的JavaScript实用程序库。 lodash 4.17.15及之前版本中存在输入验证错误漏洞。远程攻击者可借助'merge'、'mergeWith'和'defaultsDeep'函数利用该漏洞在系统上执行任意代码。
CVE-2020-8203 MPS-2020-15679
2022-08-08 19:06
object-path 安全漏洞
使用不兼容类型访问资源(类型混淆)
object-path是个人开发者的一个可以通过路径访问数据结构中变量的 Npm 库。 object-path 0.11.6之前版本存在安全漏洞,该漏洞源于当path参数中使用的路径组件是阵列时会导致类型混淆漏洞。
CVE-2021-23434 MPS-2021-18322
2022-08-08 19:06
github ws 资源管理错误漏洞
github ws是一个应用软件。一种易于使用,运行迅速且经过全面测试的WebSocket客户端和服务器实现的方法。 漏洞版本中“Sec-Websocket-Protocol”标头的一个特殊的值可以用来显著降低ws服务器的速度,从而导致拒绝服务漏洞。
CVE-2021-32640 MPS-2021-7109
2022-08-08 19:06
Sindre Sorhus IS-SVG 安全漏洞
不加限制或调节的资源分配
Sindre Sorhus is-svg是 (Sindre Sorhus)开源的一个应用软件。提供检查字符串或缓冲区是否为SVG功能。 IS-SVG 存在安全漏洞,该漏洞源于当应用程序检查一个精心制作的无效SVG字符串时,就会出现正则表达式拒绝服务(ReDOS)。
CVE-2021-29059 MPS-2021-8684
2022-08-08 19:06
Follow Redirects 安全漏洞
侵犯隐私
Follow Redirects是一个自动遵循 Http(s) 重定向的 Node.js 模块。 Follow Redirects 存在安全漏洞,该漏洞源于follow-redirects容易暴露私人个人信息给未经授权的参与者。
CVE-2022-0155 MPS-2022-0815
2022-08-08 19:06
http-proxy 存在拒绝服务漏洞
拒绝服务
http-proxy 是一个为大众提供 HTTP 代理的库。此软件包的受影响版本容易受到拒绝服务 (DoS) 的攻击。
MPS-2022-13767
2022-08-08 19:06
Npm Ini 资源管理错误漏洞
拒绝服务
Npm Ini是美国Npm公司的一个基于Javascript的用于解析和序列化Ini格式文件的代码库。 Npm ini before 1.3.6 存在资源管理错误漏洞,该漏洞允许攻击者可利用该漏洞向应用程序提交恶意的INI文件,该应用程序将用INI解析该文件。这可以根据上下文进一步加以利用。
CVE-2020-7788 MPS-2020-17544
2022-08-08 19:06
minimist 输入验证错误漏洞
原型污染
minimist是一款命令行参数解析工具。 minimist 1.2.2之前版本存在输入验证错误漏洞。攻击者可借助‘constructor’和‘__proto__’ payload利用该漏洞添加或修改Object.prototype的属性。
CVE-2020-7598 MPS-2020-3516
2022-08-08 19:06
ua-parser-js 资源管理错误漏洞
拒绝服务
ua-parser-js是基于JavaScript的User-Agent字符串解析器。可以在浏览器(客户端)或node.js(服务器端)环境中使用。也可以作为jQuery / Zepto插件,Bower / Meteor软件包和RequireJS / AMD模块使用。 ua-parser-js 0.7.23 之前版本存在安全漏洞,该漏洞源于ue -parser-js很容易受到正则表达式在多个正则表达式中的拒绝服务(ReDoS)的攻击。
CVE-2020-7793 MPS-2020-17428
2022-08-08 19:06
lodash 存在拒绝服务漏洞
拒绝服务
lodash 是一个现代 JavaScript 实用程序库,提供模块化、性能和附加功能。由于对 CVE-2020-8203 的修复不完整,此软件包的受影响版本容易受到 zipObjectDeep 中的原型污染。
MPS-2022-13841
2022-08-08 19:06
stylelint 存在ReDoS漏洞
ReDoS
stylelint 是一种 linter,可帮助您避免错误并在样式中强制执行约定。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-14060
2022-08-08 19:06
follow-redirects project信息暴露漏洞
信息暴露
Exposure of Sensitive Information to an Unauthorized Actor in NPM follow-redirects prior to 1.14.8.
CVE-2022-0536 MPS-2022-3636
2022-08-08 19:06
simple-git-hooks存在未明漏洞
命令注入
simple-git-hooks是一个应用软件。一个简单的git钩子经理小型项目。simple-git-hooks 3.5.0之前版本存在安全漏洞,攻击者利用该漏洞进行命令注入。
CVE-2022-24066 MPS-2022-5073
2022-08-08 19:06
Socketio Socket.io 访问控制错误漏洞
源验证错误
Socketio Socket.io是Socketio社区的一个基于Javascript的支持基于事件双向通信的服务器端应用。 socket.io before 2.4.0 存在安全漏洞,该漏洞源于CORS配置错误,容易出现不安全的默认值。
CVE-2020-28481 MPS-2021-0652
2022-08-08 19:06
trim-newlines 安全漏洞
拒绝服务
trim-newlines是一个修改换行符的npm包。 trim-newlines 存在安全漏洞,该漏洞源于应用于Node.js在3.0.1与4.0.1版本及之前版本中.end()方法存在相关问题。
CVE-2021-33623 MPS-2021-7398
2022-08-08 19:06
npm dot-prop 安全漏洞
原型污染
4.2.1 之前的 dot-prop npm 包版本和 5.1.1 之前的 5.x 版本中的原型污染漏洞允许攻击者向 JavaScript 语言构造(例如对象)添加任意属性。
CVE-2020-8116 MPS-2020-1734
2022-08-08 19:06
Yargs Y18n 输入验证错误漏洞
动态确定对象属性修改的控制不恰当
Yargs Y18n是Yargs个人开发者的一个类似I18n的由Js编写的代码库。 y18n before 3.2.2, 4.0.1 and 5.0.5版本存在输入验证错误漏洞,该漏洞源于网络系统或产品未对输入的数据进行正确的验证。
CVE-2020-7774 MPS-2020-17543
2022-08-08 19:06
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
79 评论
2.4K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部