zhuli hai 3 semanas
pai
achega
d58dc99334
Modificáronse 1 ficheiros con 9 adicións e 47 borrados
  1. 9 47
      HBuilderProjects/shareIndex.html

+ 9 - 47
HBuilderProjects/shareIndex.html

@@ -1039,14 +1039,9 @@
 		 */
 		var API_BASE = 'https://test.ailien.shop/alienStore';
 
-		/** 微信开放标签 wx-open-launch-app 的 appid(移动应用,与开放平台移动应用一致) */
+		/** wx-open-launch-app 的 appid(开放平台移动应用;若与公众号不同,只改这里和标签 appid) */
 		var WECHAT_OPEN_APP_ID = 'wx5598889b28511717';
-		/** 已知移动应用 AppID;getWxConfig 若只返回此类 id,不能用于 wx.config */
-		var WECHAT_KNOWN_MOBILE_APP_IDS = ['wxf5f1efe3a9f5012e', 'wx5598889b28511717'];
-		/**
-		 * wx.config 必须用公众号 AppID(服务号)。若后端在 data 里单独返回 mpAppId / officialAppId 会优先使用。
-		 * 也可在分享链接加 ?wxMpAppId=wx公众号appid 临时联调(正式应由后端返回)。
-		 */
+		/** 可选:强制 wx.config 使用的公众号 appId;默认用 getWxConfig 返回的 data.appId */
 		var WECHAT_MP_APP_ID = '';
 		/**
 		 * 进入页 GET {API_BASE}/wx/getWxConfig?url={当前页完整 URL,含 ? 参数,不含 #}
@@ -1228,15 +1223,6 @@
 			return H5_PAGE_BASE_FALLBACK + rel;
 		}
 
-		function isWeChatMobileAppId(appId) {
-			var id = String(appId || '').trim();
-			if (!id) return false;
-			for (var i = 0; i < WECHAT_KNOWN_MOBILE_APP_IDS.length; i++) {
-				if (id === WECHAT_KNOWN_MOBILE_APP_IDS[i]) return true;
-			}
-			return false;
-		}
-
 		function resolveWxConfigAppIdFromSignData(d) {
 			if (!d || typeof d !== 'object') return '';
 			var mp =
@@ -1251,9 +1237,7 @@
 			if (fromQuery) return fromQuery;
 			var raw = d.appId || d.appid || d.wxAppId;
 			if (raw == null || String(raw).trim() === '') return '';
-			raw = String(raw).trim();
-			if (isWeChatMobileAppId(raw)) return '';
-			return raw;
+			return String(raw).trim();
 		}
 
 		function normalizeWxJssdkSignPayload(res) {
@@ -1273,19 +1257,11 @@
 			};
 		}
 
-		function formatWxConfigErrorTip(err, signPageUrl, rawAppId) {
+		function formatWxConfigErrorTip(err, signPageUrl) {
 			var errMsg = '';
 			if (err && err.errMsg) errMsg = String(err.errMsg);
 			else if (typeof err === 'string') errMsg = err;
 			var tip = '微信 JSSDK 配置失败';
-			if (rawAppId && isWeChatMobileAppId(rawAppId)) {
-				return (
-					tip +
-					':接口返回的 appId(' +
-					rawAppId +
-					')是移动应用 ID。wx.config 必须使用公众号 AppID,请后端用公众号 AppSecret 签名并返回公众号 appId(或 data.mpAppId)。'
-				);
-			}
 			if (/invalid signature/i.test(errMsg)) {
 				var signUrl = signPageUrl || getWxConfigSignUrl();
 				var hasQuery = signUrl.indexOf('?') >= 0;
@@ -1338,19 +1314,10 @@
 							}
 						}
 						var pack = normalizeWxJssdkSignPayload(res);
-						if (!pack) {
-							var rd =
-								res.data != null && typeof res.data === 'object' ? res.data : res;
-							var rawId = rd && (rd.appId || rd.appid) ? String(rd.appId || rd.appid) : '';
-							if (rawId && isWeChatMobileAppId(rawId)) {
-								return Promise.reject({ mobileAppId: rawId });
-							}
-							throw new Error('empty sign payload');
-						}
+						if (!pack) throw new Error('empty sign payload');
 						return pack;
 					})
-					.catch(function (err) {
-						if (err && err.mobileAppId) return Promise.reject(err);
+					.catch(function () {
 						return tryUrl(idx + 1);
 					});
 			}
@@ -1452,9 +1419,9 @@
 					}
 					bindWeChatLaunchTagEvents();
 					if (!sign) {
-						console.warn('[wx] GET ' + WECHAT_GET_WX_CONFIG_PATH + ' — invalid sign for wx.config');
+						console.warn('[wx] GET ' + WECHAT_GET_WX_CONFIG_PATH + ' — empty or invalid sign payload');
 						showAppOpenFailTip(
-							formatWxConfigErrorTip(null, signPageUrl, 'wxf5f1efe3a9f5012e')
+							'微信 JSSDK:getWxConfig 未返回可用的 appId/timestamp/nonceStr/signature。'
 						);
 						setFabLaunchMode('scheme');
 						return false;
@@ -1484,7 +1451,7 @@
 						wx.error(function (err) {
 							console.warn('[wx.config]', err);
 							weChatJssdkConfigured = false;
-							showAppOpenFailTip(formatWxConfigErrorTip(err, signPageUrl, ''));
+							showAppOpenFailTip(formatWxConfigErrorTip(err, signPageUrl));
 							setFabLaunchMode('scheme');
 							resolve(false);
 						});
@@ -1493,11 +1460,6 @@
 				.catch(function (e) {
 					console.warn('[wx] init failed', e);
 					if (inWx) {
-						if (e && e.mobileAppId) {
-							showAppOpenFailTip(
-								formatWxConfigErrorTip(null, signPageUrl, e.mobileAppId)
-							);
-						}
 						setFabLaunchMode('scheme');
 					}
 					return false;