@moneko/core 2.0.24-beta.1 → 2.0.24-beta.3
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/lib/localizable.d.ts +3 -3
- package/lib/packages/back-stage/app.js +1 -1
- package/lib/styles/normalize.css +12 -0
- package/lib/utils/index.d.ts +31 -0
- package/lib/utils/index.js +1 -1
- package/package.json +1 -1
package/lib/localizable.d.ts
CHANGED
|
@@ -21,21 +21,21 @@ export declare const localizable: {
|
|
|
21
21
|
/** 获取本地化文本 */
|
|
22
22
|
t: Record<string, string>;
|
|
23
23
|
/** 本地化支持列表 */
|
|
24
|
-
locales: Pick<Locale, "
|
|
24
|
+
locales: Pick<Locale, "title" | "language" | "icon">[];
|
|
25
25
|
} & (<K extends "language" | "t" | "locales">(key: K, updater: (val: {
|
|
26
26
|
/** 使用的语言 */
|
|
27
27
|
language: LocaleName;
|
|
28
28
|
/** 获取本地化文本 */
|
|
29
29
|
t: Record<string, string>;
|
|
30
30
|
/** 本地化支持列表 */
|
|
31
|
-
locales: Pick<Locale, "
|
|
31
|
+
locales: Pick<Locale, "title" | "language" | "icon">[];
|
|
32
32
|
}[K]) => {
|
|
33
33
|
/** 使用的语言 */
|
|
34
34
|
language: LocaleName;
|
|
35
35
|
/** 获取本地化文本 */
|
|
36
36
|
t: Record<string, string>;
|
|
37
37
|
/** 本地化支持列表 */
|
|
38
|
-
locales: Pick<Locale, "
|
|
38
|
+
locales: Pick<Locale, "title" | "language" | "icon">[];
|
|
39
39
|
}[K]) => void);
|
|
40
40
|
/** 设置使用的语言
|
|
41
41
|
* @param {LocaleName} lang 语言
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(){return(e=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var o=arguments[r];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e}).apply(this,arguments)}
|
|
1
|
+
function e(){return(e=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var o=arguments[r];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e}).apply(this,arguments)}import r,{useEffect as o}from"react";import{ConfigProvider as t}from"antd";import a from"antd/es/locale/en_US";import l from"antd/es/locale/zh_CN";import i from"dayjs";import n from"dayjs/plugin/relativeTime";import{RouterProvider as m}from"react-router-dom";import{createRouter as p,prefixRouter as f,routerData as c,RouterFragment as s}from"../../components/app-router";import u from"../../components/fallback";import{localizable as d}from"../../localizable";import{onlyLoginRouter as g}from"../../router";import"dayjs/locale/zh.js";import"dayjs/locale/en.js";import{updateWatermark as h}from"../../utils";import{global as v}from"@/store";var C={zh_CN:l,en_US:a};i.extend(n),t.config({prefixCls:providerConfig.prefixCls,iconPrefixCls:providerConfig.iconPrefixCls,theme:providerConfig.theme});export default function(){var a=v.isLogin,i=d.language,n=d.t;return o(function(){h(projectName)},[]),r.createElement(s,null,r.createElement(t,e({},providerConfig,{locale:C[i]||l,form:{validateMessages:{required:""+n["ph:please-fill"]+"${label}!",types:{email:"${label}"+n["wrong-format"]},pattern:{mismatch:""+n["ph:fill-correct"]+"${label}!"}}}}),r.createElement(m,{router:p(a?c:f(g,r.createElement(u,null)),{basename:programInfo.routeBaseName,window:window}),fallbackElement:r.createElement(u,null)})))};
|
package/lib/styles/normalize.css
CHANGED
|
@@ -18,6 +18,18 @@ body {
|
|
|
18
18
|
transition-timing-function: var(--transition-timing-function);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
html::after {
|
|
22
|
+
position: fixed;
|
|
23
|
+
top: 0;
|
|
24
|
+
left: 0;
|
|
25
|
+
z-index: 99999999999;
|
|
26
|
+
width: 100vw;
|
|
27
|
+
height: 100vh;
|
|
28
|
+
content: '';
|
|
29
|
+
pointer-events: none;
|
|
30
|
+
background-image: var(--watermark);
|
|
31
|
+
}
|
|
32
|
+
|
|
21
33
|
#root {
|
|
22
34
|
display: flex;
|
|
23
35
|
flex-direction: column;
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -1,12 +1,43 @@
|
|
|
1
1
|
export type WatermarkParamsType = {
|
|
2
|
+
/** 水印文字X轴位置
|
|
3
|
+
* @default 50 */
|
|
2
4
|
x?: number;
|
|
5
|
+
/** 水印文字Y轴位置
|
|
6
|
+
* @default 50 */
|
|
3
7
|
y?: number;
|
|
8
|
+
/** 水印宽度
|
|
9
|
+
* @default 100 */
|
|
4
10
|
width?: number;
|
|
11
|
+
/** 水印高度
|
|
12
|
+
* @default 100 */
|
|
5
13
|
height?: number;
|
|
14
|
+
/** 水印文字大小
|
|
15
|
+
* @default 14 */
|
|
6
16
|
fontSize?: number;
|
|
17
|
+
/** 水印文字旋转角度
|
|
18
|
+
* @default -45 */
|
|
7
19
|
angle?: number;
|
|
20
|
+
/** 水印文字透明度
|
|
21
|
+
* @default 0.05 */
|
|
8
22
|
opacity?: number;
|
|
23
|
+
/** 水印文字颜色
|
|
24
|
+
* @default '#000' */
|
|
9
25
|
color?: string;
|
|
26
|
+
/** 水印文字字体
|
|
27
|
+
* @default 'PingFangSC-Ultralight,sans-serif' */
|
|
10
28
|
fontFamily?: string;
|
|
11
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* 生成水印背景图的base64 url
|
|
32
|
+
* @param {string} text - 水印文字
|
|
33
|
+
* @param {WatermarkParamsType} [c] - 水印参数
|
|
34
|
+
* @returns {string} - 水印背景图的base64 url
|
|
35
|
+
*/
|
|
12
36
|
export declare const watermark: (text: string, c?: WatermarkParamsType) => string;
|
|
37
|
+
/**
|
|
38
|
+
* 更新水印,如果当前页面不存在样式表则创建一个
|
|
39
|
+
* @param {string} text - 水印文字
|
|
40
|
+
* @param {WatermarkParamsType} [opt] - 水印参数
|
|
41
|
+
* @returns {void}
|
|
42
|
+
*/
|
|
43
|
+
export declare function updateWatermark(text: string, opt?: WatermarkParamsType): void;
|
package/lib/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{stringToBase64Url as
|
|
1
|
+
import{stringToBase64Url as e}from"@moneko/common";export var watermark=function(t,o){var r=o||{},a=r.x,s=r.y,n=r.width,i=void 0===n?100:n,l=r.height,m=void 0===l?100:l,d=r.fontSize,c=r.angle,u=r.opacity,v=r.color,g=r.fontFamily;return"data:image/svg+xml;base64,"+e('<svg xmlns="http://www.w3.org/2000/svg" width="'+i+'" height="'+m+'"><text text-anchor="middle" dominant-baseline="middle" fill="none" stroke-opacity="'+(void 0===u?.05:u)+'" stroke="'+(void 0===v?"#000":v)+'" x="'+(void 0===a?50:a)+'" y="'+(void 0===s?50:s)+'" font-size="'+(void 0===d?14:d)+'" font-family="'+(void 0===g?"PingFangSC-Ultralight,sans-serif":g)+'" \n transform="rotate('+(void 0===c?-45:c)+" "+i/2+" "+m/2+')">'+t+"</text></svg>")};export function updateWatermark(e,t){var o,r=getComputedStyle(document.documentElement).getPropertyValue("--watermark"),a=document.styleSheets.length;if(0===a){var s=document.createElement("style");document.head.appendChild(s),a=1}for(var n=document.styleSheets.item(0),i=0;i<a;i++){n=document.styleSheets.item(i);for(var l=0,m=n.cssRules.length;l<m;l++){var d=n.cssRules[l];if(":root"===d.selectorText&&d.style.getPropertyValue("--watermark")===r){o=d;break}}}o||(n.insertRule(":root {}",n.cssRules.length),o=n.cssRules[n.cssRules.length-1]),o.style.setProperty("--watermark","url("+watermark(e,t)+")")}
|