Browse Source

:art: Improving structure / format of the code.

萌萌哒SAKURA酱 6 years ago
parent
commit
eb78295e86
58 changed files with 3153 additions and 3212 deletions
  1. 1 1
      babel.config.js
  2. 1 1
      public/cdn/element-ui/2.4.11/index.js
  3. 182 180
      public/cdn/store/1.3.20/store.js
  4. 18 18
      public/util/aes.js
  5. 1744 1801
      public/util/crypto-js.js
  6. 1 1
      public/util/mode-ecb.js
  7. 17 17
      public/util/pad-zeropadding.js
  8. 6 7
      src/api/activiti/activiti.js
  9. 6 6
      src/api/activiti/leave-bill.js
  10. 4 4
      src/api/activiti/process.js
  11. 4 4
      src/api/activiti/task.js
  12. 5 5
      src/api/admin/client.js
  13. 6 6
      src/api/admin/dept.js
  14. 6 6
      src/api/admin/dict.js
  15. 6 6
      src/api/admin/log.js
  16. 6 6
      src/api/admin/menu.js
  17. 9 9
      src/api/admin/role.js
  18. 2 2
      src/api/admin/route.js
  19. 5 5
      src/api/admin/sys-social-details.js
  20. 2 2
      src/api/admin/token.js
  21. 6 6
      src/api/admin/user.js
  22. 5 5
      src/api/daemon/execution-log.js
  23. 5 5
      src/api/daemon/status-trace-log.js
  24. 11 11
      src/api/gen/gen.js
  25. 3 3
      src/api/login.js
  26. 1 1
      src/api/qiniu.js
  27. 3 3
      src/config/env.js
  28. 30 30
      src/const/crud/activiti/activiti.js
  29. 1 1
      src/const/crud/activiti/leave-bill.js
  30. 17 17
      src/const/crud/activiti/task.js
  31. 15 15
      src/const/crud/admin/role.js
  32. 55 55
      src/const/crud/admin/sys-social-details.js
  33. 27 27
      src/const/crud/admin/user.js
  34. 6 6
      src/const/crud/daemon/execution-log.js
  35. 61 61
      src/const/crud/daemon/status-trace-log.js
  36. 3 3
      src/const/logs/index.js
  37. 19 19
      src/const/setting/index.js
  38. 11 11
      src/const/website.js
  39. 4 5
      src/error.js
  40. 35 32
      src/filters/index.js
  41. 21 22
      src/main.js
  42. 162 163
      src/mixins/color.js
  43. 7 7
      src/page/index/sidebar/config.js
  44. 21 21
      src/permission.js
  45. 138 136
      src/router/avue-router.js
  46. 44 44
      src/router/axios.js
  47. 22 22
      src/router/router.js
  48. 1 1
      src/store/index.js
  49. 39 39
      src/store/modules/common.js
  50. 15 15
      src/store/modules/logs.js
  51. 26 27
      src/store/modules/tags.js
  52. 41 42
      src/store/modules/user.js
  53. 5 5
      src/util/admin.js
  54. 3 3
      src/util/auth.js
  55. 5 5
      src/util/date.js
  56. 28 28
      src/util/store.js
  57. 101 102
      src/util/util.js
  58. 125 127
      src/util/validate.js

+ 1 - 1
babel.config.js

@@ -2,4 +2,4 @@ module.exports = {
   presets: [
     '@vue/app'
   ]
-}
+}

File diff suppressed because it is too large
+ 1 - 1
public/cdn/element-ui/2.4.11/index.js


+ 182 - 180
public/cdn/store/1.3.20/store.js

@@ -1,191 +1,193 @@
-"use strict"
+'use strict'
 // Module export pattern from
 // https://github.com/umdjs/umd/blob/master/returnExports.js
 ;(function (root, factory) {
-    if (typeof define === 'function' && define.amd) {
-        // AMD. Register as an anonymous module.
-        define([], factory);
-    } else if (typeof exports === 'object') {
-        // Node. Does not work with strict CommonJS, but
-        // only CommonJS-like environments that support module.exports,
-        // like Node.
-        module.exports = factory();
-    } else {
-        // Browser globals (root is window)
-        root.store = factory();
+  if (typeof define === 'function' && define.amd) {
+    // AMD. Register as an anonymous module.
+    define([], factory)
+  } else if (typeof exports === 'object') {
+    // Node. Does not work with strict CommonJS, but
+    // only CommonJS-like environments that support module.exports,
+    // like Node.
+    module.exports = factory()
+  } else {
+    // Browser globals (root is window)
+    root.store = factory()
   }
 }(this, function () {
-	
-	// Store.js
-	var store = {},
-		win = (typeof window != 'undefined' ? window : global),
-		doc = win.document,
-		localStorageName = 'localStorage',
-		scriptTag = 'script',
-		storage
+  // Store.js
+  var store = {}
 
-	store.disabled = false
-	store.version = '1.3.20'
-	store.set = function(key, value) {}
-	store.get = function(key, defaultVal) {}
-	store.has = function(key) { return store.get(key) !== undefined }
-	store.remove = function(key) {}
-	store.clear = function() {}
-	store.transact = function(key, defaultVal, transactionFn) {
-		if (transactionFn == null) {
-			transactionFn = defaultVal
-			defaultVal = null
-		}
-		if (defaultVal == null) {
-			defaultVal = {}
-		}
-		var val = store.get(key, defaultVal)
-		transactionFn(val)
-		store.set(key, val)
-	}
-	store.getAll = function() {}
-	store.forEach = function() {}
+  var win = (typeof window !== 'undefined' ? window : global)
 
-	store.serialize = function(value) {
-		return JSON.stringify(value)
-	}
-	store.deserialize = function(value) {
-		if (typeof value != 'string') { return undefined }
-		try { return JSON.parse(value) }
-		catch(e) { return value || undefined }
-	}
+  var doc = win.document
 
-	// Functions to encapsulate questionable FireFox 3.6.13 behavior
-	// when about.config::dom.storage.enabled === false
-	// See https://github.com/marcuswestin/store.js/issues#issue/13
-	function isLocalStorageNameSupported() {
-		try { return (localStorageName in win && win[localStorageName]) }
-		catch(err) { return false }
-	}
+  var localStorageName = 'localStorage'
 
-	if (isLocalStorageNameSupported()) {
-		storage = win[localStorageName]
-		store.set = function(key, val) {
-			if (val === undefined) { return store.remove(key) }
-			storage.setItem(key, store.serialize(val))
-			return val
-		}
-		store.get = function(key, defaultVal) {
-			var val = store.deserialize(storage.getItem(key))
-			return (val === undefined ? defaultVal : val)
-		}
-		store.remove = function(key) { storage.removeItem(key) }
-		store.clear = function() { storage.clear() }
-		store.getAll = function() {
-			var ret = {}
-			store.forEach(function(key, val) {
-				ret[key] = val
-			})
-			return ret
-		}
-		store.forEach = function(callback) {
-			for (var i=0; i<storage.length; i++) {
-				var key = storage.key(i)
-				callback(key, store.get(key))
-			}
-		}
-	} else if (doc && doc.documentElement.addBehavior) {
-		var storageOwner,
-			storageContainer
-		// Since #userData storage applies only to specific paths, we need to
-		// somehow link our data to a specific path.  We choose /favicon.ico
-		// as a pretty safe option, since all browsers already make a request to
-		// this URL anyway and being a 404 will not hurt us here.  We wrap an
-		// iframe pointing to the favicon in an ActiveXObject(htmlfile) object
-		// (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
-		// since the iframe access rules appear to allow direct access and
-		// manipulation of the document element, even for a 404 page.  This
-		// document can be used instead of the current document (which would
-		// have been limited to the current path) to perform #userData storage.
-		try {
-			storageContainer = new ActiveXObject('htmlfile')
-			storageContainer.open()
-			storageContainer.write('<'+scriptTag+'>document.w=window</'+scriptTag+'><iframe src="/favicon.ico"></iframe>')
-			storageContainer.close()
-			storageOwner = storageContainer.w.frames[0].document
-			storage = storageOwner.createElement('div')
-		} catch(e) {
-			// somehow ActiveXObject instantiation failed (perhaps some special
-			// security settings or otherwse), fall back to per-path storage
-			storage = doc.createElement('div')
-			storageOwner = doc.body
-		}
-		var withIEStorage = function(storeFunction) {
-			return function() {
-				var args = Array.prototype.slice.call(arguments, 0)
-				args.unshift(storage)
-				// See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
-				// and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
-				storageOwner.appendChild(storage)
-				storage.addBehavior('#default#userData')
-				storage.load(localStorageName)
-				var result = storeFunction.apply(store, args)
-				storageOwner.removeChild(storage)
-				return result
-			}
-		}
+  var scriptTag = 'script'
 
-		// In IE7, keys cannot start with a digit or contain certain chars.
-		// See https://github.com/marcuswestin/store.js/issues/40
-		// See https://github.com/marcuswestin/store.js/issues/83
-		var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g")
-		var ieKeyFix = function(key) {
-			return key.replace(/^d/, '___$&').replace(forbiddenCharsRegex, '___')
-		}
-		store.set = withIEStorage(function(storage, key, val) {
-			key = ieKeyFix(key)
-			if (val === undefined) { return store.remove(key) }
-			storage.setAttribute(key, store.serialize(val))
-			storage.save(localStorageName)
-			return val
-		})
-		store.get = withIEStorage(function(storage, key, defaultVal) {
-			key = ieKeyFix(key)
-			var val = store.deserialize(storage.getAttribute(key))
-			return (val === undefined ? defaultVal : val)
-		})
-		store.remove = withIEStorage(function(storage, key) {
-			key = ieKeyFix(key)
-			storage.removeAttribute(key)
-			storage.save(localStorageName)
-		})
-		store.clear = withIEStorage(function(storage) {
-			var attributes = storage.XMLDocument.documentElement.attributes
-			storage.load(localStorageName)
-			for (var i=attributes.length-1; i>=0; i--) {
-				storage.removeAttribute(attributes[i].name)
-			}
-			storage.save(localStorageName)
-		})
-		store.getAll = function(storage) {
-			var ret = {}
-			store.forEach(function(key, val) {
-				ret[key] = val
-			})
-			return ret
-		}
-		store.forEach = withIEStorage(function(storage, callback) {
-			var attributes = storage.XMLDocument.documentElement.attributes
-			for (var i=0, attr; attr=attributes[i]; ++i) {
-				callback(attr.name, store.deserialize(storage.getAttribute(attr.name)))
-			}
-		})
-	}
+  var storage
 
-	try {
-		var testKey = '__storejs__'
-		store.set(testKey, testKey)
-		if (store.get(testKey) != testKey) { store.disabled = true }
-		store.remove(testKey)
-	} catch(e) {
-		store.disabled = true
-	}
-	store.enabled = !store.disabled
-	
-	return store
-}));
+  store.disabled = false
+  store.version = '1.3.20'
+  store.set = function (key, value) {}
+  store.get = function (key, defaultVal) {}
+  store.has = function (key) { return store.get(key) !== undefined }
+  store.remove = function (key) {}
+  store.clear = function () {}
+  store.transact = function (key, defaultVal, transactionFn) {
+    if (transactionFn == null) {
+      transactionFn = defaultVal
+      defaultVal = null
+    }
+    if (defaultVal == null) {
+      defaultVal = {}
+    }
+    var val = store.get(key, defaultVal)
+    transactionFn(val)
+    store.set(key, val)
+  }
+  store.getAll = function () {}
+  store.forEach = function () {}
+
+  store.serialize = function (value) {
+    return JSON.stringify(value)
+  }
+  store.deserialize = function (value) {
+    if (typeof value !== 'string') { return undefined }
+    try { return JSON.parse(value) } catch (e) { return value || undefined }
+  }
+
+  // Functions to encapsulate questionable FireFox 3.6.13 behavior
+  // when about.config::dom.storage.enabled === false
+  // See https://github.com/marcuswestin/store.js/issues#issue/13
+  function isLocalStorageNameSupported () {
+    try { return (localStorageName in win && win[localStorageName]) } catch (err) { return false }
+  }
+
+  if (isLocalStorageNameSupported()) {
+    storage = win[localStorageName]
+    store.set = function (key, val) {
+      if (val === undefined) { return store.remove(key) }
+      storage.setItem(key, store.serialize(val))
+      return val
+    }
+    store.get = function (key, defaultVal) {
+      var val = store.deserialize(storage.getItem(key))
+      return (val === undefined ? defaultVal : val)
+    }
+    store.remove = function (key) { storage.removeItem(key) }
+    store.clear = function () { storage.clear() }
+    store.getAll = function () {
+      var ret = {}
+      store.forEach(function (key, val) {
+        ret[key] = val
+      })
+      return ret
+    }
+    store.forEach = function (callback) {
+      for (var i = 0; i < storage.length; i++) {
+        var key = storage.key(i)
+        callback(key, store.get(key))
+      }
+    }
+  } else if (doc && doc.documentElement.addBehavior) {
+    var storageOwner,
+      storageContainer
+    // Since #userData storage applies only to specific paths, we need to
+    // somehow link our data to a specific path.  We choose /favicon.ico
+    // as a pretty safe option, since all browsers already make a request to
+    // this URL anyway and being a 404 will not hurt us here.  We wrap an
+    // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
+    // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
+    // since the iframe access rules appear to allow direct access and
+    // manipulation of the document element, even for a 404 page.  This
+    // document can be used instead of the current document (which would
+    // have been limited to the current path) to perform #userData storage.
+    try {
+      storageContainer = new ActiveXObject('htmlfile')
+      storageContainer.open()
+      storageContainer.write('<' + scriptTag + '>document.w=window</' + scriptTag + '><iframe src="/favicon.ico"></iframe>')
+      storageContainer.close()
+      storageOwner = storageContainer.w.frames[0].document
+      storage = storageOwner.createElement('div')
+    } catch (e) {
+      // somehow ActiveXObject instantiation failed (perhaps some special
+      // security settings or otherwse), fall back to per-path storage
+      storage = doc.createElement('div')
+      storageOwner = doc.body
+    }
+    var withIEStorage = function (storeFunction) {
+      return function () {
+        var args = Array.prototype.slice.call(arguments, 0)
+        args.unshift(storage)
+        // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
+        // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
+        storageOwner.appendChild(storage)
+        storage.addBehavior('#default#userData')
+        storage.load(localStorageName)
+        var result = storeFunction.apply(store, args)
+        storageOwner.removeChild(storage)
+        return result
+      }
+    }
+
+    // In IE7, keys cannot start with a digit or contain certain chars.
+    // See https://github.com/marcuswestin/store.js/issues/40
+    // See https://github.com/marcuswestin/store.js/issues/83
+    var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", 'g')
+    var ieKeyFix = function (key) {
+      return key.replace(/^d/, '___$&').replace(forbiddenCharsRegex, '___')
+    }
+    store.set = withIEStorage(function (storage, key, val) {
+      key = ieKeyFix(key)
+      if (val === undefined) { return store.remove(key) }
+      storage.setAttribute(key, store.serialize(val))
+      storage.save(localStorageName)
+      return val
+    })
+    store.get = withIEStorage(function (storage, key, defaultVal) {
+      key = ieKeyFix(key)
+      var val = store.deserialize(storage.getAttribute(key))
+      return (val === undefined ? defaultVal : val)
+    })
+    store.remove = withIEStorage(function (storage, key) {
+      key = ieKeyFix(key)
+      storage.removeAttribute(key)
+      storage.save(localStorageName)
+    })
+    store.clear = withIEStorage(function (storage) {
+      var attributes = storage.XMLDocument.documentElement.attributes
+      storage.load(localStorageName)
+      for (var i = attributes.length - 1; i >= 0; i--) {
+        storage.removeAttribute(attributes[i].name)
+      }
+      storage.save(localStorageName)
+    })
+    store.getAll = function (storage) {
+      var ret = {}
+      store.forEach(function (key, val) {
+        ret[key] = val
+      })
+      return ret
+    }
+    store.forEach = withIEStorage(function (storage, callback) {
+      var attributes = storage.XMLDocument.documentElement.attributes
+      for (var i = 0, attr; attr = attributes[i]; ++i) {
+        callback(attr.name, store.deserialize(storage.getAttribute(attr.name)))
+      }
+    })
+  }
+
+  try {
+    var testKey = '__storejs__'
+    store.set(testKey, testKey)
+    if (store.get(testKey) != testKey) { store.disabled = true }
+    store.remove(testKey)
+  } catch (e) {
+    store.disabled = true
+  }
+  store.enabled = !store.disabled
+
+  return store
+}))

