diff --git a/apis/login.js b/apis/login.js
new file mode 100644
index 0000000000000000000000000000000000000000..87248e159a21e9bdd302458e33499cf528100fe2
--- /dev/null
+++ b/apis/login.js
@@ -0,0 +1,7 @@
+/**
+* @Author: xiaozuo28
+* @Date: 2022年5月13日08:05:20
+* @LastEditors: xiaozuo28
+* @LastEditTime: 2022年7月19日23:47:40
+* @Description: Boolean数据处理
+**/
\ No newline at end of file
diff --git a/apis/register.js b/apis/register.js
new file mode 100644
index 0000000000000000000000000000000000000000..87248e159a21e9bdd302458e33499cf528100fe2
--- /dev/null
+++ b/apis/register.js
@@ -0,0 +1,7 @@
+/**
+* @Author: xiaozuo28
+* @Date: 2022年5月13日08:05:20
+* @LastEditors: xiaozuo28
+* @LastEditTime: 2022年7月19日23:47:40
+* @Description: Boolean数据处理
+**/
\ No newline at end of file
diff --git a/utils/help/xzArray.js b/utils/help/xzArray.js
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a0be783308800865bcc90d79031185e772f1a63c 100644
--- a/utils/help/xzArray.js
+++ b/utils/help/xzArray.js
@@ -0,0 +1,287 @@
+/**
+* @Author: xiaozuo28
+* @Date: 2022年5月13日08:05:20
+* @LastEditors: xiaozuo28
+* @LastEditTime: 2022年7月19日23:47:40
+* @Description: Array数据处理
+**/
+
+export default {
+
+
+
+}
+
+
+/**
+ * @description 值是否包含在数组内
+ * @param { Object } array 数组
+ * @param { Object } value 值
+ * @return { Boolean } true:包含,false:不包含
+ * @example
+ * obj.ubArrayIsContains([1,2],2);
+ * true
+ */
+function ubArrayIsContains(array, value) {
+ return array.indexOf(value) != -1 ? true : false;
+}
+
+/**
+ * @description 数组排序
+ * @param { Array } array 数组
+ * @param { Number } 排序方式 1:从小到大 2:从大到小 3:随机
+ * @return { Array } 排序后的数组
+ * @example
+ * obj.ubArraySort([1,2,3],1);
+ * [1,2,3]
+ */
+function ubArraySort(array, type = 1) {
+ return array.sort((a, b) => {
+ switch (type) {
+ case 1:
+ return a - b;
+ case 2:
+ return b - a;
+ case 3:
+ return Math.random() - 0.5;
+ default:
+ return array;
+ }
+ });
+}
+
+/**
+ * @description 数组去重
+ * @param { Object } array 待去重数组
+ * @return { Array } 去重后的数组
+ * @example
+ * obj.ubArrayUnique([1,2,1]);
+ * [1,2]
+ */
+function ubArrayUnique(array) {
+ if (Array.hasOwnProperty('from')) {
+ return Array.from(new Set(array));
+ } else {
+ let n = {},
+ r = [];
+ for (let i = 0; i < array.length; i++) {
+ if (!n[array[i]]) {
+ n[array[i]] = true;
+ r.push(array[i]);
+ }
+ }
+ return r;
+ }
+ // 备注:上面 else 里面的排重并不能区分 2 和 '2',但能减少用indexOf带来的性能,暂时没找到替代的方法。。。
+ // 正确排重
+ // if (Array.hasOwnProperty('from')) {
+ // return Array.from(new Set(arr));
+ // } else {
+ // let r = [],
+ // NaNBol = true;
+ // for (let i = 0; i < array.length; i++) {
+ // if (array[i] !== array[i]) {
+ // if (NaNBol && r.indexOf(array[i]) === -1) {
+ // r.push(array[i]);
+ // NaNBol = false;
+ // }
+ // } else {
+ // if (r.indexOf(array[i]) === -1) {
+ // r.push(array[i]);
+ // }
+ // }
+ // return r;
+ // }
+ // }
+}
+
+/**
+ * @description 求两个数组的并集
+ * @param { Array } array1 第1个数组
+ * @param { Array } array2 第2个数组
+ * @return { Array } 数组并集
+ * @example
+ * obj.ubArrayUnion([1,2],[2,3]);
+ * [1,2,3]
+ */
+function ubArrayUnion(array1, array2) {
+ let newArray = array1.concat(array2);
+ return ubArrayUnique(newArray);
+}
+
+/**
+ * @description 求两个数组的交集
+ * @param { Array } array1 第1个数组
+ * @param { Array } array2 第2个数
+ * @return { Array } 数组交集
+ * @example
+ * obj.ubArrayIntersect([1,2],[2,3]);
+ * [2]
+ */
+function ubArrayIntersect(array1, array2) {
+ array1 = ubArrayUnique(array1);
+ return map(array1, function(o) {
+ return ubArrayIsContains(array2, o) ? o : null;
+ });
+}
+
+/**
+ * @description 删除指定元素
+ * @param { Array } array 数组
+ * @param { Object } value 指定值
+ * @return { Array } 删除后的数组
+ * @example
+ * obj.ubArrayRemove(['1','2'],'2');
+ * ['1']
+ */
+function ubArrayRemove(array, value) {
+ let index = array.indexOf(value);
+ if (index > -1) {
+ array.splice(index, 1);
+ }
+ return array;
+}
+
+/**
+ * @description 删除指定数组中的元素
+ * @param { Array } array 数组
+ * @param { Array } array 指定值
+ * @return { Array } 删除后的数组
+ * @example
+ * obj.ubArrayRemove(['1','2','3'],['2','3','4']);
+ * ['1']
+ */
+function ubArrayRemoveArray(array, deletArray) {
+ for (var i = 0; i < deletArray.length; i++) {
+ let index = array.indexOf(deletArray[i]);
+ if (index > -1) {
+ array.splice(index, 1);
+ }
+ }
+ return array;
+}
+
+/**
+ * @description 将类数组转换成数组
+ * @param { Object } ary 类数组
+ * @return { Array } 数组
+ * @example
+ * let ary = {
+ * 0:'a',
+ * 1:'第二',
+ * 4:'1234',
+ * length:3
+ * };
+ * obj.ubArrayFromArray(art);
+ * ['a','第二','1234']
+ */
+function ubArrayFromArrayLike(araryLike) {
+ let array = [];
+ if (Array.isArray(araryLike)) {
+ array = araryLike;
+ } else {
+ araryLike.length = araryLike.length + 1;
+ array = Array.prototype.slice.call(araryLike,1);
+ }
+ return array;
+}
+
+/**
+ * @description 数组最大值
+ * @param { Array } array 数组
+ * @return { Object } 最大值
+ * @example
+ * obj.ubArrayMax([1,1,2,3,3]);
+ * 3
+ */
+function ubArrayMax(array) {
+ return Math.max.apply(null, array);
+}
+
+/**
+ * @description 数组最小值
+ * @param { Array } array 数组
+ * @return { Object } 最小值
+ * @example
+ * obj.ubArrayMin([1,1,2]);
+ * 1
+ */
+function ubArrayMin(array) {
+ return Math.min.apply(null, array);
+}
+
+/**
+ * @description 数组求和
+ * @param { Object } array 数组
+ * @return { Number } 数组和
+ * @example
+ * obj.ubArraySum([1,2,3]);
+ * 6
+ */
+function ubArraySum(array) {
+ return array.reduce((pre, cur) => {
+ return pre + cur;
+ });
+}
+
+/**
+ * @description 数组求平均值
+ * @param { Object } array 数组
+ * @return { Number } 平均值
+ * @example
+ * obj.ubArrayAverage([1,2,3]);
+ * 2
+ */
+function ubArrayAverage(array) {
+ return ubArraySum(array) / array.length;
+}
+
+/**
+ * @param { array } 数组
+ * @param { fn } 回调函数
+ * @param { thisObj } this指向
+ * @return { Array }
+ */
+function map(array, fn, thisObj) {
+ let scope = thisObj || window;
+ let result = [];
+ for (let i = 0, j = array.length; i < j; ++i) {
+ let res = fn.call(scope, array[i], i, this);
+ if (res != null) {
+ result.push(res);
+ }
+ }
+ return result;
+}
+
+/**
+ * @param {Array} 数组
+ * @param { Function } 回调函数
+ * @return { undefined }
+ */
+function each(array, fn) {
+ fn = fn || Function;
+ let a = [];
+ let args = Array.prototype.slice.call(arguments, 1);
+ for (let i = 0; i < array.length; i++) {
+ let res = fn.apply(array, [array].concat(args));
+ if (res != null) {
+ a.push(res);
+ }
+ }
+}
+
+export default {
+ ubArrayIsContains,
+ ubArraySort,
+ ubArrayUnique,
+ ubArrayUnion,
+ ubArrayIntersect,
+ ubArrayRemove,
+ ubArrayRemoveArray,
+ ubArrayFromArrayLike,
+ ubArrayMax,
+ ubArrayMin,
+ ubArraySum,
+ ubArrayAverage
+}
diff --git a/utils/help/xzFile.js b/utils/help/xzFile.js
index f00cd579d2f225ae2660b06daa64799b8e21a7b5..828a11fe41cd84787389e9ab04efa92d45bc9496 100644
--- a/utils/help/xzFile.js
+++ b/utils/help/xzFile.js
@@ -3,7 +3,7 @@
* @Date: 2022年5月13日08:05:20
* @LastEditors: xiaozuo28
* @LastEditTime: 2022年7月17日08:42:42
-* @Description: 文件处理
+* @Description: File数据处理
**/
export default {
diff --git a/utils/help/xzImage.js b/utils/help/xzImage.js
index a75522b82c10d94feee948dfa779f3ab9e4a69ad..6595668d8d653f8ce8127e1eb145a55ce790cf83 100644
--- a/utils/help/xzImage.js
+++ b/utils/help/xzImage.js
@@ -3,7 +3,7 @@
* @Date: 2022年5月13日08:05:20
* @LastEditors: xiaozuo28
* @LastEditTime: 2022年7月17日08:42:42
-* @Description: 图片处理
+* @Description: Image数据处理
**/
export default {
diff --git a/utils/help/xzNumber.js b/utils/help/xzNumber.js
index e234612ae2d2df42dc8d5327442dfbdf25dd356d..92532009879bb1a54c87f17ba5746311a9081d42 100644
--- a/utils/help/xzNumber.js
+++ b/utils/help/xzNumber.js
@@ -3,7 +3,7 @@
* @Date: 2022年5月13日08:05:20
* @LastEditors: xiaozuo28
* @LastEditTime: 2022年7月17日08:42:42
-* @Description: 数字处理
+* @Description: Number数据处理
**/
export default {
diff --git a/utils/help/xzString.js b/utils/help/xzString.js
index 78366cddb8f35f0eb73a634de3a879dd7293c3fc..256eaa7937d6a41df0b9525ff41e04e751b7f7ba 100644
--- a/utils/help/xzString.js
+++ b/utils/help/xzString.js
@@ -3,7 +3,7 @@
* @Date: 2022年5月13日08:05:20
* @LastEditors: xiaozuo28
* @LastEditTime: 2022年7月19日23:47:40
-* @Description: Boolean数据处理
+* @Description: String数据处理
**/
export default {