zhuli 1 miesiąc temu
rodzic
commit
8be4f60ba7

+ 7 - 3
HBuilderProjects/secondShareGoods.html

@@ -1267,11 +1267,15 @@
 						((!isNaN(gsNum) && (gsNum === 2 || gsNum === 4 || gsNum === 5)) ||
 							gsStr === '2' || gsStr === '4' || gsStr === '5');
 					if (gsGotoUndefined) {
-						var undefinedUrl = 'shareUndefined.html';
+						var uq = new URLSearchParams();
+						uq.set('goodsUnavailable', '1');
+						if (gs != null && String(gs).trim() !== '') {
+							uq.set('goodsStatus', String(gs).trim());
+						}
 						if (userId) {
-							undefinedUrl += '?userId=' + encodeURIComponent(userId);
+							uq.set('userId', userId);
 						}
-						window.location.replace(undefinedUrl);
+						window.location.replace('shareUndefined.html?' + uq.toString());
 						return { skipRest: true };
 					}
 					return Promise.all([

+ 42 - 1
HBuilderProjects/shareUndefined.html

@@ -500,6 +500,9 @@
 		 * 更多推荐:POST http://124.93.18.180:9100/ai/life-manager/api/v1/second_hand/global-recommend
 		 * 常用 query:userId、userLat/userLng 或 lat/weidu、lon/jingdu、radiusKm、page、pageSize、categoryOneId、categoryTwoId
 		 *
+		 * 商品已卖出 / 下架 / 删除(secondShareGoods 跳转时带 goodsUnavailable=1 或 goodsStatus=2|4|5):
+		 * 点「APP内打开」深链为 shopro://pages/index/login?…(与 shareIndex.html 关店 businessStatus=99 一致)。
+		 *
 		 * 注意:用 file:// 打开本页时,浏览器可能因 CORS 拦截跨域请求。
 		 */
 		var API_BASE = 'http://120.26.186.130:8000/alienStore';
@@ -545,6 +548,44 @@
 			return params;
 		}
 
+		/**
+		 * 二手商品不可用(已卖出 / 下架 / 删除):URL(含 hash)带 goodsUnavailable=1 或 goodsStatus 为 2、4、5;
+		 * businessStatus=99 与 shareIndex 关店唤起登录一致。
+		 */
+		function isSecondGoodsUnavailableForAppOpen() {
+			function checkGoodsUnavailableParam(raw) {
+				var s = String(raw == null ? '' : raw).trim().toLowerCase();
+				return s === '1' || s === 'true' || s === 'yes';
+			}
+			function checkGoodsStatusParam(raw) {
+				var s = String(raw == null ? '' : raw).trim();
+				if (s === '2' || s === '4' || s === '5') return true;
+				var n = Number(s);
+				return !isNaN(n) && (n === 2 || n === 4 || n === 5);
+			}
+			function checkBusiness99(raw) {
+				var s = String(raw == null ? '' : raw).trim();
+				return s === '99' || Number(s) === 99;
+			}
+			try {
+				var p = mergeSearchAndHashParams();
+				if (checkGoodsUnavailableParam(p.get('goodsUnavailable'))) return true;
+				if (checkGoodsStatusParam(p.get('goodsStatus'))) return true;
+				if (checkBusiness99(p.get('businessStatus'))) return true;
+			} catch (e0) {}
+			if (checkGoodsUnavailableParam(q('goodsUnavailable'))) return true;
+			if (checkGoodsStatusParam(q('goodsStatus'))) return true;
+			if (checkBusiness99(q('businessStatus'))) return true;
+			return false;
+		}
+
+		function getAppUniPathForShareUndefined() {
+			if (isSecondGoodsUnavailableForAppOpen()) {
+				return 'pages/index/login';
+			}
+			return String(APP_UNI_STORE_PATH || 'pages/secondHandTransactions/pages/detail/index').replace(/^\//, '');
+		}
+
 		function buildAppOpenQueryStringMerged() {
 			var params = mergeSearchAndHashParams();
 			var gid = params.get('goodsId') || params.get('id') || '';
@@ -560,7 +601,7 @@
 		}
 
 		function buildAppDeepLink() {
-			var path = String(APP_UNI_STORE_PATH || 'pages/secondHandTransactions/pages/detail/index').replace(/^\//, '');
+			var path = getAppUniPathForShareUndefined().replace(/^\//, '');
 			var s = buildAppOpenQueryStringMerged();
 			var root = APP_IOS_URL_SCHEME.replace(/\/$/, '');
 			if (!s) {