File diff suppressed because it is too large
+ 18 - 18
public/util/aes.js


File diff suppressed because it is too large
+ 1744 - 1801
public/util/crypto-js.js


+ 1 - 1
public/util/mode-ecb.js

@@ -4,4 +4,4 @@ code.google.com/p/crypto-js
 (c) 2009-2013 by Jeff Mott. All rights reserved.
 code.google.com/p/crypto-js/wiki/License
 */
-CryptoJS.mode.ECB=function(){var a=CryptoJS.lib.BlockCipherMode.extend();a.Encryptor=a.extend({processBlock:function(a,b){this._cipher.encryptBlock(a,b)}});a.Decryptor=a.extend({processBlock:function(a,b){this._cipher.decryptBlock(a,b)}});return a}();
+CryptoJS.mode.ECB = (function () { var a = CryptoJS.lib.BlockCipherMode.extend(); a.Encryptor = a.extend({ processBlock: function (a, b) { this._cipher.encryptBlock(a, b) } }); a.Decryptor = a.extend({ processBlock: function (a, b) { this._cipher.decryptBlock(a, b) } }); return a }())

+ 17 - 17
public/util/pad-zeropadding.js

@@ -2,24 +2,24 @@
  * Zero padding strategy.
  */
 CryptoJS.pad.ZeroPadding = {
-    pad: function (data, blockSize) {
-        // Shortcut
-        var blockSizeBytes = blockSize * 4;
+  pad: function (data, blockSize) {
+    // Shortcut
+    var blockSizeBytes = blockSize * 4
 
-        // Pad
-        data.clamp();
-        data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);
-    },
+    // Pad
+    data.clamp()
+    data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes)
+  },
 
-    unpad: function (data) {
-        // Shortcut
-        var dataWords = data.words;
+  unpad: function (data) {
+    // Shortcut
+    var dataWords = data.words
 
-        // Unpad
-        var i = data.sigBytes - 1;
-        while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
-            i--;
-        }
-        data.sigBytes = i + 1;
+    // Unpad
+    var i = data.sigBytes - 1
+    while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
+      i--
     }
-};
+    data.sigBytes = i + 1
+  }
+}

+ 6 - 7
src/api/activiti/activiti.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/act/model',
     method: 'get',
@@ -25,22 +25,21 @@ export function fetchList(query) {
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/act/model/' + id,
     method: 'delete'
   })
 }
 
-export function deploy(id) {
+export function deploy (id) {
   return request({
     url: '/act/model/deploy/' + id,
     method: 'post'
   })
 }
 
-
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/act/model/insert',
     method: 'post',
@@ -48,14 +47,14 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/log/' + id,
     method: 'get'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/log/',
     method: 'put',

+ 6 - 6
src/api/activiti/leave-bill.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/act/leave-bill/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/act/leave-bill',
     method: 'post',
@@ -33,28 +33,28 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/act/leave-bill/' + id,
     method: 'get'
   })
 }
 
