@ajaxjs/util 1.1.1 → 1.1.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.
Files changed (78) hide show
  1. package/README.md +55 -6
  2. package/dist/index.esm.js +525 -0
  3. package/dist/index.umd.js +536 -0
  4. package/dist/{util → src/core}/cookies.d.ts +18 -18
  5. package/dist/{util → src/core}/dom.d.ts +17 -17
  6. package/dist/{util → src/core}/utils.d.ts +51 -51
  7. package/dist/{util → src/core}/xhr-config.d.ts +22 -22
  8. package/dist/{util → src/core}/xhr.d.ts +71 -71
  9. package/dist/src/index.d.ts +5 -0
  10. package/package.json +41 -43
  11. package/LICENSE +0 -201
  12. package/dist/index.d.ts +0 -38
  13. package/dist/index.js +0 -71
  14. package/dist/index.js.map +0 -1
  15. package/dist/main.d.ts +0 -1
  16. package/dist/main.js +0 -16
  17. package/dist/main.js.map +0 -1
  18. package/dist/router/index.d.ts +0 -3
  19. package/dist/router/index.js +0 -44
  20. package/dist/router/index.js.map +0 -1
  21. package/dist/router.d.ts +0 -3
  22. package/dist/router.js +0 -44
  23. package/dist/router.js.map +0 -1
  24. package/dist/shims-vue.d.ts +0 -4
  25. package/dist/style/common-functions.less +0 -294
  26. package/dist/style/reset.less +0 -19
  27. package/dist/util/cookies.js +0 -46
  28. package/dist/util/cookies.js.map +0 -1
  29. package/dist/util/dom.js +0 -44
  30. package/dist/util/dom.js.map +0 -1
  31. package/dist/util/utils.js +0 -174
  32. package/dist/util/utils.js.map +0 -1
  33. package/dist/util/xhr-config.js +0 -3
  34. package/dist/util/xhr-config.js.map +0 -1
  35. package/dist/util/xhr.js +0 -262
  36. package/dist/util/xhr.js.map +0 -1
  37. package/dist/widget/AccordionMenu.vue +0 -140
  38. package/dist/widget/AdjustFontSize.vue +0 -65
  39. package/dist/widget/Article.vue +0 -59
  40. package/dist/widget/EmptyContent.d.ts +0 -5
  41. package/dist/widget/EmptyContent.js +0 -7
  42. package/dist/widget/EmptyContent.js.map +0 -1
  43. package/dist/widget/Expander.vue +0 -65
  44. package/dist/widget/FileUploader/FileUploader.d.ts +0 -70
  45. package/dist/widget/FileUploader/FileUploader.js +0 -139
  46. package/dist/widget/FileUploader/FileUploader.js.map +0 -1
  47. package/dist/widget/FileUploader/FileUploader.less +0 -68
  48. package/dist/widget/FileUploader/FileUploader.ts +0 -156
  49. package/dist/widget/FileUploader/FileUploader.vue +0 -43
  50. package/dist/widget/HtmlEditor/HtmlEditor.d.ts +0 -70
  51. package/dist/widget/HtmlEditor/HtmlEditor.js +0 -287
  52. package/dist/widget/HtmlEditor/HtmlEditor.js.map +0 -1
  53. package/dist/widget/HtmlEditor/HtmlEditor.less +0 -345
  54. package/dist/widget/HtmlEditor/HtmlEditor.ts +0 -339
  55. package/dist/widget/HtmlEditor/HtmlEditor.vue +0 -70
  56. package/dist/widget/HtmlEditor/html-editor-HtmlSanitizer.js +0 -103
  57. package/dist/widget/ImageEnlarger.vue +0 -105
  58. package/dist/widget/OpacityBanner.vue +0 -125
  59. package/dist/widget/ProcessLine.vue +0 -133
  60. package/dist/widget/Resize.d.ts +0 -51
  61. package/dist/widget/Resize.js +0 -133
  62. package/dist/widget/Resize.js.map +0 -1
  63. package/dist/widget/Resize.ts +0 -152
  64. package/dist/widget/Resize.vue +0 -104
  65. package/dist/widget/TreeSelector.vue +0 -4
  66. package/dist/widget/calendar/BetweenDate.vue +0 -63
  67. package/dist/widget/calendar/Calendar.d.ts +0 -55
  68. package/dist/widget/calendar/Calendar.js +0 -145
  69. package/dist/widget/calendar/Calendar.js.map +0 -1
  70. package/dist/widget/calendar/Calendar.less +0 -210
  71. package/dist/widget/calendar/Calendar.ts +0 -167
  72. package/dist/widget/calendar/Calendar.vue +0 -52
  73. package/dist/widget/calendar/CalendarInput.vue +0 -71
  74. package/dist/widget/form/validator.d.ts +0 -70
  75. package/dist/widget/form/validator.js +0 -220
  76. package/dist/widget/form/validator.js.map +0 -1
  77. package/dist/widget/form/validator.ts +0 -289
  78. package/dist/widget/play-ground/sku.vue +0 -93
