From 8771da2ccf6f7c3fd2a8c89a1a0e230c6386db7f Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期一, 17 十一月 2025 15:40:48 +0800
Subject: [PATCH] feat(api): 新增多个API接口并优化配置
---
common/util.js | 1008 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 896 insertions(+), 112 deletions(-)
diff --git a/common/util.js b/common/util.js
index 43a17d8..5b20f88 100644
--- a/common/util.js
+++ b/common/util.js
@@ -1,86 +1,683 @@
+import {
+ log
+} from 'mathjs';
+import JSEncrypt from './jsencrypt';
+import {
+ ACCESSTOKEN,
+ config
+} from '@/common/config.js'
+
+let publicKey =
+ 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCTREknOkrusbeH7kBe3mSw4AwVT438IWmX/jKmcvYxaAWRrBJiMl7gk37L78HBG/ZstLLcdKBYYdj/5cvVWDQfv+uxbv/piZhOmQej98jWIXEA8aFEk724nFRJ7nfcEhHSWfzbTfgZw0KDO1mWdjWHnHIx/MtD0HIFFIyzg3aO7wIDAQAB';
+
+//鏍¢獙閾惰鍗″彿
+export function verifyBankCard(str) {
+ //閾惰鍗″彿闀垮害鍦�16鍒�19涔嬮棿
+ if (str.length < 16 || str.length > 19) {
+ return false;
+ }
+ var num = /^\d*$/;
+ if (!num.exec(str)) {
+ //閾惰鍗″彿蹇呴』鍏ㄤ负鏁板瓧;
+ return false;
+ }
+ //寮�澶�6浣�
+ var strBin =
+ "10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99";
+ if (strBin.indexOf(str.substring(0, 2)) == -1) { //閾惰鍗″彿寮�澶�6浣嶄笉绗﹀悎瑙勮寖
+ return false;
+ }
+ var lastNum = str.substr(str.length - 1, 1); //鍙栧嚭鏈�鍚庝竴浣嶏紙涓巐uhm杩涜姣旇緝锛�
+ var first15Num = str.substr(0, str.length - 1); //鍓�15鎴�18浣�
+ var newArr = new Array();
+ for (var i = first15Num.length - 1; i > -1; i--) { //鍓�15鎴�18浣嶅�掑簭瀛樿繘鏁扮粍
+ newArr.push(first15Num.substr(i, 1));
+ }
+ var arrJiShu = new Array(); //濂囨暟浣�*2鐨勭Н <9
+ var arrJiShu2 = new Array(); //濂囨暟浣�*2鐨勭Н >9
+
+ var arrOuShu = new Array(); //鍋舵暟浣嶆暟缁�
+ for (var j = 0; j < newArr.length; j++) {
+ if ((j + 1) % 2 == 1) { //濂囨暟浣�
+ if (parseInt(newArr[j]) * 2 < 9)
+ arrJiShu.push(parseInt(newArr[j]) * 2);
+ else
+ arrJiShu2.push(parseInt(newArr[j]) * 2);
+ } else //鍋舵暟浣�
+ arrOuShu.push(newArr[j]);
+ }
+
+ var jishu_child1 = new Array(); //濂囨暟浣�*2 >9 鐨勫垎鍓蹭箣鍚庣殑鏁扮粍涓綅鏁�
+ var jishu_child2 = new Array(); //濂囨暟浣�*2 >9 鐨勫垎鍓蹭箣鍚庣殑鏁扮粍鍗佷綅鏁�
+ for (var h = 0; h < arrJiShu2.length; h++) {
+ jishu_child1.push(parseInt(arrJiShu2[h]) % 10);
+ jishu_child2.push(parseInt(arrJiShu2[h]) / 10);
+ }
+
+ var sumJiShu = 0; //濂囨暟浣�*2 < 9 鐨勬暟缁勪箣鍜�
+ var sumOuShu = 0; //鍋舵暟浣嶆暟缁勪箣鍜�
+ var sumJiShuChild1 = 0; //濂囨暟浣�*2 >9 鐨勫垎鍓蹭箣鍚庣殑鏁扮粍涓綅鏁颁箣鍜�
+ var sumJiShuChild2 = 0; //濂囨暟浣�*2 >9 鐨勫垎鍓蹭箣鍚庣殑鏁扮粍鍗佷綅鏁颁箣鍜�
+ var sumTotal = 0;
+ for (var m = 0; m < arrJiShu.length; m++) {
+ sumJiShu = sumJiShu + parseInt(arrJiShu[m]);
+ }
+
+ for (var n = 0; n < arrOuShu.length; n++) {
+ sumOuShu = sumOuShu + parseInt(arrOuShu[n]);
+ }
+
+ for (var p = 0; p < jishu_child1.length; p++) {
+ sumJiShuChild1 = sumJiShuChild1 + parseInt(jishu_child1[p]);
+ sumJiShuChild2 = sumJiShuChild2 + parseInt(jishu_child2[p]);
+ }
+ //璁$畻鎬诲拰
+ sumTotal = parseInt(sumJiShu) + parseInt(sumOuShu) + parseInt(sumJiShuChild1) + parseInt(sumJiShuChild2);
+
+ //璁$畻Luhm鍊�
+ var k = parseInt(sumTotal) % 10 == 0 ? 10 : parseInt(sumTotal) % 10;
+ var luhm = 10 - k;
+
+ if (lastNum == luhm) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+/**
+ * 鍔犲瘑
+ * @param {Object} pas
+ */
+export function RSAencrypt(pas) {
+ //瀹炰緥鍖杍sEncrypt瀵硅薄
+ let jse = new JSEncrypt();
+ //璁剧疆鍏挜
+ jse.setPublicKey(publicKey);
+ return jse.encrypt(pas);
+}
+
+/**
+ * 鎷兼帴ftp鍥剧墖璺緞
+ * @param {Object} item
+ * @param {Object} src
+ */
+export function getImgPath(item, src) {
+ if (isBlank(item)) {
+ return src
+ }
+ var ftp = config.sftpURL
+ if (typeof item === 'string') {
+ const arr = JSON.parse(item)
+ return ftp + arr[0].path
+ } else if (typeof item === 'object') {
+ return ftp + item.path
+ } else {
+ return ftp + item
+ }
+}
/**
* 鍒ゆ柇瀛楃涓茬┖
* @param {Object} str
*/
export function isBlank(str) {
- if (str === undefined || str === null || str === '' || str === 'null' || str.length == 0) {
- return true
- } else {
- return false
- }
-}
-/**
- * 涓ゆ暟鐩镐箻 arg1 * arg2
- * @Date 2020/5/9 13:19
- **/
-export function accMul(arg1, arg2) {
- let t = 0
- arg1 = arg1 ? arg1.toString() : '0'
- arg2 = arg2 ? arg2.toString() : '0'
- if (arg1.includes('.')) {
- t += arg1.split('.')[1].length
- }
- if (arg2.includes('.')) {
- t += arg2.split('.')[1].length
- }
- const r1 = Number(arg1.replace('.', ''))
- const r2 = Number(arg2.replace('.', ''))
- return (r1 * r2) / Math.pow(10, t)
+ if (str === undefined || str === null || str === '' || str === 'null' || str.length == 0) {
+ return true
+ } else {
+ return false
+ }
}
-/**
- * 涓ゆ暟鐩搁櫎 arg1 / arg2
- * @Date 2020/5/9 13:18
- **/
-export function accDiv(arg1, arg2) {
- let t = 0
- arg1 = arg1 ? arg1.toString() : '0'
- arg2 = arg2 ? arg2.toString() : '0'
- if (arg2.includes('.')) {
- t = arg2.split('.')[1].length
- }
- if (arg1.includes('.')) {
- t -= arg1.split('.')[1].length
- }
- const r1 = Number(arg1.replace('.', ''))
- const r2 = Number(arg2.replace('.', ''))
- return accMul((r1 / r2), Math.pow(10, t))
-}
/**
* 鍒ゆ柇闈炵┖
* @param {Object} str
*/
export function isNotBlank(str) {
- return !isBlank(str)
+ return !isBlank(str)
+}
+
+/**
+ * 鍒ゆ柇token鏄惁瀛樺湪
+ */
+export function getToken() {
+ return uni.getStorageSync(ACCESSTOKEN);
+}
+
+/**
+ * 鍒ゆ柇token鏄惁瀛樺湪
+ */
+export function hasToken() {
+ return !isBlank(getToken());
+}
+
+/**
+ * 鑾峰彇鐢ㄦ埛淇℃伅
+ */
+export function getUserInfo() {
+ return JSON.parse(uni.getStorageSync('userInfo'))
+}
+
+/**
+ * 鍒ゆ柇涓や釜鏁扮粍鐨勫唴瀹规槸鍚︾浉鍚�
+ */
+export function arrEquals(arr1, arr2) {
+ // if the other arr2 is a falsy value, return
+ if (!arr2)
+ return false;
+
+ // compare lengths - can save a lot of time
+ if (arr1.length != arr2.length)
+ return false;
+
+ for (var i = 0, l = arr1.length; i < l; i++) {
+ // Check if we have nested arr2s
+ if (arr1[i] instanceof Array && arr2[i] instanceof Array) {
+ // recurse into the nested arr2s
+ if (!arr1[i].equals(arr2[i]))
+ return false;
+ } else if (arr1[i] != arr2[i]) {
+ // Warning - two different object instances will never be equal: {x:20} != {x:20}
+ return false;
+ }
+ }
+ return true;
+}
+
+/**
+ * 鑾峰彇褰撳墠鏃堕棿
+ */
+export function getDate(type) {
+ const date = new Date();
+ let year = date.getFullYear();
+ let month = date.getMonth() + 1;
+ let day = date.getDate();
+
+ if (type === 'start') {
+ year = year - 60;
+ } else if (type === 'end') {
+ year = year + 2;
+ }
+ month = month > 9 ? month : '0' + month;;
+ day = day > 9 ? day : '0' + day;
+ return `${year}-${month}-${day}`;
+}
+
+/**
+ * 鍒ゆ柇鏄惁涓烘暣鏁�,涓烘暣鏁板垯鎷兼帴'.0'
+ */
+export function rateMark(num) {
+ if (Number.isInteger(num)) {
+ return num + '.0'
+ } else {
+ return num
+ }
+}
+
+/**
+ * 绉掕浆鍒嗛挓
+ * @param {Object} value
+ */
+export function formatSeconds(value) {
+ var secondTime = parseInt(value); // 绉�
+ var minuteTime = 0; // 鍒�
+ var hourTime = 0; // 灏忔椂
+ if (secondTime > 60) { //濡傛灉绉掓暟澶т簬60锛屽皢绉掓暟杞崲鎴愭暣鏁�
+ //鑾峰彇鍒嗛挓锛岄櫎浠�60鍙栨暣鏁帮紝寰楀埌鏁存暟鍒嗛挓
+ minuteTime = parseInt(secondTime / 60);
+ //鑾峰彇绉掓暟锛岀鏁板彇浣橈紝寰楀埌鏁存暟绉掓暟
+ secondTime = parseInt(secondTime % 60);
+ //濡傛灉鍒嗛挓澶т簬60锛屽皢鍒嗛挓杞崲鎴愬皬鏃�
+ if (minuteTime > 60) {
+ //鑾峰彇灏忔椂锛岃幏鍙栧垎閽熼櫎浠�60锛屽緱鍒版暣鏁板皬鏃�
+ hourTime = parseInt(minuteTime / 60);
+ //鑾峰彇灏忔椂鍚庡彇浣樼殑鍒嗭紝鑾峰彇鍒嗛挓闄や互60鍙栦綐鐨勫垎
+ minuteTime = parseInt(minuteTime % 60);
+ }
+ }
+ var result = "" + parseInt(secondTime) + "绉�";
+
+ if (minuteTime > 0) {
+ result = "" + parseInt(minuteTime) + "鍒�" + result;
+ }
+ if (hourTime > 0) {
+ result = "" + parseInt(hourTime) + "灏忔椂" + result;
+ }
+ return result;
+}
+
+/**
+ * 鏃ユ湡鏍煎紡鍖�
+ * @param {Object} date
+ * @param {Object} fmt
+ */
+export function dateFormat(date, fmt) {
+ if (!date) {
+ return
+ }
+ if (!fmt) {
+ fmt = 'yyyy-MM-dd hh:mm'
+ }
+ if (!(date instanceof Date)) {
+ date = new Date(date.replace(/-/g, '/'))
+ }
+
+ if (/(y+)/.test(fmt)) {
+ fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
+ }
+
+ let o = {
+ 'M+': date.getMonth() + 1,
+ 'd+': date.getDate(),
+ 'h+': date.getHours(),
+ 'm+': date.getMinutes(),
+ 's+': date.getSeconds()
+ };
+
+ for (let k in o) {
+ if (new RegExp(`(${k})`).test(fmt)) {
+ let str = o[k] + '';
+ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length));
+ }
+ }
+ return fmt;
+}
+
+
+/**
+ * 浼犲叆鏃堕棿鏍煎紡鐨勬椂闂达紝浠ュ綋鍓嶆椂闂翠负鏍囧噯锛岃繑鍥炶窛绂诲綋鍓嶆椂闂翠箣鍓�
+ */
+export function timeago(date) { //dateTimeStamp鏄竴涓椂闂存绉掞紝娉ㄦ剰鏃堕棿鎴虫槸绉掔殑褰㈠紡锛屽湪杩欎釜姣鐨勫熀纭�涓婇櫎浠�1000锛屽氨鏄崄浣嶆暟鐨勬椂闂存埑銆�13浣嶆暟鐨勯兘鏄椂闂存绉掋��
+ if (!date) {
+ return
+ }
+ if (!(date instanceof Date)) {
+ date = new Date(date.replace(/-/g, '/'))
+ }
+
+ var dateTimeStamp = date.getTime()
+
+ var minute = 1000 * 60; //鎶婂垎锛屾椂锛屽ぉ锛屽懆锛屽崐涓湀锛屼竴涓湀鐢ㄦ绉掕〃绀�
+ var hour = minute * 60;
+ var day = hour * 24;
+ var week = day * 7;
+ var halfamonth = day * 15;
+ var month = day * 30;
+ var now = new Date().getTime(); //鑾峰彇褰撳墠鏃堕棿姣
+ var diffValue = now - dateTimeStamp; //鏃堕棿宸�
+
+ if (diffValue < 0) {
+ return;
+ }
+ var minC = diffValue / minute; //璁$畻鏃堕棿宸殑鍒嗭紝鏃讹紝澶╋紝鍛紝鏈�
+ var hourC = diffValue / hour;
+ var dayC = diffValue / day;
+ var weekC = diffValue / week;
+ var monthC = diffValue / month;
+ var result = '';
+ if (monthC >= 1 && monthC <= 3) {
+ result = " " + parseInt(monthC) + "鏈堝墠"
+ } else if (weekC >= 1 && weekC <= 3) {
+ result = " " + parseInt(weekC) + "鍛ㄥ墠"
+ } else if (dayC >= 1 && dayC <= 6) {
+ result = " " + parseInt(dayC) + "澶╁墠"
+ } else if (hourC >= 1 && hourC <= 23) {
+ result = " " + parseInt(hourC) + "灏忔椂鍓�"
+ } else if (minC >= 1 && minC <= 59) {
+ result = " " + parseInt(minC) + "鍒嗛挓鍓�"
+ } else if (diffValue >= 0 && diffValue <= minute) {
+ result = "鍒氬垰"
+ } else {
+ var datetime = new Date();
+ datetime.setTime(dateTimeStamp);
+ var Nyear = datetime.getFullYear();
+ var Nmonth = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
+ var Ndate = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();
+ var Nhour = datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime.getHours();
+ var Nminute = datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime.getMinutes();
+ var Nsecond = datetime.getSeconds() < 10 ? "0" + datetime.getSeconds() : datetime.getSeconds();
+ result = Nyear + "-" + Nmonth + "-" + Ndate
+ }
+ return result;
+}
+
+/**
+ * 鏁扮粍鎴彇
+ * @param {Object} data
+ * @param {Object} index
+ * @param {Object} num
+ */
+export function subArray(data, index, num) {
+ return data.slice(index * num, (index * num) + num)
+}
+
+// 鏍规嵁绱㈠紩鏇挎崲瀛楃涓蹭腑鐨勫厓绱狅紝甯哥敤璇瓧绗︿覆鍔犲瘑
+export function stringReplace(content, start, num, str) {
+ var content = content.split("");
+ content.splice(start, num, str)
+ return content.join("");
+}
+
+export function getByteLength(str) {
+ //鍏堟妸涓枃鏇挎崲鎴愪袱涓瓧鑺傜殑鑻辨枃锛屽湪璁$畻闀垮害
+ var aa = str.replace(/[\u0391-\uFFE5]/g, "@@")
+ return aa.length;
+}
+
+export function getDiffDay(date_1, date_2) {
+ // 璁$畻涓や釜鏃ユ湡涔嬮棿鐨勫樊鍊�
+ let totalDays, diffDate
+ let myDate_1 = new Date(date_1.replace(/-/g, '/'))
+ let myDate_2 = new Date(date_2.replace(/-/g, '/'))
+ // 灏嗕袱涓棩鏈熼兘杞崲涓烘绉掓牸寮忥紝鐒跺悗鍋氬樊
+ diffDate = Math.abs(myDate_1 - myDate_2) // 鍙栫浉宸绉掓暟鐨勭粷瀵瑰��
+
+ totalDays = Math.floor(diffDate / (1000 * 3600 * 24)) // 鍚戜笅鍙栨暣
+ // console.log(totalDays)
+
+ return totalDays // 鐩稿樊鐨勫ぉ鏁�
+}
+
+/**
+ * 鑾峰彇涓や釜鏃ユ湡鐩稿樊鐨勬湀鏃ユ椂鍒�
+ * @param {Object} start
+ * @param {Object} end
+ * @param {Object} cha
+ * @param {Object} flag
+ */
+export function timeFn(start, end, cha, flag) {
+ if (!!!cha) {
+ cha = 0
+ }
+ if (!(start instanceof Date)) {
+ start = new Date(start.replace(/-/g, '/'))
+ }
+ start.setSeconds(start.getSeconds() - 1)
+
+ if (!(end instanceof Date)) {
+ end = new Date(end.replace(/-/g, '/'))
+ }
+
+ var dateDiff = end.getTime() - start + cha; //鏃堕棿宸殑姣鏁�
+ if (dateDiff == 0) {
+ return null
+ }
+ var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000)); //璁$畻鍑虹浉宸ぉ鏁�
+ var leave1 = dateDiff % (24 * 3600 * 1000) //璁$畻澶╂暟鍚庡墿浣欑殑姣鏁�
+ var hours = Math.floor(leave1 / (3600 * 1000)) //璁$畻鍑哄皬鏃舵暟
+ //璁$畻鐩稿樊鍒嗛挓鏁�
+ var leave2 = leave1 % (3600 * 1000) //璁$畻灏忔椂鏁板悗鍓╀綑鐨勬绉掓暟
+ var minutes = Math.floor(leave2 / (60 * 1000)) //璁$畻鐩稿樊鍒嗛挓鏁�
+ //璁$畻鐩稿樊绉掓暟
+ var leave3 = leave2 % (60 * 1000) //璁$畻鍒嗛挓鏁板悗鍓╀綑鐨勬绉掓暟
+ var seconds = Math.round(leave3 / 1000)
+
+ var leave4 = leave3 % (60 * 1000) //璁$畻鍒嗛挓鏁板悗鍓╀綑鐨勬绉掓暟
+ var minseconds = Math.round(leave4 / 1000)
+ if (seconds * 1 < 10) {
+ seconds = '0' + seconds
+ }
+ if (minutes * 1 < 10) {
+ minutes = '0' + minutes
+ }
+ if (hours * 1 < 10) {
+ hours = '0' + hours
+ }
+ if (flag) {
+ var timeFn = (dayDiff ? dayDiff + "澶�" : '') + hours + "鏃�" + minutes + "鍒�" + seconds + "绉�";
+ return timeFn;
+ }
+ var timeFn = (dayDiff ? dayDiff + "澶�" : '') + hours + ":" + minutes + ":" + seconds;
+ return timeFn;
+}
+
+
+/**
+ * 绠�鍗曠殑uuid
+ */
+export function guid() {
+ return 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+ var r = Math.random() * 16 | 0,
+ v = c == 'x' ? r : (r & 0x3 | 0x8);
+ return v.toString(16);
+ });
+}
+
+/**
+ * 鑾峰彇long鍨嬫暟鎹�
+ */
+export function glong() {
+ return 'xxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+ var r = Math.floor((Math.random() * 10)) | 0,
+ v = c == 'x' ? r : (r & 0x3);
+ return v.toString();
+ });
+}
+
+/**
+ * 椤甸潰璺宠浆
+ * @param {Object} url
+ * @param {Object} param
+ */
+export function go(url, param) {
+ var pm = '';
+ if (param != undefined) {
+ if (typeof param === 'string') {
+ param = JSON.parse(param)
+ }
+ for (var p in param) {
+ //閬嶅巻json瀵硅薄鐨勬瘡涓猭ey/value瀵�,p涓簁ey
+ pm += '&' + p + '=' + param[p];
+ }
+ }
+ pm = pm.substr(1);
+ uni.navigateTo({
+ url: url + '?' + pm
+ });
+}
+
+/**
+ * 椤甸潰璺宠浆
+ * @param {Object} url
+ * @param {Object} param
+ */
+export function redirect(url, param) {
+ var pm = '';
+ if (param != undefined) {
+ if (typeof param === 'string') {
+ param = JSON.parse(param)
+ }
+ for (var p in param) {
+ //閬嶅巻json瀵硅薄鐨勬瘡涓猭ey/value瀵�,p涓簁ey
+ pm += '&' + p + '=' + param[p];
+ }
+ }
+ pm = pm.substr(1);
+ uni.redirectTo({
+ url: url + '?' + pm
+ });
+}
+
+/**
+ * 璺宠浆棣栭〉
+ */
+export function goIndex() {
+ uni.reLaunch({
+ url: '/pages/index/index'
+ });
+}
+
+/**
+ * 璺宠浆鐧诲綍椤�
+ */
+export function goLogin(callbackUrl) {
+ if (callbackUrl) {
+ uni.redirectTo({
+ url: `/pages/user/login/index?callbackUrl=/${callbackUrl}`
+ });
+ } else {
+ uni.redirectTo({
+ url: `/pages/user/login/index`
+ });
+ }
+
+}
+
+/**
+ * 杩斿洖
+ */
+export function goBack() {
+ uni.navigateBack()
+}
+
+/**
+ * 棰滆壊16杩涘埗杞琑GB鏂规硶
+ * @param {Object} c
+ */
+export function colorRgb(c) {
+ var sColor = c.toLowerCase();
+ //鍗佸叚杩涘埗棰滆壊鍊肩殑姝e垯琛ㄨ揪寮�
+ var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
+ // 濡傛灉鏄�16杩涘埗棰滆壊
+ if (sColor && reg.test(sColor)) {
+ if (sColor.length === 4) {
+ var sColorNew = "#";
+ for (var i = 1; i < 4; i += 1) {
+ sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
+ }
+ sColor = sColorNew;
+ }
+ //澶勭悊鍏綅鐨勯鑹插��
+ var sColorChange = [];
+ for (var i = 1; i < 7; i += 2) {
+ sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2)));
+ }
+ return "(" + sColorChange.join(",") + ",.08)";
+ }
+ return sColor;
+};
+
+/**
+ * 楠岃瘉鎵嬫満鍙�
+ * @param {Object} mobile
+ */
+export function checkMobile(mobile) {
+ return /^1[3456789]\d{9}$/.test(mobile);
+}
+
+/**
+ * 楠岃瘉韬唤璇佸彿
+ * @param {Object} cardNo
+ */
+export function checkCardNo(cardNo) {
+ return /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/
+ .test(cardNo);
+}
+
+/**
+ * 楠岃瘉閭
+ * @param {Object} email
+ */
+export function checkEmail(email) {
+ return /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(email);
+}
+
+/**
+ * 闃挎媺浼暟瀛楄浆涓枃鏁板瓧
+ * @param {Object} num
+ */
+export function NoToChinese(num) {
+ var AA = new Array("闆�", "涓�", "浜�", "涓�", "鍥�", "浜�", "鍏�", "涓�", "鍏�", "涔�");
+ var BB = new Array("", "鍗�", "鐧�", "鍗�", "涓�", "浜�", "鐐�", "");
+ var a = ("" + num).replace(/(^0*)/g, "").split("."),
+ k = 0,
+ re = "";
+ for (var i = a[0].length - 1; i >= 0; i--) {
+ switch (k) {
+ case 0:
+ re = BB[7] + re;
+ break;
+ case 4:
+ if (!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0]))
+ re = BB[4] + re;
+ break;
+ case 8:
+ re = BB[5] + re;
+ BB[7] = BB[5];
+ k = 0;
+ break;
+ }
+ if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re;
+ if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re;
+ k++;
+ }
+ if (a.length > 1) //鍔犱笂灏忔暟閮ㄥ垎(濡傛灉鏈夊皬鏁伴儴鍒�)
+ {
+ re += BB[6];
+ for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
+ }
+ return re;
+};
+
+/**
+ * 鍚堝苟瀵硅薄鐩稿悓灞炴��
+ * chenlong
+ * @param obj1 鐩爣瀵硅薄
+ * @param obj2 婧愬璞�
+ */
+export function mergeObj(obj1, obj2) {
+ const res = {}
+ Object.keys(obj2).map(key => {
+ if (key in obj1) {
+ res[key] = obj2[key]
+ }
+ })
+ return res
+}
+
+/**
+ * 鑾峰彇杩斿洖鍊�
+ * @param {Object} res
+ * @param {Object} fun
+ */
+export function getContent(res, fun) {
+ if (res.code === 10000) {
+ fun(res.data)
+ } else {
+ uni.showToast({
+ title: res.msg,
+ duration: 1500,
+ icon: 'none'
+ });
+ }
}
/* 姝f暣鏁� */
export function isInteger(number) {
- const reg = /^[1-9]\d*$/
- if (reg.test(number)) {
- return true
- } else {
- return false
- }
+ const reg = /^[1-9]\d*$/
+ if (reg.test(number)) {
+ return true
+ } else {
+ return false
+ }
}
/* 鍒ゆ柇鏄惁涓虹┖ */
export function isEmpty(item) {
- if (item === undefined || item === null || item === '') {
- return true
- }
- return false
+ if (item === undefined || item === null || item === '') {
+ return true
+ }
+ return false
}
/* 鏍¢獙浠锋牸锛屾渶澶氫袱浣嶅皬鏁扮偣 */
export function isPrice(price) {
- const reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
- if (reg.test(price)) {
- return true
- } else {
- return false
- }
+ const reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
+ if (reg.test(price)) {
+ return true
+ } else {
+ return false
+ }
}
/**
@@ -89,10 +686,10 @@
* @returns {number|*}
*/
export function formatYuanToFen(val) {
- if (isEmpty(val) || !isPrice(val)) {
- return val
- }
- return parseFloat(val) * 100
+ if (isEmpty(val) || !isPrice(val)) {
+ return val
+ }
+ return parseFloat(val) * 100
}
/**
@@ -101,57 +698,244 @@
* @returns {number|*}
*/
export function formatFenToYuan(val) {
- if (isEmpty(val) || !isInteger(val)) {
- return val
- }
- return parseFloat(val) / 100
+ if (isEmpty(val) || !isInteger(val)) {
+ return val
+ }
+ return parseFloat(val) / 100
}
-/* 鍏冭浆鍒� */
-export function yuanToFen(amount) {
- let fen = 0
- if (!amount) {
- return fen;
- }
- fen = accMul(amount,100)
- console.log(amount,fen);
- return fen
+
+
+/**
+ * 鎻愮ず閿欒淇℃伅
+ */
+export function showErrorMsg(msg) {
+ uni.showToast({
+ title: msg,
+ icon: 'none'
+ });
+ return false;
}
-/* 鍒嗚浆鍏� */
-export function fenToYuan(amount) {
- if (!amount) {
- return "0";
- }
- amount = amount.toString();
- if (amount.length == 1) {
- return parseFloat("0.0" + amount);
- } else if (amount.length == 2) {
- return parseFloat("0." + amount);
- } else {
- return parseFloat(amount.substring(0, amount.length - 2) + "." + amount.substring(amount.length - 2));
- }
+
+/**
+ * 鎻愮ず鎴愬姛淇℃伅
+ */
+export function showSuccessMsg(msg) {
+ uni.showToast({
+ title: msg,
+ icon: 'none'
+ });
}
-// 鍒ゆ柇寰俊銆佹敮浠樺疂 2寰俊 5鏀粯瀹� 3鍏朵粬
+
+
+/**
+ * 璁$畻鏃堕棿宸�
+ */
+export function timeDiff(startTime, endTime) {
+ // 璁$畻鐩稿樊鐨勬椂闂�
+ const timeDiff = endTime.getTime() - startTime.getTime();
+ if (timeDiff <= 0) return false;
+
+ const totalSeconds = Math.floor(timeDiff / 1000);
+ const hours = Math.floor(totalSeconds / 60 / 60);
+ const minutes = Math.floor((totalSeconds - hours * 60 * 60) / 60);
+ const seconds = Math.floor(totalSeconds - hours * 60 * 60 - minutes * 60);
+ const timeDiffArray = [hours, minutes, seconds].map(e => {
+ return e < 10 ? '0' + e : e;
+ });
+ return timeDiffArray;
+}
+
+/**
+ * 涓ゆ暟鐩稿姞 arg1 + arg2
+ * @param arg1
+ * @param arg2
+ * @returns {number}
+ */
+export function add(arg1, arg2) {
+ var t = 0
+ arg1 = arg1 ? arg1.toString() : '0'
+ arg2 = arg2 ? arg2.toString() : '0'
+ if (arg1.includes('.')) {
+ t = arg1.split('.')[1].length
+ }
+ if (arg2.includes('.')) {
+ t = Math.max(arg2.split('.')[1].length, t)
+ }
+ var m = Math.pow(10, t)
+ return Number(((this.mul(arg1, m) + this.mul(arg2, m)) / m))
+}
+
+/**
+ * 涓ゆ暟鐩稿噺 arg1 - arg2
+ * @param arg1
+ * @param arg2
+ * @returns {number}
+ */
+export function sub(arg1, arg2) {
+ var t = 0
+ arg1 = arg1 ? arg1.toString() : '0'
+ arg2 = arg2 ? arg2.toString() : '0'
+ if (arg1.includes('.')) {
+ t = arg1.split('.')[1].length
+ }
+ if (arg2.includes('.')) {
+ t = Math.max(arg2.split('.')[1].length, t)
+ }
+ var m = Math.pow(10, t)
+ return Number(((this.mul(arg1, m) - this.mul(arg2, m)) / m))
+}
+
+/**
+ * 涓ゆ暟鐩镐箻 arg1 * arg2
+ * @param arg1
+ * @param arg2
+ * @returns {number}
+ */
+export function mul(arg1, arg2) {
+ var t = 0
+ arg1 = arg1 ? arg1.toString() : '0'
+ arg2 = arg2 ? arg2.toString() : '0'
+ if (arg1.includes('.')) {
+ t += arg1.split('.')[1].length
+ }
+ if (arg2.includes('.')) {
+ t += arg2.split('.')[1].length
+ }
+ var r1 = Number(arg1.replace('.', ''))
+ var r2 = Number(arg2.replace('.', ''))
+ return (r1 * r2) / Math.pow(10, t)
+}
+
+/**
+ * 涓ゆ暟鐩搁櫎 arg1 / arg2
+ * @param arg1
+ * @param arg2
+ * @returns {number}
+ */
+export function abs(arg1, arg2) {
+ var t = 0
+ arg1 = arg1 ? arg1.toString() : '0'
+ arg2 = arg2 ? arg2.toString() : '0'
+ if (arg2.includes('.')) {
+ t = arg2.split('.')[1].length
+ }
+ if (arg1.includes('.')) {
+ t -= arg1.split('.')[1].length
+ }
+ var r1 = Number(arg1.replace('.', ''))
+ var r2 = Number(arg2.replace('.', ''))
+ return this.mul((r1 / r2), Math.pow(10, t))
+}
+
+/**
+ * arg1*100/(arg1+arg2)
+ * @param {Object} arg2
+ * @param {Object} arg1
+ */
+export function percentage(arg1, arg2) {
+ var add = this.add(arg1, arg2)
+ return this.mul(this.abs(arg1, add), 100)
+}
+
+/**
+ * 鏌ョ湅缃戠粶鐘舵��
+ * false 娌℃湁缃戠粶 true 鏈夌綉缁�
+ */
+export function getNetworkStatus() {
+ var result = ''
+ uni.getNetworkType({
+ success: (res) => {
+ if (res.networkType == 'none') {
+ // this.$u.toast("娌℃湁缃戠粶");
+ result = false
+ } else {
+ // this.$u.toast("鏈夌綉缁�");
+ result = true
+ }
+ }
+ })
+ return result
+}
+
+/**
+ * @param {Object} key 缂撳瓨鐨刱ey
+ * @param {Object} param 瑕佺紦瀛樼殑瀵硅薄
+ * 灏唒aram push鍒扮紦瀛樻暟缁勪腑
+ */
+export function setArrayStorageSync(key, param) {
+ const data = uni.getStorageSync(key) || []
+ data.push(param)
+ uni.setStorageSync(key, data)
+}
+
+// 鑾峰彇杞挱鍥惧垪琛�
+export function getBannerImg(val, state) {
+ let list = []
+ if (!isBlank(val) && state === '2') {
+ let arr = JSON.parse(val)
+ arr.map(x => {
+ list.push(config.sftpURL + x.path)
+ })
+ } else {
+ list = [config.imgUrl + 'no-book.png']
+ }
+ return list
+}
+
+// 鍟嗗搧鍥剧墖璺緞
+export function getGoodsImg(val, state) {
+ let headImg = ""
+ if (!isBlank(val) && state === '2') {
+ headImg = config.sftpURL + JSON.parse(val)[0].path
+ } else {
+ headImg = config.imgUrl + 'no-book.png'
+ }
+ return headImg
+}
+
+// 鍥剧墖璺緞
+export function GoodsImg(val) {
+ let headImg = ""
+ if (!isBlank(val)) {
+ headImg = config.sftpURL + val
+ } else {
+ headImg = config.imgUrl + 'no-book.png'
+ }
+ return headImg
+}
+
+// 淇濈暀涓変綅灏忔暟 鏈熬瓒呰繃鍚戜笂杩�1
+export function getDiscountPrice(price, discount) {
+ let newPrice = ""
+ let a = Number(price) * Number(discount) / 100
+ let b = a.toFixed(4)
+ let c = b[b.length - 1]
+ newPrice = c != 0 ? Number(b) + 0.01 : b.slice(0, -1)
+ return newPrice
+}
+
+// 鍒ゆ柇寰俊銆佹敮浠樺疂 2寰俊 5鏀粯瀹� 15浜戦棯浠� 3鍏朵粬
export function getPlat() {
- // #ifdef H5
- var ua = window.navigator.userAgent.toLowerCase();
- //鍒ゆ柇鏄笉鏄井淇�
- if (ua.match(/MicroMessenger/i) == 'micromessenger') {
- return 2;
- }
- //鍒ゆ柇鏄笉鏄敮浠樺疂
- if (ua.match(/AlipayClient/i) == 'alipayclient') {
- return 5;
- }
- //鍒ゆ柇鏄笉鏄簯闂粯
- if (ua.indexOf('unionpay/1.0') !== -1) {
- return 15;
- }
- // #endif
- // #ifdef MP-WEIXIN
- return 2;
- // #endif
- // #ifdef MP-ALIPAY
- return 5;
- // #endif
- return 3;
-}
+ // #ifdef H5
+ var ua = window.navigator.userAgent.toLowerCase();
+ //鍒ゆ柇鏄笉鏄井淇�
+ if (ua.match(/MicroMessenger/i) == 'micromessenger') {
+ return 2;
+ }
+ //鍒ゆ柇鏄笉鏄敮浠樺疂
+ if (ua.match(/AlipayClient/i) == 'alipayclient') {
+ return 5;
+ }
+ //鍒ゆ柇鏄笉鏄簯闂粯
+ if (ua.indexOf('unionpay/1.0') !== -1) {
+ return 15;
+ }
+ // #endif
+ // #ifdef MP-WEIXIN
+ return 2;
+ // #endif
+ // #ifdef MP-ALIPAY
+ return 5;
+ // #endif
+ return 3;
+}
\ No newline at end of file
--
Gitblit v1.9.1