diff --git a/main/src/hooks/useWrapComponents.js b/main/src/hooks/useWrapComponents.js index 0be12f0..7862e73 100644 --- a/main/src/hooks/useWrapComponents.js +++ b/main/src/hooks/useWrapComponents.js @@ -12,7 +12,7 @@ export const useWrapComponents = (Component, route) => { wrapper = { name: wrapperName, render() { - return h('div', { className: 'layout' }, Component); + return h('div', { className: 'layout-main' }, Component); }, }; wrapperMap.set(wrapperName, wrapper); diff --git a/main/src/layouts/Link.vue b/main/src/layouts/Link.vue new file mode 100644 index 0000000..257ed94 --- /dev/null +++ b/main/src/layouts/Link.vue @@ -0,0 +1,44 @@ + + + + diff --git a/main/src/layouts/base64img.js b/main/src/layouts/base64img.js new file mode 100644 index 0000000..cc27a55 --- /dev/null +++ b/main/src/layouts/base64img.js @@ -0,0 +1 @@ +export const qrImg = `data:image/png;base64,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`; diff --git a/main/src/layouts/index.vue b/main/src/layouts/index.vue index 28e6038..890f824 100644 --- a/main/src/layouts/index.vue +++ b/main/src/layouts/index.vue @@ -9,22 +9,100 @@ - +
+
+
+
+ 您好,欢迎来到农业产业服务平台 + 运营大屏 + 产业服务APP + 产业运营管理 +
+
+ 商家中心 + 个人中心 + 返回首页 +
+
+
+
+ + + + {{ item.label }} + + +
+
+
+
+ +

下载数农App

+
+
+ +

打开数农小程序

+
+
+

使用数农手机服务,更方便

+
+
+
+ +
diff --git a/main/src/utils/validate.js b/main/src/utils/validate.js new file mode 100644 index 0000000..a437688 --- /dev/null +++ b/main/src/utils/validate.js @@ -0,0 +1,116 @@ +/** + * 路径匹配器 + * @param {string} pattern + * @param {string} path + * @returns {Boolean} + */ +export function isPathMatch(pattern, path) { + const regexPattern = pattern.replace(/\//g, '\\/').replace(/\*\*/g, '.*').replace(/\*/g, '[^\\/]*'); + const regex = new RegExp(`^${regexPattern}$`); + return regex.test(path); +} + +/** + * 判断value字符串是否为空 + * @param {string} value + * @returns {Boolean} + */ +export function isEmpty(value) { + if (value == null || value == '' || value == undefined || value == 'undefined') { + return true; + } + return false; +} + +/** + * 判断url是否是http或https + * @param {string} url + * @returns {Boolean} + */ +export function isHttp(url) { + return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1; +} + +/** + * 判断path是否为外链 + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path); +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor']; + return valid_map.indexOf(str.trim()) >= 0; +} + +/** + * @param {string} url + * @returns {Boolean} + */ +export function validURL(url) { + const reg = + /^(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.,?'\\+&%$#=~_-]+))*$/; + return reg.test(url); +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validLowerCase(str) { + const reg = /^[a-z]+$/; + return reg.test(str); +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUpperCase(str) { + const reg = /^[A-Z]+$/; + return reg.test(str); +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validAlphabets(str) { + const reg = /^[A-Za-z]+$/; + return reg.test(str); +} + +/** + * @param {string} email + * @returns {Boolean} + */ +export function validEmail(email) { + const reg = + /^(([^<>()\[\]\\.,;:\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,}))$/; + return reg.test(email); +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function isString(str) { + return typeof str === 'string' || str instanceof String; +} + +/** + * @param {Array} arg + * @returns {Boolean} + */ +export function isArray(arg) { + if (typeof Array.isArray === 'undefined') { + return Object.prototype.toString.call(arg) === '[object Array]'; + } + return Array.isArray(arg); +}