mix-public 1.1.3 → 1.1.5
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.
- package/README.md +6 -4
- package/main/mixappfunc.js +87 -73
- package/mix-project/.editorconfig +12 -0
- package/mix-project/.prettierignore +9 -0
- package/mix-project/.prettierrc.mjs +62 -0
- package/mix-project/.stylelintignore +2 -0
- package/mix-project/.stylelintrc.mjs +292 -0
- package/mix-project/.vscode/extensions.json +8 -0
- package/mix-project/.vscode/settings.json +25 -0
- package/mix-project/README.md +198 -0
- package/mix-project/config/inline-code.ts +14 -0
- package/mix-project/config/pages.config.ts +17 -0
- package/mix-project/config/plugins/index.ts +24 -0
- package/mix-project/config/plugins/plugin_autoImport.ts +14 -0
- package/mix-project/config/plugins/plugin_backup.ts +173 -0
- package/mix-project/config/plugins/plugin_svg.ts +109 -0
- package/mix-project/config/proxy.ts +3 -0
- package/mix-project/config/split-chunks.ts +24 -0
- package/mix-project/eslint.config.mjs +89 -0
- package/mix-project/package.json +92 -0
- package/mix-project/pnpm-lock.yaml +6608 -0
- package/mix-project/public/favicon.ico +0 -0
- package/mix-project/public/index.html +28 -0
- package/mix-project/public/static/image/tab-icon1-o.png +0 -0
- package/mix-project/public/static/image/tab-icon1.png +0 -0
- package/mix-project/public/static/image/tab-icon3-o.png +0 -0
- package/mix-project/public/static/image/tab-icon3.png +0 -0
- package/mix-project/public/static/image/tab-icon4-o.png +0 -0
- package/mix-project/public/static/image/tab-icon4.png +0 -0
- package/mix-project/public/static/images/default-tab-icon1-no@3x.png +0 -0
- package/mix-project/public/static/images/default-tab-icon2-no@3x.png +0 -0
- package/mix-project/public/static/images/default-tab-icon3-no@3x.png +0 -0
- package/mix-project/public/static/images/default-tab-icon4-no@3x.png +0 -0
- package/mix-project/public/static/images/default-tab-icon5-no@3x.png +0 -0
- package/mix-project/public/static/images/left-golden.png +0 -0
- package/mix-project/public/static/images/left-white.png +0 -0
- package/mix-project/public/static/images/left.png +0 -0
- package/mix-project/public/static/pag/default1.pag +0 -0
- package/mix-project/public/static/pag/default2.pag +0 -0
- package/mix-project/public/static/pag/default4.pag +0 -0
- package/mix-project/public/static/pag/default5.pag +0 -0
- package/mix-project/rsbuild.config.ts +164 -0
- package/mix-project/src/assets/static/css/crop.css +166 -0
- package/mix-project/src/assets/static/images/arrow-bottom-999.png +0 -0
- package/mix-project/src/assets/static/images/arrow-bottom.png +0 -0
- package/mix-project/src/assets/static/images/back.png +0 -0
- package/mix-project/src/assets/static/images/lkb-logo-text.png +0 -0
- package/mix-project/src/assets/static/images/scan.png +0 -0
- package/mix-project/src/components/kxs-version/index.vue +134 -0
- package/mix-project/src/components/lkb-banner/index.vue +55 -0
- package/mix-project/src/components/lkb-city/index.vue +29 -0
- package/mix-project/src/components/lkb-container/index.vue +44 -0
- package/mix-project/src/components/lkb-custom-navigation-container/index.vue +36 -0
- package/mix-project/src/components/lkb-mch-card/index.vue +101 -0
- package/mix-project/src/main.js +2 -0
- package/mix-project/src/pages/index/index.js +23 -0
- package/mix-project/src/pages/index/index.vue +145 -0
- package/mix-project/src/pages/my/index.js +23 -0
- package/mix-project/src/pages/my/index.vue +61 -0
- package/mix-project/src/pages/nearby-mch/index.js +23 -0
- package/mix-project/src/pages/nearby-mch/index.vue +57 -0
- package/mix-project/src/pages/protocol/index.js +23 -0
- package/mix-project/src/pages/protocol/index.vue +67 -0
- package/mix-project/src/pages/user-login/index.js +22 -0
- package/mix-project/src/pages/user-login/index.vue +170 -0
- package/mix-project/src/styles/constant.scss +37 -0
- package/mix-project/src/styles/grid.scss +31 -0
- package/mix-project/src/styles/main.scss +5 -0
- package/mix-project/src/styles/public.scss +188 -0
- package/mix-project/src/styles/utils.scss +460 -0
- package/mix-project/src/styles/vant-reset.scss +108 -0
- package/mix-project/src/types/README.md +3 -0
- package/mix-project/src/types/index.d.ts +1496 -0
- package/mix-project/src/utils/is.ts +182 -0
- package/mix-project/tsconfig.json +45 -0
- package/mix-project/types/env.d.ts +1 -0
- package/mix-project/types/global.d.ts +73 -0
- package/mix-project/types/index.d.ts +28 -0
- package/mix-project/types/shims/shims-app.d.ts +49 -0
- package/mix-project/types/shims/shims-tsx.d.ts +13 -0
- package/mix-project/types/shims/shims-vue.d.ts +9 -0
- package/mix-project/types/window.d.ts +57 -0
- package/mixRender.css +168 -0
- package/mixRender.js +43 -36
- package/package.json +1 -1
- package/pageRender/componentsRender.js +98 -0
- package/resource/md5.js +176 -2
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
### 初始化方式
|
|
19
19
|
```javascript
|
|
20
20
|
// 布局使用(入口文件)
|
|
21
|
-
import mixRender from "
|
|
21
|
+
import mixRender from "../../../../mixRender.js"
|
|
22
22
|
|
|
23
23
|
const mixPublicLib = mixRender({
|
|
24
24
|
mixProjectType: mixProjectType, // 项目类型: 在服务端创建的项目标识
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
mixApptype: mixApptype, // app类型: web android ios
|
|
28
28
|
mixDeviceInfo: mixDeviceInfo // 项目版本号: 服务端的版本标识
|
|
29
29
|
});
|
|
30
|
-
import '
|
|
30
|
+
import '../../../../mixRender.css'; // 引入web端app基础样式
|
|
31
31
|
mixPublicLib // 为原生基础调用方法,可在页面使用
|
|
32
32
|
|
|
33
33
|
// 单独方法使用
|
|
34
|
-
import mixRender from "
|
|
34
|
+
import mixRender from "../../../../mixRender.js"
|
|
35
35
|
const PublicLib = mixRender({
|
|
36
36
|
mixJustMethod: true,
|
|
37
37
|
mixApptype: apptype, // app类型: web android ios
|
|
@@ -81,4 +81,6 @@
|
|
|
81
81
|
- v1.1.0 方法包调用方式整体调整
|
|
82
82
|
- v1.1.1 添加OnloadPage生命周期/调整 goto 方法参数
|
|
83
83
|
- v1.1.2 修复方法环境变量/添加 a 标签捕获自定义站内跳转
|
|
84
|
-
- v1.1.3 方法包剩余调用方式整体调整
|
|
84
|
+
- v1.1.3 方法包剩余调用方式整体调整
|
|
85
|
+
- v1.1.4 goto 方法参数调整
|
|
86
|
+
- v1.1.5 部分方法网页版完善/优化方法样式
|
package/main/mixappfunc.js
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
// closeToast,
|
|
3
3
|
// showConfirmDialog,
|
|
4
4
|
// showDialog,
|
|
5
|
-
// showLoadingToast,
|
|
6
|
-
// showNotify,
|
|
7
5
|
// } from "vant"
|
|
8
6
|
import { mixLocalShakeDownDecrypt, mixLocalShakeDownEncrypt } from "../customMethod/cryptoJS.js"
|
|
9
7
|
import { Cookies } from "../customMethod/cookie.js"
|
|
@@ -13,11 +11,7 @@ import { asyncReturnMethod, syncReturnMethod, callMethod, mixJsonStringify, mixJ
|
|
|
13
11
|
import cachPictureForWeb from "../customMethod/cachPictureForWeb.js"
|
|
14
12
|
import formatColor, { togglePageGrayscale } from "../customMethod/formatColor.js";
|
|
15
13
|
import { getUrlQuery } from "../customMethod/pageParams.js"
|
|
16
|
-
|
|
17
|
-
function mixShowAlert(message) {
|
|
18
|
-
alert(message)
|
|
19
|
-
// showNotify({ message })
|
|
20
|
-
}
|
|
14
|
+
import { mixLoading, mixHideLoading, mixMsg, mixDialog, mixFloatingWindowData } from "../pageRender/componentsRender.js"
|
|
21
15
|
|
|
22
16
|
const loginUrl = "user-login";
|
|
23
17
|
var u = navigator.userAgent
|
|
@@ -71,8 +65,9 @@ export const mixPublicLib = (op) =>{
|
|
|
71
65
|
* 以http开头为跳转外部网页
|
|
72
66
|
* MiniApp?MiniAppId=appid&OnlineUrl=onlineurl&JumpUrl=miniapppagename
|
|
73
67
|
* */
|
|
74
|
-
Goto: function (op = {}
|
|
68
|
+
Goto: function (op = {}) {
|
|
75
69
|
const Url = op.Url || ""
|
|
70
|
+
const Params = op.Params || {}
|
|
76
71
|
const OutSide = op.OutSide || false
|
|
77
72
|
const mixPublicFn = mixPublicLib({isWeb, version})
|
|
78
73
|
const Urlparams = getUrlQuery(Url)
|
|
@@ -87,8 +82,8 @@ export const mixPublicLib = (op) =>{
|
|
|
87
82
|
mixPublicFn.JumpMiniApp({OnlineUrl:Urlparams.OnlineUrl,MiniAppId:Urlparams.MiniAppId,JumpUrl:Urlparams.JumpUrl})
|
|
88
83
|
} else {
|
|
89
84
|
//- 判断参数长度并将参数储存到cookies
|
|
90
|
-
if (Object.keys(Urlparams).length > 0 || Object.keys(
|
|
91
|
-
mixPublicLib({isWeb, version}).putCookieInfo("mixAPPPageParams", Object.keys(
|
|
85
|
+
if (Object.keys(Urlparams).length > 0 || Object.keys(Params).length > 0) {
|
|
86
|
+
mixPublicLib({isWeb, version}).putCookieInfo("mixAPPPageParams", Object.keys(Params).length > 0 ? Params : Urlparams)
|
|
92
87
|
}else{
|
|
93
88
|
mixPublicLib({isWeb, version}).putCookieInfo("mixAPPPageParams", {})
|
|
94
89
|
}
|
|
@@ -1665,7 +1660,18 @@ export const mixPublicLib = (op) =>{
|
|
|
1665
1660
|
environment:this.environment,
|
|
1666
1661
|
methodName: 'ClearAppCache',
|
|
1667
1662
|
webMethod: ()=>{
|
|
1668
|
-
|
|
1663
|
+
const cookies = document.cookie.split(';');
|
|
1664
|
+
const domainParts = window.location.hostname.split('.');
|
|
1665
|
+
const domains = [
|
|
1666
|
+
'', // 当前域名
|
|
1667
|
+
...(domainParts.length > 1 ? [`.${domainParts.slice(-2).join('.')}`] : []) // 二级域名
|
|
1668
|
+
];
|
|
1669
|
+
cookies.forEach(cookie => {
|
|
1670
|
+
const [name] = cookie.trim().split('=');
|
|
1671
|
+
domains.forEach(domain => {
|
|
1672
|
+
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${domain}`;
|
|
1673
|
+
});
|
|
1674
|
+
});
|
|
1669
1675
|
},
|
|
1670
1676
|
params:{}
|
|
1671
1677
|
})
|
|
@@ -1851,7 +1857,7 @@ export const mixPublicLib = (op) =>{
|
|
|
1851
1857
|
environment:this.environment,
|
|
1852
1858
|
methodName: 'ShowLoading',
|
|
1853
1859
|
webMethod: ()=>{
|
|
1854
|
-
|
|
1860
|
+
mixLoading(Message)
|
|
1855
1861
|
},
|
|
1856
1862
|
params:{}
|
|
1857
1863
|
});
|
|
@@ -1865,7 +1871,7 @@ export const mixPublicLib = (op) =>{
|
|
|
1865
1871
|
environment:this.environment,
|
|
1866
1872
|
methodName: 'HideLoading',
|
|
1867
1873
|
webMethod: ()=>{
|
|
1868
|
-
|
|
1874
|
+
mixHideLoading()
|
|
1869
1875
|
},
|
|
1870
1876
|
params:{}
|
|
1871
1877
|
});
|
|
@@ -1875,56 +1881,69 @@ export const mixPublicLib = (op) =>{
|
|
|
1875
1881
|
* 显示msg弹窗
|
|
1876
1882
|
* */
|
|
1877
1883
|
ShowMsg: function (op = {}) {
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1884
|
+
return new Promise((resolve, reject) => {
|
|
1885
|
+
window.MixShowMsgCallBack = function () {
|
|
1886
|
+
resolve();
|
|
1887
|
+
}
|
|
1888
|
+
const Title = op.Title || "标题"
|
|
1889
|
+
const Message = op.Message || "提示内容"
|
|
1890
|
+
const ButtonText = op.confirmButtonText || "知道了"
|
|
1891
|
+
const ConfirmAction = "MixShowMsgCallBack"
|
|
1892
|
+
callMethod({
|
|
1893
|
+
environment:this.environment,
|
|
1894
|
+
methodName: 'ShowMsg',
|
|
1895
|
+
webMethod: ()=>{
|
|
1896
|
+
mixMsg({
|
|
1897
|
+
title: Title,
|
|
1898
|
+
message: Message,
|
|
1899
|
+
confirmButtonText: ButtonText,
|
|
1900
|
+
}).then(()=>{
|
|
1901
|
+
MixShowMsgCallBack()
|
|
1902
|
+
})
|
|
1903
|
+
},
|
|
1904
|
+
params:{Title, ButtonText, Message, ConfirmAction}
|
|
1905
|
+
});
|
|
1906
|
+
|
|
1907
|
+
})
|
|
1895
1908
|
},
|
|
1896
1909
|
|
|
1897
1910
|
/**
|
|
1898
1911
|
* 确认弹出框
|
|
1899
1912
|
* */
|
|
1900
1913
|
ShowDialog: function (op = {}) {
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
window[CancelAction]()
|
|
1914
|
+
return new Promise((resolve, reject) => {
|
|
1915
|
+
window.MixShowDialogConfirmActionCallBack = function () {
|
|
1916
|
+
resolve();
|
|
1917
|
+
}
|
|
1918
|
+
window.MixShowDialogCancelActionCallBack = function () {
|
|
1919
|
+
reject();
|
|
1920
|
+
}
|
|
1921
|
+
const Title = op.Title || "标题"
|
|
1922
|
+
const Message = op.Message || "确认内容"
|
|
1923
|
+
const ConfirmText = op.ConfirmText || "确认按钮"
|
|
1924
|
+
const CancelText = op.CancelText || "取消按钮"
|
|
1925
|
+
const ConfirmAction = "MixShowDialogConfirmActionCallBack"
|
|
1926
|
+
const CancelAction = "MixShowDialogCancelActionCallBack"
|
|
1927
|
+
callMethod({
|
|
1928
|
+
environment:this.environment,
|
|
1929
|
+
methodName: 'ShowDialog',
|
|
1930
|
+
webMethod: ()=>{
|
|
1931
|
+
mixDialog({
|
|
1932
|
+
title: Title,
|
|
1933
|
+
message: Message,
|
|
1934
|
+
confirmButtonText: ConfirmText || "确定",
|
|
1935
|
+
cancelButtonText: CancelText || "取消",
|
|
1924
1936
|
})
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1937
|
+
.then(() => {
|
|
1938
|
+
MixShowDialogConfirmActionCallBack()
|
|
1939
|
+
})
|
|
1940
|
+
.catch(() => {
|
|
1941
|
+
MixShowDialogCancelActionCallBack()
|
|
1942
|
+
})
|
|
1943
|
+
},
|
|
1944
|
+
params:{Title, Message, ConfirmText, CancelText, ConfirmAction, CancelAction}
|
|
1945
|
+
});
|
|
1946
|
+
})
|
|
1928
1947
|
},
|
|
1929
1948
|
|
|
1930
1949
|
/**
|
|
@@ -1934,17 +1953,15 @@ export const mixPublicLib = (op) =>{
|
|
|
1934
1953
|
const Url = op.Url || ""
|
|
1935
1954
|
const Title = op.Title || ""
|
|
1936
1955
|
const Detail = op.Detail || ""
|
|
1937
|
-
const Params = op.Params ||
|
|
1956
|
+
const Params = op.Params || {}
|
|
1938
1957
|
const Icon = op.Icon || ""
|
|
1939
1958
|
callMethod({
|
|
1940
1959
|
environment:this.environment,
|
|
1941
1960
|
methodName: 'FloatingWindowData',
|
|
1942
1961
|
webMethod: ()=>{
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
"color: #4CAF50;",
|
|
1947
|
-
)
|
|
1962
|
+
mixFloatingWindowData({
|
|
1963
|
+
Url, Title, Detail, Params, Icon,Fn: mixPublicLib({isWeb, version})
|
|
1964
|
+
})
|
|
1948
1965
|
},
|
|
1949
1966
|
params:{Url, Title, Detail, Params, Icon}
|
|
1950
1967
|
});
|
|
@@ -2112,7 +2129,7 @@ export const mixPublicLib = (op) =>{
|
|
|
2112
2129
|
},
|
|
2113
2130
|
|
|
2114
2131
|
/**
|
|
2115
|
-
* 启动本地服务器
|
|
2132
|
+
* 启动本地服务器(仅APP环境)
|
|
2116
2133
|
* */
|
|
2117
2134
|
StartHttpServer: function () {
|
|
2118
2135
|
callMethod({
|
|
@@ -2126,7 +2143,7 @@ export const mixPublicLib = (op) =>{
|
|
|
2126
2143
|
},
|
|
2127
2144
|
|
|
2128
2145
|
/**
|
|
2129
|
-
* 关闭本地服务器
|
|
2146
|
+
* 关闭本地服务器(仅APP环境)
|
|
2130
2147
|
* */
|
|
2131
2148
|
StopHttpServer: function () {
|
|
2132
2149
|
callMethod({
|
|
@@ -2191,7 +2208,8 @@ export const mixPublicLib = (op) =>{
|
|
|
2191
2208
|
environment:this.environment,
|
|
2192
2209
|
methodName: 'CacheSize',
|
|
2193
2210
|
webMethod: ()=>{
|
|
2194
|
-
|
|
2211
|
+
let cookies = document.cookie;
|
|
2212
|
+
return (Math.floor(cookies.length / 1024 * 100) / 100) + "KB";
|
|
2195
2213
|
},
|
|
2196
2214
|
params: {},
|
|
2197
2215
|
})
|
|
@@ -2205,7 +2223,7 @@ export const mixPublicLib = (op) =>{
|
|
|
2205
2223
|
environment:this.environment,
|
|
2206
2224
|
methodName: 'OnlineService',
|
|
2207
2225
|
webMethod: ()=>{
|
|
2208
|
-
|
|
2226
|
+
window.location.href = "http://oss.kexiaoshuang.com/MEIQIA/chatlink.html"
|
|
2209
2227
|
},
|
|
2210
2228
|
params:{}
|
|
2211
2229
|
});
|
|
@@ -2219,19 +2237,15 @@ export const mixPublicLib = (op) =>{
|
|
|
2219
2237
|
environment:this.environment,
|
|
2220
2238
|
methodName: 'OpenAmap',
|
|
2221
2239
|
webMethod: ()=>{
|
|
2240
|
+
var url = `https://m.amap.com/search?query=${encodeURIComponent(Address)}`;
|
|
2241
|
+
window.open(url);
|
|
2222
2242
|
return new Promise((resolve, reject) => {
|
|
2223
|
-
// TODO
|
|
2224
|
-
console.log(`打开高德地图`, "color: blue", "color: #4CAF50;")
|
|
2225
|
-
// window.location.href = Url;
|
|
2226
|
-
setTimeout(() => {
|
|
2227
|
-
resolve()
|
|
2228
|
-
}, 4000);
|
|
2229
2243
|
})
|
|
2230
2244
|
},
|
|
2231
2245
|
params:{Address}
|
|
2232
2246
|
})
|
|
2233
2247
|
},
|
|
2234
|
-
|
|
2248
|
+
/**-
|
|
2235
2249
|
* 上传视频(单个视频,相机/相册)
|
|
2236
2250
|
* MethodName:回调方法
|
|
2237
2251
|
* VideoDuration: 录制时长
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @type {import('prettier').Config}
|
|
3
|
+
*/
|
|
4
|
+
export default {
|
|
5
|
+
$schema: "https://json.schemastore.org/prettierrc",
|
|
6
|
+
tabWidth: 2, // 缩进宽度
|
|
7
|
+
printWidth: 80, // 一行代码最多几个字符
|
|
8
|
+
singleQuote: false, // 是否使用单引号
|
|
9
|
+
trailingComma: "all", // 最后一个属性时候带上逗号
|
|
10
|
+
useTabs: false, // 时候使用制表符
|
|
11
|
+
semi: false, // 在语句的末尾使用分号
|
|
12
|
+
bracketSpacing: true, // 对象文字中括号之间使用空格分割
|
|
13
|
+
jsxSingleQuote: true, // 在jsx中使用单引号
|
|
14
|
+
htmlWhitespaceSensitivity: "css", // HTML空白敏感度
|
|
15
|
+
vueIndentScriptAndStyle: false, // 是否缩进Vue文件中的script和style标签
|
|
16
|
+
// 对HTML属性进行排序
|
|
17
|
+
attributeSort: [
|
|
18
|
+
"^cols$",
|
|
19
|
+
"^v-if$",
|
|
20
|
+
"^v-else$",
|
|
21
|
+
"^v-for$",
|
|
22
|
+
"^:key$",
|
|
23
|
+
"^v-else-if$",
|
|
24
|
+
"^v-on$",
|
|
25
|
+
"^v-bind$",
|
|
26
|
+
"^ref$",
|
|
27
|
+
"^v-model",
|
|
28
|
+
"^name$",
|
|
29
|
+
"^:?type$",
|
|
30
|
+
"^:value$",
|
|
31
|
+
"^v-text$",
|
|
32
|
+
"^:?label$",
|
|
33
|
+
"^:headers$",
|
|
34
|
+
"^:items$",
|
|
35
|
+
"^:?item-text$",
|
|
36
|
+
"^:?item-value$",
|
|
37
|
+
"^:?item-disabled$",
|
|
38
|
+
"^:?placeholder$",
|
|
39
|
+
"^:?src$",
|
|
40
|
+
"^:?color$",
|
|
41
|
+
"^:?text-color$",
|
|
42
|
+
"^:?icon$",
|
|
43
|
+
"^:?small$",
|
|
44
|
+
"^:?hint$",
|
|
45
|
+
"^:?persistent-hint$",
|
|
46
|
+
"^prepend-",
|
|
47
|
+
"^@click:prepend",
|
|
48
|
+
"^append-",
|
|
49
|
+
"^@click:append",
|
|
50
|
+
"^:to$",
|
|
51
|
+
"^exact$",
|
|
52
|
+
"^:(?!(width|height|loading|disabled|data-))",
|
|
53
|
+
"^target$",
|
|
54
|
+
"^:?width$",
|
|
55
|
+
"^:?height$",
|
|
56
|
+
"^@click",
|
|
57
|
+
"^@",
|
|
58
|
+
"^:loading$",
|
|
59
|
+
"^:disabled$",
|
|
60
|
+
"^:?data-",
|
|
61
|
+
],
|
|
62
|
+
}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/** @type {import('stylelint').Config} */
|
|
2
|
+
export default {
|
|
3
|
+
extends: [
|
|
4
|
+
"stylelint-config-standard",
|
|
5
|
+
"stylelint-config-recommended-vue",
|
|
6
|
+
"stylelint-config-standard-scss",
|
|
7
|
+
"stylelint-prettier/recommended",
|
|
8
|
+
],
|
|
9
|
+
plugins: ["stylelint-order", "stylelint-scss", "stylelint-prettier"],
|
|
10
|
+
overrides: [
|
|
11
|
+
{
|
|
12
|
+
files: ["**/*.scss"],
|
|
13
|
+
customSyntax: "postcss-scss",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
files: ["*.html", "**/*.{html,vue}"],
|
|
17
|
+
customSyntax: "postcss-html",
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
rules: {
|
|
21
|
+
"scss/load-no-partial-leading-underscore": null,
|
|
22
|
+
"keyframes-name-pattern": null,
|
|
23
|
+
"no-descending-specificity": null,
|
|
24
|
+
"number-max-precision": null,
|
|
25
|
+
"prettier/prettier": true,
|
|
26
|
+
"scss/at-extend-no-missing-placeholder": null,
|
|
27
|
+
"no-empty-source": null,
|
|
28
|
+
"selector-class-pattern": null,
|
|
29
|
+
"selector-pseudo-class-no-unknown": null,
|
|
30
|
+
"unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
|
|
31
|
+
"order/order": ["custom-properties", "declarations"],
|
|
32
|
+
"order/properties-order": [
|
|
33
|
+
// 布局属性
|
|
34
|
+
"display",
|
|
35
|
+
"visibility",
|
|
36
|
+
"overflow",
|
|
37
|
+
"overflow-x",
|
|
38
|
+
"overflow-y",
|
|
39
|
+
"scroll-behavior",
|
|
40
|
+
"scroll-snap-align",
|
|
41
|
+
// 布局属性:浮动
|
|
42
|
+
"float",
|
|
43
|
+
"clear",
|
|
44
|
+
// 布局属性:定位
|
|
45
|
+
"position",
|
|
46
|
+
"left",
|
|
47
|
+
"right",
|
|
48
|
+
"top",
|
|
49
|
+
"bottom",
|
|
50
|
+
"z-index",
|
|
51
|
+
// 布局属性:列表
|
|
52
|
+
"list-style",
|
|
53
|
+
"list-style-type",
|
|
54
|
+
"list-style-position",
|
|
55
|
+
"list-style-image",
|
|
56
|
+
// 布局属性:表格
|
|
57
|
+
"table-layout",
|
|
58
|
+
"border-collapse",
|
|
59
|
+
"border-spacing",
|
|
60
|
+
"caption-side",
|
|
61
|
+
"empty-cells",
|
|
62
|
+
// 布局属性:弹性
|
|
63
|
+
"flex-flow",
|
|
64
|
+
"flex-direction",
|
|
65
|
+
"flex-wrap",
|
|
66
|
+
"justify-content",
|
|
67
|
+
"align-content",
|
|
68
|
+
"align-items",
|
|
69
|
+
"align-self",
|
|
70
|
+
"flex",
|
|
71
|
+
"flex-grow",
|
|
72
|
+
"flex-shrink",
|
|
73
|
+
"flex-basis",
|
|
74
|
+
"order",
|
|
75
|
+
// 布局属性:多列
|
|
76
|
+
"columns",
|
|
77
|
+
"column-width",
|
|
78
|
+
"column-count",
|
|
79
|
+
"column-gap",
|
|
80
|
+
"column-rule",
|
|
81
|
+
"column-rule-width",
|
|
82
|
+
"column-rule-style",
|
|
83
|
+
"column-rule-color",
|
|
84
|
+
"column-span",
|
|
85
|
+
"column-fill",
|
|
86
|
+
"column-break-before",
|
|
87
|
+
"column-break-after",
|
|
88
|
+
"column-break-inside",
|
|
89
|
+
// 布局属性:格栅
|
|
90
|
+
"grid-columns",
|
|
91
|
+
"grid-rows",
|
|
92
|
+
// 尺寸属性
|
|
93
|
+
"box-sizing",
|
|
94
|
+
"margin",
|
|
95
|
+
"margin-left",
|
|
96
|
+
"margin-right",
|
|
97
|
+
"margin-top",
|
|
98
|
+
"margin-bottom",
|
|
99
|
+
"padding",
|
|
100
|
+
"padding-left",
|
|
101
|
+
"padding-right",
|
|
102
|
+
"padding-top",
|
|
103
|
+
"padding-bottom",
|
|
104
|
+
"border",
|
|
105
|
+
"border-width",
|
|
106
|
+
"border-style",
|
|
107
|
+
"border-color",
|
|
108
|
+
"border-colors",
|
|
109
|
+
"border-left",
|
|
110
|
+
"border-left-width",
|
|
111
|
+
"border-left-style",
|
|
112
|
+
"border-left-color",
|
|
113
|
+
"border-left-colors",
|
|
114
|
+
"border-right",
|
|
115
|
+
"border-right-width",
|
|
116
|
+
"border-right-style",
|
|
117
|
+
"border-right-color",
|
|
118
|
+
"border-right-colors",
|
|
119
|
+
"border-top",
|
|
120
|
+
"border-top-width",
|
|
121
|
+
"border-top-style",
|
|
122
|
+
"border-top-color",
|
|
123
|
+
"border-top-colors",
|
|
124
|
+
"border-bottom",
|
|
125
|
+
"border-bottom-width",
|
|
126
|
+
"border-bottom-style",
|
|
127
|
+
"border-bottom-color",
|
|
128
|
+
"border-bottom-colors",
|
|
129
|
+
"border-radius",
|
|
130
|
+
"border-top-left-radius",
|
|
131
|
+
"border-top-right-radius",
|
|
132
|
+
"border-bottom-left-radius",
|
|
133
|
+
"border-bottom-right-radius",
|
|
134
|
+
"border-image",
|
|
135
|
+
"border-image-source",
|
|
136
|
+
"border-image-slice",
|
|
137
|
+
"border-image-width",
|
|
138
|
+
"border-image-outset",
|
|
139
|
+
"border-image-repeat",
|
|
140
|
+
"width",
|
|
141
|
+
"min-width",
|
|
142
|
+
"max-width",
|
|
143
|
+
"height",
|
|
144
|
+
"min-height",
|
|
145
|
+
"max-height",
|
|
146
|
+
// 界面属性
|
|
147
|
+
"appearance",
|
|
148
|
+
"outline",
|
|
149
|
+
"outline-width",
|
|
150
|
+
"outline-style",
|
|
151
|
+
"outline-color",
|
|
152
|
+
"outline-offset",
|
|
153
|
+
"outline-radius",
|
|
154
|
+
"outline-radius-topleft",
|
|
155
|
+
"outline-radius-topright",
|
|
156
|
+
"outline-radius-bottomleft",
|
|
157
|
+
"outline-radius-bottomright",
|
|
158
|
+
"background",
|
|
159
|
+
"background-color",
|
|
160
|
+
"background-image",
|
|
161
|
+
"background-repeat",
|
|
162
|
+
"background-repeat-x",
|
|
163
|
+
"background-repeat-y",
|
|
164
|
+
"background-position",
|
|
165
|
+
"background-position-x",
|
|
166
|
+
"background-position-y",
|
|
167
|
+
"background-size",
|
|
168
|
+
"background-origin",
|
|
169
|
+
"background-clip",
|
|
170
|
+
"background-attachment",
|
|
171
|
+
"bakground-composite",
|
|
172
|
+
"mask",
|
|
173
|
+
"mask-mode",
|
|
174
|
+
"mask-image",
|
|
175
|
+
"mask-repeat",
|
|
176
|
+
"mask-repeat-x",
|
|
177
|
+
"mask-repeat-y",
|
|
178
|
+
"mask-position",
|
|
179
|
+
"mask-position-x",
|
|
180
|
+
"mask-position-y",
|
|
181
|
+
"mask-size",
|
|
182
|
+
"mask-origin",
|
|
183
|
+
"mask-clip",
|
|
184
|
+
"mask-attachment",
|
|
185
|
+
"mask-composite",
|
|
186
|
+
"mask-box-image",
|
|
187
|
+
"mask-box-image-source",
|
|
188
|
+
"mask-box-image-width",
|
|
189
|
+
"mask-box-image-outset",
|
|
190
|
+
"mask-box-image-repeat",
|
|
191
|
+
"mask-box-image-slice",
|
|
192
|
+
"box-shadow",
|
|
193
|
+
"box-reflect",
|
|
194
|
+
"backdrop-filter",
|
|
195
|
+
"mix-blend-mode",
|
|
196
|
+
"filter",
|
|
197
|
+
"opacity",
|
|
198
|
+
"object-fit",
|
|
199
|
+
"clip",
|
|
200
|
+
"clip-path",
|
|
201
|
+
"resize",
|
|
202
|
+
"zoom",
|
|
203
|
+
"cursor",
|
|
204
|
+
"pointer-events",
|
|
205
|
+
"touch-callout",
|
|
206
|
+
"user-modify",
|
|
207
|
+
"user-focus",
|
|
208
|
+
"user-input",
|
|
209
|
+
"user-select",
|
|
210
|
+
"user-drag",
|
|
211
|
+
// 文字属性
|
|
212
|
+
"line-height",
|
|
213
|
+
"line-clamp",
|
|
214
|
+
"vertical-align",
|
|
215
|
+
"direction",
|
|
216
|
+
"unicode-bidi",
|
|
217
|
+
"writing-mode",
|
|
218
|
+
"ime-mode",
|
|
219
|
+
"text-overflow",
|
|
220
|
+
"text-decoration",
|
|
221
|
+
"text-decoration-line",
|
|
222
|
+
"text-decoration-style",
|
|
223
|
+
"text-decoration-color",
|
|
224
|
+
"text-decoration-skip",
|
|
225
|
+
"text-underline-position",
|
|
226
|
+
"text-align",
|
|
227
|
+
"text-align-last",
|
|
228
|
+
"text-justify",
|
|
229
|
+
"text-indent",
|
|
230
|
+
"text-stroke",
|
|
231
|
+
"text-stroke-width",
|
|
232
|
+
"text-stroke-color",
|
|
233
|
+
"text-shadow",
|
|
234
|
+
"text-transform",
|
|
235
|
+
"text-size-adjust",
|
|
236
|
+
"src",
|
|
237
|
+
"font",
|
|
238
|
+
"font-family",
|
|
239
|
+
"font-style",
|
|
240
|
+
"font-stretch",
|
|
241
|
+
"font-weight",
|
|
242
|
+
"font-variant",
|
|
243
|
+
"font-size",
|
|
244
|
+
"font-size-adjust",
|
|
245
|
+
"color",
|
|
246
|
+
// 内容属性
|
|
247
|
+
"tab-size",
|
|
248
|
+
"overflow-wrap",
|
|
249
|
+
"word-wrap",
|
|
250
|
+
"word-break",
|
|
251
|
+
"word-spacing",
|
|
252
|
+
"letter-spacing",
|
|
253
|
+
"white-space",
|
|
254
|
+
"caret-color",
|
|
255
|
+
"quotes",
|
|
256
|
+
"content",
|
|
257
|
+
"content-visibility",
|
|
258
|
+
"counter-reset",
|
|
259
|
+
"counter-increment",
|
|
260
|
+
"page",
|
|
261
|
+
"page-break-before",
|
|
262
|
+
"page-break-after",
|
|
263
|
+
"page-break-inside",
|
|
264
|
+
// 交互属性
|
|
265
|
+
"will-change",
|
|
266
|
+
"perspective",
|
|
267
|
+
"perspective-origin",
|
|
268
|
+
"backface-visibility",
|
|
269
|
+
"transform",
|
|
270
|
+
"transform-origin",
|
|
271
|
+
"transform-style",
|
|
272
|
+
"transition",
|
|
273
|
+
"transition-property",
|
|
274
|
+
"transition-duration",
|
|
275
|
+
"transition-timing-function",
|
|
276
|
+
"transition-delay",
|
|
277
|
+
"animation",
|
|
278
|
+
"animation-name",
|
|
279
|
+
"animation-duration",
|
|
280
|
+
"animation-timing-function",
|
|
281
|
+
"animation-delay",
|
|
282
|
+
"animation-iteration-count",
|
|
283
|
+
"animation-direction",
|
|
284
|
+
"animation-play-state",
|
|
285
|
+
"animation-fill-mode",
|
|
286
|
+
// Webkit专有属性
|
|
287
|
+
"-webkit-overflow-scrolling",
|
|
288
|
+
"-webkit-text-fill-color",
|
|
289
|
+
"-webkit-tap-highlight-color",
|
|
290
|
+
],
|
|
291
|
+
},
|
|
292
|
+
}
|