改进 getSearch 函数实现 (#7089)

* 🎨 改进 `getSearch` 方法

兼容 key 为空字符串与 value 为空字符串的 URL search params

* 🎨 改进 `getSearch` 方法

* 🎨 style
This commit is contained in:
颖逸 2023-01-16 23:54:47 +08:00 committed by GitHub
parent 4f2bca7e05
commit 67743b50ba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 19 deletions

View file

@ -300,9 +300,9 @@ export const JSONToLayout = (isStart: boolean) => {
}
// https://github.com/siyuan-note/siyuan/pull/7086
const openId = getSearch("id", window.location.href);
if (openId) {
if (openId !== null) {
openFileById({
id: getSearch("id", window.location.href),
id: openId,
action: [Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT],
zoomIn: getSearch("focus", window.location.href) === "1"
});

View file

@ -129,8 +129,8 @@ export const initFramework = () => {
initEditorName();
if (getOpenNotebookCount() > 0) {
const openId = getSearch("id", window.location.href);
if (openId) {
openMobileFileById(getSearch("id", window.location.href),
if (openId !== null) {
openMobileFileById(openId,
getSearch("focus", window.location.href) === "1" ? [Constants.CB_GET_ALL, Constants.CB_GET_FOCUS] : [Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT]);
} else {
const localDoc = window.siyuan.storage[Constants.LOCAL_DOCINFO];

View file

@ -1578,7 +1578,7 @@ export class WYSIWYG {
openBy(linkAddress, "app");
} else {
const page = getSearch("page", linkAddress);
openAsset(linkPathname, page === "" ? undefined : parseInt(page), "right");
openAsset(linkPathname, page === null ? undefined : parseInt(page), "right");
}
} else {
/// #if !BROWSER

View file

@ -14,20 +14,10 @@ export const getRandom = (min: number, max: number) => {
return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
};
export const getSearch = (key: string, link = window.location.search) => {
if (link.indexOf("?") === -1) {
return "";
}
let value = "";
const data = link.split("?")[1].split("&");
data.find(item => {
const keyValue = item.split("=");
if (keyValue[0] === key) {
value = keyValue[1];
return true;
}
});
return value;
export const getSearch: (key: string, link?: string) => string | null = (key: string, link = window.location.search) => {
// REF https://developer.mozilla.org/zh-CN/docs/Web/API/URLSearchParams
const urlSearchParams = new URLSearchParams(link);
return urlSearchParams.get(key);
};
export const isBrowser = () => {