-export function submit(id) {
+export function submit (id) {
   return request({
     url: '/act/leave-bill/submit/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/act/leave-bill/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/act/leave-bill/',
     method: 'put',

+ 4 - 4
src/api/activiti/process.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/act/process',
     method: 'get',
@@ -25,16 +25,16 @@ export function fetchList(query) {
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/act/process/' + id,
     method: 'delete'
   })
 }
 
-export function status(id, type) {
+export function status (id, type) {
   return request({
-    url: '/act/process/status/' + id + "/" + type,
+    url: '/act/process/status/' + id + '/' + type,
     method: 'put'
   })
 }

+ 4 - 4
src/api/activiti/task.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/act/task/todo',
     method: 'get',
@@ -25,21 +25,21 @@ export function fetchList(query) {
   })
 }
 
-export function fetchDetail(id) {
+export function fetchDetail (id) {
   return request({
     url: '/act/task/' + id,
     method: 'get'
   })
 }
 
-export function fetchComment(id) {
+export function fetchComment (id) {
   return request({
     url: '/act/task/comment/' + id,
     method: 'get'
   })
 }
 
-export function doTask(obj) {
+export function doTask (obj) {
   return request({
     url: '/act/task',
     method: 'post',

+ 5 - 5
src/api/admin/client.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/client/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/client/',
     method: 'post',
@@ -33,21 +33,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/client/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/admin/client/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/client',
     method: 'put',

+ 6 - 6
src/api/admin/dept.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchDeptTree(query) {
+export function fetchDeptTree (query) {
   return request({
     url: '/admin/dept/user-tree',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchDeptTree(query) {
   })
 }
 
-export function fetchTree(query) {
+export function fetchTree (query) {
   return request({
     url: '/admin/dept/tree',
     method: 'get',
@@ -33,7 +33,7 @@ export function fetchTree(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/dept/',
     method: 'post',
@@ -41,21 +41,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/dept/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/admin/dept/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/dept/',
     method: 'put',

+ 6 - 6
src/api/admin/dict.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/dict/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/dict/',
     method: 'post',
@@ -33,21 +33,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/dict/' + id,
     method: 'get'
   })
 }
 
-export function delObj(row) {
+export function delObj (row) {
   return request({
     url: '/admin/dict/' + row.id + '/' + row.type,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/dict/',
     method: 'put',
@@ -55,7 +55,7 @@ export function putObj(obj) {
   })
 }
 
-export function remote(type) {
+export function remote (type) {
   return request({
     url: '/admin/dict/type/' + type,
     method: 'get'

+ 6 - 6
src/api/admin/log.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/log/page',
     method: 'get',
@@ -25,14 +25,14 @@ export function fetchList(query) {
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/admin/log/' + id,
     method: 'delete'
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/log/',
     method: 'post',
@@ -40,14 +40,14 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/log/' + id,
     method: 'get'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/log/',
     method: 'put',
@@ -55,7 +55,7 @@ export function putObj(obj) {
   })
 }
 
-export function sendLogs(logsList) {
+export function sendLogs (logsList) {
   return request({
     url: '/admin/log/logs',
     method: 'post',

+ 6 - 6
src/api/admin/menu.js

@@ -17,14 +17,14 @@
 
 import request from '@/router/axios'
 
-export function GetMenu() {
+export function GetMenu () {
   return request({
     url: '/admin/menu',
     method: 'get'
   })
 }
 
-export function fetchTree(query) {
+export function fetchTree (query) {
   return request({
     url: '/admin/menu/tree',
     method: 'get',
@@ -32,7 +32,7 @@ export function fetchTree(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/menu',
     method: 'post',
@@ -40,21 +40,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/menu/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/admin/menu/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/menu',
     method: 'put',

+ 9 - 9
src/api/admin/role.js

@@ -17,14 +17,14 @@
 
 import request from '@/router/axios'
 
-export function roleList() {
+export function roleList () {
   return request({
     url: '/admin/role/roleList',
     method: 'get'
   })
 }
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/role/page',
     method: 'get',
@@ -32,21 +32,21 @@ export function fetchList(query) {
   })
 }
 
-export function deptRoleList() {
+export function deptRoleList () {
   return request({
     url: '/admin/role/list',
     method: 'get'
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/role/' + id,
     method: 'get'
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/role',
     method: 'post',
@@ -54,7 +54,7 @@ export function addObj(obj) {
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/role',
     method: 'put',
@@ -62,14 +62,14 @@ export function putObj(obj) {
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/admin/role/' + id,
     method: 'delete'
   })
 }
 
-export function permissionUpd(roleId, menuIds) {
+export function permissionUpd (roleId, menuIds) {
   return request({
     url: '/admin/role/menu',
     method: 'put',
@@ -80,7 +80,7 @@ export function permissionUpd(roleId, menuIds) {
   })
 }
 
-export function fetchRoleTree(roleName) {
+export function fetchRoleTree (roleName) {
   return request({
     url: '/admin/menu/tree/' + roleName,
     method: 'get'

+ 2 - 2
src/api/admin/route.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/route',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/route',
     method: 'put',

+ 5 - 5
src/api/admin/sys-social-details.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/social/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/social/',
     method: 'post',
@@ -33,21 +33,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/social/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/admin/social/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/social/',
     method: 'put',

+ 2 - 2
src/api/admin/token.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/token/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function delObj(token) {
+export function delObj (token) {
   return request({
     url: '/admin/token/' + token,
     method: 'delete'

+ 6 - 6
src/api/admin/user.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/admin/user/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/admin/user',
     method: 'post',
@@ -33,21 +33,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/admin/user/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/admin/user/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/admin/user',
     method: 'put',
@@ -55,7 +55,7 @@ export function putObj(obj) {
   })
 }
 
-export function getDetails(obj) {
+export function getDetails (obj) {
   return request({
     url: '/admin/user/details/' + obj,
     method: 'get'

+ 5 - 5
src/api/daemon/execution-log.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/daemon/execution-log/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/daemon/execution-log',
     method: 'post',
@@ -33,21 +33,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/daemon/execution-log/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/daemon/execution-log/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/daemon/execution-log',
     method: 'put',

+ 5 - 5
src/api/daemon/status-trace-log.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/daemon/status-trace-log/page',
     method: 'get',
@@ -25,7 +25,7 @@ export function fetchList(query) {
   })
 }
 
-export function addObj(obj) {
+export function addObj (obj) {
   return request({
     url: '/daemon/status-trace-log',
     method: 'post',
@@ -33,21 +33,21 @@ export function addObj(obj) {
   })
 }
 
-export function getObj(id) {
+export function getObj (id) {
   return request({
     url: '/daemon/status-trace-log/' + id,
     method: 'get'
   })
 }
 
-export function delObj(id) {
+export function delObj (id) {
   return request({
     url: '/daemon/statustracelog/' + id,
     method: 'delete'
   })
 }
 
-export function putObj(obj) {
+export function putObj (obj) {
   return request({
     url: '/daemon/status-trace-log',
     method: 'put',

+ 11 - 11
src/api/gen/gen.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function fetchList(query) {
+export function fetchList (query) {
   return request({
     url: '/gen/generator/page',
     method: 'get',
@@ -25,23 +25,23 @@ export function fetchList(query) {
   })
 }
 
-export function handleDown(table) {
+export function handleDown (table) {
   return request({
     url: '/gen/generator/code',
     method: 'post',
     data: table,
     responseType: 'arraybuffer'
   }).then((response) => { // 处理返回的文件流
-    let blob = new Blob([response.data], {type: 'application/zip'})
+    let blob = new Blob([response.data], { type: 'application/zip' })
     let filename = table.tableName + '.zip'
-    let link = document.createElement('a');
-    link.href = URL.createObjectURL(blob);
-    link.download = filename;
-    document.body.appendChild(link);
-    link.click();
+    let link = document.createElement('a')
+    link.href = URL.createObjectURL(blob)
+    link.download = filename
+    document.body.appendChild(link)
+    link.click()
     window.setTimeout(function () {
-      URL.revokeObjectURL(blob);
-      document.body.removeChild(link);
-    }, 0);
+      URL.revokeObjectURL(blob)
+      document.body.removeChild(link)
+    }, 0)
   })
 }

+ 3 - 3
src/api/login.js

@@ -26,7 +26,7 @@ export const loginByUsername = (username, password, code, randomStr) => {
       'Authorization': 'Basic cGlnOnBpZw=='
     },
     method: 'post',
-    params: {username, password, randomStr, code, grant_type, scope}
+    params: { username, password, randomStr, code, grant_type, scope }
   })
 }
 
@@ -39,7 +39,7 @@ export const loginByMobile = (mobile, code) => {
       'Authorization': 'Basic cGlnOnBpZw=='
     },
     method: 'post',
-    params: {mobile: 'SMS@' + mobile, code: code, grant_type}
+    params: { mobile: 'SMS@' + mobile, code: code, grant_type }
   })
 }
 
@@ -52,7 +52,7 @@ export const loginBySocial = (state, code) => {
       'Authorization': 'Basic cGlnOnBpZw=='
     },
     method: 'post',
-    params: {mobile: state + '@' + code, grant_type}
+    params: { mobile: state + '@' + code, grant_type }
   })
 }
 

+ 1 - 1
src/api/qiniu.js

@@ -17,7 +17,7 @@
 
 import request from '@/router/axios'
 
-export function getToken() {
+export function getToken () {
   return request({
     url: '/zuul/admin/user/upload', // 假地址,自行替换
     method: 'post'

+ 3 - 3
src/config/env.js

@@ -1,12 +1,12 @@
 // 配置编译环境和线上环境之间的切换
 
 const env = process.env
-let baseUrl = '';
+let baseUrl = ''
 // 图表库为avue和pig2套地址
 let iconfontVersion = ['667895_4y8d30c1og', '567566_qo5lxgtishg']
-let iconfontUrl = `//at.alicdn.com/t/font_$key.css`;
+let iconfontUrl = `//at.alicdn.com/t/font_$key.css`
 let codeUrl = `/code`
-let actUrl = `${window.origin}/act/modeler.html?modelId=`;
+let actUrl = `${window.origin}/act/modeler.html?modelId=`
 if (env.NODE_ENV == 'development') {
 
 } else if (env.NODE_ENV == 'production') {

+ 30 - 30
src/const/crud/activiti/activiti.js

@@ -47,34 +47,34 @@ export const tableOption = {
     label: '模型名称',
     prop: 'name'
   },
-    {
-      label: '描述',
-      prop: 'desc',
-      hide: true,
-      editDisabled: false,
-      addVisdiplay: true
-    }, {
-      label: '版本号',
-      prop: 'version',
-      editDisabled: true,
-      addVisdiplay: false
-    }, {
-      width: 150,
-      label: '创建时间',
-      prop: 'createTime',
-      type: 'datetime',
-      format: 'yyyy-MM-dd HH:mm',
-      valueFormat: 'timestamp',
-      editDisabled: true,
-      addVisdiplay: false
-    }, {
-      width: 150,
-      label: '最后更新时间',
-      prop: 'lastUpdateTime',
-      type: 'datetime',
-      format: 'yyyy-MM-dd HH:mm',
-      valueFormat: 'timestamp',
-      editDisabled: true,
-      addVisdiplay: false
-    }]
+  {
+    label: '描述',
+    prop: 'desc',
+    hide: true,
+    editDisabled: false,
+    addVisdiplay: true
+  }, {
+    label: '版本号',
+    prop: 'version',
+    editDisabled: true,
+    addVisdiplay: false
+  }, {
+    width: 150,
+    label: '创建时间',
+    prop: 'createTime',
+    type: 'datetime',
+    format: 'yyyy-MM-dd HH:mm',
+    valueFormat: 'timestamp',
+    editDisabled: true,
+    addVisdiplay: false
+  }, {
+    width: 150,
+    label: '最后更新时间',
+    prop: 'lastUpdateTime',
+    type: 'datetime',
+    format: 'yyyy-MM-dd HH:mm',
+    valueFormat: 'timestamp',
+    editDisabled: true,
+    addVisdiplay: false
+  }]
 }

+ 1 - 1
src/const/crud/activiti/leave-bill.js

@@ -51,7 +51,7 @@ export const tableOption = {
       type: 'datetime',
       overHidden: true,
       format: 'yyyy-MM-dd HH:mm',
-      valueFormat: "yyyy-MM-dd hh:mm:ss"
+      valueFormat: 'yyyy-MM-dd hh:mm:ss'
     },
     {
       label: '提交时间',

+ 17 - 17
src/const/crud/activiti/task.js

@@ -54,28 +54,28 @@ export const formOption = {
   span: 12,
   column: [
     {
-      label: "任务编号",
-      prop: "taskId",
+      label: '任务编号',
+      prop: 'taskId',
       disabled: true
     },
     {
-      label: "任务名称",
-      prop: "taskName",
+      label: '任务名称',
+      prop: 'taskName',
       disabled: true
     },
     {
-      label: "申请人",
-      prop: "username",
+      label: '申请人',
+      prop: 'username',
       disabled: true
     },
     {
-      label: "请假时长",
-      prop: "days",
+      label: '请假时长',
+      prop: 'days',
       disabled: true
     },
     {
-      label: "请假时间",
-      prop: "createTime",
+      label: '请假时间',
+      prop: 'createTime',
       type: 'datetime',
       format: 'yyyy-MM-dd HH:mm',
       disabled: true
@@ -105,8 +105,8 @@ export const formOption = {
       span: 24,
       rules: [{
         required: true,
-        message: "请输入备注",
-        trigger: "blur"
+        message: '请输入备注',
+        trigger: 'blur'
       }]
     }
   ]
@@ -132,11 +132,11 @@ export const taskOption = {
       label: '批注',
       prop: 'fullMessage'
     }, {
-      label: "操作时间",
-      prop: "time",
-      type: "datetime",
-      format: "yyyy-MM-dd hh:mm:ss",
-      valueFormat: "yyyy-MM-dd hh:mm:ss",
+      label: '操作时间',
+      prop: 'time',
+      type: 'datetime',
+      format: 'yyyy-MM-dd hh:mm:ss',
+      valueFormat: 'yyyy-MM-dd hh:mm:ss'
     }
   ]
 }

+ 15 - 15
src/const/crud/admin/role.js

@@ -30,7 +30,7 @@ export const tableOption = {
     prop: 'roleId',
     span: 24,
     editDisabled: true,
-    addVisdiplay: false,
+    addVisdiplay: false
   }, {
     fixed: true,
     label: '角色名称',
@@ -41,12 +41,12 @@ export const tableOption = {
       message: '角色名称不能为空',
       trigger: 'blur'
     },
-      {
-        min: 3,
-        max: 20,
-        message: '长度在 3 到 20 个字符',
-        trigger: 'blur'
-      }
+    {
+      min: 3,
+      max: 20,
+      message: '长度在 3 到 20 个字符',
+      trigger: 'blur'
+    }
     ]
   }, {
     width: 150,
@@ -59,12 +59,12 @@ export const tableOption = {
       message: '角色标识不能为空',
       trigger: 'blur'
     },
-      {
-        min: 3,
-        max: 20,
-        message: '长度在 3 到 20 个字符',
-        trigger: 'blur'
-      }
+    {
+      min: 3,
+      max: 20,
+      message: '长度在 3 到 20 个字符',
+      trigger: 'blur'
+    }
     ]
   }, {
     width: 180,
@@ -73,7 +73,7 @@ export const tableOption = {
     overHidden: true,
     type: 'textarea',
     minRows: 6,
-    span: 24,
+    span: 24
   }, {
     width: 180,
     label: '创建时间',
@@ -83,6 +83,6 @@ export const tableOption = {
     valueFormat: 'yyyy-MM-dd HH:mm:ss',
     editDisabled: true,
     addVisdiplay: false,
-    span: 24,
+    span: 24
   }]
 }

+ 55 - 55
src/const/crud/admin/sys-social-details.js

@@ -33,60 +33,60 @@ export const tableOption = {
     addVisdiplay: false,
     editDisabled: true
   },
-    {
-      label: '类型',
-      prop: 'type',
-      type: 'select',
-      dicData: 'social_type',
-      search: true,
-      rules: [{
-        required: true,
-        message: '请选择类型',
-        trigger: 'blur'
-      }]
-    },
-    {
-      label: '描述',
-      prop: 'remark'
-    },
-    {
-      label: 'appId',
-      prop: 'appId',
-      overHidden: true,
-      rules: [{
-        required: true,
-        message: '请输入appId',
-        trigger: 'blur'
-      }]
-    },
-    {
-      label: 'appSecret',
-      prop: 'appSecret',
-      overHidden: true,
-      rules: [{
-        required: true,
-        message: '请输入appSecret',
-        trigger: 'blur'
-      }]
-    },
-    {
-      label: '回调地址',
-      prop: 'redirectUrl',
-      hide: true,
-      rules: [{
-        required: true,
-        message: '请输入回调地址',
-        trigger: 'blur'
-      }]
-    },
-    {
-      valueFormat: 'timestamp',
-      format: 'yyyy-MM-dd hh:mm:ss',
-      label: '创建时间',
-      prop: 'createTime',
-      align: 'center',
-      addVisdiplay: false,
-      editDisabled: true
-    }
+  {
+    label: '类型',
+    prop: 'type',
+    type: 'select',
+    dicData: 'social_type',
+    search: true,
+    rules: [{
+      required: true,
+      message: '请选择类型',
+      trigger: 'blur'
+    }]
+  },
+  {
+    label: '描述',
+    prop: 'remark'
+  },
+  {
+    label: 'appId',
+    prop: 'appId',
+    overHidden: true,
+    rules: [{
+      required: true,
+      message: '请输入appId',
+      trigger: 'blur'
+    }]
+  },
+  {
+    label: 'appSecret',
+    prop: 'appSecret',
+    overHidden: true,
+    rules: [{
+      required: true,
+      message: '请输入appSecret',
+      trigger: 'blur'
+    }]
+  },
+  {
+    label: '回调地址',
+    prop: 'redirectUrl',
+    hide: true,
+    rules: [{
+      required: true,
+      message: '请输入回调地址',
+      trigger: 'blur'
+    }]
+  },
+  {
+    valueFormat: 'timestamp',
+    format: 'yyyy-MM-dd hh:mm:ss',
+    label: '创建时间',
+    prop: 'createTime',
+    align: 'center',
+    addVisdiplay: false,
+    editDisabled: true
+  }
   ]
 }

+ 27 - 27
src/const/crud/admin/user.js

@@ -14,7 +14,7 @@
  * this software without specific prior written permission.
  * Author: lengleng (wangiegie@gmail.com)
  */
-import {getDetails} from "@/api/admin/user";
+import { getDetails } from '@/api/admin/user'
 
 var validateUsername = (rule, value, callback) => {
   getDetails(value).then(response => {
@@ -25,8 +25,8 @@ var validateUsername = (rule, value, callback) => {
     } else {
       callback()
     }
-  });
-};
+  })
+}
 export const tableOption = {
   border: true,
   index: true,
@@ -44,7 +44,7 @@ export const tableOption = {
     span: 24,
     hide: true,
     editDisabled: true,
-    addVisdiplay: false,
+    addVisdiplay: false
   }, {
     fixed: true,
     label: '用户名',
@@ -55,15 +55,15 @@ export const tableOption = {
     span: 24,
     rules: [{
       required: true,
-      message: "请输入用户名",
+      message: '请输入用户名'
+    },
+    {
+      min: 3,
+      max: 20,
+      message: '长度在 3 到 20 个字符',
+      trigger: 'blur'
     },
-      {
-        min: 3,
-        max: 20,
-        message: "长度在 3 到 20 个字符",
-        trigger: "blur"
-      },
-      {validator: validateUsername, trigger: 'blur'}
+    { validator: validateUsername, trigger: 'blur' }
     ]
   }, {
     label: '密码',
@@ -75,8 +75,8 @@ export const tableOption = {
     rules: [{
       min: 6,
       max: 20,
-      message: "长度在 6 到 20 个字符",
-      trigger: "blur"
+      message: '长度在 6 到 20 个字符',
+      trigger: 'blur'
     }]
   }, {
     label: '所属部门',
@@ -87,8 +87,8 @@ export const tableOption = {
     hide: true,
     rules: [{
       required: true,
-      message: "请选择部门",
-      trigger: "blur"
+      message: '请选择部门',
+      trigger: 'blur'
     }]
   }, {
     label: '手机号',
@@ -99,8 +99,8 @@ export const tableOption = {
     rules: [{
       min: 6,
       max: 20,
-      message: "长度在 11 个字符",
-      trigger: "blur"
+      message: '长度在 11 个字符',
+      trigger: 'blur'
     }]
   }, {
     label: '角色',
@@ -111,26 +111,26 @@ export const tableOption = {
     span: 24,
     rules: [{
       required: true,
-      message: "请选择角色",
-      trigger: "blur"
-    }],
+      message: '请选择角色',
+      trigger: 'blur'
+    }]
   }, {
     label: '状态',
-    prop: "lockFlag",
-    type: "select",
+    prop: 'lockFlag',
+    type: 'select',
     solt: true,
     span: 24,
     rules: [{
       required: true,
-      message: "请选择状态",
-      trigger: "blur"
+      message: '请选择状态',
+      trigger: 'blur'
     }],
     dicData: [{
       label: '有效',
-      value: "0"
+      value: '0'
     }, {
       label: '锁定',
-      value: "9"
+      value: '9'
     }]
   }, {
     width: 180,

+ 6 - 6
src/const/crud/daemon/execution-log.js

@@ -19,10 +19,10 @@ const DIC = {
     label: '成功',
     value: 1
   },
-    {
-      label: '失败',
-      value: 0
-    }
+  {
+    label: '失败',
+    value: 0
+  }
   ]
 }
 
@@ -83,7 +83,7 @@ export const tableOption = {
       label: '执行结果',
       prop: 'isSuccess',
       type: 'select',
-      dicData: DIC.isSuccess,
+      dicData: DIC.isSuccess
     },
     {
       label: '开始时间',
@@ -93,6 +93,6 @@ export const tableOption = {
     {
       label: '完成时间',
       prop: 'completeTime'
-    },
+    }
   ]
 }

+ 61 - 61
src/const/crud/daemon/status-trace-log.js

@@ -20,13 +20,13 @@ const DIC = {
     label: '准备中',
     value: 'TASK_STAGING'
   },
-    {
-      label: '执行中',
-      value: 'TASK_RUNNING'
-    }, {
-      label: '已经完成',
-      value: 'TASK_FINISHED'
-    }
+  {
+    label: '执行中',
+    value: 'TASK_RUNNING'
+  }, {
+    label: '已经完成',
+    value: 'TASK_FINISHED'
+  }
   ]
 }
 
@@ -46,59 +46,59 @@ export const tableOption = {
     prop: 'id',
     hide: true
   },
-    {
-      label: '作业名称',
-      prop: 'jobName',
-      search: true
-    },
-    {
-      label: '原任务',
-      prop: 'originalTaskId',
-      hide: true,
-      width: 100
-    },
-    {
-      label: '任务ID',
-      prop: 'taskId',
-      hide: true
-    },
-    {
-      label: '服务器IP',
-      prop: 'slaveId'
-    },
-    {
-      label: '资源',
-      prop: 'source',
-      hide: true
-    },
-    {
-      label: '执行类型',
-      prop: 'executionType',
-      hide: true
-    },
-    {
-      width: 100,
-      label: '分片项',
-      prop: 'shardingItem'
-    },
-    {
-      width: 100,
-      label: '状态',
-      prop: 'state',
-      type: 'select',
-      dicData: DIC.state,
-      search: true
-    },
-    {
-      label: '消息',
-      prop: 'message',
-      width: 100,
-      overHidden: true,
-      hide: true
-    },
-    {
-      label: '创建时间',
-      prop: 'creationTime'
-    }
+  {
+    label: '作业名称',
+    prop: 'jobName',
+    search: true
+  },
+  {
+    label: '原任务',
+    prop: 'originalTaskId',
+    hide: true,
+    width: 100
+  },
+  {
+    label: '任务ID',
+    prop: 'taskId',
+    hide: true
+  },
+  {
+    label: '服务器IP',
+    prop: 'slaveId'
+  },
+  {
+    label: '资源',
+    prop: 'source',
+    hide: true
+  },
+  {
+    label: '执行类型',
+    prop: 'executionType',
+    hide: true
+  },
+  {
+    width: 100,
+    label: '分片项',
+    prop: 'shardingItem'
+  },
+  {
+    width: 100,
+    label: '状态',
+    prop: 'state',
+    type: 'select',
+    dicData: DIC.state,
+    search: true
+  },
+  {
+    label: '消息',
+    prop: 'message',
+    width: 100,
+    overHidden: true,
+    hide: true
+  },
+  {
+    label: '创建时间',
+    prop: 'creationTime'
+  }
   ]
 }

+ 3 - 3
src/const/logs/index.js

@@ -20,11 +20,11 @@ export default {
     label: '地址',
     width: 200,
     prop: 'url',
-    overHidden: true,
+    overHidden: true
   }, {
     label: '内容',
     prop: 'message',
-    overHidden: true,
+    overHidden: true
   }, {
     label: '错误堆栈',
     prop: 'stack',
@@ -33,6 +33,6 @@ export default {
     label: '时间',
     align: 'center',
     prop: 'time',
-    width: 200,
+    width: 200
   }]
 }

+ 19 - 19
src/const/setting/index.js

@@ -34,7 +34,7 @@ export const list = [{
   commit: 'SET_SHOWMENU'
 }]
 export const option = (safe) => {
-  const _safe = safe;
+  const _safe = safe
   return {
     submitBtn: false,
     column: [{
@@ -43,8 +43,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '日志',
@@ -52,8 +52,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '主题',
@@ -61,8 +61,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '主题色',
@@ -70,8 +70,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '全屏',
@@ -79,8 +79,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '锁屏',
@@ -88,8 +88,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '搜索',
@@ -97,8 +97,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '缩放',
@@ -106,8 +106,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }, {
       label: '顶部菜单',
@@ -115,8 +115,8 @@ export const option = (safe) => {
       type: 'switch',
       span: 24,
       dicData: dicData,
-      click: ({column}) => {
-        _safe.set(column.prop);
+      click: ({ column }) => {
+        _safe.set(column.prop)
       }
     }]
   }

+ 11 - 11
src/const/website.js

@@ -1,34 +1,34 @@
 export default {
-  title: "PigX",
-  logo: "PigX",
+  title: 'PigX',
+  logo: 'PigX',
   indexTitle: 'PigX Pro 快速开发框架',
-  whiteList: ["/login", "/404", "/401", "/lock"], //配置无权限可以访问的页面
-  whiteTagList: ["/login", "/404", "/401", "/lock",], //配置不添加tags页面 ('/advanced-router/mutative-detail/*'——*为通配符)
+  whiteList: ['/login', '/404', '/401', '/lock'], // 配置无权限可以访问的页面
+  whiteTagList: ['/login', '/404', '/401', '/lock' ], // 配置不添加tags页面 ('/advanced-router/mutative-detail/*'——*为通配符)
   lockPage: '/lock',
   tokenTime: 6000,
   info: {
-    title: "PigX Pro 快速开发框架",
+    title: 'PigX Pro 快速开发框架',
     list: [
       '一个基于Spring Cloud、OAuth2.0开发基于Vue前后分离的开发平台。',
       '一个基于Avue2 开发无需前端知识,即可快速上手的开发平台。',
       '最大程度上帮助企业节省时间成本和费用开支。',
       'QQ群:23754102',
-      '当前版本:v2.0.0',
+      '当前版本:v2.0.0'
     ]
   },
-  //http的status默认放行不才用统一处理的,
+  // http的status默认放行不才用统一处理的,
   statusWhiteList: [400, 500, 401],
-  //配置首页不可关闭
+  // 配置首页不可关闭
   isFirstPage: false,
   fistPage: {
-    label: "首页",
-    value: "/wel/index",
+    label: '首页',
+    value: '/wel/index',
     params: {},
     query: {},
     group: [],
     close: false
   },
-  //配置菜单的属性
+  // 配置菜单的属性
   menu: {
     props: {
       label: 'label',

+ 4 - 5
src/error.js

@@ -1,8 +1,7 @@
-import Vue from 'vue';
+import Vue from 'vue'
 import store from './store'
 
 Vue.config.errorHandler = function (err, vm, info) {
-
   Vue.nextTick(() => {
     store.commit('ADD_LOGS', {
       type: 'error',
@@ -13,13 +12,13 @@ Vue.config.errorHandler = function (err, vm, info) {
     if (process.env.NODE_ENV === 'development') {
       console.group('>>>>>> 错误信息 >>>>>>')
       console.log(info)
-      console.groupEnd();
+      console.groupEnd()
       console.group('>>>>>> Vue 实例 >>>>>>')
       console.log(vm)
-      console.groupEnd();
+      console.groupEnd()
       console.group('>>>>>> Error >>>>>>')
       console.log(err)
-      console.groupEnd();
+      console.groupEnd()
     }
   })
 }

+ 35 - 32
src/filters/index.js

@@ -1,4 +1,4 @@
-function pluralize(time, label) {
+function pluralize (time, label) {
   if (time === 1) {
     return time + label
   }
@@ -8,32 +8,35 @@ function pluralize(time, label) {
 /**
  * 日期格式化
  */
-export function dateFormat(date) {
-  let format = 'yyyy-MM-dd hh:mm:ss';
+export function dateFormat (date) {
+  let format = 'yyyy-MM-dd hh:mm:ss'
   if (date != 'Invalid Date') {
     var o = {
-      "M+": date.getMonth() + 1, //month
-      "d+": date.getDate(), //day
-      "h+": date.getHours(), //hour
-      "m+": date.getMinutes(), //minute
-      "s+": date.getSeconds(), //second
-      "q+": Math.floor((date.getMonth() + 3) / 3), //quarter
-      "S": date.getMilliseconds() //millisecond
+      'M+': date.getMonth() + 1, // month
+      'd+': date.getDate(), // day
+      'h+': date.getHours(), // hour
+      'm+': date.getMinutes(), // minute
+      's+': date.getSeconds(), // second
+      'q+': Math.floor((date.getMonth() + 3) / 3), // quarter
+      'S': date.getMilliseconds() // millisecond
     }
-    if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
-      (date.getFullYear() + "").substr(4 - RegExp.$1.length));
-    for (var k in o)
-      if (new RegExp("(" + k + ")").test(format))
+    if (/(y+)/.test(format)) {
+      format = format.replace(RegExp.$1,
+        (date.getFullYear() + '').substr(4 - RegExp.$1.length))
+    }
+    for (var k in o) {
+      if (new RegExp('(' + k + ')').test(format)) {
         format = format.replace(RegExp.$1,
-          RegExp.$1.length == 1 ? o[k] :
-            ("00" + o[k]).substr(("" + o[k]).length));
-    return format;
+          RegExp.$1.length == 1 ? o[k]
+            : ('00' + o[k]).substr(('' + o[k]).length))
+      }
+    }
+    return format
   }
-  return '';
-
+  return ''
 }
 
-export function timeAgo(time) {
+export function timeAgo (time) {
   const between = Date.now() / 1000 - Number(time)
   if (between < 3600) {
     return pluralize(~~(between / 60), ' minute')
@@ -44,7 +47,7 @@ export function timeAgo(time) {
   }
 }
 
-export function parseTime(time, cFormat) {
+export function parseTime (time, cFormat) {
   if (arguments.length === 0) {
     return null
   }
@@ -80,7 +83,7 @@ export function parseTime(time, cFormat) {
   return time_str
 }
 
-export function formatTime(time, option) {
+export function formatTime (time, option) {
   time = +time * 1000
   const d = new Date(time)
   const now = Date.now()
@@ -103,15 +106,15 @@ export function formatTime(time, option) {
   }
 }
 
-/* 数字 格式化*/
-export function nFormatter(num, digits) {
+/* 数字 格式化 */
+export function nFormatter (num, digits) {
   const si = [
-    {value: 1E18, symbol: 'E'},
-    {value: 1E15, symbol: 'P'},
-    {value: 1E12, symbol: 'T'},
-    {value: 1E9, symbol: 'G'},
-    {value: 1E6, symbol: 'M'},
-    {value: 1E3, symbol: 'k'}
+    { value: 1E18, symbol: 'E' },
+    { value: 1E15, symbol: 'P' },
+    { value: 1E12, symbol: 'T' },
+    { value: 1E9, symbol: 'G' },
+    { value: 1E6, symbol: 'M' },
+    { value: 1E3, symbol: 'k' }
   ]
   for (let i = 0; i < si.length; i++) {
     if (num >= si[i].value) {
@@ -121,12 +124,12 @@ export function nFormatter(num, digits) {
   return num.toString()
 }
 
-export function html2Text(val) {
+export function html2Text (val) {
   const div = document.createElement('div')
   div.innerHTML = val
   return div.textContent || div.innerText
 }
 
-export function toThousandslsFilter(num) {
+export function toThousandslsFilter (num) {
   return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','))
 }

+ 21 - 22
src/main.js

@@ -1,24 +1,24 @@
-import 'babel-polyfill';
-import 'classlist-polyfill';
-import Vue from 'vue';
-import axios from './router/axios';
-import VueAxios from 'vue-axios';
-import App from './App';
-import './permission'; // 权限
-import './error'; // 日志
-import router from './router/router';
-import 'avue-plugin-transfer/packages' //引入avue-plugin-transfer插件
+import 'babel-polyfill'
+import 'classlist-polyfill'
+import Vue from 'vue'
+import axios from './router/axios'
+import VueAxios from 'vue-axios'
+import App from './App'
+import './permission' // 权限
+import './error' // 日志
+import router from './router/router'
+import 'avue-plugin-transfer/packages' // 引入avue-plugin-transfer插件
 // import 'avue-plugin-ueditor/packages' //引入avue-plugin-ueditor插件(如果要兼容ie自行换掉富文本编辑器,此款插件不兼容ie)
-import store from './store';
-import {loadStyle} from './util/util'
-import * as urls from '@/config/env';
-import {iconfontUrl, iconfontVersion} from '@/config/env';
+import store from './store'
+import { loadStyle } from './util/util'
+import * as urls from '@/config/env'
+import { iconfontUrl, iconfontVersion } from '@/config/env'
 import * as filters from './filters' // 全局filter
-import './styles/common.scss';
+import './styles/common.scss'
 // // 引入avue的包
-import Avue from '@smallwei/avue/lib/index.js';
+import Avue from '@smallwei/avue/lib/index.js'
 // // 引入avue的样式文件
-import '@smallwei/avue/lib/theme-chalk/index.css';
+import '@smallwei/avue/lib/theme-chalk/index.css'
 import basicContainer from './components/basic-container/main'
 import VueClipboard from 'vue-clipboard2'
 // 插件 json 展示
@@ -28,8 +28,7 @@ import vueJsonTreeView from 'vue-json-tree-view'
 // import '../packages/index.js';
 // import '../packages/theme-chalk/src/index.scss';
 
-
-Vue.use(Avue, {menuType: 'text'});
+Vue.use(Avue, { menuType: 'text' })
 
 Vue.use(router)
 
@@ -42,7 +41,7 @@ Vue.use(VueAxios, axios)
 Vue.component('basicContainer', basicContainer)
 
 Object.keys(urls).forEach(key => {
-  Vue.prototype[key] = urls[key];
+  Vue.prototype[key] = urls[key]
 })
 
 Object.keys(filters).forEach(key => {
@@ -50,10 +49,10 @@ Object.keys(filters).forEach(key => {
 })
 
 iconfontVersion.forEach(ele => {
-  loadStyle(iconfontUrl.replace('$key', ele));
+  loadStyle(iconfontUrl.replace('$key', ele))
 })
 
-Vue.config.productionTip = false;
+Vue.config.productionTip = false
 
 new Vue({
   router,

+ 162 - 163
src/mixins/color.js

@@ -1,177 +1,176 @@
 import {
-    mapGetters
-} from "vuex";
-const version = require("element-ui/package.json").version; // element-ui version from node_modules
-const ORIGINAL_THEME = "#409EFF"; // default color
-export default function() {
-    return {
-        data() {
-            return {
-                themeVal: ORIGINAL_THEME
+  mapGetters
+} from 'vuex'
+const version = require('element-ui/package.json').version // element-ui version from node_modules
+const ORIGINAL_THEME = '#409EFF' // default color
+export default function () {
+  return {
+    data () {
+      return {
+        themeVal: ORIGINAL_THEME
+      }
+    },
+    created () {
+      this.themeVal = this.theme
+    },
+    watch: {
+      themeVal (val, oldVal) {
+        this.$store.commit('SET_THEME', val)
+        this.updateTheme(val, oldVal)
+      }
+    },
+    computed: {
+      ...mapGetters(['theme'])
+    },
+    methods: {
+      updateTheme (val, oldVal) {
+        if (typeof val !== 'string') return
+        const head = document.getElementsByTagName('head')[0]
+        const themeCluster = this.getThemeCluster(val.replace('#', ''))
+        const originalCluster = this.getThemeCluster(oldVal.replace('#', ''))
+        const getHandler = (variable, id) => {
+          return () => {
+            const originalCluster = this.getThemeCluster(
+              ORIGINAL_THEME.replace('#', '')
+            )
+            const newStyle = this.updateStyle(
+              this[variable],
+              originalCluster,
+              themeCluster
+            )
+
+            let styleTag = document.getElementById(id)
+            if (!styleTag) {
+              styleTag = document.createElement('style')
+              styleTag.setAttribute('id', id)
+              head.appendChild(styleTag)
             }
-        },
-        created() {
-            this.themeVal = this.theme;
-        },
-        watch: {
-            themeVal(val, oldVal) {
-                this.$store.commit("SET_THEME", val);
-                this.updateTheme(val, oldVal);
-            }
-        },
-        computed: {
-            ...mapGetters(["theme"])
-        },
-        methods: {
-            updateTheme(val, oldVal) {
-                if (typeof val !== "string") return;
-                const head = document.getElementsByTagName("head")[0];
-                const themeCluster = this.getThemeCluster(val.replace("#", ""));
-                const originalCluster = this.getThemeCluster(oldVal.replace("#", ""));
-                const getHandler = (variable, id) => {
-                    return () => {
-                        const originalCluster = this.getThemeCluster(
-                            ORIGINAL_THEME.replace("#", "")
-                        );
-                        const newStyle = this.updateStyle(
-                            this[variable],
-                            originalCluster,
-                            themeCluster
-                        );
-
-                        let styleTag = document.getElementById(id);
-                        if (!styleTag) {
-                            styleTag = document.createElement("style");
-                            styleTag.setAttribute("id", id);
-                            head.appendChild(styleTag);
-                        }
-                        styleTag.innerText = newStyle;
-                    };
-                };
-
-                const chalkHandler = getHandler("chalk", "chalk-style");
-
-                if (!this.chalk) {
-                    const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css`;
-                    this.getCSSString(url, chalkHandler, "chalk");
-                } else {
-                    chalkHandler();
-                }
-
-                const link = [].slice.call(
-                    document.getElementsByTagName("head")[0].getElementsByTagName("link")
-                );
-                for (let i = link.length - 3; i < link.length; i++) {
-                    const style = link[i];
-                    if (style.href.indexOf('app') != -1) {
-                        this.getCSSString(style.href, innerText => {
-                            const originalCluster = this.getThemeCluster(
-                                ORIGINAL_THEME.replace("#", "")
-                            );
-                            const newStyle = this.updateStyle(
-                                innerText,
-                                originalCluster,
-                                themeCluster
-                            );
-                            let styleTag = document.getElementById(i);
-                            if (!styleTag) {
-                                styleTag = document.createElement("style");
-                                styleTag.id = i;
-                                styleTag.innerText = newStyle;
-                                head.appendChild(styleTag);
-                            }
-                        });
-                    }
-
-                }
-
-                const styles = [].slice
-                    .call(document.querySelectorAll("style"))
-                    .filter(style => {
-                        const text = style.innerText;
-                        return (
-                            new RegExp(oldVal, "i").test(text) && !/Chalk Variables/.test(text)
-                        );
-                    });
-                styles.forEach(style => {
-                    const {
-                        innerText
-                    } = style;
-                    if (typeof innerText !== "string") return;
-                    style.innerText = this.updateStyle(
-                        innerText,
-                        originalCluster,
-                        themeCluster
-                    );
-                });
-            },
-            updateStyle(style, oldCluster, newCluster) {
-                let newStyle = style;
-                oldCluster.forEach((color, index) => {
-                    newStyle = newStyle.replace(new RegExp(color, "ig"), newCluster[index]);
-                });
-                return newStyle;
-            },
-
-            getCSSString(url, callback, variable) {
-                const xhr = new XMLHttpRequest();
-                xhr.onreadystatechange = () => {
-                    if (xhr.readyState === 4 && xhr.status === 200) {
-                        if (variable) {
-                            this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, "");
-                        }
-                        callback(xhr.responseText);
-                    }
-                };
-                xhr.open("GET", url);
-                xhr.send();
-            },
+            styleTag.innerText = newStyle
+          }
+        }
 
-            getThemeCluster(theme) {
-                const tintColor = (color, tint) => {
-                    let red = parseInt(color.slice(0, 2), 16);
-                    let green = parseInt(color.slice(2, 4), 16);
-                    let blue = parseInt(color.slice(4, 6), 16);
+        const chalkHandler = getHandler('chalk', 'chalk-style')
 
-                    if (tint === 0) {
-                        // when primary color is in its rgb space
-                        return [red, green, blue].join(",");
-                    } else {
-                        red += Math.round(tint * (255 - red));
-                        green += Math.round(tint * (255 - green));
-                        blue += Math.round(tint * (255 - blue));
+        if (!this.chalk) {
+          const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css`
+          this.getCSSString(url, chalkHandler, 'chalk')
+        } else {
+          chalkHandler()
+        }
 
-                        red = red.toString(16);
-                        green = green.toString(16);
-                        blue = blue.toString(16);
+        const link = [].slice.call(
+          document.getElementsByTagName('head')[0].getElementsByTagName('link')
+        )
+        for (let i = link.length - 3; i < link.length; i++) {
+          const style = link[i]
+          if (style.href.indexOf('app') != -1) {
+            this.getCSSString(style.href, innerText => {
+              const originalCluster = this.getThemeCluster(
+                ORIGINAL_THEME.replace('#', '')
+              )
+              const newStyle = this.updateStyle(
+                innerText,
+                originalCluster,
+                themeCluster
+              )
+              let styleTag = document.getElementById(i)
+              if (!styleTag) {
+                styleTag = document.createElement('style')
+                styleTag.id = i
+                styleTag.innerText = newStyle
+                head.appendChild(styleTag)
+              }
+            })
+          }
+        }
 
-                        return `#${red}${green}${blue}`;
-                    }
-                };
+        const styles = [].slice
+          .call(document.querySelectorAll('style'))
+          .filter(style => {
+            const text = style.innerText
+            return (
+              new RegExp(oldVal, 'i').test(text) && !/Chalk Variables/.test(text)
+            )
+          })
+        styles.forEach(style => {
+          const {
+            innerText
+          } = style
+          if (typeof innerText !== 'string') return
+          style.innerText = this.updateStyle(
+            innerText,
+            originalCluster,
+            themeCluster
+          )
+        })
+      },
+      updateStyle (style, oldCluster, newCluster) {
+        let newStyle = style
+        oldCluster.forEach((color, index) => {
+          newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index])
+        })
+        return newStyle
+      },
+
+      getCSSString (url, callback, variable) {
+        const xhr = new XMLHttpRequest()
+        xhr.onreadystatechange = () => {
+          if (xhr.readyState === 4 && xhr.status === 200) {
+            if (variable) {
+              this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '')
+            }
+            callback(xhr.responseText)
+          }
+        }
+        xhr.open('GET', url)
+        xhr.send()
+      },
+
+      getThemeCluster (theme) {
+        const tintColor = (color, tint) => {
+          let red = parseInt(color.slice(0, 2), 16)
+          let green = parseInt(color.slice(2, 4), 16)
+          let blue = parseInt(color.slice(4, 6), 16)
+
+          if (tint === 0) {
+            // when primary color is in its rgb space
+            return [red, green, blue].join(',')
+          } else {
+            red += Math.round(tint * (255 - red))
+            green += Math.round(tint * (255 - green))
+            blue += Math.round(tint * (255 - blue))
+
+            red = red.toString(16)
+            green = green.toString(16)
+            blue = blue.toString(16)
+
+            return `#${red}${green}${blue}`
+          }
+        }
 
-                const shadeColor = (color, shade) => {
-                    let red = parseInt(color.slice(0, 2), 16);
-                    let green = parseInt(color.slice(2, 4), 16);
-                    let blue = parseInt(color.slice(4, 6), 16);
+        const shadeColor = (color, shade) => {
+          let red = parseInt(color.slice(0, 2), 16)
+          let green = parseInt(color.slice(2, 4), 16)
+          let blue = parseInt(color.slice(4, 6), 16)
 
-                    red = Math.round((1 - shade) * red);
-                    green = Math.round((1 - shade) * green);
-                    blue = Math.round((1 - shade) * blue);
+          red = Math.round((1 - shade) * red)
+          green = Math.round((1 - shade) * green)
+          blue = Math.round((1 - shade) * blue)
 
-                    red = red.toString(16);
-                    green = green.toString(16);
-                    blue = blue.toString(16);
+          red = red.toString(16)
+          green = green.toString(16)
+          blue = blue.toString(16)
 
-                    return `#${red}${green}${blue}`;
-                };
+          return `#${red}${green}${blue}`
+        }
 
-                const clusters = [theme];
-                for (let i = 0; i <= 9; i++) {
-                    clusters.push(tintColor(theme, Number((i / 10).toFixed(2))));
-                }
-                clusters.push(shadeColor(theme, 0.1));
-                return clusters;
-            }
+        const clusters = [theme]
+        for (let i = 0; i <= 9; i++) {
+          clusters.push(tintColor(theme, Number((i / 10).toFixed(2))))
         }
+        clusters.push(shadeColor(theme, 0.1))
+        return clusters
+      }
     }
+  }
 }

+ 7 - 7
src/page/index/sidebar/config.js

@@ -1,8 +1,8 @@
 export default {
-    propsDefault: {
-        label: 'label',
-        path: 'path',
-        icon: 'icon',
-        children: 'children'
-    }
-}
+  propsDefault: {
+    label: 'label',
+    path: 'path',
+    icon: 'icon',
+    children: 'children'
+  }
+}

+ 21 - 21
src/permission.js

@@ -4,44 +4,44 @@
  */
 import router from './router/router'
 import store from './store'
-import {validatenull} from '@/util/validate'
-import {getToken} from '@/util/auth'
+import { validatenull } from '@/util/validate'
+import { getToken } from '@/util/auth'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
-NProgress.configure({showSpinner: false});
-const lockPage = store.getters.website.lockPage; //锁屏页
+NProgress.configure({ showSpinner: false })
+const lockPage = store.getters.website.lockPage // 锁屏页
 router.beforeEach((to, from, next) => {
-  //缓冲设置
+  // 缓冲设置
   if (to.meta.keepAlive === true && store.state.tags.tagList.some(ele => {
-    return ele.value === to.fullPath;
+    return ele.value === to.fullPath
   })) {
-    to.meta.$keepAlive = true;
+    to.meta.$keepAlive = true
   } else {
     NProgress.start()
     if (to.meta.keepAlive === true && validatenull(to.meta.$keepAlive)) {
-      to.meta.$keepAlive = true;
+      to.meta.$keepAlive = true
     } else {
-      to.meta.$keepAlive = false;
+      to.meta.$keepAlive = false
     }
   }
-  const meta = to.meta || {};
+  const meta = to.meta || {}
   if (getToken()) {
     if (store.getters.isLock && to.path != lockPage) {
-      next({path: lockPage})
+      next({ path: lockPage })
     } else if (to.path === '/login') {
-      next({path: '/'})
+      next({ path: '/' })
     } else {
       if (store.getters.roles.length === 0) {
         store.dispatch('GetUserInfo').then(() => {
-          next({...to, replace: true})
+          next({ ...to, replace: true })
         }).catch(() => {
           store.dispatch('FedLogOut').then(() => {
-            next({path: '/login'})
+            next({ path: '/login' })
           })
         })
       } else {
-        const value = to.query.src || to.fullPath;
-        const label = to.query.name || to.name;
+        const value = to.query.src || to.fullPath
+        const label = to.query.name || to.name
         if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) {
           store.commit('ADD_TAG', {
             label: label,
@@ -49,7 +49,7 @@ router.beforeEach((to, from, next) => {
             params: to.params,
             query: to.query,
             group: router.$avueRouter.group || []
-          });
+          })
         }
         next()
       }
@@ -64,7 +64,7 @@ router.beforeEach((to, from, next) => {
 })
 
 router.afterEach(() => {
-  NProgress.done();
-  const title = store.getters.tag.label;
-  router.$avueRouter.setTitle(title);
-});
+  NProgress.done()
+  const title = store.getters.tag.label
+  router.$avueRouter.setTitle(title)
+})

+ 138 - 136
src/router/avue-router.js

@@ -1,146 +1,148 @@
-let RouterPlugin = function() {
-    this.$router = null;
-    this.$store = null;
+let RouterPlugin = function () {
+  this.$router = null
+  this.$store = null
+}
+RouterPlugin.install = function (router, store) {
+  this.$router = router
+  this.$store = store
 
-};
-RouterPlugin.install = function(router, store) {
-    this.$router = router;
-    this.$store = store;
+  function objToform (obj) {
+    let result = []
+    Object.keys(obj).forEach(ele => {
+      result.push(`${ele}=${obj[ele]}`)
+    })
+    return result.join('&')
+  }
+  this.$router.$avueRouter = {
+    // 全局配置
+    $website: this.$store.getters.website,
+    routerList: [],
+    group: '',
+    safe: this,
+    // 设置标题
+    setTitle: function (title) {
+      title = title ? `${title}——PigX微服务快速开发框架` : 'PigX微服务快速开发框架'
+      document.title = title
+    },
+    closeTag: (value) => {
+      const tag = value || this.$store.getters.tag
+      this.$store.commit('DEL_TAG', tag)
+    },
+    // 处理路由
+    getPath: function (params) {
+      let { src } = params
+      let result = src || '/'
+      if (src.includes('http') || src.includes('https')) {
+        result = `/myiframe/urlPath?${objToform(params)}`
+      }
+      return result
+    },
+    // 正则处理路由
+    vaildPath: function (list, path) {
+      let result = false
+      list.forEach(ele => {
+        if (new RegExp('^' + ele + '.*', 'g').test(path)) {
+          result = true
+        }
+      })
+      return result
+    },
+    // 设置路由值
+    getValue: function (route) {
+      let value = ''
+      if (route.query.src) {
+        value = route.query.src
+      } else {
+        value = route.path
+      }
+      return value
+    },
+    // 动态路由
+    formatRoutes: function (aMenu = [], first) {
+      const aRouter = []
+      const propsConfig = this.$website.menu.props
+      const propsDefault = {
+        label: propsConfig.label || 'label',
+        path: propsConfig.path || 'path',
+        icon: propsConfig.icon || 'icon',
+        children: propsConfig.children || 'children',
+        meta: propsConfig.meta || 'meta'
+      }
+      if (aMenu.length === 0) return
+      for (let i = 0; i < aMenu.length; i++) {
+        const oMenu = aMenu[i]
+        if (this.routerList.includes(oMenu[propsDefault.path])) return
+        const path = (() => {
+          if (first) {
+            return oMenu[propsDefault.path].replace('/index', '')
+          } else {
+            return oMenu[propsDefault.path]
+          }
+        })()
 
-    function objToform(obj) {
-        let result = [];
-        Object.keys(obj).forEach(ele => {
-            result.push(`${ele}=${obj[ele]}`);
-        })
-        return result.join('&');
-    }
-    this.$router.$avueRouter = {
-        //全局配置
-        $website: this.$store.getters.website,
-        routerList: [],
-        group: '',
-        safe: this,
-        // 设置标题
-        setTitle: function(title) {
-            title = title ? `${title}——PigX微服务快速开发框架` : 'PigX微服务快速开发框架';
-            document.title = title;
-        },
-        closeTag: (value) => {
-            const tag = value || this.$store.getters.tag;
-            this.$store.commit('DEL_TAG', tag)
-        },
-        //处理路由
-        getPath: function(params) {
-            let { src } = params;
-            let result = src || '/';
-            if (src.includes("http") || src.includes("https")) {
-                result = `/myiframe/urlPath?${objToform(params)}`;
-            }
-            return result;
-        },
-        //正则处理路由
-        vaildPath: function(list, path) {
-            let result = false;
-            list.forEach(ele => {
-                if (new RegExp("^" + ele + ".*", "g").test(path)) {
-                    result = true
-                }
+        const component = oMenu.component
+
+        const name = oMenu[propsDefault.label]
+
+        const icon = oMenu[propsDefault.icon]
+
+        const children = oMenu[propsDefault.children]
+
+        const meta = {
+          keepAlive: Number(oMenu['keepAlive']) === 0
+        }
+        const isChild = children.length !== 0
+        const oRouter = {
+          path: path,
+          component (resolve) {
+            // 判断是否为首路由
+            if (first) {
+              require(['../page/index'], resolve)
 
-            })
-            return result;
-        },
-        //设置路由值
-        getValue: function(route) {
-            let value = "";
-            if (route.query.src) {
-                value = route.query.src;
+              // 判断是否为多层路由
+            } else if (isChild && !first) {
+              require(['../page/index/layout'], resolve)
+
+              // 判断是否为最终的页面视图
             } else {
-                value = route.path;
-            }
-            return value;
-        },
-        //动态路由
-        formatRoutes: function(aMenu = [], first) {
-            const aRouter = []
-            const propsConfig = this.$website.menu.props;
-            const propsDefault = {
-                label: propsConfig.label || 'label',
-                path: propsConfig.path || 'path',
-                icon: propsConfig.icon || 'icon',
-                children: propsConfig.children || 'children',
-                meta: propsConfig.meta || 'meta',
-            }
-            if (aMenu.length === 0) return;
-            for (let i = 0; i < aMenu.length; i++) {
-                const oMenu = aMenu[i];
-                if (this.routerList.includes(oMenu[propsDefault.path])) return;
-                const path = (() => {
-                        if (first) {
-                            return oMenu[propsDefault.path].replace('/index', '')
-                        } else {
-                            return oMenu[propsDefault.path]
-                        }
-                    })(),
-                    component = oMenu.component,
-                    name = oMenu[propsDefault.label],
-                    icon = oMenu[propsDefault.icon],
-                    children = oMenu[propsDefault.children],
-                    meta = {
-                        keepAlive: Number(oMenu['keepAlive']) === 0
-                    }
-                const isChild = children.length !== 0;
-                const oRouter = {
-                    path: path,
-                    component(resolve) {
-                        // 判断是否为首路由
-                        if (first) {
-                            require(['../page/index'], resolve)
-                            return
-                            // 判断是否为多层路由
-                        } else if (isChild && !first) {
-                            require(['../page/index/layout'], resolve)
-                            return
-                            // 判断是否为最终的页面视图
-                        } else {
-                            require([`../${component}.vue`], resolve)
-                        }
-                    },
-                    name: name,
-                    icon: icon,
-                    meta: meta,
-                    redirect: (() => {
-                        if (!isChild && first) return `${path}/index`
-                        else return '';
-                    })(),
-                    // 处理是否为一级路由
-                    children: !isChild ? (() => {
-                        if (first) {
-                            oMenu[propsDefault.path] = `${path}/index`;
-                            return [{
-                                component(resolve) { require([`../${component}.vue`], resolve) },
-                                icon: icon,
-                                name: name,
-                                meta: meta,
-                                path: 'index'
-                            }]
-                        }
-                        return [];
-                    })() : (() => {
-                        return this.formatRoutes(children, false)
-                    })()
-                }
-                aRouter.push(oRouter)
+              require([`../${component}.vue`], resolve)
             }
+          },
+          name: name,
+          icon: icon,
+          meta: meta,
+          redirect: (() => {
+            if (!isChild && first) return `${path}/index`
+            else return ''
+          })(),
+          // 处理是否为一级路由
+          children: !isChild ? (() => {
             if (first) {
-                if (!this.routerList.includes(aRouter[0][propsDefault.path])) {
-                    this.safe.$router.addRoutes(aRouter)
-                    this.routerList.push(aRouter[0][propsDefault.path])
-                }
-            } else {
-                return aRouter
+              oMenu[propsDefault.path] = `${path}/index`
+              return [{
+                component (resolve) { require([`../${component}.vue`], resolve) },
+                icon: icon,
+                name: name,
+                meta: meta,
+                path: 'index'
+              }]
             }
-
+            return []
+          })() : (() => {
+            return this.formatRoutes(children, false)
+          })()
+        }
+        aRouter.push(oRouter)
+      }
+      if (first) {
+        if (!this.routerList.includes(aRouter[0][propsDefault.path])) {
+          this.safe.$router.addRoutes(aRouter)
+          this.routerList.push(aRouter[0][propsDefault.path])
         }
+      } else {
+        return aRouter
+      }
     }
+  }
 }
-export default RouterPlugin;
+export default RouterPlugin

+ 44 - 44
src/router/axios.js

@@ -15,55 +15,55 @@ import NProgress from 'nprogress' // progress bar
 import errorCode from '@/const/errorCode'
 import { Message } from 'element-ui'
 import 'nprogress/nprogress.css' // progress bar style
-axios.defaults.timeout = 30000;
-//返回其他状态吗
-axios.defaults.validateStatus = function(status) {
-    return status >= 200 && status <= 500; // 默认的
-};
-//跨域请求,允许保存cookie
-axios.defaults.withCredentials = true;
+axios.defaults.timeout = 30000
+// 返回其他状态吗
+axios.defaults.validateStatus = function (status) {
+  return status >= 200 && status <= 500 // 默认的
+}
+// 跨域请求,允许保存cookie
+axios.defaults.withCredentials = true
 // NProgress Configuration
 NProgress.configure({
-    showSpinner: false
-});
-//HTTPrequest拦截
+  showSpinner: false
+})
+// HTTPrequest拦截
 axios.interceptors.request.use(config => {
-    NProgress.start() // start progress bar
-    const isToken = (config.data || {}).isToken === false
-    if (store.getters.access_token && !isToken) {
-        config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
-    }
-    const TENANT_ID = getStore({ name: 'tenantId' });
-    if (TENANT_ID) {
-        config.headers['TENANT_ID'] = TENANT_ID // 租户ID
-    }
-    //headers中配置serialize为true开启序列化
-    if (config.methods === 'post' && config.headers.serialize) {
-        config.data = serialize(config.data);
-        delete config.data.serialize;
-    }
-    return config
+  NProgress.start() // start progress bar
+  const isToken = (config.data || {}).isToken === false
+  if (store.getters.access_token && !isToken) {
+    config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
+  }
+  const TENANT_ID = getStore({ name: 'tenantId' })
+  if (TENANT_ID) {
+    config.headers['TENANT_ID'] = TENANT_ID // 租户ID
+  }
+  // headers中配置serialize为true开启序列化
+  if (config.methods === 'post' && config.headers.serialize) {
+    config.data = serialize(config.data)
+    delete config.data.serialize
+  }
+  return config
 }, error => {
-    return Promise.reject(error)
-});
-//HTTPresponse拦截
+  return Promise.reject(error)
+})
+// HTTPresponse拦截
 axios.interceptors.response.use(res => {
-    NProgress.done();
-    const status = Number(res.status) || 200;
-    const statusWhiteList = website.statusWhiteList || [];
-    const message = res.data.message || errorCode[status] || errorCode['default'];
-    if (status !== 200 & !statusWhiteList.includes(status)) {
-        Message({
-            message: message,
-            type: 'error'
-        })
-        return Promise.reject(new Error(message))
-    }
-    if (status !== 200) return Promise.reject(res);
-    return res;
+  NProgress.done()
+  const status = Number(res.status) || 200
+  const statusWhiteList = website.statusWhiteList || []
+  const message = res.data.message || errorCode[status] || errorCode['default']
+  if (status !== 200 & !statusWhiteList.includes(status)) {
+    Message({
+      message: message,
+      type: 'error'
+    })
+    return Promise.reject(new Error(message))
+  }
+  if (status !== 200) return Promise.reject(res)
+  return res
 }, error => {
-    NProgress.done()
-    return Promise.reject(new Error(error))
+  NProgress.done()
+  return Promise.reject(new Error(error))
 })
 
-export default axios
+export default axios

+ 22 - 22
src/router/router.js

@@ -1,25 +1,25 @@
-import VueRouter from 'vue-router';
+import VueRouter from 'vue-router'
 import PageRouter from './page/'
 import ViewsRouter from './views/'
-import AvueRouter from './avue-router';
-import Store from '../store/';
+import AvueRouter from './avue-router'
+import Store from '../store/'
 let Router = new VueRouter({
-    scrollBehavior(to, from, savedPosition) {
-        if (savedPosition) {
-            return savedPosition
-        } else {
-            if (from.meta.keepAlive) {
-                from.meta.savedPosition = document.body.scrollTop;
-            }
-            return {
-                x: 0,
-                y: to.meta.savedPosition || 0
-            }
-        }
-    },
-    routes: [].concat([])
-});
-AvueRouter.install(Router, Store);
-Router.$avueRouter.formatRoutes(Store.state.user.menu, true);
-Router.addRoutes([...PageRouter, ...ViewsRouter]);
-export default Router;
+  scrollBehavior (to, from, savedPosition) {
+    if (savedPosition) {
+      return savedPosition
+    } else {
+      if (from.meta.keepAlive) {
+        from.meta.savedPosition = document.body.scrollTop
+      }
+      return {
+        x: 0,
+        y: to.meta.savedPosition || 0
+      }
+    }
+  },
+  routes: [].concat([])
+})
+AvueRouter.install(Router, Store)
+Router.$avueRouter.formatRoutes(Store.state.user.menu, true)
+Router.addRoutes([...PageRouter, ...ViewsRouter])
+export default Router

+ 1 - 1
src/store/index.js

@@ -14,7 +14,7 @@ const store = new Vuex.Store({
     logs,
     tags
   },
-  getters,
+  getters
 })
 
 export default store

+ 39 - 39
src/store/modules/common.js

@@ -1,4 +1,4 @@
-import {getStore, removeStore, setStore} from '@/util/store'
+import { getStore, removeStore, setStore } from '@/util/store'
 import website from '@/const/website'
 
 const common = {
@@ -8,97 +8,97 @@ const common = {
     isFullScren: false,
     isShade: false,
     screen: -1,
-    isLock: getStore({name: 'isLock'}) || false,
-    showTag: getStore({name: 'showTag'}),
-    showDebug: getStore({name: 'showDebug'}),
-    showCollapse: getStore({name: 'showCollapse'}),
-    showSearch: getStore({name: 'showSearch'}),
-    showLock: getStore({name: 'showLock'}),
-    showFullScren: getStore({name: 'showFullScren'}),
-    showTheme: getStore({name: 'showTheme'}),
-    showColor: getStore({name: 'showColor'}),
-    showMenu: getStore({name: 'showMenu'}),
-    theme: getStore({name: 'theme'}) || '#409EFF',
-    themeName: getStore({name: 'themeName'}) || '',
-    lockPasswd: getStore({name: 'lockPasswd'}) || '',
-    website: website,
+    isLock: getStore({ name: 'isLock' }) || false,
+    showTag: getStore({ name: 'showTag' }),
+    showDebug: getStore({ name: 'showDebug' }),
+    showCollapse: getStore({ name: 'showCollapse' }),
+    showSearch: getStore({ name: 'showSearch' }),
+    showLock: getStore({ name: 'showLock' }),
+    showFullScren: getStore({ name: 'showFullScren' }),
+    showTheme: getStore({ name: 'showTheme' }),
+    showColor: getStore({ name: 'showColor' }),
+    showMenu: getStore({ name: 'showMenu' }),
+    theme: getStore({ name: 'theme' }) || '#409EFF',
+    themeName: getStore({ name: 'themeName' }) || '',
+    lockPasswd: getStore({ name: 'lockPasswd' }) || '',
+    website: website
   },
   actions: {},
   mutations: {
     SET_SHADE: (state, active) => {
-      state.isShade = active;
+      state.isShade = active
     },
     SET_COLLAPSE: (state) => {
-      state.isCollapse = !state.isCollapse;
+      state.isCollapse = !state.isCollapse
     },
     SET_FULLSCREN: (state) => {
-      state.isFullScren = !state.isFullScren;
+      state.isFullScren = !state.isFullScren
     },
     SET_SHOWCOLLAPSE: (state, active) => {
-      state.showCollapse = active;
+      state.showCollapse = active
       setStore({
         name: 'showCollapse',
         content: state.showCollapse
       })
     },
     SET_SHOWTAG: (state, active) => {
-      state.showTag = active;
+      state.showTag = active
       setStore({
         name: 'showTag',
         content: state.showTag
       })
     },
     SET_SHOWMENU: (state, active) => {
-      state.showMenu = active;
+      state.showMenu = active
       setStore({
         name: 'showMenu',
         content: state.showMenu
       })
     },
     SET_SHOWLOCK: (state, active) => {
-      state.showLock = active;
+      state.showLock = active
       setStore({
         name: 'showLock',
         content: state.showLock
       })
     },
     SET_SHOWSEARCH: (state, active) => {
-      state.showSearch = active;
+      state.showSearch = active
       setStore({
         name: 'showSearch',
         content: state.showSearch
       })
     },
     SET_SHOWFULLSCREN: (state, active) => {
-      state.showFullScren = active;
+      state.showFullScren = active
       setStore({
         name: 'showFullScren',
         content: state.showFullScren
       })
     },
     SET_SHOWDEBUG: (state, active) => {
-      state.showDebug = active;
+      state.showDebug = active
       setStore({
         name: 'showDebug',
         content: state.showDebug
       })
     },
     SET_SHOWTHEME: (state, active) => {
-      state.showTheme = active;
+      state.showTheme = active
       setStore({
         name: 'showTheme',
         content: state.showTheme
       })
     },
     SET_SHOWCOLOR: (state, active) => {
-      state.showColor = active;
+      state.showColor = active
       setStore({
         name: 'showColor',
         content: state.showColor
       })
     },
     SET_LOCK: (state) => {
-      state.isLock = true;
+      state.isLock = true
       setStore({
         name: 'isLock',
         content: state.isLock,
@@ -106,24 +106,24 @@ const common = {
       })
     },
     SET_SCREEN: (state, screen) => {
-      state.screen = screen;
+      state.screen = screen
     },
     SET_THEME: (state, color) => {
-      state.theme = color;
+      state.theme = color
       setStore({
         name: 'theme',
-        content: state.theme,
+        content: state.theme
       })
     },
     SET_THEME_NAME: (state, themeName) => {
-      state.themeName = themeName;
+      state.themeName = themeName
       setStore({
         name: 'themeName',
-        content: state.themeName,
+        content: state.themeName
       })
     },
     SET_LOCK_PASSWD: (state, lockPasswd) => {
-      state.lockPasswd = lockPasswd;
+      state.lockPasswd = lockPasswd
       setStore({
         name: 'lockPasswd',
         content: state.lockPasswd,
@@ -131,15 +131,15 @@ const common = {
       })
     },
     CLEAR_LOCK: (state) => {
-      state.isLock = false;
-      state.lockPasswd = '';
+      state.isLock = false
+      state.lockPasswd = ''
       removeStore({
         name: 'lockPasswd'
-      });
+      })
       removeStore({
         name: 'isLock'
-      });
-    },
+      })
+    }
   }
 }
 export default common

+ 15 - 15
src/store/modules/logs.js

@@ -1,26 +1,26 @@
-import {getStore, setStore} from '@/util/store'
-import {dateFormat} from '@/filters/'
-import {sendLogs} from '@/api/admin/log'
+import { getStore, setStore } from '@/util/store'
+import { dateFormat } from '@/filters/'
+import { sendLogs } from '@/api/admin/log'
 
 const logs = {
   state: {
-    logsList: getStore({name: 'logsList'}) || [],
+    logsList: getStore({ name: 'logsList' }) || []
   },
   actions: {
-    //发送错误日志
-    SendLogs({state, commit}) {
+    // 发送错误日志
+    SendLogs ({ state, commit }) {
       return new Promise((resolve, reject) => {
         sendLogs(state.logsList).then(() => {
-          commit('CLEAR_LOGS');
-          resolve();
+          commit('CLEAR_LOGS')
+          resolve()
         }).catch(error => {
           reject(error)
         })
       })
-    },
+    }
   },
   mutations: {
-    ADD_LOGS: (state, {type, message, stack, info}) => {
+    ADD_LOGS: (state, { type, message, stack, info }) => {
       state.logsList.push(Object.assign({
         url: window.location.href,
         time: dateFormat(new Date())
@@ -30,14 +30,14 @@ const logs = {
         stack,
         info: info.toString()
       }))
-      setStore({name: 'logsList', content: state.logsList})
+      setStore({ name: 'logsList', content: state.logsList })
     },
     CLEAR_LOGS: (state) => {
-      state.logsList = [];
-      setStore({name: 'logsList', content: state.logsList})
+      state.logsList = []
+      setStore({ name: 'logsList', content: state.logsList })
     }
   }
 
-};
+}
 
-export default logs;
+export default logs

+ 26 - 27
src/store/modules/tags.js

@@ -1,21 +1,21 @@
-import {getStore, setStore} from '@/util/store'
-import {diff} from '@/util/util'
+import { getStore, setStore } from '@/util/store'
+import { diff } from '@/util/util'
 import website from '@/const/website'
 
-const isFirstPage = website.isFirstPage;
-const tagWel = website.fistPage;
+const isFirstPage = website.isFirstPage
+const tagWel = website.fistPage
 const tagObj = {
-  label: '', //标题名称
-  value: '', //标题的路径
-  params: '', //标题的路径参数
-  query: '', //标题的参数
-  group: [], //分组
+  label: '', // 标题名称
+  value: '', // 标题的路径
+  params: '', // 标题的路径参数
+  query: '', // 标题的参数
+  group: [] // 分组
 }
 
-//处理首个标签
-function setFistTag(list) {
+// 处理首个标签
+function setFistTag (list) {
   if (list.length == 1) {
-    list[0].close = false;
+    list[0].close = false
   } else {
     list.forEach(ele => {
       if (ele.value === tagWel.value && isFirstPage === false) {
@@ -27,39 +27,38 @@ function setFistTag(list) {
   }
 }
 
-
 const navs = {
   state: {
-    tagList: getStore({name: 'tagList'}) || [],
-    tag: getStore({name: 'tag'}) || tagObj,
+    tagList: getStore({ name: 'tagList' }) || [],
+    tag: getStore({ name: 'tag' }) || tagObj,
     tagWel: tagWel
   },
   actions: {},
   mutations: {
     ADD_TAG: (state, action) => {
-      state.tag = action;
-      setStore({name: 'tag', content: state.tag, type: 'session'})
+      state.tag = action
+      setStore({ name: 'tag', content: state.tag, type: 'session' })
       if (state.tagList.some(ele => diff(ele, action))) return
       state.tagList.push(action)
-      setFistTag(state.tagList);
-      setStore({name: 'tagList', content: state.tagList, type: 'session'})
+      setFistTag(state.tagList)
+      setStore({ name: 'tagList', content: state.tagList, type: 'session' })
     },
     DEL_TAG: (state, action) => {
       state.tagList = state.tagList.filter(item => {
-        return !diff(item, action);
+        return !diff(item, action)
       })
-      setFistTag(state.tagList);
-      setStore({name: 'tagList', content: state.tagList, type: 'session'})
+      setFistTag(state.tagList)
+      setStore({ name: 'tagList', content: state.tagList, type: 'session' })
     },
     DEL_ALL_TAG: (state) => {
-      state.tagList = [state.tagWel];
-      setStore({name: 'tagList', content: state.tagList, type: 'session'})
+      state.tagList = [state.tagWel]
+      setStore({ name: 'tagList', content: state.tagList, type: 'session' })
     },
     DEL_TAG_OTHER: (state) => {
       state.tagList = state.tagList.filter(item => item.value === state.tag.value)
-      setFistTag(state.tagList);
-      setStore({name: 'tagList', content: state.tagList, type: 'session'})
-    },
+      setFistTag(state.tagList)
+      setStore({ name: 'tagList', content: state.tagList, type: 'session' })
+    }
   }
 }
 export default navs

+ 41 - 42
src/store/modules/user.js

@@ -1,20 +1,20 @@
-import {removeToken, setToken} from '@/util/auth'
-import {getStore, setStore} from '@/util/store'
-import {isURL} from '@/util/validate'
-import {getUserInfo, loginByMobile, loginBySocial, loginByUsername, logout} from '@/api/login'
-import {deepClone, encryption} from '@/util/util'
-import webiste from '@/const/website';
-import {GetMenu} from '@/api/admin/menu'
+import { removeToken, setToken } from '@/util/auth'
+import { getStore, setStore } from '@/util/store'
+import { isURL } from '@/util/validate'
+import { getUserInfo, loginByMobile, loginBySocial, loginByUsername, logout } from '@/api/login'
+import { deepClone, encryption } from '@/util/util'
+import webiste from '@/const/website'
+import { GetMenu } from '@/api/admin/menu'
 
-function addPath(ele, first) {
-  const propsConfig = webiste.menu.props;
+function addPath (ele, first) {
+  const propsConfig = webiste.menu.props
   const propsDefault = {
     label: propsConfig.label || 'label',
     path: propsConfig.path || 'path',
     icon: propsConfig.icon || 'icon',
     children: propsConfig.children || 'children'
   }
-  const isChild = ele[propsDefault.children] && ele[propsDefault.children].length !== 0;
+  const isChild = ele[propsDefault.children] && ele[propsDefault.children].length !== 0
   if (!isChild && first) {
     ele[propsDefault.path] = ele[propsDefault.path] + '/index'
     return
@@ -23,7 +23,7 @@ function addPath(ele, first) {
     if (!isURL(child[propsDefault.path])) {
       child[propsDefault.path] = `${ele[propsDefault.path]}/${child[propsDefault.path] ? child[propsDefault.path] : 'index'}`
     }
-    addPath(child);
+    addPath(child)
   })
 }
 
@@ -44,8 +44,8 @@ const user = {
     }) || ''
   },
   actions: {
-    //根据用户名登录
-    LoginByUsername({commit}, userInfo) {
+    // 根据用户名登录
+    LoginByUsername ({ commit }, userInfo) {
       const user = encryption({
         data: userInfo,
         key: 'pigxpigxpigxpigx',
@@ -64,8 +64,8 @@ const user = {
         })
       })
     },
-    //根据手机号登录
-    LoginByPhone({commit}, userInfo) {
+    // 根据手机号登录
+    LoginByPhone ({ commit }, userInfo) {
       return new Promise((resolve, reject) => {
         loginByMobile(userInfo.mobile, userInfo.code).then(response => {
           const data = response.data
@@ -80,7 +80,7 @@ const user = {
       })
     },
     // 根据OpenId登录
-    LoginBySocial({commit}, param) {
+    LoginBySocial ({ commit }, param) {
       return new Promise((resolve, reject) => {
         loginBySocial(param.state, param.code).then(response => {
           const data = response.data
@@ -94,33 +94,33 @@ const user = {
         })
       })
     },
-    GetUserInfo({commit}) {
+    GetUserInfo ({ commit }) {
       return new Promise((resolve, reject) => {
         getUserInfo().then((res) => {
-          const data = res.data.data || {};
-          commit('SET_USERIFNO', data.sysUser);
-          commit('SET_ROLES', data.roles || []);
+          const data = res.data.data || {}
+          commit('SET_USERIFNO', data.sysUser)
+          commit('SET_ROLES', data.roles || [])
           commit('SET_PERMISSIONS', data.permissions || [])
-          resolve(data);
+          resolve(data)
         }).catch((err) => {
-          reject();
+          reject()
         })
       })
     },
-    //刷新token
-    RefeshToken({commit}) {
+    // 刷新token
+    RefeshToken ({ commit }) {
       return new Promise((resolve, reject) => {
         logout().then(() => {
-          commit('SET_TOKEN', new Date().getTime());
-          setToken();
-          resolve();
+          commit('SET_TOKEN', new Date().getTime())
+          setToken()
+          resolve()
         }).catch(error => {
           reject(error)
         })
       })
     },
     // 登出
-    LogOut({commit}) {
+    LogOut ({ commit }) {
       return new Promise((resolve, reject) => {
         logout().then(() => {
           commit('SET_MENU', [])
@@ -130,7 +130,7 @@ const user = {
           commit('SET_REFRESH_TOKEN', '')
           commit('SET_ROLES', [])
           commit('DEL_ALL_TAG')
-          commit('CLEAR_LOCK');
+          commit('CLEAR_LOCK')
           removeToken()
           resolve()
         }).catch(error => {
@@ -138,8 +138,8 @@ const user = {
         })
       })
     },
-    //注销session
-    FedLogOut({commit}) {
+    // 注销session
+    FedLogOut ({ commit }) {
       return new Promise(resolve => {
         commit('SET_MENU', [])
         commit('SET_PERMISSIONS', [])
@@ -148,21 +148,21 @@ const user = {
         commit('SET_REFRESH_TOKEN', '')
         commit('SET_ROLES', [])
         commit('DEL_ALL_TAG')
-        commit('CLEAR_LOCK');
+        commit('CLEAR_LOCK')
         removeToken()
         resolve()
       })
     },
-    //获取系统菜单
-    GetMenu({
-              commit
-            }) {
+    // 获取系统菜单
+    GetMenu ({
+      commit
+    }) {
       return new Promise(resolve => {
         GetMenu().then((res) => {
           const data = res.data.data
-          let menu = deepClone(data);
+          let menu = deepClone(data)
           menu.forEach(ele => {
-            addPath(ele);
+            addPath(ele)
           })
           commit('SET_MENU', menu)
           resolve(menu)
@@ -189,7 +189,7 @@ const user = {
       })
     },
     SET_USERIFNO: (state, userInfo) => {
-      state.userInfo = userInfo;
+      state.userInfo = userInfo
     },
     SET_MENU: (state, menu) => {
       state.menu = menu
@@ -198,13 +198,12 @@ const user = {
         content: state.menu,
         type: 'session'
       })
-
     },
     SET_MENU_ALL: (state, menuAll) => {
-      state.menuAll = menuAll;
+      state.menuAll = menuAll
     },
     SET_ROLES: (state, roles) => {
-      state.roles = roles;
+      state.roles = roles
     },
     SET_PERMISSIONS: (state, permissions) => {
       const list = {}

+ 5 - 5
src/util/admin.js

@@ -1,14 +1,14 @@
 export default {
   getScreen: function () {
-    var width = document.body.clientWidth;
+    var width = document.body.clientWidth
     if (width >= 1200) {
-      return 3; //大屏幕
+      return 3 // 大屏幕
     } else if (width >= 992) {
-      return 2; //中屏幕
+      return 2 // 中屏幕
     } else if (width >= 768) {
-      return 1; //小屏幕
+      return 1 // 小屏幕
     } else {
-      return 0; //超小屏幕
+      return 0 // 超小屏幕
     }
   }
 }

+ 3 - 3
src/util/auth.js

@@ -2,14 +2,14 @@ import Cookies from 'js-cookie'
 
 const TokenKey = 'x-access-token'
 
-export function getToken() {
+export function getToken () {
   return Cookies.get(TokenKey)
 }
 
-export function setToken(token) {
+export function setToken (token) {
   return Cookies.set(TokenKey, token)
 }
 
-export function removeToken() {
+export function removeToken () {
   return Cookies.remove(TokenKey)
 }

+ 5 - 5
src/util/date.js

@@ -1,15 +1,15 @@
 export const calcDate = (date1, date2) => {
-  var date3 = date2 - date1;
+  var date3 = date2 - date1
 
   var days = Math.floor(date3 / (24 * 3600 * 1000))
 
-  var leave1 = date3 % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
+  var leave1 = date3 % (24 * 3600 * 1000) // 计算天数后剩余的毫秒数
   var hours = Math.floor(leave1 / (3600 * 1000))
 
-  var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
+  var leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数
   var minutes = Math.floor(leave2 / (60 * 1000))
 
-  var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
+  var leave3 = leave2 % (60 * 1000) // 计算分钟数后剩余的毫秒数
   var seconds = Math.round(date3 / 1000)
   return {
     leave1,
@@ -18,6 +18,6 @@ export const calcDate = (date1, date2) => {
     days: days,
     hours: hours,
     minutes: minutes,
-    seconds: seconds,
+    seconds: seconds
   }
 }

+ 28 - 28
src/util/store.js

@@ -1,4 +1,4 @@
-import {validatenull} from '@/util/validate';
+import { validatenull } from '@/util/validate'
 
 /**
  * 存储localStorage
@@ -7,16 +7,16 @@ export const setStore = (params) => {
   let {
     name,
     content,
-    type,
-  } = params;
+    type
+  } = params
   let obj = {
     dataType: typeof (content),
     content: content,
     type: type,
     datetime: new Date().getTime()
   }
-  if (type) window.sessionStorage.setItem(name, JSON.stringify(obj));
-  else window.localStorage.setItem(name, JSON.stringify(obj));
+  if (type) window.sessionStorage.setItem(name, JSON.stringify(obj))
+  else window.localStorage.setItem(name, JSON.stringify(obj))
 }
 /**
  * 获取localStorage
@@ -26,26 +26,27 @@ export const getStore = (params) => {
   let {
     name,
     debug
-  } = params;
-  let obj = {},
-    content;
-  obj = window.sessionStorage.getItem(name);
-  if (validatenull(obj)) obj = window.localStorage.getItem(name);
-  if (validatenull(obj)) return;
-  obj = JSON.parse(obj);
+  } = params
+  let obj = {}
+
+  let content
+  obj = window.sessionStorage.getItem(name)
+  if (validatenull(obj)) obj = window.localStorage.getItem(name)
+  if (validatenull(obj)) return
+  obj = JSON.parse(obj)
   if (debug) {
-    return obj;
+    return obj
   }
   if (obj.dataType == 'string') {
-    content = obj.content;
+    content = obj.content
   } else if (obj.dataType == 'number') {
-    content = Number(obj.content);
+    content = Number(obj.content)
   } else if (obj.dataType == 'boolean') {
-    content = eval(obj.content);
+    content = eval(obj.content)
   } else if (obj.dataType == 'object') {
-    content = obj.content;
+    content = obj.content
   }
-  return content;
+  return content
 }
 /**
  * 删除localStorage
@@ -53,19 +54,19 @@ export const getStore = (params) => {
 export const removeStore = params => {
   let {
     name
-  } = params;
-  window.localStorage.removeItem(name);
-  window.sessionStorage.removeItem(name);
+  } = params
+  window.localStorage.removeItem(name)
+  window.sessionStorage.removeItem(name)
 }
 
 /**
  * 获取全部localStorage
  */
 export const getAllStore = (params) => {
-  let list = [];
+  let list = []
   let {
     type
-  } = params;
+  } = params
   for (let i = 1; i <= window.sessionStorage.length; i++) {
     if (type) {
       list.push({
@@ -79,14 +80,13 @@ export const getAllStore = (params) => {
       list.push(getStore({
         name: window.localStorage.key(i),
         content: getStore({
-          name: window.localStorage.key(i),
+          name: window.localStorage.key(i)
         })
       }))
     }
   }
 
-  return list;
-
+  return list
 }
 
 /**
@@ -95,9 +95,9 @@ export const getAllStore = (params) => {
 export const clearStore = (params) => {
   let {
     type
-  } = params;
+  } = params
   if (type) {
-    window.sessionStorage.clear();
+    window.sessionStorage.clear()
     return
   }
   window.localStorage.clear()

+ 101 - 102
src/util/util.js

@@ -1,14 +1,14 @@
-import {validatenull} from './validate'
-//表单序列化
+import { validatenull } from './validate'
+// 表单序列化
 export const serialize = data => {
-  let list = [];
+  let list = []
   Object.keys(data).forEach(ele => {
     list.push(`${ele}=${data[ele]}`)
   })
-  return list.join('&');
-};
+  return list.join('&')
+}
 export const getObjType = obj => {
-  var toString = Object.prototype.toString;
+  var toString = Object.prototype.toString
   var map = {
     '[object Boolean]': 'boolean',
     '[object Number]': 'number',
@@ -20,79 +20,79 @@ export const getObjType = obj => {
     '[object Undefined]': 'undefined',
     '[object Null]': 'null',
     '[object Object]': 'object'
-  };
+  }
   if (obj instanceof Element) {
-    return 'element';
+    return 'element'
   }
-  return map[toString.call(obj)];
-};
+  return map[toString.call(obj)]
+}
 /**
  * 对象深拷贝
  */
 export const deepClone = data => {
-  var type = getObjType(data);
-  var obj;
+  var type = getObjType(data)
+  var obj
   if (type === 'array') {
-    obj = [];
+    obj = []
   } else if (type === 'object') {
-    obj = {};
+    obj = {}
   } else {
-    //不再具有下一层次
-    return data;
+    // 不再具有下一层次
+    return data
   }
   if (type === 'array') {
     for (var i = 0, len = data.length; i < len; i++) {
-      obj.push(deepClone(data[i]));
+      obj.push(deepClone(data[i]))
     }
   } else if (type === 'object') {
     for (var key in data) {
-      obj[key] = deepClone(data[key]);
+      obj[key] = deepClone(data[key])
     }
   }
-  return obj;
-};
+  return obj
+}
 /**
  * 判断路由是否相等
  */
 export const diff = (obj1, obj2) => {
-  delete obj1.close;
-  var o1 = obj1 instanceof Object;
-  var o2 = obj2 instanceof Object;
+  delete obj1.close
+  var o1 = obj1 instanceof Object
+  var o2 = obj2 instanceof Object
   if (!o1 || !o2) { /*  判断不是对象  */
-    return obj1 === obj2;
+    return obj1 === obj2
   }
 
   if (Object.keys(obj1).length !== Object.keys(obj2).length) {
-    return false;
-    //Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = ["a", "b", "c"];console.log(Object.keys(arr))->0,1,2;
+    return false
+    // Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = ["a", "b", "c"];console.log(Object.keys(arr))->0,1,2;
   }
 
   for (var attr in obj1) {
-    var t1 = obj1[attr] instanceof Object;
-    var t2 = obj2[attr] instanceof Object;
+    var t1 = obj1[attr] instanceof Object
+    var t2 = obj2[attr] instanceof Object
     if (t1 && t2) {
-      return diff(obj1[attr], obj2[attr]);
+      return diff(obj1[attr], obj2[attr])
     } else if (obj1[attr] !== obj2[attr]) {
-      return false;
+      return false
     }
   }
-  return true;
+  return true
 }
 /**
  * 设置灰度模式
  */
 export const toggleGrayMode = (status) => {
   if (status) {
-    document.body.className = document.body.className + ' grayMode';
+    document.body.className = document.body.className + ' grayMode'
   } else {
-    document.body.className = document.body.className.replace(' grayMode', '');
+    document.body.className = document.body.className.replace(' grayMode', '')
   }
-};
+}
 /**
  * 设置主题
  */
 export const setTheme = (name) => {
-  document.body.className = name;
+  document.body.className = name
 }
 
 /**
@@ -129,38 +129,37 @@ export const encryption = (params) => {
   return result
 }
 
-
 /**
  * 浏览器判断是否全屏
  */
 export const fullscreenToggel = () => {
   if (fullscreenEnable()) {
-    exitFullScreen();
+    exitFullScreen()
   } else {
-    reqFullScreen();
+    reqFullScreen()
   }
-};
+}
 /**
  * esc监听全屏
  */
 export const listenfullscreen = (callback) => {
-  function listen() {
+  function listen () {
     callback()
   }
 
-  document.addEventListener("fullscreenchange", function () {
-    listen();
-  });
-  document.addEventListener("mozfullscreenchange", function () {
-    listen();
-  });
-  document.addEventListener("webkitfullscreenchange", function () {
-    listen();
-  });
-  document.addEventListener("msfullscreenchange", function () {
-    listen();
-  });
-};
+  document.addEventListener('fullscreenchange', function () {
+    listen()
+  })
+  document.addEventListener('mozfullscreenchange', function () {
+    listen()
+  })
+  document.addEventListener('webkitfullscreenchange', function () {
+    listen()
+  })
+  document.addEventListener('msfullscreenchange', function () {
+    listen()
+  })
+}
 /**
  * 浏览器判断是否全屏
  */
@@ -168,8 +167,8 @@ export const fullscreenEnable = () => {
   var isFullscreen = document.fullscreenEnabled ||
     window.fullScreen ||
     document.mozFullscreenEnabled ||
-    document.webkitIsFullScreen;
-  return isFullscreen;
+    document.webkitIsFullScreen
+  return isFullscreen
 }
 
 /**
@@ -177,25 +176,25 @@ export const fullscreenEnable = () => {
  */
 export const reqFullScreen = () => {
   if (document.documentElement.requestFullScreen) {
-    document.documentElement.requestFullScreen();
+    document.documentElement.requestFullScreen()
   } else if (document.documentElement.webkitRequestFullScreen) {
-    document.documentElement.webkitRequestFullScreen();
+    document.documentElement.webkitRequestFullScreen()
   } else if (document.documentElement.mozRequestFullScreen) {
-    document.documentElement.mozRequestFullScreen();
+    document.documentElement.mozRequestFullScreen()
   }
-};
+}
 /**
  * 浏览器退出全屏
  */
 export const exitFullScreen = () => {
   if (document.documentElement.requestFullScreen) {
-    document.exitFullScreen();
+    document.exitFullScreen()
   } else if (document.documentElement.webkitRequestFullScreen) {
-    document.webkitCancelFullScreen();
+    document.webkitCancelFullScreen()
   } else if (document.documentElement.mozRequestFullScreen) {
-    document.mozCancelFullScreen();
+    document.mozCancelFullScreen()
   }
-};
+}
 /**
  * 递归寻找子类的父类
  */
@@ -205,16 +204,16 @@ export const findParent = (menu, id) => {
     if (menu[i].children.length != 0) {
       for (let j = 0; j < menu[i].children.length; j++) {
         if (menu[i].children[j].id == id) {
-          return menu[i];
+          return menu[i]
         } else {
           if (menu[i].children[j].children.length != 0) {
-            return findParent(menu[i].children[j].children, id);
+            return findParent(menu[i].children[j].children, id)
           }
         }
       }
     }
   }
-};
+}
 /**
  * 判断2个对象属性和值是否相等
  */
@@ -224,74 +223,74 @@ export const findParent = (menu, id) => {
  */
 
 export const loadStyle = url => {
-  const link = document.createElement('link');
-  link.type = 'text/css';
-  link.rel = 'stylesheet';
-  link.href = url;
-  const head = document.getElementsByTagName('head')[0];
-  head.appendChild(link);
-};
+  const link = document.createElement('link')
+  link.type = 'text/css'
+  link.rel = 'stylesheet'
+  link.href = url
+  const head = document.getElementsByTagName('head')[0]
+  head.appendChild(link)
+}
 /**
  * 判断路由是否相等
  */
 export const isObjectValueEqual = (a, b) => {
-  let result = true;
+  let result = true
   Object.keys(a).forEach(ele => {
-    const type = typeof (a[ele]);
-    if (type === 'string' && a[ele] !== b[ele]) result = false;
-    else if (type === 'object' && JSON.stringify(a[ele]) !== JSON.stringify(b[ele])) result = false;
+    const type = typeof (a[ele])
+    if (type === 'string' && a[ele] !== b[ele]) result = false
+    else if (type === 'object' && JSON.stringify(a[ele]) !== JSON.stringify(b[ele])) result = false
   })
-  return result;
+  return result
 }
 /**
  * 根据字典的value显示label
  */
 export const findByvalue = (dic, value) => {
-  let result = '';
-  if (validatenull(dic)) return value;
-  if (typeof (value) == 'string' || typeof (value) == 'number' || typeof (value) == 'boolean') {
-    let index = 0;
-    index = findArray(dic, value);
+  let result = ''
+  if (validatenull(dic)) return value
+  if (typeof (value) === 'string' || typeof (value) === 'number' || typeof (value) === 'boolean') {
+    let index = 0
+    index = findArray(dic, value)
     if (index != -1) {
-      result = dic[index].label;
+      result = dic[index].label
     } else {
-      result = value;
+      result = value
     }
   } else if (value instanceof Array) {
-    result = [];
-    let index = 0;
+    result = []
+    let index = 0
     value.forEach(ele => {
-      index = findArray(dic, ele);
+      index = findArray(dic, ele)
       if (index != -1) {
-        result.push(dic[index].label);
+        result.push(dic[index].label)
       } else {
-        result.push(value);
+        result.push(value)
       }
-    });
-    result = result.toString();
+    })
+    result = result.toString()
   }
-  return result;
-};
+  return result
+}
 /**
  * 根据字典的value查找对应的index
  */
 export const findArray = (dic, value) => {
   for (let i = 0; i < dic.length; i++) {
     if (dic[i].value == value) {
-      return i;
+      return i
     }
   }
-  return -1;
-};
+  return -1
+}
 /**
  * 生成随机len位数字
  */
 export const randomLenNum = (len, date) => {
-  let random = '';
-  random = Math.ceil(Math.random() * 100000000000000).toString().substr(0, len ? len : 4);
-  if (date) random = random + Date.now();
-  return random;
-};
+  let random = ''
+  random = Math.ceil(Math.random() * 100000000000000).toString().substr(0, len || 4)
+  if (date) random = random + Date.now()
+  return random
+}
 /**
  * 打开小窗口
  */

+ 125 - 127
src/util/validate.js

@@ -2,7 +2,7 @@
  * 邮箱
  * @param {*} s
  */
-export function isEmail(s) {
+export function isEmail (s) {
   return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
 }
 
@@ -10,7 +10,7 @@ export function isEmail(s) {
  * 手机号码
  * @param {*} s
  */
-export function isMobile(s) {
+export function isMobile (s) {
   return /^1[0-9]{10}$/.test(s)
 }
 
@@ -18,7 +18,7 @@ export function isMobile(s) {
  * 电话号码
  * @param {*} s
  */
-export function isPhone(s) {
+export function isPhone (s) {
   return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
 }
 
@@ -26,54 +26,54 @@ export function isPhone(s) {
  * URL地址
  * @param {*} s
  */
-export function isURL(s) {
+export function isURL (s) {
   return /^http[s]?:\/\/.*/.test(s)
 }
 
-export function isvalidUsername(str) {
+export function isvalidUsername (str) {
   const valid_map = ['admin', 'editor']
   return valid_map.indexOf(str.trim()) >= 0
 }
 
-/* 合法uri*/
-export function validateURL(textval) {
+/* 合法uri */
+export function validateURL (textval) {
   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.,?'\\+&%$#=~_-]+))*$/
   return urlregex.test(textval)
 }
 
-/* 小写字母*/
-export function validateLowerCase(str) {
+/* 小写字母 */
+export function validateLowerCase (str) {
   const reg = /^[a-z]+$/
   return reg.test(str)
 }
 
-/* 大写字母*/
-export function validateUpperCase(str) {
+/* 大写字母 */
+export function validateUpperCase (str) {
   const reg = /^[A-Z]+$/
   return reg.test(str)
 }
 
-/* 大小写字母*/
-export function validatAlphabets(str) {
+/* 大小写字母 */
+export function validatAlphabets (str) {
   const reg = /^[A-Za-z]+$/
   return reg.test(str)
 }
 
-/*验证pad还是pc*/
+/* 验证pad还是pc */
 export const vaildatePc = function () {
-  const userAgentInfo = navigator.userAgent;
-  const Agents = ["Android", "iPhone",
-    "SymbianOS", "Windows Phone",
-    "iPad", "iPod"
-  ];
-  let flag = true;
+  const userAgentInfo = navigator.userAgent
+  const Agents = ['Android', 'iPhone',
+    'SymbianOS', 'Windows Phone',
+    'iPad', 'iPod'
+  ]
+  let flag = true
   for (var v = 0; v < Agents.length; v++) {
     if (userAgentInfo.indexOf(Agents[v]) > 0) {
-      flag = false;
-      break;
+      flag = false
+      break
     }
   }
-  return flag;
+  return flag
 }
 
 /**
@@ -81,7 +81,7 @@ export const vaildatePc = function () {
  * @param email
  * @returns {boolean}
  */
-export function validateEmail(email) {
+export function validateEmail (email) {
   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,}))$/
   return re.test(email)
 }
@@ -89,169 +89,167 @@ export function validateEmail(email) {
 /**
  * 判断身份证号码
  */
-export function cardid(code) {
-  let list = [];
-  let result = true;
-  let msg = '';
+export function cardid (code) {
+  let list = []
+  let result = true
+  let msg = ''
   var city = {
-    11: "北京",
-    12: "天津",
-    13: "河北",
-    14: "山西",
-    15: "内蒙古",
-    21: "辽宁",
-    22: "吉林",
-    23: "黑龙江 ",
-    31: "上海",
-    32: "江苏",
-    33: "浙江",
-    34: "安徽",
-    35: "福建",
-    36: "江西",
-    37: "山东",
-    41: "河南",
-    42: "湖北 ",
-    43: "湖南",
-    44: "广东",
-    45: "广西",
-    46: "海南",
-    50: "重庆",
-    51: "四川",
-    52: "贵州",
-    53: "云南",
-    54: "西藏 ",
-    61: "陕西",
-    62: "甘肃",
-    63: "青海",
-    64: "宁夏",
-    65: "新疆",
-    71: "台湾",
-    81: "香港",
-    82: "澳门",
-    91: "国外 "
-  };
+    11: '北京',
+    12: '天津',
+    13: '河北',
+    14: '山西',
+    15: '内蒙古',
+    21: '辽宁',
+    22: '吉林',
+    23: '黑龙江 ',
+    31: '上海',
+    32: '江苏',
+    33: '浙江',
+    34: '安徽',
+    35: '福建',
+    36: '江西',
+    37: '山东',
+    41: '河南',
+    42: '湖北 ',
+    43: '湖南',
+    44: '广东',
+    45: '广西',
+    46: '海南',
+    50: '重庆',
+    51: '四川',
+    52: '贵州',
+    53: '云南',
+    54: '西藏 ',
+    61: '陕西',
+    62: '甘肃',
+    63: '青海',
+    64: '宁夏',
+    65: '新疆',
+    71: '台湾',
+    81: '香港',
+    82: '澳门',
+    91: '国外 '
+  }
   if (!validatenull(code)) {
     if (code.length == 18) {
       if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) {
-        msg = "证件号码格式错误";
+        msg = '证件号码格式错误'
       } else if (!city[code.substr(0, 2)]) {
-        msg = "地址编码错误";
+        msg = '地址编码错误'
       } else {
-        //18位身份证需要验证最后一位校验位
-        code = code.split('');
-        //∑(ai×Wi)(mod 11)
-        //加权因子
-        var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
-        //校验位
-        var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x'];
-        var sum = 0;
-        var ai = 0;
-        var wi = 0;
+        // 18位身份证需要验证最后一位校验位
+        code = code.split('')
+        // ∑(ai×Wi)(mod 11)
+        // 加权因子
+        var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
+        // 校验位
+        var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x']
+        var sum = 0
+        var ai = 0
+        var wi = 0
         for (var i = 0; i < 17; i++) {
-          ai = code[i];
-          wi = factor[i];
-          sum += ai * wi;
+          ai = code[i]
+          wi = factor[i]
+          sum += ai * wi
         }
         if (parity[sum % 11] != code[17]) {
-          msg = "证件号码校验位错误";
+          msg = '证件号码校验位错误'
         } else {
-          result = false;
+          result = false
         }
-
       }
     } else {
-      msg = "证件号码长度不为18位";
+      msg = '证件号码长度不为18位'
     }
-
   } else {
-    msg = "证件号码不能为空";
+    msg = '证件号码不能为空'
   }
-  list.push(result);
-  list.push(msg);
-  return list;
+  list.push(result)
+  list.push(msg)
+  return list
 }
 
 /**
  * 判断手机号码是否正确
  */
-export function isvalidatemobile(phone) {
-  let list = [];
-  let result = true;
-  let msg = '';
-  var isPhone = /^0\d{2,3}-?\d{7,8}$/;
-  //增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
+export function isvalidatemobile (phone) {
+  let list = []
+  let result = true
+  let msg = ''
+  var isPhone = /^0\d{2,3}-?\d{7,8}$/
+  // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
   if (!validatenull(phone)) {
     if (phone.length == 11) {
       if (isPhone.test(phone)) {
-        msg = '手机号码格式不正确';
+        msg = '手机号码格式不正确'
       } else {
-        result = false;
+        result = false
       }
     } else {
-      msg = '手机号码长度不为11位';
+      msg = '手机号码长度不为11位'
     }
   } else {
-    msg = '手机号码不能为空';
+    msg = '手机号码不能为空'
   }
-  list.push(result);
-  list.push(msg);
-  return list;
+  list.push(result)
+  list.push(msg)
+  return list
 }
 
 /**
  * 判断姓名是否正确
  */
-export function validatename(name) {
-  var regName = /^[\u4e00-\u9fa5]{2,4}$/;
-  if (!regName.test(name)) return false;
-  return true;
+export function validatename (name) {
+  var regName = /^[\u4e00-\u9fa5]{2,4}$/
+  if (!regName.test(name)) return false
+  return true
 }
 
 /**
  * 判断是否为整数
  */
-export function validatenum(num, type) {
-  let regName = /[^\d.]/g;
+export function validatenum (num, type) {
+  let regName = /[^\d.]/g
   if (type == 1) {
-    if (!regName.test(num)) return false;
+    if (!regName.test(num)) return false
   } else if (type == 2) {
-    regName = /[^\d]/g;
-    if (!regName.test(num)) return false;
+    regName = /[^\d]/g
+    if (!regName.test(num)) return false
   }
-  return true;
+  return true
 }
 
 /**
  * 判断是否为小数
  */
-export function validatenumord(num, type) {
-  let regName = /[^\d.]/g;
+export function validatenumord (num, type) {
+  let regName = /[^\d.]/g
   if (type == 1) {
-    if (!regName.test(num)) return false;
+    if (!regName.test(num)) return false
   } else if (type == 2) {
-    regName = /[^\d.]/g;
-    if (!regName.test(num)) return false;
+    regName = /[^\d.]/g
+    if (!regName.test(num)) return false
   }
-  return true;
+  return true
 }
 
 /**
  * 判断是否为空
  */
-export function validatenull(val) {
-  if (typeof val == 'boolean') {
-    return false;
+export function validatenull (val) {
+  if (typeof val === 'boolean') {
+    return false
   }
-  if (typeof val == 'number') {
-    return false;
+  if (typeof val === 'number') {
+    return false
   }
   if (val instanceof Array) {
-    if (val.length == 0) return true;
+    if (val.length == 0) return true
   } else if (val instanceof Object) {
-    if (JSON.stringify(val) === '{}') return true;
+    if (JSON.stringify(val) === '{}') return true
   } else {
-    if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true;
-    return false;
+    if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true
+    return false
   }
-  return false;
+  return false
 }