@foundbyte/uni-libs 0.0.1-alpha.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -0
- package/es/_virtual/rolldown_runtime.js +27 -0
- package/es/configs/app/app.hwtest.js +11 -0
- package/es/configs/app/app.hwtest.js.map +1 -0
- package/es/configs/app/app.prod.js +11 -0
- package/es/configs/app/app.prod.js.map +1 -0
- package/es/configs/app/app.type.d.ts +16 -0
- package/es/configs/app/app.type.d.ts.map +1 -0
- package/es/configs/app/index.js +32 -0
- package/es/configs/app/index.js.map +1 -0
- package/es/constants/routes/index.d.ts +83 -0
- package/es/constants/routes/index.d.ts.map +1 -0
- package/es/constants/routes/index.js +47 -0
- package/es/constants/routes/index.js.map +1 -0
- package/es/entry.d.ts +25 -0
- package/es/entry.d.ts.map +1 -0
- package/es/entry.js +39 -0
- package/es/entry.js.map +1 -0
- package/es/enums/business-line/index.d.ts +85 -0
- package/es/enums/business-line/index.d.ts.map +1 -0
- package/es/enums/business-line/index.js +116 -0
- package/es/enums/business-line/index.js.map +1 -0
- package/es/enums/environment/index.d.ts +14 -0
- package/es/enums/environment/index.d.ts.map +1 -0
- package/es/enums/environment/index.js +15 -0
- package/es/enums/environment/index.js.map +1 -0
- package/es/enums/sdk/index.d.ts +14 -0
- package/es/enums/sdk/index.d.ts.map +1 -0
- package/es/enums/sdk/index.js +15 -0
- package/es/enums/sdk/index.js.map +1 -0
- package/es/enums/storage/index.d.ts +11 -0
- package/es/enums/storage/index.d.ts.map +1 -0
- package/es/enums/storage/index.js +12 -0
- package/es/enums/storage/index.js.map +1 -0
- package/es/enums/sub/enjoy/index.d.ts +22 -0
- package/es/enums/sub/enjoy/index.d.ts.map +1 -0
- package/es/enums/sub/enjoy/index.js +20 -0
- package/es/enums/sub/enjoy/index.js.map +1 -0
- package/es/enums/sub/foods/index.d.ts +10 -0
- package/es/enums/sub/foods/index.d.ts.map +1 -0
- package/es/enums/sub/foods/index.js +11 -0
- package/es/enums/sub/foods/index.js.map +1 -0
- package/es/enums/sub/hotel/index.d.ts +11 -0
- package/es/enums/sub/hotel/index.d.ts.map +1 -0
- package/es/enums/sub/hotel/index.js +12 -0
- package/es/enums/sub/hotel/index.js.map +1 -0
- package/es/index.d.ts +16 -1
- package/es/index.js +16 -10
- package/es/libs/webview/uni.webview.1.5.5.js +194 -0
- package/es/libs/webview/uni.webview.1.5.5.js.map +1 -0
- package/es/services/config/index.js +13 -0
- package/es/services/config/index.js.map +1 -0
- package/es/services/goods/type.d.ts +28 -0
- package/es/services/goods/type.d.ts.map +1 -0
- package/es/services/goods/util.js +124 -0
- package/es/services/goods/util.js.map +1 -0
- package/es/types/one-travel-service/index.d.ts +18 -0
- package/es/types/one-travel-service/index.d.ts.map +1 -0
- package/es/utils/common/index.d.ts +23 -0
- package/es/utils/common/index.d.ts.map +1 -0
- package/es/utils/common/index.js +45 -0
- package/es/utils/common/index.js.map +1 -0
- package/es/utils/pages/activity-calendar/index.d.ts +9 -0
- package/es/utils/pages/activity-calendar/index.d.ts.map +1 -0
- package/es/utils/pages/activity-calendar/index.js +12 -0
- package/es/utils/pages/activity-calendar/index.js.map +1 -0
- package/es/utils/pages/food/index.d.ts +21 -0
- package/es/utils/pages/food/index.d.ts.map +1 -0
- package/es/utils/pages/food/index.js +33 -0
- package/es/utils/pages/food/index.js.map +1 -0
- package/es/utils/pages/webview/index.d.ts +13 -0
- package/es/utils/pages/webview/index.d.ts.map +1 -0
- package/es/utils/pages/webview/index.js +11 -0
- package/es/utils/pages/webview/index.js.map +1 -0
- package/es/utils/web-view/index.d.ts +48 -0
- package/es/utils/web-view/index.d.ts.map +1 -0
- package/es/utils/web-view/index.js +91 -0
- package/es/utils/web-view/index.js.map +1 -0
- package/package.json +9 -4
- package/es/web-view/index.d.ts +0 -38
- package/es/web-view/index.js +0 -51
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { routePrefix } from "../../constants/routes/index.js";
|
|
2
|
+
import { EBusinessLine, ESubBizType } from "../../enums/business-line/index.js";
|
|
3
|
+
import { ECaller } from "../../enums/sdk/index.js";
|
|
4
|
+
import { EVenueTypes, EVenueTypesDes } from "../../enums/sub/enjoy/index.js";
|
|
5
|
+
import { EFoodsModuleType } from "../../enums/sub/foods/index.js";
|
|
6
|
+
import { EHotelType } from "../../enums/sub/hotel/index.js";
|
|
7
|
+
import { getActivityCalendarDetailPage } from "../../utils/pages/activity-calendar/index.js";
|
|
8
|
+
import { getWebviewPage } from "../../utils/pages/webview/index.js";
|
|
9
|
+
import { getFoodPackagePage, getFoodStorePage } from "../../utils/pages/food/index.js";
|
|
10
|
+
import { navigateTo } from "../../utils/web-view/index.js";
|
|
11
|
+
import { getAppConfig } from "../../configs/app/index.js";
|
|
12
|
+
import { getSDKConfig } from "../config/index.js";
|
|
13
|
+
|
|
14
|
+
//#region src/services/goods/util.ts
|
|
15
|
+
/**
|
|
16
|
+
* 跳转到各商品详情
|
|
17
|
+
* @param options 可选项
|
|
18
|
+
*/
|
|
19
|
+
const jumpToGoodsDetail = async (options) => {
|
|
20
|
+
const configOptions = getSDKConfig();
|
|
21
|
+
const appConfig = getAppConfig(configOptions.appEnv);
|
|
22
|
+
const { skuId, linkBusinessLine, type = "", item } = options || {};
|
|
23
|
+
let page = "";
|
|
24
|
+
switch (linkBusinessLine) {
|
|
25
|
+
case EBusinessLine.Scenic:
|
|
26
|
+
/** 景区/门票 */
|
|
27
|
+
page = `${routePrefix.ticket}/detail/index?scenicId=${skuId}&reservationId=${item.reservationId}&isOld=${item.isOld}`;
|
|
28
|
+
break;
|
|
29
|
+
case EBusinessLine.Hotel:
|
|
30
|
+
/** 酒店 */
|
|
31
|
+
page = `${routePrefix.hotel}/home/details/index?id=${skuId}`;
|
|
32
|
+
break;
|
|
33
|
+
case EBusinessLine.Homestay:
|
|
34
|
+
/** 民宿 */
|
|
35
|
+
if (type === EHotelType.hotel)
|
|
36
|
+
/** 酒店 (天下房仓酒店详情页)*/
|
|
37
|
+
page = `${routePrefix.hotel}/home/details/index?id=${skuId}`;
|
|
38
|
+
else if (`${item.subBizType}` === `${ESubBizType.HomestayHotel}`) page = `${routePrefix.hotel}/home/details/index?id=${skuId}`;
|
|
39
|
+
else page = `${routePrefix.hotel}/home/hot-sale-details/index?id=${skuId}`;
|
|
40
|
+
break;
|
|
41
|
+
case EBusinessLine.Route:
|
|
42
|
+
/** 路线/定制 */
|
|
43
|
+
page = `${routePrefix.road}/product-detail/index?id=${skuId}`;
|
|
44
|
+
break;
|
|
45
|
+
case EBusinessLine.Travel:
|
|
46
|
+
/** 出行 */
|
|
47
|
+
break;
|
|
48
|
+
case EBusinessLine.Foods:
|
|
49
|
+
/** 美食 */
|
|
50
|
+
if (item?.moduleType === EFoodsModuleType.store)
|
|
51
|
+
/** 收藏跳店铺 */
|
|
52
|
+
page = getWebviewPage({ url: getFoodStorePage(appConfig.domain.food, item.storeId || item.id) });
|
|
53
|
+
else
|
|
54
|
+
/** 跳转套餐 */
|
|
55
|
+
page = getWebviewPage({ url: getFoodPackagePage(appConfig.domain.food, item.storeId || item.id, skuId) });
|
|
56
|
+
break;
|
|
57
|
+
case EBusinessLine.Buy:
|
|
58
|
+
/** 购物 */
|
|
59
|
+
page = getWebviewPage({ url: appConfig.domain.shopping + `goods?itemId=${item.id || item.spuId}` });
|
|
60
|
+
break;
|
|
61
|
+
case EBusinessLine.Onebuygz:
|
|
62
|
+
/** 新购物 */
|
|
63
|
+
page = getWebviewPage({ url: appConfig.domain.onebuygz + `pages/commodity-detail/index?itemId=${item.spuId || item.id}&skuId=${item.skuId}` });
|
|
64
|
+
break;
|
|
65
|
+
case EBusinessLine.Entertainment:
|
|
66
|
+
/** 文娱 */
|
|
67
|
+
if (`${item.type}` === EVenueTypesDes[EVenueTypes.Activity] || `${item.subBizType}` === `${ESubBizType.EntertainmentPerform}`) page = `${routePrefix.enjoy}/g-activity/detail?id=` + skuId + "&mchId=" + (item.storeId || "");
|
|
68
|
+
else page = `${routePrefix.enjoy}/g-venue/detail?id=${skuId}&reservationId=${item.reservationId}`;
|
|
69
|
+
break;
|
|
70
|
+
case EBusinessLine.Strategy:
|
|
71
|
+
/** 攻略 */
|
|
72
|
+
page = `${routePrefix.strategy}/strategy-detail/index?id=` + skuId;
|
|
73
|
+
break;
|
|
74
|
+
case EBusinessLine.Recommend:
|
|
75
|
+
/** 种草 */
|
|
76
|
+
page = `${routePrefix.show}/details/index?id=${skuId}${item?.moreParameter ? item.moreParameter : ""}`;
|
|
77
|
+
break;
|
|
78
|
+
case EBusinessLine.Activity:
|
|
79
|
+
/** 活动 */
|
|
80
|
+
page = getActivityCalendarDetailPage({
|
|
81
|
+
id: skuId,
|
|
82
|
+
date: item.collectTime
|
|
83
|
+
});
|
|
84
|
+
break;
|
|
85
|
+
case EBusinessLine.SoundGuizhou:
|
|
86
|
+
/** 声入贵州 */
|
|
87
|
+
page = `${routePrefix.soundGuizhou}/detail?audioLibId=${skuId}`;
|
|
88
|
+
break;
|
|
89
|
+
case EBusinessLine.ExcitingVideo:
|
|
90
|
+
/** 精彩视频 */
|
|
91
|
+
page = `${routePrefix.living}/wonderful-video/index?vid=${skuId}`;
|
|
92
|
+
break;
|
|
93
|
+
default: break;
|
|
94
|
+
}
|
|
95
|
+
if (page) {
|
|
96
|
+
if (configOptions.caller === ECaller.web) navigateTo({ src: page });
|
|
97
|
+
else if (configOptions.caller === ECaller.host) {}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* 跳转商品详情页
|
|
102
|
+
* @param item
|
|
103
|
+
*/
|
|
104
|
+
const jumpToGoodsDetailPage = (item) => {
|
|
105
|
+
let extInfo = item?.extInfoMap || item?.extInfo || {};
|
|
106
|
+
try {
|
|
107
|
+
extInfo = typeof extInfo === "string" ? JSON.parse(extInfo) : extInfo;
|
|
108
|
+
} catch {}
|
|
109
|
+
const obj = item?.extInfoMap || item?.extInfo ? {
|
|
110
|
+
...item,
|
|
111
|
+
...extInfo
|
|
112
|
+
} : item;
|
|
113
|
+
if (obj?.type === EHotelType.hotel) item.skuId = obj?.storeId;
|
|
114
|
+
jumpToGoodsDetail({
|
|
115
|
+
skuId: item?.skuId || item?.spuId || item?.id || "",
|
|
116
|
+
linkBusinessLine: obj.linkBusinessLine || obj.bizType || obj.businessType,
|
|
117
|
+
type: obj.type,
|
|
118
|
+
item: obj
|
|
119
|
+
}).then().catch();
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
//#endregion
|
|
123
|
+
export { jumpToGoodsDetailPage };
|
|
124
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","names":["options: {\n /** 商品id */\n skuId: string,\n /** 业务线 */\n linkBusinessLine: EBusinessLine,\n /** 例如:民宿时,type='hotel' ,跳转民宿酒店详情,type无值则跳转民宿爆款商品详情 —— 原代码参数,暂时这样用着 */\n type?: string,\n /** item额外参数 */\n item: any\n}","item: IJumpGoodsDetailItem"],"sources":["../../../src/services/goods/util.ts"],"sourcesContent":["import { IJumpGoodsDetailItem } from './type'\nimport {\n EBusinessLine,\n ECaller,\n EFoodsModuleType,\n EHotelType,\n ESubBizType,\n EVenueTypes,\n EVenueTypesDes\n} from '../../enums'\nimport {\n getActivityCalendarDetailPage,\n getFoodPackagePage,\n getFoodStorePage,\n getWebviewPage,\n navigateTo\n} from '../../utils'\nimport { getAppConfig } from '../../configs'\nimport { routePrefix } from '../../constants'\nimport { getSDKConfig } from '../config'\n\n/**\n * 跳转到各商品详情\n * @param options 可选项\n */\nconst jumpToGoodsDetail = async (options: {\n /** 商品id */\n skuId: string,\n /** 业务线 */\n linkBusinessLine: EBusinessLine,\n /** 例如:民宿时,type='hotel' ,跳转民宿酒店详情,type无值则跳转民宿爆款商品详情 —— 原代码参数,暂时这样用着 */\n type?: string,\n /** item额外参数 */\n item: any\n}) => {\n const configOptions = getSDKConfig()\n\n // appConfig\n const appConfig = getAppConfig(configOptions.appEnv)\n\n const { skuId, linkBusinessLine, type = '', item } = options || {}\n\n let page = ''\n\n switch (linkBusinessLine) {\n case EBusinessLine.Scenic:\n /** 景区/门票 */\n page = `${routePrefix.ticket}/detail/index?scenicId=${skuId}&reservationId=${item.reservationId}&isOld=${item.isOld}`\n break\n case EBusinessLine.Hotel:\n /** 酒店 */\n page = `${routePrefix.hotel}/home/details/index?id=${skuId}`\n break\n case EBusinessLine.Homestay:\n /** 民宿 */\n if (type === EHotelType.hotel) {\n /** 酒店 (天下房仓酒店详情页)*/\n page = `${routePrefix.hotel}/home/details/index?id=${skuId}`\n } else {\n /** 民宿 */\n if (`${item.subBizType}` === `${ESubBizType.HomestayHotel}`) {\n // 民宿类酒店 (天下房仓酒店详情页) 如严选亲测\n page = `${routePrefix.hotel}/home/details/index?id=${skuId}`\n } else {\n // 民宿爆款商品详情页 subBizType 31\n page = `${routePrefix.hotel}/home/hot-sale-details/index?id=${skuId}`\n }\n }\n break\n case EBusinessLine.Route:\n /** 路线/定制 */\n page = `${routePrefix.road}/product-detail/index?id=${skuId}`\n break\n case EBusinessLine.Travel:\n /** 出行 */\n // uni.showToast({ title: '敬请期待', icon: 'none' })\n break\n case EBusinessLine.Foods:\n /** 美食 */\n if (item?.moduleType === EFoodsModuleType.store) {\n /** 收藏跳店铺 */\n page = getWebviewPage({ url: getFoodStorePage(appConfig.domain.food, item.storeId || item.id) })\n } else {\n /** 跳转套餐 */\n page = getWebviewPage({ url: getFoodPackagePage(appConfig.domain.food, item.storeId || item.id, skuId) })\n }\n break\n case EBusinessLine.Buy:\n /** 购物 */\n page = getWebviewPage({ url: appConfig.domain.shopping + `goods?itemId=${item.id || item.spuId}` }) // 1.71.0 应产品和后端要求,跳转购物详情页目前不需要skuId\n break\n case EBusinessLine.Onebuygz:\n /** 新购物 */\n page = getWebviewPage({ url: appConfig.domain.onebuygz + `pages/commodity-detail/index?itemId=${item.spuId || item.id}&skuId=${item.skuId}` })\n break\n case EBusinessLine.Entertainment:\n /** 文娱 */\n if (`${item.type}` === EVenueTypesDes[EVenueTypes.Activity] || `${item.subBizType}` === `${ESubBizType.EntertainmentPerform}`) {\n page = `${routePrefix.enjoy}/g-activity/detail?id=` + skuId + '&mchId=' + (item.storeId || '')\n } else {\n page = `${routePrefix.enjoy}/g-venue/detail?id=${skuId}&reservationId=${item.reservationId}`\n }\n break\n case EBusinessLine.Strategy:\n /** 攻略 */\n page = `${routePrefix.strategy}/strategy-detail/index?id=` + skuId\n break\n case EBusinessLine.Recommend:\n /** 种草 */\n page = `${routePrefix.show}/details/index?id=${skuId}${item?.moreParameter ? item.moreParameter : ''}`\n break\n case EBusinessLine.Activity:\n /** 活动 */\n page = getActivityCalendarDetailPage({ id: skuId, date: item.collectTime })\n break\n case EBusinessLine.SoundGuizhou:\n /** 声入贵州 */\n page = `${routePrefix.soundGuizhou}/detail?audioLibId=${skuId}`\n break\n case EBusinessLine.ExcitingVideo:\n /** 精彩视频 */\n page = `${routePrefix.living}/wonderful-video/index?vid=${skuId}`\n break\n default:\n break\n }\n\n if (page) {\n if (configOptions.caller === ECaller.web) {\n navigateTo({ src: page });\n } else if (configOptions.caller === ECaller.host) {\n // uni.navigateTo({ url: page })\n }\n }\n}\n\n/**\n * 跳转商品详情页\n * @param item\n */\nexport const jumpToGoodsDetailPage = (item: IJumpGoodsDetailItem) => {\n // 扩展信息\n let extInfo = item?.extInfoMap || item?.extInfo || {}\n\n try {\n extInfo = typeof extInfo === 'string' ? JSON.parse(extInfo) : extInfo\n } catch {\n // console.log('')\n }\n\n const obj = (item?.extInfoMap || item?.extInfo) ? { ...item, ...extInfo } : item\n if (obj?.type === EHotelType.hotel) {\n item.skuId = obj?.storeId\n }\n\n // 跳转\n jumpToGoodsDetail({\n skuId: item?.skuId || item?.spuId || item?.id || '',\n linkBusinessLine: (obj.linkBusinessLine || obj.bizType || obj.businessType)!,\n type: obj.type,\n item: obj\n }).then().catch()\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EAppEnv } from "../../enums/environment/index.js";
|
|
2
|
+
import { ECaller } from "../../enums/sdk/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/types/one-travel-service/index.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 一码游SDK可选项
|
|
8
|
+
*/
|
|
9
|
+
type IOneTravelSDKOptions = {
|
|
10
|
+
/** 环境变量, 默认生产环境 */
|
|
11
|
+
appEnv: EAppEnv;
|
|
12
|
+
/** 调用者 */
|
|
13
|
+
caller: ECaller;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
16
|
+
//#endregion
|
|
17
|
+
export { IOneTravelSDKOptions };
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/types/one-travel-service/index.ts"],"sourcesContent":[],"mappings":";;;;;;;AAMA;AAAgC,KAApB,oBAAA,GAAoB;EAAA;EAEf,MAEP,EAFA,OAEA;EAAO;UAAP"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/utils/common/index.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* 是否是空值
|
|
4
|
+
* @param value
|
|
5
|
+
*/
|
|
6
|
+
declare function isEmpty(value: any): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* 查询参数转url
|
|
9
|
+
* @param {Object} query 查询参数
|
|
10
|
+
* @param {Object} options 可选参数
|
|
11
|
+
*/
|
|
12
|
+
declare function query2url(query: Record<string, any>, options?: {
|
|
13
|
+
encode?: boolean;
|
|
14
|
+
}): string;
|
|
15
|
+
/**
|
|
16
|
+
* 解析URL查询参数
|
|
17
|
+
* @param {String} url
|
|
18
|
+
*/
|
|
19
|
+
declare function getQueryParameters<T = any>(url: string): T;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
21
|
+
//#endregion
|
|
22
|
+
export { getQueryParameters, isEmpty, query2url };
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/utils/common/index.ts"],"sourcesContent":[],"mappings":";;AAIA;AAUA;AAqBA;iBA/BgB,OAAA;;;;;;iBAUA,SAAA,QACP;;;;;;;iBAoBO,0CAiBG"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/utils/common/index.ts
|
|
2
|
+
/**
|
|
3
|
+
* 是否是空值
|
|
4
|
+
* @param value
|
|
5
|
+
*/
|
|
6
|
+
function isEmpty(value) {
|
|
7
|
+
return value === "" || value === void 0 || value === null;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 查询参数转url
|
|
11
|
+
* @param {Object} query 查询参数
|
|
12
|
+
* @param {Object} options 可选参数
|
|
13
|
+
*/
|
|
14
|
+
function query2url(query, options) {
|
|
15
|
+
const { encode = true } = options || {};
|
|
16
|
+
const url = Object.entries(query || {}).filter(([key, val]) => val !== void 0 && val !== null).map(([key, val]) => {
|
|
17
|
+
return encode ? `${encodeURIComponent(key)}=${encodeURIComponent(val)}` : `${key}=${val}`;
|
|
18
|
+
}).join("&");
|
|
19
|
+
return url ? `?${url}` : "";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 解析URL查询参数
|
|
23
|
+
* @param {String} url
|
|
24
|
+
*/
|
|
25
|
+
function getQueryParameters(url) {
|
|
26
|
+
const params = {};
|
|
27
|
+
const queryString = url.split("?")[1];
|
|
28
|
+
if (queryString) {
|
|
29
|
+
const pairs = queryString.split("&");
|
|
30
|
+
for (let i = 0; i < pairs.length; i++) {
|
|
31
|
+
const pair = pairs[i].split("=");
|
|
32
|
+
const key = decodeURIComponent(pair[0]);
|
|
33
|
+
let value = decodeURIComponent(pair[1] || "");
|
|
34
|
+
try {
|
|
35
|
+
value = JSON.parse(value);
|
|
36
|
+
} catch (error) {}
|
|
37
|
+
params[key] = value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return params;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { getQueryParameters, isEmpty, query2url };
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["value: any","query: Record<string, any>","options?: {\n encode?: boolean\n }","url: string","params: any"],"sources":["../../../src/utils/common/index.ts"],"sourcesContent":["/**\n * 是否是空值\n * @param value\n */\nexport function isEmpty(value: any) {\n // eslint-disable-next-line no-restricted-syntax\n return value === '' || value === undefined || value === null\n}\n\n/**\n * 查询参数转url\n * @param {Object} query 查询参数\n * @param {Object} options 可选参数\n */\nexport function query2url(\n query: Record<string, any>,\n options?: {\n encode?: boolean\n }\n) {\n const { encode = true } = options || {}\n const url = Object.entries(query || {})\n // eslint-disable-next-line no-restricted-syntax\n .filter(([key, val]) => val !== undefined && val !== null)\n .map(([key, val]) => {\n return encode ? `${encodeURIComponent(key)}=${encodeURIComponent(val as any)}` : `${key}=${val as any}`\n })\n .join('&')\n return url ? `?${url}` : ''\n}\n\n/**\n * 解析URL查询参数\n * @param {String} url\n */\nexport function getQueryParameters<T = any>(url: string) {\n const params: any = {}\n const queryString = url.split('?')[1]\n if (queryString) {\n const pairs = queryString.split('&')\n for (let i = 0; i < pairs.length; i++) {\n const pair = pairs[i].split('=')\n const key = decodeURIComponent(pair[0])\n let value = decodeURIComponent(pair[1] || '')\n try {\n value = JSON.parse(value)\n } catch (error) {\n //\n }\n params[key] = value\n }\n }\n return params as T\n}\n"],"mappings":";;;;;AAIA,SAAgB,QAAQA,OAAY;AAElC,QAAO,UAAU,MAAM,oBAAuB,UAAU;AACzD;;;;;;AAOD,SAAgB,UACdC,OACAC,SAGA;CACA,MAAM,EAAE,SAAS,MAAM,GAAG,WAAW,CAAE;CACvC,MAAM,MAAM,OAAO,QAAQ,SAAS,CAAE,EAAC,CAEpC,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,kBAAqB,QAAQ,KAAK,CACzD,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK;AACnB,SAAO,UAAU,EAAE,mBAAmB,IAAI,CAAC,GAAG,mBAAmB,IAAW,CAAC,KAAK,EAAE,IAAI,GAAG,IAAW;CACvG,EAAC,CACD,KAAK,IAAI;AACZ,QAAO,OAAO,GAAG,IAAI,IAAI;AAC1B;;;;;AAMD,SAAgB,mBAA4BC,KAAa;CACvD,MAAMC,SAAc,CAAE;CACtB,MAAM,cAAc,IAAI,MAAM,IAAI,CAAC;AACnC,KAAI,aAAa;EACf,MAAM,QAAQ,YAAY,MAAM,IAAI;AACpC,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;GACrC,MAAM,OAAO,MAAM,GAAG,MAAM,IAAI;GAChC,MAAM,MAAM,mBAAmB,KAAK,GAAG;GACvC,IAAI,QAAQ,mBAAmB,KAAK,MAAM,GAAG;AAC7C,OAAI;AACF,YAAQ,KAAK,MAAM,MAAM;GAC1B,SAAQ,OAAO,CAEf;AACD,UAAO,OAAO;EACf;CACF;AACD,QAAO;AACR"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/utils/pages/activity-calendar/index.d.ts
|
|
2
|
+
type ActivityCalendarDetailPageParams = {
|
|
3
|
+
id: number | string;
|
|
4
|
+
date?: string;
|
|
5
|
+
};
|
|
6
|
+
declare function getActivityCalendarDetailPage(params: ActivityCalendarDetailPageParams): string;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { ActivityCalendarDetailPageParams, getActivityCalendarDetailPage };
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/utils/pages/activity-calendar/index.ts"],"sourcesContent":[],"mappings":";KAMY,gCAAA;EAAA,EAAA,EAAA,MAAA,GAAA,MAAA;EAMH,IAAA,CAAA,EAAA,MAAA;;iBAAA,6BAAA,SAAsC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { routePrefix } from "../../../constants/routes/index.js";
|
|
2
|
+
import { query2url } from "../../common/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/pages/activity-calendar/index.ts
|
|
5
|
+
const rootPage = routePrefix.activityCalendar;
|
|
6
|
+
function getActivityCalendarDetailPage(params) {
|
|
7
|
+
return `${rootPage}/detail/index${query2url(params, { encode: false })}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
export { getActivityCalendarDetailPage };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["params: ActivityCalendarDetailPageParams"],"sources":["../../../../src/utils/pages/activity-calendar/index.ts"],"sourcesContent":["import { query2url } from '../../common'\nimport { routePrefix } from '../../../constants'\n\nconst rootPage = routePrefix.activityCalendar;\n\n// 活动日历详情页\nexport type ActivityCalendarDetailPageParams = {\n // id\n id: number | string;\n // 日期:YYYY-MM-DD\n date?: string;\n}\nfunction getActivityCalendarDetailPage(params: ActivityCalendarDetailPageParams) {\n return `${rootPage}/detail/index${query2url(params, { encode: false })}`\n}\n\nexport {\n getActivityCalendarDetailPage\n}\n"],"mappings":";;;;AAGA,MAAM,WAAW,YAAY;AAS7B,SAAS,8BAA8BA,QAA0C;AAC/E,SAAQ,EAAE,SAAS,eAAe,UAAU,QAAQ,EAAE,QAAQ,MAAO,EAAC,CAAC;AACxE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/utils/pages/food/index.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* 店铺
|
|
4
|
+
* @param domain 域名
|
|
5
|
+
* @param storeId
|
|
6
|
+
* @param isDiamondLevel
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
declare const getFoodStorePage: (domain: string, storeId: string, isDiamondLevel?: boolean) => string;
|
|
10
|
+
/**
|
|
11
|
+
* 套餐
|
|
12
|
+
* @param domain
|
|
13
|
+
* @param storeId
|
|
14
|
+
* @param packageId
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
declare const getFoodPackagePage: (domain: string, storeId: string, packageId: string) => string;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
19
|
+
//#endregion
|
|
20
|
+
export { getFoodPackagePage, getFoodStorePage };
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/utils/pages/food/index.ts"],"sourcesContent":[],"mappings":";;AASA;AAWA;;;;;cAXa;;;;;;;;cAWA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { query2url } from "../../common/index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/pages/food/index.ts
|
|
4
|
+
/**
|
|
5
|
+
* 店铺
|
|
6
|
+
* @param domain 域名
|
|
7
|
+
* @param storeId
|
|
8
|
+
* @param isDiamondLevel
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
const getFoodStorePage = (domain, storeId, isDiamondLevel) => {
|
|
12
|
+
return `${domain}store/arrive/index${query2url({
|
|
13
|
+
storeId,
|
|
14
|
+
isDiamondLevel
|
|
15
|
+
}, { encode: false })}`;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* 套餐
|
|
19
|
+
* @param domain
|
|
20
|
+
* @param storeId
|
|
21
|
+
* @param packageId
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
const getFoodPackagePage = (domain, storeId, packageId) => {
|
|
25
|
+
return `${domain}store/arrive/package-detail/index${query2url({
|
|
26
|
+
storeId,
|
|
27
|
+
packageId
|
|
28
|
+
}, { encode: false })}`;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { getFoodPackagePage, getFoodStorePage };
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["domain: string","storeId: string","isDiamondLevel?: boolean","packageId: string"],"sources":["../../../../src/utils/pages/food/index.ts"],"sourcesContent":["import { query2url } from '../../common'\n\n/**\n * 店铺\n * @param domain 域名\n * @param storeId\n * @param isDiamondLevel\n * @returns\n */\nexport const getFoodStorePage = (domain: string, storeId: string, isDiamondLevel?: boolean) => {\n return `${domain}store/arrive/index${query2url({ storeId, isDiamondLevel }, { encode: false })}`\n}\n\n/**\n * 套餐\n * @param domain\n * @param storeId\n * @param packageId\n * @returns\n */\nexport const getFoodPackagePage = (domain: string, storeId: string, packageId: string) => {\n return `${domain}store/arrive/package-detail/index${query2url({ storeId, packageId }, { encode: false })}`\n}\n"],"mappings":";;;;;;;;;;AASA,MAAa,mBAAmB,CAACA,QAAgBC,SAAiBC,mBAA6B;AAC7F,SAAQ,EAAE,OAAO,oBAAoB,UAAU;EAAE;EAAS;CAAgB,GAAE,EAAE,QAAQ,MAAO,EAAC,CAAC;AAChG;;;;;;;;AASD,MAAa,qBAAqB,CAACF,QAAgBC,SAAiBE,cAAsB;AACxF,SAAQ,EAAE,OAAO,mCAAmC,UAAU;EAAE;EAAS;CAAW,GAAE,EAAE,QAAQ,MAAO,EAAC,CAAC;AAC1G"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EBusinessLine } from "../../../enums/business-line/index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/pages/webview/index.d.ts
|
|
4
|
+
type WebviewPageParams = {
|
|
5
|
+
url: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
businessLine?: EBusinessLine;
|
|
8
|
+
scene?: any;
|
|
9
|
+
};
|
|
10
|
+
declare function getWebviewPage(params: WebviewPageParams): string;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { WebviewPageParams, getWebviewPage };
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/utils/pages/webview/index.ts"],"sourcesContent":[],"mappings":";;;KAKY,iBAAA;;EAAA,KAAA,CAAA,EAAA,MAAA;EAMH,YAAA,CAAA,EAHQ,aAGe;;;iBAAvB,cAAA,SAAuB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { routes } from "../../../constants/routes/index.js";
|
|
2
|
+
import { query2url } from "../../common/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/pages/webview/index.ts
|
|
5
|
+
function getWebviewPage(params) {
|
|
6
|
+
return `${routes.webView}${query2url(params)}`;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { getWebviewPage };
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["params: WebviewPageParams"],"sources":["../../../../src/utils/pages/webview/index.ts"],"sourcesContent":["import { EBusinessLine } from '../../../enums'\nimport { query2url } from '../../common'\nimport { routes } from '../../../constants'\n\n// webview页面\nexport type WebviewPageParams = {\n url: string;\n title?: string;\n businessLine?: EBusinessLine;\n scene?: any\n}\nfunction getWebviewPage(params: WebviewPageParams) {\n return `${routes.webView}${query2url(params)}`\n}\n\nexport {\n getWebviewPage\n}\n\n"],"mappings":";;;;AAWA,SAAS,eAAeA,QAA2B;AACjD,SAAQ,EAAE,OAAO,QAAQ,EAAE,UAAU,OAAO,CAAC;AAC9C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//#region src/utils/web-view/index.d.ts
|
|
2
|
+
declare enum EMessagesType {
|
|
3
|
+
pay = "pay",
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* 当前环境
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
declare const getWebViewEnv: () => {};
|
|
10
|
+
/**
|
|
11
|
+
* 原生路由跳转
|
|
12
|
+
* @param parameters
|
|
13
|
+
*/
|
|
14
|
+
declare const navigateTo: (parameters: {
|
|
15
|
+
/** 跳转路径 */
|
|
16
|
+
src: string;
|
|
17
|
+
/** 路径参数(会拼接到url上面) */
|
|
18
|
+
params?: Record<string, any>;
|
|
19
|
+
}) => void;
|
|
20
|
+
/**
|
|
21
|
+
* 原生路由重定向
|
|
22
|
+
* @param parameters
|
|
23
|
+
*/
|
|
24
|
+
declare const redirectTo: (parameters: {
|
|
25
|
+
/** 跳转路径 */
|
|
26
|
+
src: string;
|
|
27
|
+
/** 路径参数(会拼接到url上面) */
|
|
28
|
+
params?: Record<string, any>;
|
|
29
|
+
}) => void;
|
|
30
|
+
/**
|
|
31
|
+
* 原生路由返回
|
|
32
|
+
* @param parameters
|
|
33
|
+
*/
|
|
34
|
+
declare const navigateBack: (parameters?: {
|
|
35
|
+
delta?: number;
|
|
36
|
+
}) => void;
|
|
37
|
+
/**
|
|
38
|
+
* 发送消息
|
|
39
|
+
* @param data
|
|
40
|
+
*/
|
|
41
|
+
declare const postMessage: (data: {
|
|
42
|
+
type?: EMessagesType;
|
|
43
|
+
params: Record<string, any>;
|
|
44
|
+
}) => void;
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
46
|
+
//#endregion
|
|
47
|
+
export { EMessagesType, getWebViewEnv, navigateBack, navigateTo, postMessage, redirectTo };
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/utils/web-view/index.ts"],"sourcesContent":[],"mappings":";AAWY,aAAA,aAAA;EAQC,GAAA,GAAA,KAAA;AAQb;AAyBA;AAyBA;AAmBA;;AACS,cA9EI,aA8EJ,EAAA,GAAA,GAAA,CAAA,CAAA;;AACO;;;cAvEH;;;;WAIF;;;;;;cAqBE;;;;WAIF;;;;;;cAqBE;;;;;;;cAmBA;SACJ;UACC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { __toESM } from "../../_virtual/rolldown_runtime.js";
|
|
2
|
+
import { require_uni_webview_1_5_5 } from "../../libs/webview/uni.webview.1.5.5.js";
|
|
3
|
+
import wx from "weixin-js-sdk";
|
|
4
|
+
|
|
5
|
+
//#region src/utils/web-view/index.ts
|
|
6
|
+
var import_uni_webview_1_5_5 = __toESM(require_uni_webview_1_5_5(), 1);
|
|
7
|
+
let env = {};
|
|
8
|
+
document.addEventListener("UniAppJSBridgeReady", function() {
|
|
9
|
+
uni.webView.getEnv(function(res) {
|
|
10
|
+
env = res;
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
let EMessagesType = /* @__PURE__ */ function(EMessagesType$1) {
|
|
14
|
+
EMessagesType$1["pay"] = "pay";
|
|
15
|
+
return EMessagesType$1;
|
|
16
|
+
}({});
|
|
17
|
+
/**
|
|
18
|
+
* 当前环境
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
const getWebViewEnv = () => {
|
|
22
|
+
return env;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* 原生路由跳转
|
|
26
|
+
* @param parameters
|
|
27
|
+
*/
|
|
28
|
+
const navigateTo = (parameters) => {
|
|
29
|
+
const { src, params } = parameters;
|
|
30
|
+
const url = `${src}${params ? `?${objectToQueryString(params)}` : ""}`;
|
|
31
|
+
try {
|
|
32
|
+
uni?.webView?.navigateTo?.({ url });
|
|
33
|
+
/** 不兼容上面的方法会自动往下执行 */
|
|
34
|
+
wx.miniProgram.navigateTo({ url });
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.error(error);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* 原生路由重定向
|
|
41
|
+
* @param parameters
|
|
42
|
+
*/
|
|
43
|
+
const redirectTo = (parameters) => {
|
|
44
|
+
const { src, params } = parameters;
|
|
45
|
+
const url = `${src}${params ? `?${objectToQueryString(params)}` : ""}`;
|
|
46
|
+
try {
|
|
47
|
+
uni?.webView?.redirectTo?.({ url });
|
|
48
|
+
/** 不兼容上面的方法会自动往下执行 */
|
|
49
|
+
wx.miniProgram.redirectTo({ url });
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error(error);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* 原生路由返回
|
|
56
|
+
* @param parameters
|
|
57
|
+
*/
|
|
58
|
+
const navigateBack = (parameters) => {
|
|
59
|
+
try {
|
|
60
|
+
uni?.webView?.navigateBack?.(parameters);
|
|
61
|
+
/** 不兼容上面的方法会自动往下执行 */
|
|
62
|
+
wx.miniProgram.navigateBack(parameters);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.error(error);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* 发送消息
|
|
69
|
+
* @param data
|
|
70
|
+
*/
|
|
71
|
+
const postMessage = (data) => {
|
|
72
|
+
if (window.__wxjs_environment === "miniprogram" && data.type === EMessagesType.pay) {
|
|
73
|
+
redirectTo({
|
|
74
|
+
src: "/pages/web-view/index",
|
|
75
|
+
params: data.params
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
uni?.webView?.postMessage({ data });
|
|
80
|
+
};
|
|
81
|
+
function objectToQueryString(obj) {
|
|
82
|
+
const params = Object.entries(obj).map(([key, value]) => {
|
|
83
|
+
if (Array.isArray(value)) return value.map((val) => `${encodeURI(key)}[]=${encodeURI(val)}`).join("&");
|
|
84
|
+
return `${encodeURI(key)}=${encodeURI(value)}`;
|
|
85
|
+
});
|
|
86
|
+
return params.join("&");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
export { EMessagesType, getWebViewEnv, navigateBack, navigateTo, postMessage, redirectTo };
|
|
91
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["res: any","parameters: {\n /** 跳转路径 */\n src: string,\n /** 路径参数(会拼接到url上面) */\n params?: Record<string, any>;\n}","parameters?: {\n delta?: number;\n}","data: {\n type?: EMessagesType;\n params: Record<string, any>;\n}","obj: T"],"sources":["../../../src/utils/web-view/index.ts"],"sourcesContent":["import '../../libs/webview/uni.webview.1.5.5.js'\nimport wx from 'weixin-js-sdk'\n\nlet env = {}\ndocument.addEventListener('UniAppJSBridgeReady', function () {\n // @ts-ignore\n (uni as any).webView.getEnv(function (res: any) {\n env = res\n });\n});\n\nexport enum EMessagesType {\n pay = 'pay'\n}\n\n/**\n * 当前环境\n * @returns\n */\nexport const getWebViewEnv = () => {\n return env\n}\n\n/**\n * 原生路由跳转\n * @param parameters\n */\nexport const navigateTo = (parameters: {\n /** 跳转路径 */\n src: string,\n /** 路径参数(会拼接到url上面) */\n params?: Record<string, any>;\n}) => {\n const { src, params } = parameters\n\n // TODO 字节小程序、支付宝未适配,只支持h5、鸿蒙、微信小程序\n const url = `${src}${params ? `?${objectToQueryString(params)}` : ''}`;\n try {\n // @ts-ignore\n uni?.webView?.navigateTo?.({ url })\n /** 不兼容上面的方法会自动往下执行 */\n wx.miniProgram.navigateTo({ url })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error)\n }\n}\n\n/**\n * 原生路由重定向\n * @param parameters\n */\nexport const redirectTo = (parameters: {\n /** 跳转路径 */\n src: string,\n /** 路径参数(会拼接到url上面) */\n params?: Record<string, any>;\n}) => {\n const { src, params } = parameters\n\n // TODO 字节小程序、支付宝未适配,只支持h5、鸿蒙、微信小程序\n const url = `${src}${params ? `?${objectToQueryString(params)}` : ''}`;\n try {\n // @ts-ignore\n uni?.webView?.redirectTo?.({ url })\n /** 不兼容上面的方法会自动往下执行 */\n wx.miniProgram.redirectTo({ url })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error)\n }\n}\n\n/**\n * 原生路由返回\n * @param parameters\n */\nexport const navigateBack = (parameters?: {\n delta?: number;\n}) => {\n try {\n // @ts-ignore\n uni?.webView?.navigateBack?.(parameters)\n /** 不兼容上面的方法会自动往下执行 */\n // @ts-ignore\n wx.miniProgram.navigateBack(parameters)\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error)\n }\n}\n\n/**\n * 发送消息\n * @param data\n */\nexport const postMessage = (data: {\n type?: EMessagesType;\n params: Record<string, any>;\n}) => {\n if (window.__wxjs_environment === 'miniprogram' && data.type === EMessagesType.pay) {\n redirectTo({ src: '/pages/web-view/index', params: data.params })\n return\n }\n // @ts-ignore\n uni?.webView?.postMessage({ data })\n}\n\nfunction objectToQueryString<T = any>(obj: T) {\n const params = Object.entries(obj as object).map(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map(val => `${encodeURI(key)}[]=${encodeURI(val)}`).join('&');\n }\n return `${encodeURI(key)}=${encodeURI(value)}`;\n });\n return params.join('&');\n}\n"],"mappings":";;;;;;AAGA,IAAI,MAAM,CAAE;AACZ,SAAS,iBAAiB,uBAAuB,WAAY;AAE3D,CAAC,IAAY,QAAQ,OAAO,SAAUA,KAAU;AAC9C,QAAM;CACP,EAAC;AACH,EAAC;AAEF,IAAY,0DAAL;AACL;;AACD;;;;;AAMD,MAAa,gBAAgB,MAAM;AACjC,QAAO;AACR;;;;;AAMD,MAAa,aAAa,CAACC,eAKrB;CACJ,MAAM,EAAE,KAAM,QAAQ,GAAG;CAGzB,MAAM,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,oBAAoB,OAAO,CAAC,IAAI,GAAG;AACrE,KAAI;AAEF,OAAK,SAAS,aAAa,EAAE,IAAK,EAAC;;AAEnC,KAAG,YAAY,WAAW,EAAE,IAAK,EAAC;CACnC,SAAQ,OAAO;AAEd,UAAQ,MAAM,MAAM;CACrB;AACF;;;;;AAMD,MAAa,aAAa,CAACA,eAKrB;CACJ,MAAM,EAAE,KAAM,QAAQ,GAAG;CAGzB,MAAM,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,oBAAoB,OAAO,CAAC,IAAI,GAAG;AACrE,KAAI;AAEF,OAAK,SAAS,aAAa,EAAE,IAAK,EAAC;;AAEnC,KAAG,YAAY,WAAW,EAAE,IAAK,EAAC;CACnC,SAAQ,OAAO;AAEd,UAAQ,MAAM,MAAM;CACrB;AACF;;;;;AAMD,MAAa,eAAe,CAACC,eAEvB;AACJ,KAAI;AAEF,OAAK,SAAS,eAAe,WAAW;;AAGxC,KAAG,YAAY,aAAa,WAAW;CACxC,SAAQ,OAAO;AAEd,UAAQ,MAAM,MAAM;CACrB;AACF;;;;;AAMD,MAAa,cAAc,CAACC,SAGtB;AACJ,KAAI,OAAO,uBAAuB,iBAAiB,KAAK,SAAS,cAAc,KAAK;AAClF,aAAW;GAAE,KAAK;GAAyB,QAAQ,KAAK;EAAQ,EAAC;AACjE;CACD;AAED,MAAK,SAAS,YAAY,EAAE,KAAM,EAAC;AACpC;AAED,SAAS,oBAA6BC,KAAQ;CAC5C,MAAM,SAAS,OAAO,QAAQ,IAAc,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,KAAK;AACjE,MAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,MAAM,IAAI,UAAQ,EAAE,UAAU,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI;AAE5E,UAAQ,EAAE,UAAU,IAAI,CAAC,GAAG,UAAU,MAAM,CAAC;CAC9C,EAAC;AACF,QAAO,OAAO,KAAK,IAAI;AACxB"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@foundbyte/uni-libs",
|
|
3
3
|
"description": "FoundByte Uni Libs",
|
|
4
4
|
"author": "yangshuai <704807396@qq.com>",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.3",
|
|
6
6
|
"private": false,
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "es/index.js",
|
|
@@ -16,19 +16,24 @@
|
|
|
16
16
|
"registry": "https://registry.npmjs.org/",
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
19
|
-
"sideEffects":
|
|
19
|
+
"sideEffects": [
|
|
20
|
+
"./src/libs/**"
|
|
21
|
+
],
|
|
20
22
|
"dependencies": {
|
|
21
23
|
"weixin-js-sdk": "^1.6.5"
|
|
22
24
|
},
|
|
23
25
|
"devDependencies": {
|
|
24
26
|
"typescript": "~5.7.2",
|
|
25
27
|
"@types/node": "^22.10.2",
|
|
28
|
+
"@dcloudio/types": "^3.4.14",
|
|
26
29
|
"vite": "^6.2.1",
|
|
27
|
-
"vite-plugin-dts": "^4.5.3"
|
|
30
|
+
"vite-plugin-dts": "^4.5.3",
|
|
31
|
+
"tsdown": "^0.12.8"
|
|
28
32
|
},
|
|
29
33
|
"scripts": {
|
|
30
34
|
"build": "vite build",
|
|
31
|
-
"
|
|
35
|
+
"build:tsdown": "tsdown",
|
|
36
|
+
"publish:npm": "pnpm publish --no-git-checks"
|
|
32
37
|
},
|
|
33
38
|
"typings": "es/index.d.ts"
|
|
34
39
|
}
|
package/es/web-view/index.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export declare enum EWebViewMessages {
|
|
2
|
-
navigateTo = "navigateTo"
|
|
3
|
-
}
|
|
4
|
-
export declare enum EMessagesType {
|
|
5
|
-
pay = "pay"
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* 当前环境
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
export declare const getWebViewEnv: () => {};
|
|
12
|
-
/**
|
|
13
|
-
* 原生路由跳转
|
|
14
|
-
* @param src
|
|
15
|
-
* @param params
|
|
16
|
-
*/
|
|
17
|
-
export declare const navigateTo: <T = any>(src: string, params?: T) => void;
|
|
18
|
-
/**
|
|
19
|
-
* 原生路由重定向
|
|
20
|
-
* @param src
|
|
21
|
-
* @param params
|
|
22
|
-
*/
|
|
23
|
-
export declare const redirectTo: <T = any>(src: string, params?: T) => void;
|
|
24
|
-
/**
|
|
25
|
-
* 原生路由返回
|
|
26
|
-
* @param param
|
|
27
|
-
*/
|
|
28
|
-
export declare const navigateBack: (param: {
|
|
29
|
-
delta: 1;
|
|
30
|
-
}) => void;
|
|
31
|
-
/**
|
|
32
|
-
* 发送消息
|
|
33
|
-
* @param data
|
|
34
|
-
*/
|
|
35
|
-
export declare const postMessage: (data: {
|
|
36
|
-
type?: EMessagesType;
|
|
37
|
-
params: any;
|
|
38
|
-
}) => void;
|