@@ -1,174 +0,0 @@
1
- "use strict";
2
- /**
3
- * 通用工具类
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.copyToClipboard = exports.throttle = exports.parallel = exports.dateFormat2 = exports.dateFormat = exports.isDev = exports.isDebug = void 0;
7
- const env = process.env.NODE_ENV;
8
- /**
9
- * 是否调试模式中
10
- *
11
- * 打包成组件之后不能用
12
- *
13
- * @returns
14
- */
15
- function isDebug() {
16
- return env === 'development';
17
- }
18
- exports.isDebug = isDebug;
19
- function isDev() {
20
- let currentHostname = window.location.hostname;
21
- // 判断主机名是否是内网地址
22
- return (currentHostname.startsWith('192.168.') || currentHostname.startsWith('10.') || currentHostname === 'localhost');
23
- }
24
- exports.isDev = isDev;
25
- /**
26
- * 日期格式化。详见博客文章:http://blog.csdn.net/zhangxin09/archive/2011/01/01/6111294.aspx
27
- * e.g: new Date().format("yyyy-MM-dd hh:mm:ss")
28
- *
29
- * @param {String} format
30
- * @return {String}
31
- */
32
- function dateFormat(format) {
33
- let $1, o = {
34
- "M+": this.getMonth() + 1,
35
- "d+": this.getDate(),
36
- "h+": this.getHours(),
37
- "m+": this.getMinutes(),
38
- "s+": this.getSeconds(),
39
- // 季度 quarter
40
- "q+": Math.floor((this.getMonth() + 3) / 3),
41
- "S": this.getMilliseconds() // 千秒
42
- };
43
- if (/(y+)/.test(format)) {
44
- $1 = RegExp.$1, format = format.replace($1, String(this.getFullYear()).substr(4 - $1));
45
- }
46
- let key, value;
47
- for (key in o) { // 如果没有指定该参数,则子字符串将延续到 stringvar 的最后。
48
- if (new RegExp("(" + key + ")").test(format)) {
49
- $1 = RegExp.$1,
50
- value = String(o[key]),
51
- value = $1.length == 1 ? value : ("00" + value).substr(value.length),
52
- format = format.replace($1, value);
53
- }
54
- }
55
- return format;
56
- }
57
- exports.dateFormat = dateFormat;
58
- /**
59
- * 日期格式化
60
- * @author meizz
61
- * @param date 日期,必须为 Date 类型
62
- * @param fmt 格式模板
63
- * @returns 格式化后的字符串
64
- */
65
- function dateFormat2(date, fmt) {
66
- let o = {
67
- "M+": date.getMonth() + 1,
68
- "d+": date.getDate(),
69
- "h+": date.getHours(),
70
- "m+": date.getMinutes(),
71
- "s+": date.getSeconds(),
72
- "q+": Math.floor((date.getMonth() + 3) / 3),
73
- "S": date.getMilliseconds() // 毫秒
74
- };
75
- if (/(y+)/.test(fmt))
76
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
77
- for (var k in o)
78
- if (new RegExp("(" + k + ")").test(fmt)) {
79
- let obj = (RegExp.$1.length == 1) ? o[k] : ("00" + o[k]).substr(("" + o[k]).length);
80
- // @ts-ignore
81
- fmt = fmt.replace(RegExp.$1, obj);
82
- }
83
- return fmt;
84
- }
85
- exports.dateFormat2 = dateFormat2;
86
- /**
87
- * 并行和串行任务
88
- *
89
- * @author https://segmentfault.com/a/1190000013265925
90
- * @param arr
91
- * @param finnaly
92
- */
93
- function parallel(arr, _finally) {
94
- let fn, index = 0;
95
- // @ts-ignore
96
- let statusArr = Array(arr.length).fill().map(() => ({ isActive: false, data: null }));
97
- let isFinished = function () {
98
- return statusArr.every((item) => item.isActive === true);
99
- };
100
- let resolve = function (index) {
101
- return function (data) {
102
- statusArr[index].data = data;
103
- statusArr[index].isActive = true;
104
- let isFinish = isFinished();
105
- if (isFinish) {
106
- let datas = statusArr.map((item) => item.data);
107
- _finally(datas);
108
- }
109
- };
110
- };
111
- // @ts-ignore
112
- while ((fn = arr.shift())) {
113
- fn(resolve(index)); // 给 resolve 函数追加参数,可以使用 bind 函数实现,这里使用了柯里化
114
- index++;
115
- }
116
- }
117
- exports.parallel = parallel;
118
- /**
119
- * 函数节流
120
- *
121
- * @author https://www.cnblogs.com/moqiutao/p/6875955.html
122
- * @param fn
123
- * @param delay
124
- * @param mustRunDelay
125
- */
126
- function throttle(fn, delay, mustRunDelay) {
127
- var timer, t_start;
128
- return function () {
129
- var t_curr = +new Date();
130
- window.clearTimeout(timer);
131
- if (!t_start)
132
- t_start = t_curr;
133
- if (t_curr - t_start >= mustRunDelay) {
134
- // @ts-ignore
135
- fn.apply(this, arguments);
136
- t_start = t_curr;
137
- }
138
- else {
139
- var args = arguments;
140
- // @ts-ignore
141
- timer = window.setTimeout(() => fn.apply(this, args), delay);
142
- }
143
- };
144
- }
145
- exports.throttle = throttle;
146
- /**
147
- * 复制文字到剪切板
148
- *
149
- * @param {*} text
150
- */
151
- function copyToClipboard(text) {
152
- if (navigator.clipboard) {
153
- // clipboard api 复制
154
- navigator.clipboard.writeText(text);
155
- }
156
- else {
157
- let textarea = document.createElement('textarea');
158
- document.body.appendChild(textarea);
159
- // 隐藏此输入框
160
- textarea.style.position = 'fixed';
161
- textarea.style.clip = 'rect(0 0 0 0)';
162
- textarea.style.top = '10px';
163
- // 赋值
164
- textarea.value = text;
165
- // 选中
166
- textarea.select();
167
- // 复制
168
- document.execCommand('copy', true);
169
- // 移除输入框
170
- document.body.removeChild(textarea);
171
- }
172
- }
173
- exports.copyToClipboard = copyToClipboard;
174
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/util/utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=xhr-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xhr-config.js","sourceRoot":"","sources":["../../src/util/xhr-config.ts"],"names":[],"mappings":""}
package/dist/util/xhr.js DELETED
@@ -1,262 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPageList = exports.getQuery = exports.toParams = exports.xhr_put = exports.xhr_post = exports.xhr_del = exports.xhr_get = exports.xhr_post_upload = exports.setBaseHeadParams = void 0;
4
- /**
5
- * 默认的请求配置
6
- */
7
- const DEFAULT_XHR_CFG = {
8
- timeout: 5000,
9
- withCredentials: false,
10
- parseContentType: 'json'
11
- };
12
- /**
13
- * 全局请求的 head 参数
14
- */
15
- let BASE_HEAD_PARAMS = null;
16
- /**
17
- * 设置全局请求的 head 参数
18
- *
19
- * @param param
20
- */
21
- function setBaseHeadParams(params) {
22
- if (BASE_HEAD_PARAMS === null)
23
- BASE_HEAD_PARAMS = {};
24
- Object.assign(BASE_HEAD_PARAMS, params);
25
- }
26
- exports.setBaseHeadParams = setBaseHeadParams;
27
- /**
28
- *
29
- * @param getOrDel
30
- * @param url
31
- * @param cb
32
- * @param params
33
- * @param cfg
34
- */
35
- function getOrDel(getOrDel, url, cb, params, cfg = DEFAULT_XHR_CFG) {
36
- let xhr = initXhr(cfg);
37
- if (params != null) {
38
- if (url.indexOf('?') != -1)
39
- url += '&' + toParams(params);
40
- else
41
- url += '?' + toParams(params);
42
- }
43
- xhr.open(getOrDel.toUpperCase(), url, true);
44
- xhr.onreadystatechange = function () {
45
- responseHandle(this, cb, cfg);
46
- };
47
- if (BASE_HEAD_PARAMS) // 设置自定义请求头
48
- for (let key in BASE_HEAD_PARAMS)
49
- xhr.setRequestHeader(key, BASE_HEAD_PARAMS[key]);
50
- xhr.send();
51
- }
52
- /**
53
- *
54
- * @param method
55
- * @param url
56
- * @param cb
57
- * @param params
58
- * @param cfg
59
- */
60
- function postOrPut(method, url, cb, params, cfg = DEFAULT_XHR_CFG) {
61
- let xhr = initXhr(cfg);
62
- xhr.open(method, url, true);
63
- xhr.onreadystatechange = function () {
64
- responseHandle(this, cb, cfg);
65
- };
66
- if (BASE_HEAD_PARAMS) // 设置自定义请求头
67
- for (let key in BASE_HEAD_PARAMS)
68
- xhr.setRequestHeader(key, BASE_HEAD_PARAMS[key]);
69
- // 此方法必须在 open() 方法和 send() 之间调用
70
- if (!cfg.contentType) // 如未设置,默认为表单请求
71
- xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
72
- else
73
- xhr.setRequestHeader("Content-Type", cfg.contentType);
74
- let _params = typeof params != 'string' ? toParams(params) : params;
75
- if (_params)
76
- xhr.send(_params);
77
- else
78
- xhr.send();
79
- }
80
- /**
81
- *
82
- * @param url
83
- * @param cb
84
- * @param params
85
- * @param cfg
86
- */
87
- function xhr_post_upload(url, cb, params, cfg = DEFAULT_XHR_CFG) {
88
- let xhr = initXhr(cfg);
89
- xhr.open('post', url, true);
90
- xhr.onreadystatechange = function () {
91
- responseHandle(this, cb, cfg);
92
- };
93
- if (BASE_HEAD_PARAMS) // 设置自定义请求头
94
- for (let key in BASE_HEAD_PARAMS)
95
- xhr.setRequestHeader(key, BASE_HEAD_PARAMS[key]);
96
- // 什么 Content-Type 都不设置
97
- xhr.send(params);
98
- }
99
- exports.xhr_post_upload = xhr_post_upload;
100
- /**
101
- * XHR GET 请求
102
- *
103
- * @param url 请求地址
104
- * @param cb 回调函数 @example (json: {}, text: string) => void;
105
- * @param params 参数,必填,如无填空字符串 "";参数类型是json;参数值会进行 URL 编码,最后附加到 QueryString 中
106
- * @param cfg 配置,可选的
107
- */
108
- function xhr_get(url, cb, params, cfg = DEFAULT_XHR_CFG) {
109
- getOrDel('get', url, cb, params, cfg);
110
- }
111
- exports.xhr_get = xhr_get;
112
- /**
113
- * XHR DELETE 请求
114
- *
115
- * @param url 请求地址
116
- * @param cb 回调函数 @example (json: {}, text: string) => void;
117
- * @param params 参数,必填,如无填空字符串 "";参数类型是json;参数值会进行 URL 编码,最后附加到 QueryString 中
118
- * @param cfg 配置,可选的
119
- */
120
- function xhr_del(url, cb, params, cfg = DEFAULT_XHR_CFG) {
121
- getOrDel('delete', url, cb, params, cfg);
122
- }
123
- exports.xhr_del = xhr_del;
124
- /**
125
- * XHR POST 请求
126
- *
127
- * @param url 请求地址
128
- * @param cb 回调函数 @example (json: {}, text: string) => void;
129
- * @param params 参数,必填,如无填空字符串 "";参数类型可以是字符串或 json;参数值会进行 URL 编码
130
- * @param cfg 配置,可选的
131
- */
132
- function xhr_post(url, cb, params, cfg = DEFAULT_XHR_CFG) {
133
- postOrPut('post', url, cb, params, cfg);
134
- }
135
- exports.xhr_post = xhr_post;
136
- /**
137
- * XHR PUT 请求
138
- *
139
- * @param url 请求地址
140
- * @param cb 回调函数 @example (json: {}, text: string) => void;
141
- * @param params 参数,必填,如无填空字符串 "";参数类型可以是字符串或 json;参数值会进行 URL 编码
142
- * @param cfg 配置,可选的
143
- */
144
- function xhr_put(url, cb, params, cfg = DEFAULT_XHR_CFG) {
145
- postOrPut('put', url, cb, params, cfg);
146
- }
147
- exports.xhr_put = xhr_put;
148
- /**
149
- * 初始化 XHR
150
- *
151
- * @param cfg
152
- * @returns
153
- */
154
- function initXhr(cfg) {
155
- let xhr = new XMLHttpRequest();
156
- if (cfg && cfg.timeout) {
157
- xhr.timeout = cfg.timeout;
158
- xhr.ontimeout = (e) => console.error('系统异常,XHR 连接服务超时');
159
- }
160
- if (cfg && cfg.withCredentials)
161
- xhr.withCredentials = true;
162
- return xhr;
163
- }
164
- /**
165
- * 错误处理
166
- *
167
- * @param xhr
168
- */
169
- function errHandle(xhr) {
170
- let msg;
171
- if (xhr.status <= 400)
172
- msg = '请求参数错误或者权限不足。';
173
- else if (xhr.status <= 500)
174
- msg = '服务端异常。';
175
- else
176
- msg = `未知异常,HTTP code:${xhr.status}。`;
177
- if (!xhr.responseText)
178
- msg += " 服务端返回空的字符串!";
179
- console.error(msg, xhr.responseText);
180
- }
181
- /**
182
- * 响应处理
183
- *
184
- * @param xhr
185
- * @param cb
186
- * @param cfg
187
- */
188
- function responseHandle(xhr, cb, cfg) {
189
- if (xhr.readyState == 4) {
190
- if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
191
- let text = xhr.responseText;
192
- let json;
193
- if (!text)
194
- console.warn('服务端没有返回任何字符串');
195
- switch (cfg.parseContentType) {
196
- case 'text':
197
- break;
198
- case 'xml':
199
- json = xhr.responseXML;
200
- break;
201
- case 'json':
202
- default:
203
- try {
204
- json = JSON.parse(text);
205
- }
206
- catch (e) {
207
- console.error('解析 JSON 时候发生错误,非法 JSON');
208
- console.warn(e);
209
- }
210
- }
211
- cb && cb(json, text);
212
- }
213
- else
214
- errHandle(xhr);
215
- }
216
- }
217
- /**
218
- * 对象转换为 URL 参数列表,用 & 分隔
219
- *
220
- * @param {Object} param JSON 对象
221
- * @returns URL 参数列表
222
- */
223
- function toParams(param) {
224
- let result = "";
225
- for (let name in param) {
226
- if (typeof param[name] != "function")
227
- result += "&" + name + "=" + encodeURIComponent(param[name]);
228
- }
229
- return result.substring(1);
230
- }
231
- exports.toParams = toParams;
232
- /**
233
- * 获取 QueryString 的某个参数
234
- *
235
- * @param val
236
- * @returns
237
- */
238
- function getQuery(val) {
239
- const w = location.hash.indexOf('?');
240
- const query = location.hash.substring(w + 1);
241
- let vars = query.split('&');
242
- for (let i = 0; i < vars.length; i++) {
243
- const pair = vars[i].split('=');
244
- if (pair[0] == val)
245
- return pair[1];
246
- }
247
- return '';
248
- }
249
- exports.getQuery = getQuery;
250
- function getPageList(self, listArray, callback) {
251
- return (j) => {
252
- if (j.status) {
253
- listArray.total = j.total;
254
- listArray.data = j.data;
255
- callback && callback();
256
- }
257
- else
258
- self.$Message.warning(j.message || '获取数据失败');
259
- };
260
- }
261
- exports.getPageList = getPageList;
262
- //# sourceMappingURL=xhr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/util/xhr.ts"],"names":[],"mappings":"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"}
@@ -1,140 +0,0 @@
1
- <template>
2
- <ul class="aj-accordion-menu" @click="onClk">
3
- <slot></slot>
4
- </ul>
5
- </template>
6
-
7
- <script lang="ts">
8
- /**
9
- * 内部子菜单的高亮
10
- *
11
- * @param ev
12
- */
13
- function highlightSubItem(ev: Event) {
14
- let li: Element,
15
- el: Element = ev.target as Element;
16
-
17
- if (el.tagName == "A" && el.getAttribute("target")) {
18
- li = el.parentNode as Element;
19
- li.querySelectorAll("li").forEach((_el: Element) => {
20
- if (_el == li) _el.classList.add("selected");
21
- else _el.classList.remove("selected");
22
- });
23
- }
24
- }
25
-
26
- export default {
27
- methods: {
28
- onClk(ev: Event): void {
29
- let children: HTMLCollection = this.$el.children;
30
- highlightSubItem(ev);
31
- let _btn: Element = ev.target as Element;
32
-
33
- if (
34
- _btn &&
35
- _btn.tagName == "H3" &&
36
- (_btn.parentNode as Element).tagName == "LI"
37
- ) {
38
- _btn = _btn.parentNode as Element;
39
-
40
- for (let btn: Element, i: number = 0, j = children.length; i < j; i++) {
41
- btn = children[i];
42
- let ul = btn.querySelector("ul");
43
-
44
- if (btn == _btn) {
45
- if (btn.className.indexOf("pressed") != -1) {
46
- btn.classList.remove("pressed"); // 再次点击,隐藏!
47
- if (ul) ul.style.height = "0px";
48
- } else {
49
- if (ul) ul.style.height = ul.scrollHeight + "px";
50
- btn.classList.add("pressed");
51
- }
52
- } else {
53
- btn.classList.remove("pressed");
54
- if (ul) ul.style.height = "0px";
55
- }
56
- }
57
- } else return;
58
- },
59
- },
60
- };
61
- </script>
62
-
63
- <style lang="less" scoped>
64
- @import "../style/common-functions.less";
65
-
66
- // 折叠菜单 Accordion Menu
67
- .aj-accordion {
68
- & > li h3 {
69
- cursor: pointer;
70
- }
71
-
72
- .pressed {
73
- & h3 {
74
- color: black;
75
- }
76
- }
77
-
78
- & > li > ul {
79
- .transition (height .5s cubic-bezier(0, 1, 0.5, 1));;
80
- overflow: hidden;
81
- }
82
-
83
- ul {
84
- height: 0;
85
- }
86
- }
87
-
88
- .aj-accordion-menu {
89
- .aj-accordion ();
90
- overflow: hidden;
91
-
92
- & > li {
93
- border-top: 1px solid white;
94
- border-bottom: 1px solid lightgray;
95
-
96
- &.pressed {
97
- border-top: 0;
98
- border-bottom: 1px solid lightgray;
99
- box-shadow: inset 0px 10px 15px -15px gray;
100
-
101
- h3 {
102
- font-weight: bold;
103
- }
104
- }
105
-
106
- ul {
107
- li {
108
- // list-style-type: disc;
109
- padding-left: 15%;
110
-
111
- a {
112
- width: 100%;
113
- display: block;
114
- }
115
-
116
- &.selected {
117
- a {
118
- color: black;
119
- font-weight: bold;
120
- }
121
- }
122
- }
123
- }
124
-
125
- h3,
126
- li {
127
- padding: 5px 0 5px 15px;
128
- letter-spacing: 2px;
129
- line-height: 20px;
130
- color: #939da8;
131
- font-size: 12px;
132
-
133
- &:hover,
134
- a:hover {
135
- color: black;
136
- }
137
- }
138
- }
139
- }
140
- </style>
@@ -1,65 +0,0 @@
1
- <template>
2
- <div class="aj-adjust-font-size">
3
- <span>字体大小</span>
4
- <ul @click="onClk">
5
- <li><label><input type="radio" name="fontSize" /> 小</label></li>
6
- <li><label><input type="radio" name="fontSize" /> 中</label></li>
7
- <li><label><input type="radio" name="fontSize" /> 大</label></li>
8
- </ul>
9
- </div>
10
- </template>
11
-
12
- <script lang="ts">
13
- /**
14
- * 调整正文字体大小
15
- */
16
- export default {
17
- props: {
18
- articleTarget: { type: String, default: "article p" }, // 正文所在的位置,通过 CSS Selector 定位
19
- },
20
- methods: {
21
- onClk(ev: Event): void {
22
- let el: Element = ev.target as Element;
23
- let setFontSize = (fontSize: string): void => {
24
- document.body
25
- .querySelectorAll(this.$props.articleTarget)
26
- .forEach((p: HTMLParagraphElement) => (p.style.fontSize = fontSize));
27
- };
28
-
29
- if (el.tagName == "LABEL" || el.tagName == "INPUT") {
30
- if (el.tagName != "LABEL") el = el.parentNode as Element;
31
-
32
- if (el.innerHTML.indexOf("大") != -1) setFontSize("12pt");
33
- else if (el.innerHTML.indexOf("中") != -1) setFontSize("10.5pt");
34
- else if (el.innerHTML.indexOf("小") != -1) setFontSize("9pt");
35
- }
36
- },
37
- },
38
- };
39
- </script>
40
-
41
- <style lang="less" scoped>
42
- .aj-adjust-font-size {
43
- width: 210px;
44
- font-size: 0.8rem;
45
- padding: 2px 0;
46
-
47
- span {
48
- float: left;
49
- width: 35%;
50
- display: block;
51
- }
52
-
53
- ul {
54
- width: 65%;
55
- float: right;
56
- cursor: pointer;
57
-
58
- li {
59
- display: block;
60
- float: right;
61
- width: 33%;
62
- }
63
- }
64
- }
65
- </style>