byt-ui 0.0.5 → 0.0.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "byt-ui",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "private": false,
5
5
  "description": "byt组件库",
6
6
  "author": {
@@ -16,6 +16,7 @@
16
16
  },
17
17
  "main": "lib/byt-ui.umd.min.js",
18
18
  "dependencies": {
19
+ "byt-ui": "^0.0.5",
19
20
  "core-js": "^3.8.3",
20
21
  "element-ui": "^2.15.10",
21
22
  "moment": "^2.29.4",
@@ -2,9 +2,18 @@
2
2
  * @Description:
3
3
  * @Author: 王国火
4
4
  * @Date: 2022-09-19 10:17:14
5
- * @LastEditTime: 2022-09-19 10:17:22
5
+ * @LastEditTime: 2022-10-08 10:50:57
6
6
  * @LastEditors: 王国火
7
7
  */
8
- export default{
8
+ // 动态引入
9
+ let conmmon = {};
10
+ const requireContext = require.context('./modules', true, /.*\.js/)
11
+ requireContext.keys().map(key => {
12
+ const reg=/\w+/
13
+ const k=key.match(reg)[0]
14
+ conmmon[k]=requireContext(key).default||requireContext(key)
15
+ })
9
16
 
10
- }
17
+ console.log(conmmon)
18
+
19
+ export default conmmon
@@ -0,0 +1,125 @@
1
+ import { validatenull } from './validate'
2
+ import website from './website'
3
+ //存储前缀 避免与同域的其它项目冲突
4
+ const keyName = website.key
5
+ /**
6
+ * 存储localStorage
7
+ */
8
+ export const setStore = (params = {}) => {
9
+ let {
10
+ name
11
+ } = params
12
+ const {
13
+ content,
14
+ type
15
+ } = params
16
+ name = keyName + name
17
+ const obj = {
18
+ dataType: typeof (content),
19
+ content: content,
20
+ type: type,
21
+ datetime: new Date().getTime()
22
+ }
23
+
24
+ if (type) {
25
+ window.sessionStorage.setItem(name, JSON.stringify(obj))
26
+ } else {
27
+ window.localStorage.setItem(name, JSON.stringify(obj))
28
+ }
29
+ }
30
+ /**
31
+ * 获取localStorage
32
+ */
33
+
34
+ export const getStore = (params = {}) => {
35
+ let {
36
+ name
37
+ } = params
38
+ const {
39
+ debug
40
+ } = params
41
+ name = keyName + name
42
+ let obj = {}
43
+ let content
44
+ obj = window.sessionStorage.getItem(name)
45
+ if (validatenull(obj)) obj = window.localStorage.getItem(name)
46
+ if (validatenull(obj)) return
47
+ try {
48
+ obj = JSON.parse(obj)
49
+ } catch (e) {
50
+ return obj
51
+ }
52
+ if (debug) {
53
+ return obj
54
+ }
55
+ if (obj.dataType === 'string') {
56
+ content = obj.content
57
+ } else if (obj.dataType === 'number') {
58
+ content = Number(obj.content)
59
+ } else if (obj.dataType === 'boolean') {
60
+ content = JSON.parse(obj.content)
61
+ } else if (obj.dataType === 'object') {
62
+ content = obj.content
63
+ }
64
+ return content
65
+ }
66
+ /**
67
+ * 删除localStorage
68
+ */
69
+ export const removeStore = (params = {}) => {
70
+ let {
71
+ name
72
+ } = params
73
+ const {
74
+ type
75
+ } = params
76
+ name = keyName + name
77
+ if (type) {
78
+ window.sessionStorage.removeItem(name)
79
+ } else {
80
+ window.localStorage.removeItem(name)
81
+ }
82
+ }
83
+
84
+ /**
85
+ * 获取全部localStorage
86
+ */
87
+ export const getAllStore = (params = {}) => {
88
+ const list = []
89
+ const {
90
+ type
91
+ } = params
92
+ if (type) {
93
+ for (let i = 0; i <= window.sessionStorage.length; i++) {
94
+ list.push({
95
+ name: window.sessionStorage.key(i),
96
+ content: getStore({
97
+ name: window.sessionStorage.key(i),
98
+ type: 'session'
99
+ })
100
+ })
101
+ }
102
+ } else {
103
+ for (let i = 0; i <= window.localStorage.length; i++) {
104
+ list.push({
105
+ name: window.localStorage.key(i),
106
+ content: getStore({
107
+ name: window.localStorage.key(i)
108
+ })
109
+ })
110
+ }
111
+ }
112
+ return list
113
+ }
114
+
115
+ /**
116
+ * 清空全部localStorage
117
+ */
118
+ export const clearStore = (params = {}) => {
119
+ const { type } = params
120
+ if (type) {
121
+ window.sessionStorage.clear()
122
+ } else {
123
+ window.localStorage.clear()
124
+ }
125
+ }
@@ -0,0 +1,286 @@
1
+ export function isExternal(path) {
2
+ return /^(https?:|mailto:|tel:)/.test(path)
3
+ }
4
+
5
+ /**
6
+ * 邮箱
7
+ * @param {*} s
8
+ */
9
+ export function isEmail(s) {
10
+ return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
11
+ }
12
+
13
+ /**
14
+ * 手机号码
15
+ * @param {*} s
16
+ */
17
+ export function isMobile(s) {
18
+ return /^1[0-9]{10}$/.test(s)
19
+ }
20
+
21
+ /**
22
+ * 电话号码
23
+ * @param {*} s
24
+ */
25
+ export function isPhone(s) {
26
+ return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
27
+ }
28
+
29
+ /**
30
+ * URL地址
31
+ * @param {*} s
32
+ */
33
+ export function isURL(s) {
34
+ return /^http[s]?:\/\/.*/.test(s)
35
+ }
36
+
37
+ export function isvalidUsername(str) {
38
+ const valid_map = ['admin', 'editor']
39
+ return valid_map.indexOf(str.trim()) >= 0
40
+ }
41
+
42
+ /* 合法uri */
43
+ export function validateURL(textval) {
44
+ const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
45
+ return urlregex.test(textval)
46
+ }
47
+
48
+ /* 小写字母 */
49
+ export function validateLowerCase(str) {
50
+ const reg = /^[a-z]+$/
51
+ return reg.test(str)
52
+ }
53
+
54
+ /* 大写字母 */
55
+ export function validateUpperCase(str) {
56
+ const reg = /^[A-Z]+$/
57
+ return reg.test(str)
58
+ }
59
+
60
+ /* 大小写字母 */
61
+ export function validatAlphabets(str) {
62
+ const reg = /^[A-Za-z]+$/
63
+ return reg.test(str)
64
+ }
65
+
66
+ /* 验证pad还是pc */
67
+ export const vaildatePc = function () {
68
+ const userAgentInfo = navigator.userAgent
69
+ const Agents = ['Android', 'iPhone',
70
+ 'SymbianOS', 'Windows Phone',
71
+ 'iPad', 'iPod'
72
+ ]
73
+ let flag = true
74
+ for (var v = 0; v < Agents.length; v++) {
75
+ if (userAgentInfo.indexOf(Agents[v]) > 0) {
76
+ flag = false
77
+ break
78
+ }
79
+ }
80
+ return flag
81
+ }
82
+
83
+ /**
84
+ * validate email
85
+ * @param email
86
+ * @returns {boolean}
87
+ */
88
+ export function validateEmail(email) {
89
+ const re = /^(([^<>()\\[\]\\.,;:\s@"]+(\.[^<>()\\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
90
+ return re.test(email)
91
+ }
92
+
93
+ /**
94
+ * 判断身份证号码
95
+ */
96
+ export function cardid(code) {
97
+ const list = []
98
+ let result = true
99
+ let msg = ''
100
+ var city = {
101
+ 11: '北京',
102
+ 12: '天津',
103
+ 13: '河北',
104
+ 14: '山西',
105
+ 15: '内蒙古',
106
+ 21: '辽宁',
107
+ 22: '吉林',
108
+ 23: '黑龙江 ',
109
+ 31: '上海',
110
+ 32: '江苏',
111
+ 33: '浙江',
112
+ 34: '安徽',
113
+ 35: '福建',
114
+ 36: '江西',
115
+ 37: '山东',
116
+ 41: '河南',
117
+ 42: '湖北 ',
118
+ 43: '湖南',
119
+ 44: '广东',
120
+ 45: '广西',
121
+ 46: '海南',
122
+ 50: '重庆',
123
+ 51: '四川',
124
+ 52: '贵州',
125
+ 53: '云南',
126
+ 54: '西藏 ',
127
+ 61: '陕西',
128
+ 62: '甘肃',
129
+ 63: '青海',
130
+ 64: '宁夏',
131
+ 65: '新疆',
132
+ 71: '台湾',
133
+ 81: '香港',
134
+ 82: '澳门',
135
+ 91: '国外 '
136
+ }
137
+ if (!validatenull(code)) {
138
+ if (code.length === 18) {
139
+ if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) {
140
+ msg = '证件号码格式错误'
141
+ } else if (!city[code.substr(0, 2)]) {
142
+ msg = '地址编码错误'
143
+ } else {
144
+ // 18位身份证需要验证最后一位校验位
145
+ code = code.split('')
146
+ // ∑(ai×Wi)(mod 11)
147
+ // 加权因子
148
+ var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
149
+ // 校验位
150
+ var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x']
151
+ var sum = 0
152
+ var ai = 0
153
+ var wi = 0
154
+ for (var i = 0; i < 17; i++) {
155
+ ai = code[i]
156
+ wi = factor[i]
157
+ sum += ai * wi
158
+ }
159
+ if (parity[sum % 11] !== code[17]) {
160
+ msg = '证件号码校验位错误'
161
+ } else {
162
+ result = false
163
+ }
164
+ }
165
+ } else {
166
+ msg = '证件号码长度不为18位'
167
+ }
168
+ } else {
169
+ msg = '证件号码不能为空'
170
+ }
171
+ list.push(result)
172
+ list.push(msg)
173
+ return list
174
+ }
175
+
176
+ /**
177
+ * 判断手机号码是否正确
178
+ */
179
+ export function isvalidatemobile(phone) {
180
+ const list = []
181
+ let result = true
182
+ let msg = ''
183
+ var isPhone = /^0\d{2,3}-?\d{7,8}$/
184
+ // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
185
+ if (!validatenull(phone)) {
186
+ if (phone.length === 11) {
187
+ if (isPhone.test(phone)) {
188
+ msg = '手机号码格式不正确'
189
+ } else {
190
+ result = false
191
+ }
192
+ } else {
193
+ msg = '手机号码长度不为11位'
194
+ }
195
+ } else {
196
+ msg = '手机号码不能为空'
197
+ }
198
+ list.push(result)
199
+ list.push(msg)
200
+ return list
201
+ }
202
+
203
+ /**
204
+ * 判断手机号码是否正确(可以为空)
205
+ */
206
+ export function isValidateNoneMobile(phone) {
207
+ const list = []
208
+ let result = true
209
+ let msg = ''
210
+ var isPhone = /^0\d{2,3}-?\d{7,8}$/
211
+ // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
212
+ if (!validatenull(phone)) {
213
+ if (phone.length === 11) {
214
+ if (isPhone.test(phone)) {
215
+ msg = '手机号码格式不正确'
216
+ } else {
217
+ result = false
218
+ }
219
+ } else {
220
+ msg = '手机号码长度不为11位'
221
+ }
222
+ } else {
223
+ result = false
224
+ }
225
+ list.push(result)
226
+ list.push(msg)
227
+ return list
228
+ }
229
+
230
+ /**
231
+ * 判断姓名是否正确
232
+ */
233
+ export function validatename(name) {
234
+ var regName = /^[\u4e00-\u9fa5]{2,4}$/
235
+ if (!regName.test(name)) return false
236
+ return true
237
+ }
238
+
239
+ /**
240
+ * 判断是否为整数
241
+ */
242
+ export function validatenum(num, type) {
243
+ let regName = /[^\d.]/g
244
+ if (type === 1) {
245
+ if (!regName.test(num)) return false
246
+ } else if (type === 2) {
247
+ regName = /[^\d]/g
248
+ if (!regName.test(num)) return false
249
+ }
250
+ return true
251
+ }
252
+
253
+ /**
254
+ * 判断是否为小数
255
+ */
256
+ export function validatenumord(num, type) {
257
+ let regName = /[^\d.]/g
258
+ if (type === 1) {
259
+ if (!regName.test(num)) return false
260
+ } else if (type === 2) {
261
+ regName = /[^\d.]/g
262
+ if (!regName.test(num)) return false
263
+ }
264
+ return true
265
+ }
266
+
267
+ /**
268
+ * 判断是否为空
269
+ */
270
+ export function validatenull(val) {
271
+ if (typeof val === 'boolean') {
272
+ return false
273
+ }
274
+ if (typeof val === 'number') {
275
+ return false
276
+ }
277
+ if (val instanceof Array) {
278
+ if (val.length === 0) return true
279
+ } else if (val instanceof Object) {
280
+ if (JSON.stringify(val) === '{}') return true
281
+ } else {
282
+ if (val === 'null' || val == null || val === 'undefined' || val === undefined || val === '') return true
283
+ return false
284
+ }
285
+ return false
286
+ }
@@ -0,0 +1,13 @@
1
+ /*
2
+ * @Description:
3
+ * @Author: 王国火
4
+ * @Date: 2022-07-13 12:31:34
5
+ * @LastEditTime: 2022-10-08 10:51:37
6
+ * @LastEditors: 王国火
7
+ */
8
+ export default{
9
+ key: 'bonyear', // 配置主键,目前用于存储
10
+ formLoginClient: 'pig:pig', // 用户名密码登录的 client 信息
11
+ smsLoginClient: 'app:app', // 验证码登录的 client 信息
12
+ socialLoginClient: 'social:social', // 社交登录的 client 信息
13
+ }
package/packages/index.js CHANGED
@@ -2,14 +2,14 @@
2
2
  * @Description:
3
3
  * @Author: 王国火
4
4
  * @Date: 2022-09-15 17:02:55
5
- * @LastEditTime: 2022-09-19 14:33:33
5
+ * @LastEditTime: 2022-10-08 10:52:11
6
6
  * @LastEditors: 王国火
7
7
  */
8
8
  import Vue from 'vue'
9
9
  //通用组件
10
10
  import components from "./components.js"
11
11
  //公用方法
12
- import utils from "./common/index"
12
+ import Common from "./common/index"
13
13
 
14
14
  // 第三方依赖
15
15
  import 'xe-utils'
@@ -29,10 +29,15 @@ const install = function (Vue) {
29
29
  components.map(component => {
30
30
  Vue.component(component.name, component);
31
31
  })
32
- Vue.prototype.$byt=utils;
32
+ Vue.prototype.$byt=Common;
33
33
  }
34
34
 
35
+
35
36
  export default{
36
- install,
37
- ...components
38
- }
37
+ install
38
+ }
39
+
40
+ export const store=Common.store
41
+ export const validate=Common.validate
42
+ export const website=Common.website
43
+