Skip to content

Commit

Permalink
Merge branch 'feat/cjs-to-esm' into feat/npm-publish
Browse files Browse the repository at this point in the history
* feat/cjs-to-esm: (229 commits)
  feat(plugin-compiler): 升级 typescript 5,处理类型相关报错
  feat(utils): 删除 cjstoesm 依赖,抽离相关方法
  chore(release): publish packages
  fix(core): 修复 invokeHook 参数 hookName 的类型报错 (eleme#78)
  feat(runtime-base): 新增 hooks 的 pause、resume 方法,用于暂停/恢复部分 hooks 生命周期的执行 (eleme#77)
  feat(plugin-compiler): 新增多端组件构建模式支持 (eleme#75)
  chore(release): publish packages
  feat(runtime-web): 地图组件支持自定义样式 (eleme#76)
  fix(runtime-web): 解决 swiper item 数据更新异常以及单个 swiper-item 场景无需 autoplay 的问题 (eleme#74)
  chore(release): publish packages
  fix(runtime-web): 修复地图组件 relative 布局错位问题 (eleme#72)
  chore(release): publish packages
  feat(runtime-web): caniuse 函数增加部分能力判断 (eleme#71)
  chore(release): publish packages
  feat(plugin-compiler): 优化分包和插件编译的 getApp 注入逻辑,避免在支付宝小程序上的 externals 生效问题 (eleme#70)
  chore(release): publish packages
  docs(website): 完善多端产物规范
  fix(plugin-compiler-web): 修复转 Web 小程序组件库的产物加载入口和文档不一致的问题
  chore(release): publish packages
  feat(runtime-web): 元素获取适配 & 配置读取优先级调整 (eleme#68)
  ...

# Conflicts:
#	CHANGELOG.md
#	lerna.json
#	packages/api/CHANGELOG.md
#	packages/api/package.json
#	packages/api/src/api.ts
#	packages/api/src/index.ts
#	packages/api/src/moduleManager.ts
#	packages/cli/CHANGELOG.md
#	packages/cli/package.json
#	packages/cli/src/index.ts
#	packages/cli/src/plugins/autoReloadPlugin.ts
#	packages/core/CHANGELOG.md
#	packages/core/package.json
#	packages/core/src/app.ts
#	packages/core/src/component.ts
#	packages/core/src/page.ts
#	packages/core/src/pageToComponent.ts
#	packages/core/src/plugin.ts
#	packages/core/src/plugins/contextPlugin.ts
#	packages/core/src/plugins/eventPlugin.ts
#	packages/core/src/utils/init.ts
#	packages/core/src/utils/invokeHook.ts
#	packages/core/src/utils/polyfill.ts
#	packages/create-mor/CHANGELOG.md
#	packages/create-mor/package.json
#	packages/plugin-analyzer/CHANGELOG.md
#	packages/plugin-analyzer/package.json
#	packages/plugin-compiler-alipay/CHANGELOG.md
#	packages/plugin-compiler-alipay/package.json
#	packages/plugin-compiler-alipay/src/runtimeConfig.ts
#	packages/plugin-compiler-alipay/src/templateProcessorToAlipay.ts
#	packages/plugin-compiler-baidu/CHANGELOG.md
#	packages/plugin-compiler-baidu/package.json
#	packages/plugin-compiler-bytedance/CHANGELOG.md
#	packages/plugin-compiler-bytedance/package.json
#	packages/plugin-compiler-bytedance/src/plugin.ts
#	packages/plugin-compiler-bytedance/src/runtimeConfig.ts
#	packages/plugin-compiler-dingding/CHANGELOG.md
#	packages/plugin-compiler-dingding/package.json
#	packages/plugin-compiler-kuaishou/CHANGELOG.md
#	packages/plugin-compiler-kuaishou/package.json
#	packages/plugin-compiler-kuaishou/src/runtimeConfig.ts
#	packages/plugin-compiler-qq/CHANGELOG.md
#	packages/plugin-compiler-qq/package.json
#	packages/plugin-compiler-taobao/CHANGELOG.md
#	packages/plugin-compiler-taobao/package.json
#	packages/plugin-compiler-web/CHANGELOG.md
#	packages/plugin-compiler-web/package.json
#	packages/plugin-compiler-web/src/compiler/core/axml2/ast/data-binding/index.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/babel-helper.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/AttributeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/ClassAttributeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/EventAttributeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/NamedSlotAttributeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/RefAttributeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/StyleAttributeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/BlockNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/CommentNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/ElementNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/ForElementNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/IfElementNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/IncludeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/SlotNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/SlotScopeNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/TextNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/UseTemplateNode.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/helper-databinding.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/index.ts
#	packages/plugin-compiler-web/src/compiler/core/axml2/generate/utils.ts
#	packages/plugin-compiler-web/src/compiler/core/js/component.ts
#	packages/plugin-compiler-web/src/compiler/core/js/index.ts
#	packages/plugin-compiler-web/src/index.ts
#	packages/plugin-compiler-web/src/plugins/bundleOptimizationPlugin.ts
#	packages/plugin-compiler-web/src/plugins/extractOrInjectCssPlugin.ts
#	packages/plugin-compiler-wechat/CHANGELOG.md
#	packages/plugin-compiler-wechat/package.json
#	packages/plugin-compiler/CHANGELOG.md
#	packages/plugin-compiler/package.json
#	packages/plugin-compiler/src/config.ts
#	packages/plugin-compiler/src/constants.ts
#	packages/plugin-compiler/src/parsers/scriptParserPlugin.ts
#	packages/plugin-compiler/src/plugins/runtimeInjectPlugin.ts
#	packages/plugin-composer/CHANGELOG.md
#	packages/plugin-composer/package.json
#	packages/plugin-composer/src/compose.ts
#	packages/plugin-composer/src/index.ts
#	packages/plugin-generator/CHANGELOG.md
#	packages/plugin-generator/package.json
#	packages/plugin-generator/templates/projects/miniprogram-alipay-ts-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-alipay-ts/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-js-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-js-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-js/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-ts-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-ts-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-ts/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-js-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-js-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-js/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-ts-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-ts-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-ts/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-js-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-js-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-js/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-ts-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-ts-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-ts/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-js-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-js-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-js/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-ts-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-ts-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-ts/package.json
#	packages/plugin-generator/templates/projects/miniprogram-wechat-js-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-wechat-js-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-wechat-js/package.json
#	packages/plugin-generator/templates/projects/miniprogram-wechat-ts-less/package.json
#	packages/plugin-generator/templates/projects/miniprogram-wechat-ts-sass/package.json
#	packages/plugin-generator/templates/projects/miniprogram-wechat-ts/package.json
#	packages/plugin-generator/templates/projects/mor-components-library/alipay/package.json.tpl
#	packages/plugin-generator/templates/projects/mor-components-library/wechat/package.json.tpl
#	packages/plugin-mocker/CHANGELOG.md
#	packages/plugin-mocker/package.json
#	packages/plugin-mocker/src/runtimes/attach.ts
#	packages/plugin-mocker/src/runtimes/mock.ts
#	packages/plugin-mocker/src/runtimes/requireContext.ts
#	packages/runtime-base/CHANGELOG.md
#	packages/runtime-base/package.json
#	packages/runtime-mini/CHANGELOG.md
#	packages/runtime-mini/package.json
#	packages/runtime-mini/src/alipay/apisToAlipay.ts
#	packages/runtime-mini/src/alipay/apisToOther.ts
#	packages/runtime-mini/src/alipay/behaviorToAlipay.ts
#	packages/runtime-mini/src/alipay/componentToAlipay.ts
#	packages/runtime-mini/src/alipay/componentToOther.ts
#	packages/runtime-mini/src/alipay/pageToAlipay.ts
#	packages/runtime-mini/src/alipay/utilsToAlipay.ts
#	packages/runtime-mini/src/alipay/utilsToOther.ts
#	packages/runtime-mini/src/baidu/apis.ts
#	packages/runtime-mini/src/bytedance/apis.ts
#	packages/runtime-mini/src/kuaishou/apis.ts
#	packages/runtime-mini/src/qq/apis.ts
#	packages/runtime-mini/src/wechat/apis.ts
#	packages/runtime-web/CHANGELOG.md
#	packages/runtime-web/package.json
#	packages/takin/CHANGELOG.md
#	packages/takin/package.json
#	packages/utils/CHANGELOG.md
#	packages/utils/package.json
#	packages/utils/src/index.ts
#	packages/utils/src/utils.ts
  • Loading branch information
BboyZaki committed Jul 31, 2023
2 parents f6fbb40 + 82b3666 commit d24bdaa
Show file tree
Hide file tree
Showing 277 changed files with 12,423 additions and 2,544 deletions.
37 changes: 28 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,38 @@

<h1 align="center">MorJS</h1>

<p align="center">中文可发音为<em>魔</em>,是基于小程序 DSL(微信、支付宝)的,可扩展的多端研发框架,支持 <a href='https://developers.weixin.qq.com/miniprogram/dev/framework/' target='_blank'>微信</a>、<a href='https://opendocs.alipay.com/mini/development' target='_blank'>支付宝</a>、<a href='https://smartprogram.baidu.com/developer/index.html' target='_blank'>百度</a>、<a href='https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/introduction/overview/' target='_blank'>字节</a>、<a href='https://q.qq.com/wiki/develop/miniprogram/frame/' target='_blank'>QQ</a>、<a href='https://mp.kuaishou.com/docs/develop/guide/introduction.html' target='_blank'>快手</a>、<a href='https://miniapp.open.taobao.com/docV3.htm?docId=117766&docType=1' target='_blank'>淘宝</a>、<a href='https://open.dingtalk.com/document/orgapp/develop-org-mini-programs' target='_blank'>钉钉</a> 小程序、Web 等应用。MorJS 以多端编译为基础,配以面向全生命周期的插件体系,覆盖从源码到构建产物的每个阶段,支持各类功能扩展和业务需求。</p>
<p align="center">Mor (发音为 /mɔːr/,类似 more),是饿了么开发的一款基于小程序 DSL 的,可扩展的多端研发框架,使用小程序原生 DSL 构建,使用者只需书写一套(微信或支付宝)小程序,就可以通过 Mor 的转端编译能力,将源码分别编译出可以在不同端(<a href='https://developers.weixin.qq.com/miniprogram/dev/framework/' target='_blank'>微信</a>/<a href='https://opendocs.alipay.com/mini/development' target='_blank'>支付宝</a>/<a href='https://smartprogram.baidu.com/developer/index.html' target='_blank'>百度</a>/<a href='https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/introduction/overview/' target='_blank'>字节</a>/<a href='https://open.dingtalk.com/document/orgapp/develop-org-mini-programs' target='_blank'>钉钉</a>/<a href='https://mp.kuaishou.com/docs/develop/guide/introduction.html' target='_blank'>快手</a>/<a href='https://q.qq.com/wiki/develop/miniprogram/frame/' target='_blank'>QQ</a>/<a href='https://miniapp.open.taobao.com/docV3.htm?docId=117766&docType=1' target='_blank'>淘宝</a>/Web…)运行的产物。</p>

<p align="center">MorJS 以多端编译为基础,配以面向全生命周期的插件体系,覆盖从源码到构建产物的每个阶段,支持各类功能扩展和业务需求,无论是基础的页面和组件还是复杂的分包和插件,MorJS 都可以胜任,帮助你高效地开发多端小程序。</p>

### [📚 快速上手 MorJS →](https://mor.eleme.io/guides/introduction/getting-started)

## 核心特性
## 优势与核心能力

Mor 是一套基于小程序 DSL (支付宝或微信) 的框架。他的易用性、标准化和灵活性,使得开发者能更好地专注于业务,让开发成本,招聘、管理、测试各方面成本都大幅下降,提高开发者的工作效率。

- ⭐️ **易用性**
- 💎 **DSL 支持**:可使用微信小程序 DSL 或 支付宝小程序 DSL 编写小程序,无额外使用成本;
- 🌴 **多端支持**:支持将一套小程序转换为各类小程序平台及 Web 应用, 节省双倍人力;
- 🚀 **快速接入**:仅需引入两个包,增加一个配置文件,即可简单快速接入到现有小程序项目;
- 🌟 **标准化**
- 📦 **开箱即用**:内置了脚手架、构建、分析、多端编译等完整研发能力,仅需一个依赖即可上手开发;
- 🌈 **表现一致**:通过编译时+运行时抹平多端差异性,让不同平台的小程序获得一致的用户体验;
- 🖇 **形态转换**:支持同一个项目的不同的形态,允许小程序、分包、插件不同形态之间的相互转换;
-**灵活性**
- 🎉 **方便扩展**:Mor 将完备的生命周期和内部功能插件化,使用插件(集)以满足功能和垂直域的分层需求;
- 📚 **类型支持**:除小程序标准文件类型外,还支持 ts、less/scss、jsonc/json5 等多种文件类型;
- 🧰 **按需适配**:可根据需求选择性接入适配能力,小项目仅需编译功能,中等项目可结合编译和页面注入能力,大型项目推荐使用复杂小程序集成能力;

## 示例

以下是饿了么-美食外卖频道在微信、支付宝、抖音小程序及 H5 中的表现。

<img src="https://img.alicdn.com/imgextra/i2/O1CN01pbpEfK1JHQ6ejbjIb_!!6000000001003-0-tps-2478-1383.jpg" />

## 部分使用案例

- 💎 **DSL 支持**:支持使用微信小程序 DSL 或 支付宝小程序 DSL 编写小程序
- 🌴 **多端支持**:支持一键转换为各类小程序平台及 Web 应用, 节省双倍人力
- 📦 **开箱即用**:MorJS 内置了脚手架、构建、分析、多端编译等,仅需一个依赖即可上手开发
- 🎉 **方便扩展**:MorJS 实现了完备的生命周期,并使其插件化,MorJS 内部功能也全由插件完成。此外还支持插件和插件集,以满足功能和垂直域的分层需求
- 🚀 **大量自研**:多端组件打包、文档工具、请求库、数据流、复杂小程序集成、小程序形态转换等,满足日常项目的周边需求
- 🚄 **面向未来**:在满足需求的同时,我们也不会停止对新技术的探索。比如 多端扩充、Weex 2.0 等
- 🌍 **企业级**:经饿了么内部 100+ 公司项目的验证,值得信赖
<img src="https://img.alicdn.com/imgextra/i2/O1CN01nT9RLK1wJ2WjD09Zc_!!6000000006286-0-tps-1520-3500.jpg" />

## 贡献

Expand Down
1 change: 0 additions & 1 deletion examples/alipay/.npmrc

This file was deleted.

12 changes: 7 additions & 5 deletions examples/alipay/mor.config.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
import { defineConfig } from '@morjs/cli'

export default defineConfig([
/**
* 支付宝小程序编译配置
*/
{
name: 'ali',
sourceType: 'alipay',
target: 'alipay',
compileType: 'miniprogram',
compileMode: 'bundle'
target: 'alipay'
},
/**
* 支付宝小程序转 Web 编译配置
*/
{
name: 'web',
sourceType: 'alipay',
target: 'web',
compileType: 'miniprogram',
compileMode: 'bundle',
globalObject: 'customMy',
web: {
showBack: true,
Expand Down
4 changes: 2 additions & 2 deletions examples/alipay/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
"build": "mor compile"
},
"dependencies": {
"@morjs/core": "1.0.0",
"@morjs/core": "*",
"mini-ali-ui": "^1.4.1"
},
"devDependencies": {
"@morjs/cli": "1.0.0"
"@morjs/cli": "*"
}
}
3 changes: 2 additions & 1 deletion examples/alipay/src/project.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,6 @@

"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {}
"condition": {},
"appid":"testAppId"
}
1 change: 0 additions & 1 deletion examples/wechat/.npmrc

This file was deleted.

63 changes: 61 additions & 2 deletions examples/wechat/mor.config.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,75 @@
import { defineConfig } from '@morjs/cli'
import { defineConfig, logger, Plugin, Runner } from '@morjs/cli'

/**
* NOTE: 插件示例,简单处理示例项目中微信 DSL 转支付宝不兼容的地方
* MorJS 无法覆盖所有小程序差异,通常情况下可以结合项目实际情况通过插件来自行处理
*/
class TransformUnsupportTagForAlipayPlugin implements Plugin {
name = 'TransformUnsupportTagForAlipayPlugin'
apply(runner: Runner) {
const unsupportedTags = ['i', 'span', 'img', 'h2', 'strong', 'em', 'a']
runner.hooks.templateParser.tap(this.name, function (tree) {
return tree.walk((node) => {
if (!node.tag || !node.attrs) return node
const attrs = node.attrs

// 示例项目中出现了 html 元素,这里简单做下兼容
if (unsupportedTags.includes(node.tag as string)) {
attrs.class = attrs.class
? [attrs.class, node.tag].join(' ')
: node.tag
node.tag = 'view'
}
// 支付宝 label 不支持 tap 事件
if (node.tag === 'label' && attrs.bindtap) {
logger.warnOnce(
`支付宝 label 标签不支持 tap 事件,将替换为 view 标签`
)
node.tag = 'view'
}
return node
})
})
}
}

export default defineConfig([
/**
* 微信小程序编译配置
*/
{
name: 'wechat',
sourceType: 'wechat',
target: 'wechat'
},
/**
* 微信小程序转支付宝小程序编译配置
*/
{
name: 'alipay',
sourceType: 'wechat',
target: 'alipay'
target: 'alipay',
plugins: [new TransformUnsupportTagForAlipayPlugin()]
},
/**
* 微信小程序转字节小程序编译配置
*/
{
name: 'tt',
sourceType: 'wechat',
target: 'bytedance'
},
/**
* 微信小程序转百度小程序编译配置
*/
{
name: 'baidu',
sourceType: 'wechat',
target: 'baidu'
},
/**
* 微信小程序转 Web 编译配置
*/
{
name: 'web',
sourceType: 'wechat',
Expand Down
8 changes: 5 additions & 3 deletions examples/wechat/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@
"repository": "[email protected]:eleme/morjs.git",
"scripts": {
"dev": "mor compile -w --no-cache",
"build": "mor compile"
"build": "mor compile",
"dev:web": "mor compile -w --name web --no-cache",
"dev:ali": "mor compile -w --name alipay --no-cache"
},
"dependencies": {
"@morjs/core": "1.0.0"
"@morjs/core": "*"
},
"devDependencies": {
"@morjs/cli": "1.0.0"
"@morjs/cli": "*"
}
}
6 changes: 5 additions & 1 deletion examples/wechat/src/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,11 @@
"example/navigation-bar/navigation-bar",
"example/tabbar/tabbar",

"example/searchbar/searchbar"
"example/searchbar/searchbar",

"example/bluetooth/bluetooth",

"example/two-way-binding/two-way-binding"
],
"window": {
"navigationBarTextStyle": "black",
Expand Down
11 changes: 7 additions & 4 deletions examples/wechat/src/app.wxss
Original file line number Diff line number Diff line change
Expand Up @@ -1774,7 +1774,10 @@ button.weui-vcode-btn {
}
.weui-msg__desc-primary a,
.weui-msg__desc a,
.weui-msg__tips a {
.weui-msg__tips a,
.weui-msg__desc-primary .a,
.weui-msg__desc .a,
.weui-msg__tips .a {
color: var(--weui-LINK);
display: inline-block;
vertical-align: baseline;
Expand Down Expand Up @@ -2283,7 +2286,7 @@ page {
padding: 0 calc(var(--weui-cellMarginLR) + var(--weui-cellPaddingLR));
color: var(--weui-FG-2);
}
.weui-cells__group_form .weui-cells__tips a {
.weui-cells__group_form .weui-cells__tips a, .weui-cells__group_form .weui-cells__tips .a {
font-weight: 700;
}
.weui-cells__group_form .weui-cells__tips_warn {
Expand Down Expand Up @@ -2644,7 +2647,7 @@ i.weui-tabbar__icon {
font-size: 48rpx;
color: var(--weui-FG-1);
}
.weui-tabbar__icon img {
.weui-tabbar__icon img, .weui-tabbar__icon .img {
width: 100%;
height: 100%;
}
Expand Down Expand Up @@ -4052,7 +4055,7 @@ a.weui-media-box:active {
color: var(--weui-FG-1);
background: var(--weui-BG-2);
}
.weui-search-bar__label span {
.weui-search-bar__label span, .weui-search-bar__label .span {
display: inline-block;
font-size: 28rpx;
vertical-align: middle;
Expand Down
Loading

0 comments on commit d24bdaa

Please sign in to comment.