@limeui/unocss-preset 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import type { SourceCodeTransformer } from 'unocss';
2
+ export declare function createInlineStyleTransformer(): SourceCodeTransformer;
3
+ //# sourceMappingURL=inlineStyleTransformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inlineStyleTransformer.d.ts","sourceRoot":"","sources":["../src/inlineStyleTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAQnD,wBAAgB,4BAA4B,IAAI,qBAAqB,CAyBpE"}
@@ -0,0 +1,3 @@
1
+ import type { ResolvedUnixPresetOptions, UnixPresetOptions } from './types';
2
+ export declare function resolveOptions(userOptions?: Partial<UnixPresetOptions>): ResolvedUnixPresetOptions;
3
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAmB3E,wBAAgB,cAAc,CAAC,WAAW,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,yBAAyB,CAiBtG"}
@@ -0,0 +1,4 @@
1
+ import type { Postprocessor } from 'unocss';
2
+ import type { ResolvedUnixPresetOptions } from './types';
3
+ export declare function createPostprocessors(options: ResolvedUnixPresetOptions, rootDir?: string): Postprocessor[];
4
+ //# sourceMappingURL=postprocessors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postprocessors.d.ts","sourceRoot":"","sources":["../src/postprocessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAYxD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CA0E1G"}
@@ -0,0 +1,10 @@
1
+ import type { PresetFactory } from 'unocss';
2
+ import type { UserUnixPresetOptions } from './types';
3
+ import { resolveOptions } from './options';
4
+ import { createPresets } from './presets';
5
+ import { createPostprocessors } from './postprocessors';
6
+ import { createVariants, theme } from './variants';
7
+ import { createTransformers } from './transformers';
8
+ export { createPresets, createPostprocessors, resolveOptions, createVariants, createTransformers, theme };
9
+ export declare const presetUnix: PresetFactory<object, UserUnixPresetOptions>;
10
+ //# sourceMappingURL=presetUnix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presetUnix.d.ts","sourceRoot":"","sources":["../src/presetUnix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAA;AAEzG,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAiClE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Preset } from 'unocss';
2
+ import type { ResolvedUnixPresetOptions } from './types';
3
+ export declare function createPresets(options: ResolvedUnixPresetOptions): Preset<any>[];
4
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOxD,wBAAgB,aAAa,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAsB/E"}
@@ -0,0 +1,4 @@
1
+ import type { SourceCodeTransformer } from 'unocss';
2
+ import type { ResolvedUnixPresetOptions } from './types';
3
+ export declare function createTransformers(options: ResolvedUnixPresetOptions): SourceCodeTransformer[];
4
+ //# sourceMappingURL=transformers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,qBAAqB,EAAE,CAM9F"}
@@ -0,0 +1,63 @@
1
+ import type { PresetAttributifyOptions } from 'unocss';
2
+ import type { TransformerAttributifyOptions, PresetAppletOptions, RemRpxOptions } from 'unocss-applet';
3
+ export interface UnixPresetOptions {
4
+ /**
5
+ * 开关/配置 PresetUno
6
+ *
7
+ * @default true
8
+ * @summary 小程序平台将自动使用 PresetApplet
9
+ */
10
+ uno?: boolean | PresetAppletOptions;
11
+ /**
12
+ * 是否将 var(--un-*-opacity) 替换为具体数值
13
+ * 开启后,会使用 opacityVarMap 中的值替换 CSS 变量
14
+ * 关闭后,保留 var(--un-*-opacity) CSS 变量形式
15
+ *
16
+ * @default false
17
+ */
18
+ replaceOpacityVar?: boolean;
19
+ /**
20
+ * 开关/配置 presetRemRpx
21
+ * @default true
22
+ * @default { mode: 'rpx2rem' } // 除了小程序平台
23
+ */
24
+ remRpx?: boolean | RemRpxOptions;
25
+ /**
26
+ * 开关/配置 presetAttributify
27
+ * @default true
28
+ * @default { ignoreAttributes: ['block', 'fixed'] } // 小程序平台
29
+ * @summary 小程序平台将自动使用 transformerAttributify
30
+ */
31
+ attributify?: boolean | PresetAttributifyOptions & TransformerAttributifyOptions;
32
+ /**
33
+ * 指定生成的 CSS 文件的输出路径
34
+ * 配置后,UnoCSS 会将生成的 CSS 实时写入到指定文件
35
+ *
36
+ * @example './unocss.css' - 生成在项目根目录
37
+ * @example './dist/unocss.css' - 生成在 dist 目录
38
+ * @example './src/assets/unocss.css' - 生成在 assets 目录
39
+ * @summary 仅在开发模式下生效,用于调试和查看生成的 CSS
40
+ */
41
+ outFile?: string;
42
+ /**
43
+ * 是否使用内联样式模式
44
+ * 开启后,会将生成的 CSS 直接内联到组件的 <style> 标签中
45
+ * 这样可以利用 Vue 的响应式系统实现样式热更新
46
+ *
47
+ * @default true
48
+ * @summary 仅在 APP 端生效,用于解决 APP 端无法实时更新样式的问题
49
+ */
50
+ inlineStyle?: boolean;
51
+ }
52
+ export interface UserUnixPresetOptions extends Partial<UnixPresetOptions> {
53
+ }
54
+ export interface ResolvedUnixPresetOptions extends UnixPresetOptions {
55
+ uno: false | PresetAppletOptions;
56
+ opacityValue?: number;
57
+ replaceOpacityVar: boolean;
58
+ remRpx: false | RemRpxOptions;
59
+ attributify: false | (PresetAttributifyOptions & TransformerAttributifyOptions);
60
+ outFile?: string;
61
+ inlineStyle?: boolean;
62
+ }
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,KAAK,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAGtG,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAA;IAEnC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAA;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,wBAAwB,GAAG,6BAA6B,CAAA;IAEhF;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,qBAAsB,SAAQ,OAAO,CAAC,iBAAiB,CAAC;CAAG;AAE5E,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IACnE,GAAG,EAAE,KAAK,GAAG,mBAAmB,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,MAAM,EAAE,KAAK,GAAG,aAAa,CAAA;IAC7B,WAAW,EAAE,KAAK,GAAG,CAAC,wBAAwB,GAAG,6BAA6B,CAAC,CAAA;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB"}
@@ -0,0 +1,5 @@
1
+ import type { VariantObject } from 'unocss';
2
+ import type { Theme } from '@unocss/preset-mini';
3
+ export declare const theme: Theme;
4
+ export declare function createVariants(): VariantObject<object>[];
5
+ //# sourceMappingURL=variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AA4BhD,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAA;AAED,wBAAgB,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAuCxD"}
package/package.json ADDED
@@ -0,0 +1,133 @@
1
+ {
2
+ "id": "lime-unocss-preset",
3
+ "name": "@limeui/unocss-preset",
4
+ "displayName": "lime-unocss-preset - UnoCSS 预设",
5
+ "version": "0.0.2",
6
+ "description": "让 UnoCSS 支持 uni-app 和 uni-app x,提供平台条件样式等特性",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "build": "node build.js",
21
+ "dev": "node build.js --watch"
22
+ },
23
+ "keywords": [
24
+ "unocss",
25
+ "uno-css",
26
+ "uni-app",
27
+ "uni-app-x",
28
+ "preset"
29
+ ],
30
+ "license": "MIT",
31
+ "peerDependencies": {
32
+ "unocss": ">=0.50.0"
33
+ },
34
+ "devDependencies": {
35
+ "@rollup/plugin-commonjs": "^29.0.0",
36
+ "@rollup/plugin-node-resolve": "^16.0.3",
37
+ "@rollup/plugin-typescript": "^12.3.0",
38
+ "esbuild": "^0.27.3",
39
+ "rollup": "^4.57.1",
40
+ "tsdown": "^0.2.0",
41
+ "tslib": "^2.8.1",
42
+ "typescript": "^5.0.0"
43
+ },
44
+ "uni_modules": {
45
+ "dependencies": [],
46
+ "encrypt": [],
47
+ "platforms": {
48
+ "cloud": {
49
+ "tcb": "x",
50
+ "aliyun": "x",
51
+ "alipay": "x"
52
+ },
53
+ "client": {
54
+ "uni-app": {
55
+ "vue": {
56
+ "vue2": "-",
57
+ "vue3": "√"
58
+ },
59
+ "web": {
60
+ "safari": "-",
61
+ "chrome": "-"
62
+ },
63
+ "app": {
64
+ "vue": "√",
65
+ "nvue": "-",
66
+ "android": "√",
67
+ "ios": "√",
68
+ "harmony": "√"
69
+ },
70
+ "mp": {
71
+ "weixin": "√",
72
+ "alipay": "-",
73
+ "toutiao": "-",
74
+ "baidu": "-",
75
+ "kuaishou": "-",
76
+ "jd": "-",
77
+ "harmony": "-",
78
+ "qq": "-",
79
+ "lark": "-",
80
+ "xhs": "-"
81
+ },
82
+ "quickapp": {
83
+ "huawei": "-",
84
+ "union": "-"
85
+ }
86
+ },
87
+ "uni-app-x": {
88
+ "web": {
89
+ "safari": "√",
90
+ "chrome": "√"
91
+ },
92
+ "app": {
93
+ "android": "√",
94
+ "ios": "√",
95
+ "harmony": "√"
96
+ },
97
+ "mp": {
98
+ "weixin": "√"
99
+ }
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "dcloudext": {
105
+ "type": "sdk-js",
106
+ "sale": {
107
+ "regular": {
108
+ "price": "0.00"
109
+ },
110
+ "sourcecode": {
111
+ "price": "0.00"
112
+ }
113
+ },
114
+ "contact": {
115
+ "qq": ""
116
+ },
117
+ "declaration": {
118
+ "ads": "无",
119
+ "data": "无",
120
+ "permissions": "无"
121
+ },
122
+ "npmurl": "",
123
+ "darkmode": "x",
124
+ "i18n": "x",
125
+ "widescreen": "x"
126
+ },
127
+ "engines": {
128
+ "HBuilderX": "^3.1.0",
129
+ "uni-app": "^4.87",
130
+ "uni-app-x": "^4.87"
131
+ },
132
+ "repository": ""
133
+ }
package/readme.md ADDED
@@ -0,0 +1,253 @@
1
+ # lime-unocss-preset
2
+
3
+ UnoCSS preset for uni-app,支持 uni-app 和 uni-app x。
4
+
5
+ ## 特性
6
+
7
+ - 🎨 支持 uni-app 和 uni-app x 全平台
8
+ - 📱 支持小程序、App、H5 等所有 uni-app 平台
9
+ - 🔄 支持平台条件样式(如 `uni-weixin:`、`uni-h5:`)
10
+ - 🎯 支持排除平台(如 `uni-not-weixin:`)
11
+ - 💾 支持内联样式模式(解决 APP 端样式热更新问题)
12
+ - 📝 支持将生成的 CSS 输出到文件(用于调试)
13
+
14
+ ## 安装
15
+
16
+ ### 安装依赖
17
+
18
+ ```bash
19
+ npm install unocss
20
+ ```
21
+
22
+ ### 导入插件
23
+
24
+ 在 uni-app 插件市场中搜索并导入 `lime-unocss-preset`。
25
+
26
+ ## 使用
27
+
28
+ 本配置基于 HBuilderX 开发环境。
29
+
30
+ ### 目录结构
31
+
32
+ 配置完成后,项目目录结构如下:
33
+
34
+ ```
35
+ your-project/
36
+ ├── vite.config.ts # Vite 配置文件
37
+ ├── uno.config.ts # UnoCSS 配置文件
38
+ ├── main.ts / main.uts # 入口文件
39
+ ├── pages/ # 页面目录
40
+ │ └── index.uvue
41
+ ├── App.uvue # 应用入口组件
42
+ └── package.json
43
+ ```
44
+
45
+ ### Vite 插件配置
46
+
47
+ 在 `vite.config.ts` 中配置 UnoCSS 插件:
48
+
49
+ ```typescript
50
+ import { defineConfig } from 'vite'
51
+ import Uni from '@dcloudio/vite-plugin-uni'
52
+
53
+ export default async () => {
54
+ const UnoCSS = (await import('unocss/vite')).default
55
+
56
+ return defineConfig({
57
+ plugins: [
58
+ Uni(),
59
+ UnoCSS()
60
+ ]
61
+ })
62
+ }
63
+ ```
64
+
65
+ ### 引入样式
66
+
67
+ 在 `main.ts` 或 `main.uts` 中引入 UnoCSS 样式:
68
+
69
+ ```typescript
70
+ import 'virtual:uno.css'
71
+ ```
72
+
73
+ ### UnoCSS 配置
74
+
75
+ 在项目根目录创建 `uno.config.ts` 文件:
76
+
77
+ ```typescript
78
+ import { defineConfig } from 'unocss'
79
+ import { presetUnix } from './uni_modules/lime-unocss-preset'
80
+
81
+ export default defineConfig({
82
+ content: {
83
+ pipeline: {
84
+ include: [
85
+ /\.(uvue|vue)($|\?)/ // 包含 .vue 和 .uvue 文件
86
+ ],
87
+ exclude: [
88
+ /node_modules/, // 排除 node_modules
89
+ /dist/, // 排除 dist 目录
90
+ /uni_modules/, // 排除 uni_modules
91
+ /components/ // 排除 components 目录
92
+ ]
93
+ }
94
+ },
95
+ presets: [
96
+ presetUnix({
97
+ replaceOpacityVar: true // 将 var(--un-*-opacity) 替换为具体数值
98
+ })
99
+ ]
100
+ })
101
+ ```
102
+
103
+ ## 配置选项
104
+
105
+ ### uno
106
+
107
+ - 类型: `boolean | PresetAppletOptions`
108
+ - 默认值: `true`
109
+
110
+ 是否启用 `@unocss/preset-uno`。默认启用,传递 `false` 可禁用。也可以传递配置对象来自定义预设选项。
111
+
112
+ ```typescript
113
+ presetUnix({
114
+ uno: {
115
+ dark: 'media'
116
+ }
117
+ })
118
+ ```
119
+
120
+ ### replaceOpacityVar
121
+
122
+ - 类型: `boolean`
123
+ - 默认值: `true`
124
+
125
+ 是否将 `var(--un-*-opacity)` 替换为具体数值。
126
+
127
+ ```typescript
128
+ presetUnix({
129
+ replaceOpacityVar: true
130
+ })
131
+ ```
132
+
133
+ ### remRpx
134
+
135
+ - 类型: `boolean | RemRpxOptions`
136
+ - 默认值: `{ mode: 'rpx2rem' }`(除了小程序和原生APP平台)
137
+
138
+ 开关/配置 presetRemRpx。
139
+
140
+ ```typescript
141
+ presetUnix({
142
+ remRpx: { mode: 'rpx2rem' }
143
+ })
144
+ ```
145
+
146
+ ### attributify
147
+
148
+ - 类型: `boolean | PresetAttributifyOptions & TransformerAttributifyOptions`
149
+ - 默认值: `true`
150
+
151
+ 开关/配置 presetAttributify。小程序平台将自动使用 transformerAttributify。
152
+
153
+ ```typescript
154
+ presetUnix({
155
+ attributify: {
156
+ ignoreAttributes: ['block', 'fixed'],
157
+ prefixedOnly: true
158
+ }
159
+ })
160
+ ```
161
+
162
+ **注意**:`prefixedOnly: true` 可以避免与组件原生属性冲突,推荐开启。
163
+
164
+
165
+
166
+ ## 平台条件样式
167
+
168
+ ### 包含平台
169
+
170
+ ```html
171
+ <!-- 只在微信小程序生效 -->
172
+ <view class="uni-weixin:text-red">微信小程序红色文字</view>
173
+
174
+ <!-- 只在 H5 生效 -->
175
+ <view class="uni-h5:bg-blue">H5 蓝色背景</view>
176
+
177
+ <!-- 只在 AppX 生效 -->
178
+ <view class="uni-appx:p-4">AppX 内边距</view>
179
+ ```
180
+
181
+ ### 排除平台
182
+
183
+ ```html
184
+ <!-- 在除微信小程序外的所有平台生效 -->
185
+ <view class="uni-not-weixin:text-red">非微信小程序红色文字</view>
186
+
187
+ <!-- 在除 H5 外的所有平台生效 -->
188
+ <view class="uni-not-h5:bg-blue">非 H5 蓝色背景</view>
189
+ ```
190
+
191
+ ### 属性模式
192
+
193
+ 配合 attributify 模式,可以使用属性语法:
194
+
195
+ ```html
196
+ <!-- 只在微信小程序生效 -->
197
+ <view uni-weixin:text-red>微信小程序红色文字</view>
198
+
199
+ <!-- 只在 H5 生效 -->
200
+ <view uni-h5:bg-blue>H5 蓝色背景</view>
201
+ ```
202
+
203
+ ### 支持的平台
204
+
205
+ - 小程序:`mp-weixin`(微信)、`mp-alipay`(支付宝)、`mp-baidu`(百度)、`mp-qq`(QQ)、`mp-toutiao`(头条)、`mp-kuaishou`(快手)、`mp-lark`(飞书)、`mp-jd`(京东)、`mp-360`(360)
206
+ - App:`app`、`app-plus`、`app-harmony`(鸿蒙)、`app-android`、`app-ios`
207
+ - uni-app x APP:`appx`(安卓、iOS、鸿蒙)
208
+ - H5/Web:`h5`、`web`(两者互通)
209
+ - 快应用:`quickapp`、`quickapp-webview` 等
210
+
211
+ ### 简写形式
212
+
213
+ ```html
214
+ <!-- 使用简写(去掉 mp- 前缀) -->
215
+ <view class="uni-weixin:text-sm">微信小程序小字体</view>
216
+ <view class="uni-alipay:text-sm">支付宝小程序小字体</view>
217
+ <view class="uni-baidu:text-sm">百度小程序小字体</view>
218
+ <view class="uni-qq:text-sm">QQ小程序小字体</view>
219
+ <view class="uni-toutiao:text-sm">头条小程序小字体</view>
220
+ <view class="uni-kuaishou:text-sm">快手小程序小字体</view>
221
+ <view class="uni-lark:text-sm">飞书小程序小字体</view>
222
+ <view class="uni-jd:text-sm">京东小程序小字体</view>
223
+ ```
224
+
225
+ ### 平台别名
226
+
227
+ | 别名 | 实际平台 |
228
+ |------|----------|
229
+ | `weixin` | `mp-weixin` |
230
+ | `alipay` | `mp-alipay` |
231
+ | `baidu` | `mp-baidu` |
232
+ | `qq` | `mp-qq` |
233
+ | `toutiao` | `mp-toutiao` |
234
+ | `kuaishou` | `mp-kuaishou` |
235
+ | `lark` | `mp-lark` |
236
+ | `jd` | `mp-jd` |
237
+ | `h5` / `web` | `h5`(两者互通) |
238
+
239
+ ## 致谢
240
+
241
+ 感谢以下开源项目:
242
+
243
+ - [UnoCSS](https://github.com/unocss/unocss) - 提供核心原子化 CSS 引擎和大部分功能
244
+ - [unocss-applet](https://github.com/unocss-applet/unocss-applet) - 提供小程序平台支持
245
+ - [@uni-helper/unocss-preset-uni](https://github.com/uni-helper/unocss-preset-uni) - 提供按平台编写样式的灵感
246
+
247
+ ## 支持与赞赏
248
+
249
+ 如果你觉得本插件解决了你的问题,可以考虑支持作者:
250
+
251
+ | 支付宝赞助 | 微信赞助 |
252
+ |------------|------------|
253
+ | ![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/alipay.png) | ![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/wpay.png) |