From c9c263dc43ad90f95f24a036cee9e6b47afb596c Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 21 十二月 2024 18:44:20 +0800
Subject: [PATCH] 新建盐城德森项目

---
 uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/index.js |  334 +++++++++++++++++++++++++++---------------------------
 1 files changed, 167 insertions(+), 167 deletions(-)

diff --git a/uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/index.js b/uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/index.js
index b46f10b..76f4247 100644
--- a/uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/index.js
+++ b/uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/index.js
@@ -1,167 +1,167 @@
-'use strict';
-exports.main = async (event, context) => {
-	/**
-	 * 妫�娴嬪崌绾� 浣跨敤璇存槑
-	 * 涓婁紶鍖咃細
-	 * 1. 鏍规嵁浼犲弬锛屽厛妫�娴嬩紶鍙傛槸鍚﹀畬鏁达紝appid appVersion wgtVersion 蹇呬紶
-	 * 2. 鍏堜粠鏁版嵁搴撳彇鍑烘墍鏈夎骞冲彴锛堜粠涓婁笅鏂囪鍙栧钩鍙颁俊鎭紝榛樿 Andriod锛夌殑鎵�鏈夌嚎涓婂彂琛屾洿鏂�
-	 * 3. 鍐嶄粠鎵�鏈夌嚎涓婂彂琛屾洿鏂颁腑鍙栧嚭鐗堟湰鏈�澶х殑涓�鐗堛�傚鏋滃彲浠ワ紝灏介噺鍏堟娴媤gt鐨勭嚎涓婂彂琛岀増鏇存柊
-	 * 4. 浣跨敤涓婃鍙栧嚭鐨勭増鏈寘鐨勭増鏈彿 鍜屼紶鍙� appVersion銆亀gtVersion 鏉ユ娴嬫槸鍚︽湁鏇存柊锛屽繀椤诲悓鏃跺ぇ浜庤繖涓ら」锛屽惁鍒欒繑鍥炴殏鏃犳洿鏂�
-	 * 5. 濡傛灉搴撲腑 wgt鍖� 鐗堟湰澶т簬浼犲弬 appVersion锛屼絾鏄笉婊¤冻 min_uni_version < appVersion锛屽垯涓嶄細浣跨敤wgt鏇存柊锛屼細鎺ョ潃鍒ゆ柇搴撲腑 app鍖卾ersion 鏄惁澶т簬 appVersion
-	 */
-
-	let {
-		appid,
-		appVersion,
-		wgtVersion,
-	} = event;
-
-	const platform_Android = 'Android';
-	const platform_iOS = 'iOS';
-	const package_app = 'native_app';
-	const package_wgt = 'wgt';
-	const app_version_db_name = 'opendb-app-versions'
-
-	let platform = platform_Android;
-
-	// 浜戝嚱鏁癠RL鍖栬姹�
-	if (event.headers) {
-		let body;
-		try {
-			if (event.httpMethod.toLocaleLowerCase() === 'get') {
-				body = event.queryStringParameters;
-			} else {
-				body = JSON.parse(event.body);
-			}
-		} catch (e) {
-			return {
-				code: 500,
-				msg: '璇锋眰閿欒'
-			};
-		}
-
-		appid = body.appid;
-		appVersion = body.appVersion;
-		wgtVersion = body.wgtVersion;
-
-		platform = /iPhone|iPad/.test(event.headers) ? platform_iOS : platform_Android;
-	} else if (context.OS) {
-		platform = context.OS === 'android'
-			? platform_Android
-			: context.OS === 'ios'
-				? platform_iOS
-				: platform_Android;
-	}
-
-	if (appid && appVersion && wgtVersion && platform) {
-		const collection = uniCloud.database().collection(app_version_db_name);
-
-		const record = await collection.where({
-				appid,
-				platform,
-				stable_publish: true
-			})
-			.orderBy('create_date', 'desc')
-			.get();
-
-		if (record && record.data && record.data.length > 0) {
-			const appVersionInDb = record.data.find(item => item.type === package_app) || {};
-			const wgtVersionInDb = record.data.find(item => item.type === package_wgt) || {};
-			const hasAppPackage = !!Object.keys(appVersionInDb).length;
-			const hasWgtPackage = !!Object.keys(wgtVersionInDb).length;
-
-			// 鍙栦袱涓増鏈腑鐗堟湰鍙锋渶澶х殑鍖咃紝鐗堟湰涓�鏍凤紝浣跨敤wgt鍖�
-			let stablePublishDb = hasAppPackage
-				? hasWgtPackage
-					? compare(wgtVersionInDb.version, appVersionInDb.version) >= 0
-						? wgtVersionInDb
-						: appVersionInDb
-					: appVersionInDb
-				: wgtVersionInDb;
-
-			const {
-				version,
-				min_uni_version
-			} = stablePublishDb;
-
-			// 搴撲腑鐨剉ersion蹇呴』婊¤冻鍚屾椂澶т簬appVersion鍜寃gtVersion鎵嶈锛屽洜涓轰笂娆℃洿鏂板彲鑳芥槸wgt鏇存柊
-			const appUpdate = compare(version, appVersion) === 1; // app鍖呭彲鐢ㄦ洿鏂�
-			const wgtUpdate = compare(version, wgtVersion) === 1; // wgt鍖呭彲鐢ㄦ洿鏂�
-
-			if (Object.keys(stablePublishDb).length && appUpdate && wgtUpdate) {
-				// 鍒ゆ柇鏄惁鍙敤wgt鏇存柊
-				if (min_uni_version && compare(min_uni_version, appVersion) < 1) {
-					return {
-						code: 101,
-						message: 'wgt鏇存柊',
-						...stablePublishDb
-					};
-				} else if (hasAppPackage && compare(appVersionInDb.version, appVersion) === 1) {
-					return {
-						code: 102,
-						message: '鏁村寘鏇存柊',
-						...appVersionInDb
-					};
-				}
-			}
-
-			return {
-				code: 0,
-				message: '褰撳墠鐗堟湰宸茬粡鏄渶鏂扮殑锛屼笉闇�瑕佹洿鏂�'
-			};
-		}
-
-		return {
-			code: -101,
-			message: '鏆傛棤鏇存柊鎴栨鏌ppid鏄惁濉啓姝g‘'
-		};
-	}
-
-	return {
-		code: -102,
-		message: '璇锋鏌ヤ紶鍙傛槸鍚﹀~鍐欐纭�'
-	};
-};
-
-/**
- * 瀵规瘮鐗堟湰鍙凤紝濡傞渶瑕侊紝璇疯嚜琛屼慨鏀瑰垽鏂鍒�
- * 鏀寔姣斿	("3.0.0.0.0.1.0.1", "3.0.0.0.0.1")	("3.0.0.1", "3.0")	("3.1.1", "3.1.1.1") 涔嬬被鐨�
- * @param {Object} v1
- * @param {Object} v2
- * v1 > v2 return 1
- * v1 < v2 return -1
- * v1 == v2 return 0
- */
-function compare(v1 = '0', v2 = '0') {
-	v1 = String(v1).split('.')
-	v2 = String(v2).split('.')
-	const minVersionLens = Math.min(v1.length, v2.length);
-
-	let result = 0;
-	for (let i = 0; i < minVersionLens; i++) {
-		const curV1 = Number(v1[i])
-		const curV2 = Number(v2[i])
-
-		if (curV1 > curV2) {
-			result = 1
-			break;
-		} else if(curV1 < curV2) {
-			result = -1
-			break;
-		}
-	}
-
-	if (result === 0 && (v1.length !== v2.length)) {
-		const v1BiggerThenv2 = v1.length > v2.length;
-		const maxLensVersion = v1BiggerThenv2 ? v1 : v2;
-		for (let i = minVersionLens; i < maxLensVersion.length; i++) {
-			const curVersion = Number(maxLensVersion[i])
-			if (curVersion > 0) {
-				v1BiggerThenv2 ? result = 1 : result = -1
-				break;
-			}
-		}
-	}
-
-	return result;
-}
+'use strict';
+exports.main = async (event, context) => {
+	/**
+	 * 妫�娴嬪崌绾� 浣跨敤璇存槑
+	 * 涓婁紶鍖咃細
+	 * 1. 鏍规嵁浼犲弬锛屽厛妫�娴嬩紶鍙傛槸鍚﹀畬鏁达紝appid appVersion wgtVersion 蹇呬紶
+	 * 2. 鍏堜粠鏁版嵁搴撳彇鍑烘墍鏈夎骞冲彴锛堜粠涓婁笅鏂囪鍙栧钩鍙颁俊鎭紝榛樿 Andriod锛夌殑鎵�鏈夌嚎涓婂彂琛屾洿鏂�
+	 * 3. 鍐嶄粠鎵�鏈夌嚎涓婂彂琛屾洿鏂颁腑鍙栧嚭鐗堟湰鏈�澶х殑涓�鐗堛�傚鏋滃彲浠ワ紝灏介噺鍏堟娴媤gt鐨勭嚎涓婂彂琛岀増鏇存柊
+	 * 4. 浣跨敤涓婃鍙栧嚭鐨勭増鏈寘鐨勭増鏈彿 鍜屼紶鍙� appVersion銆亀gtVersion 鏉ユ娴嬫槸鍚︽湁鏇存柊锛屽繀椤诲悓鏃跺ぇ浜庤繖涓ら」锛屽惁鍒欒繑鍥炴殏鏃犳洿鏂�
+	 * 5. 濡傛灉搴撲腑 wgt鍖� 鐗堟湰澶т簬浼犲弬 appVersion锛屼絾鏄笉婊¤冻 min_uni_version < appVersion锛屽垯涓嶄細浣跨敤wgt鏇存柊锛屼細鎺ョ潃鍒ゆ柇搴撲腑 app鍖卾ersion 鏄惁澶т簬 appVersion
+	 */
+
+	let {
+		appid,
+		appVersion,
+		wgtVersion,
+	} = event;
+
+	const platform_Android = 'Android';
+	const platform_iOS = 'iOS';
+	const package_app = 'native_app';
+	const package_wgt = 'wgt';
+	const app_version_db_name = 'opendb-app-versions'
+
+	let platform = platform_Android;
+
+	// 浜戝嚱鏁癠RL鍖栬姹�
+	if (event.headers) {
+		let body;
+		try {
+			if (event.httpMethod.toLocaleLowerCase() === 'get') {
+				body = event.queryStringParameters;
+			} else {
+				body = JSON.parse(event.body);
+			}
+		} catch (e) {
+			return {
+				code: 500,
+				msg: '璇锋眰閿欒'
+			};
+		}
+
+		appid = body.appid;
+		appVersion = body.appVersion;
+		wgtVersion = body.wgtVersion;
+
+		platform = /iPhone|iPad/.test(event.headers) ? platform_iOS : platform_Android;
+	} else if (context.OS) {
+		platform = context.OS === 'android'
+			? platform_Android
+			: context.OS === 'ios'
+				? platform_iOS
+				: platform_Android;
+	}
+
+	if (appid && appVersion && wgtVersion && platform) {
+		const collection = uniCloud.database().collection(app_version_db_name);
+
+		const record = await collection.where({
+				appid,
+				platform,
+				stable_publish: true
+			})
+			.orderBy('create_date', 'desc')
+			.get();
+
+		if (record && record.data && record.data.length > 0) {
+			const appVersionInDb = record.data.find(item => item.type === package_app) || {};
+			const wgtVersionInDb = record.data.find(item => item.type === package_wgt) || {};
+			const hasAppPackage = !!Object.keys(appVersionInDb).length;
+			const hasWgtPackage = !!Object.keys(wgtVersionInDb).length;
+
+			// 鍙栦袱涓増鏈腑鐗堟湰鍙锋渶澶х殑鍖咃紝鐗堟湰涓�鏍凤紝浣跨敤wgt鍖�
+			let stablePublishDb = hasAppPackage
+				? hasWgtPackage
+					? compare(wgtVersionInDb.version, appVersionInDb.version) >= 0
+						? wgtVersionInDb
+						: appVersionInDb
+					: appVersionInDb
+				: wgtVersionInDb;
+
+			const {
+				version,
+				min_uni_version
+			} = stablePublishDb;
+
+			// 搴撲腑鐨剉ersion蹇呴』婊¤冻鍚屾椂澶т簬appVersion鍜寃gtVersion鎵嶈锛屽洜涓轰笂娆℃洿鏂板彲鑳芥槸wgt鏇存柊
+			const appUpdate = compare(version, appVersion) === 1; // app鍖呭彲鐢ㄦ洿鏂�
+			const wgtUpdate = compare(version, wgtVersion) === 1; // wgt鍖呭彲鐢ㄦ洿鏂�
+
+			if (Object.keys(stablePublishDb).length && appUpdate && wgtUpdate) {
+				// 鍒ゆ柇鏄惁鍙敤wgt鏇存柊
+				if (min_uni_version && compare(min_uni_version, appVersion) < 1) {
+					return {
+						code: 101,
+						message: 'wgt鏇存柊',
+						...stablePublishDb
+					};
+				} else if (hasAppPackage && compare(appVersionInDb.version, appVersion) === 1) {
+					return {
+						code: 102,
+						message: '鏁村寘鏇存柊',
+						...appVersionInDb
+					};
+				}
+			}
+
+			return {
+				code: 0,
+				message: '褰撳墠鐗堟湰宸茬粡鏄渶鏂扮殑锛屼笉闇�瑕佹洿鏂�'
+			};
+		}
+
+		return {
+			code: -101,
+			message: '鏆傛棤鏇存柊鎴栨鏌ppid鏄惁濉啓姝g‘'
+		};
+	}
+
+	return {
+		code: -102,
+		message: '璇锋鏌ヤ紶鍙傛槸鍚﹀~鍐欐纭�'
+	};
+};
+
+/**
+ * 瀵规瘮鐗堟湰鍙凤紝濡傞渶瑕侊紝璇疯嚜琛屼慨鏀瑰垽鏂鍒�
+ * 鏀寔姣斿	("3.0.0.0.0.1.0.1", "3.0.0.0.0.1")	("3.0.0.1", "3.0")	("3.1.1", "3.1.1.1") 涔嬬被鐨�
+ * @param {Object} v1
+ * @param {Object} v2
+ * v1 > v2 return 1
+ * v1 < v2 return -1
+ * v1 == v2 return 0
+ */
+function compare(v1 = '0', v2 = '0') {
+	v1 = String(v1).split('.')
+	v2 = String(v2).split('.')
+	const minVersionLens = Math.min(v1.length, v2.length);
+
+	let result = 0;
+	for (let i = 0; i < minVersionLens; i++) {
+		const curV1 = Number(v1[i])
+		const curV2 = Number(v2[i])
+
+		if (curV1 > curV2) {
+			result = 1
+			break;
+		} else if(curV1 < curV2) {
+			result = -1
+			break;
+		}
+	}
+
+	if (result === 0 && (v1.length !== v2.length)) {
+		const v1BiggerThenv2 = v1.length > v2.length;
+		const maxLensVersion = v1BiggerThenv2 ? v1 : v2;
+		for (let i = minVersionLens; i < maxLensVersion.length; i++) {
+			const curVersion = Number(maxLensVersion[i])
+			if (curVersion > 0) {
+				v1BiggerThenv2 ? result = 1 : result = -1
+				break;
+			}
+		}
+	}
+
+	return result;
+}

--
Gitblit v1.9.1