Merge branch 'feat/liujie'
This commit is contained in:
@@ -5,6 +5,7 @@ import "./app.scss";
|
|||||||
import "./scss/qweather-icons/qweather-icons.css";
|
import "./scss/qweather-icons/qweather-icons.css";
|
||||||
import { useGlobalStore } from "./store/global";
|
import { useGlobalStore } from "./store/global";
|
||||||
import { removeStorage } from "./store/storage";
|
import { removeStorage } from "./store/storage";
|
||||||
|
import { sceneRedirectLogic } from './utils/helper'
|
||||||
|
|
||||||
interface AppProps {
|
interface AppProps {
|
||||||
children: ReactNode;
|
children: ReactNode;
|
||||||
@@ -17,7 +18,6 @@ function clearSpecStorage() {
|
|||||||
|
|
||||||
class App extends Component<AppProps> {
|
class App extends Component<AppProps> {
|
||||||
onLaunch(options) {
|
onLaunch(options) {
|
||||||
console.log('launch options: ', options)
|
|
||||||
console.log("小程序启动,初始化逻辑写这里");
|
console.log("小程序启动,初始化逻辑写这里");
|
||||||
clearSpecStorage()
|
clearSpecStorage()
|
||||||
Taro.onNeedPrivacyAuthorization((resolve) => {
|
Taro.onNeedPrivacyAuthorization((resolve) => {
|
||||||
@@ -36,6 +36,7 @@ class App extends Component<AppProps> {
|
|||||||
// console.error('字体加载失败', err);
|
// console.error('字体加载失败', err);
|
||||||
// }
|
// }
|
||||||
// })
|
// })
|
||||||
|
sceneRedirectLogic(options.query, options.path);
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import Participants from "./components/Participants";
|
|||||||
import SupplementalNotes from "./components/SupplementalNotes";
|
import SupplementalNotes from "./components/SupplementalNotes";
|
||||||
import OrganizerInfo from "./components/OrganizerInfo";
|
import OrganizerInfo from "./components/OrganizerInfo";
|
||||||
import SharePopup from "./components/SharePopup";
|
import SharePopup from "./components/SharePopup";
|
||||||
import { navto, toast, useSceneRedirect } from "./utils/helper";
|
import { navto, toast } from "./utils/helper";
|
||||||
import ArrowLeft from "@/static/detail/icon-arrow-left.svg";
|
import ArrowLeft from "@/static/detail/icon-arrow-left.svg";
|
||||||
import Logo from "@/static/detail/icon-logo-go.svg";
|
import Logo from "@/static/detail/icon-logo-go.svg";
|
||||||
import styles from "./index.module.scss";
|
import styles from "./index.module.scss";
|
||||||
@@ -37,8 +37,6 @@ function Index() {
|
|||||||
const { statusNavbarHeightInfo } = useGlobalState();
|
const { statusNavbarHeightInfo } = useGlobalState();
|
||||||
const { statusBarHeight, navBarHeight } = statusNavbarHeightInfo;
|
const { statusBarHeight, navBarHeight } = statusNavbarHeightInfo;
|
||||||
|
|
||||||
useSceneRedirect("game_pages/detail/index");
|
|
||||||
|
|
||||||
const isMyOwn = userInfo.id === myInfo.id;
|
const isMyOwn = userInfo.id === myInfo.id;
|
||||||
|
|
||||||
const sharePopupRef = useRef<any>(null);
|
const sharePopupRef = useRef<any>(null);
|
||||||
@@ -254,4 +252,6 @@ function Index() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default withAuth(Index);
|
// export default withAuth(Index);
|
||||||
|
const ExportPage = withAuth(Index);
|
||||||
|
export default ExportPage;
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
import Taro, {
|
import Taro from "@tarojs/taro";
|
||||||
useLoad,
|
|
||||||
} from "@tarojs/taro";
|
|
||||||
|
|
||||||
export function navto(url) {
|
export function navto(url) {
|
||||||
Taro.navigateTo({
|
Taro.navigateTo({
|
||||||
@@ -18,34 +16,6 @@ export function insertDotInTags(tags: string[]) {
|
|||||||
return tags.join("-·-").split("-");
|
return tags.join("-·-").split("-");
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useSceneRedirect = (defaultPage: string) => {
|
|
||||||
useLoad((options) => {
|
|
||||||
if (options.scene) {
|
|
||||||
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) : "";
|
|
||||||
});
|
|
||||||
|
|
||||||
// 拼接成 URL query
|
|
||||||
const query = Object.entries(params)
|
|
||||||
.map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
|
|
||||||
.join("&");
|
|
||||||
|
|
||||||
console.log('scan query', query)
|
|
||||||
|
|
||||||
Taro.redirectTo({
|
|
||||||
url: query ? `/${defaultPage}?${query}` : `/${defaultPage}`,
|
|
||||||
});
|
|
||||||
} catch (err) {
|
|
||||||
console.error("scene 解析失败:", err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
export function genNTRPRequirementText(min, max) {
|
export function genNTRPRequirementText(min, max) {
|
||||||
if (min && max && min !== max) {
|
if (min && max && min !== max) {
|
||||||
return `${min} - ${max} 之间`;
|
return `${min} - ${max} 之间`;
|
||||||
|
|||||||
27
src/utils/helper.ts
Normal file
27
src/utils/helper.ts
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
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);
|
||||||
|
}
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user