|
|
@@ -705,13 +705,31 @@
|
|
|
return params;
|
|
|
}
|
|
|
|
|
|
- function buildAppOpenQueryStringMerged() {
|
|
|
+ /**
|
|
|
+ * 打卡记录 id(与 getDeleteFlagById、App getStoreClockInList 分享链一致)。
|
|
|
+ * URL 的 id / checkInId 是打卡记录 id,不能当作 storeId。
|
|
|
+ */
|
|
|
+ function getCheckInRecordIdFromParams(params) {
|
|
|
+ var p = params || mergeSearchAndHashParams();
|
|
|
+ return (
|
|
|
+ String(p.get('id') || '').trim() ||
|
|
|
+ String(p.get('checkInId') || '').trim()
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 唤起 App 用的 query:保留原参数,并确保 id、checkInId 为打卡记录 id */
|
|
|
+ function buildCheckInAppOpenParams() {
|
|
|
var params = mergeSearchAndHashParams();
|
|
|
- var sid = params.get('storeId') || params.get('id') || '';
|
|
|
- if (sid && !params.has('storeId')) {
|
|
|
- params.set('storeId', sid);
|
|
|
+ var recordId = getCheckInRecordIdFromParams(params);
|
|
|
+ if (recordId) {
|
|
|
+ if (!params.has('id')) params.set('id', recordId);
|
|
|
+ if (!params.has('checkInId')) params.set('checkInId', recordId);
|
|
|
}
|
|
|
- var qsOut = params.toString();
|
|
|
+ return params;
|
|
|
+ }
|
|
|
+
|
|
|
+ function buildAppOpenQueryStringMerged() {
|
|
|
+ var qsOut = buildCheckInAppOpenParams().toString();
|
|
|
return qsOut ? ('?' + qsOut) : '';
|
|
|
}
|
|
|
|
|
|
@@ -754,10 +772,15 @@
|
|
|
function buildWeChatLaunchExtinfo() {
|
|
|
var uniPage = buildAppUniPageLaunchUrl();
|
|
|
if (uniPage.length <= 1024) return uniPage;
|
|
|
- var params = mergeSearchAndHashParams();
|
|
|
+ var params = buildCheckInAppOpenParams();
|
|
|
var mini = new URLSearchParams();
|
|
|
- var storeId = params.get('storeId') || params.get('id') || '';
|
|
|
- if (storeId) mini.set('storeId', storeId);
|
|
|
+ var recordId = getCheckInRecordIdFromParams(params);
|
|
|
+ if (recordId) {
|
|
|
+ mini.set('id', recordId);
|
|
|
+ mini.set('checkInId', recordId);
|
|
|
+ }
|
|
|
+ var storeId = params.get('storeId');
|
|
|
+ if (storeId) mini.set('storeId', String(storeId).trim());
|
|
|
var square = params.get('isShareCheckInSquare');
|
|
|
if (square != null && String(square).trim() !== '') {
|
|
|
mini.set('isShareCheckInSquare', String(square).trim());
|