27 lines
740 B
TypeScript
27 lines
740 B
TypeScript
import Taro from "@tarojs/taro";
|
|
|
|
// 普通函数,不调用 useLoad
|
|
export const sceneRedirectLogic = (options, defaultPage: string) => {
|
|
console.log(options, 12345)
|
|
if (!options.scene) return;
|
|
|
|
try {
|
|
const decoded = decodeURIComponent(options.scene || "");
|
|
const params: Record<string, string> = {};
|
|
|
|
decoded.split("&").forEach((pair) => {
|
|
const [key, value] = pair.split("=");
|
|
if (key) params[key] = value ? decodeURIComponent(value) : "";
|
|
});
|
|
|
|
const query = Object.entries(params)
|
|
.map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
|
|
.join("&");
|
|
|
|
Taro.redirectTo({
|
|
url: query ? `/${defaultPage}?${query}` : `/${defaultPage}`,
|
|
});
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}; |