mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-04 07:51:22 +08:00
This commit is contained in:
parent
1cd7febe63
commit
4d6c9ea446
@ -11,7 +11,7 @@ import {needSubscribe} from "../util/needSubscribe";
|
|||||||
import {syncGuide} from "../sync/syncGuide";
|
import {syncGuide} from "../sync/syncGuide";
|
||||||
import {hideElements} from "../protyle/ui/hideElements";
|
import {hideElements} from "../protyle/ui/hideElements";
|
||||||
import {getCloudURL, getIndexURL} from "./util/about";
|
import {getCloudURL, getIndexURL} from "./util/about";
|
||||||
import {genUUID} from "../util/genID";
|
import {iOSPurchase} from "../util/iOSPurchase";
|
||||||
|
|
||||||
const genSVGBG = () => {
|
const genSVGBG = () => {
|
||||||
let html = "";
|
let html = "";
|
||||||
@ -240,31 +240,7 @@ ${renewHTML}
|
|||||||
bindEvent: (element: Element) => {
|
bindEvent: (element: Element) => {
|
||||||
element.querySelectorAll('[data-action="iOSPay"]').forEach(item => {
|
element.querySelectorAll('[data-action="iOSPay"]').forEach(item => {
|
||||||
item.addEventListener("click", () => {
|
item.addEventListener("click", () => {
|
||||||
if (window.siyuan.user) {
|
iOSPurchase(item.getAttribute("data-type"));
|
||||||
fetchPost("/api/setting/getCloudUser", {
|
|
||||||
token: window.siyuan.user.userToken,
|
|
||||||
}, response => {
|
|
||||||
if (window.siyuan.user.userSiYuanOneTimePayStatus !== response.data.userSiYuanOneTimePayStatus ||
|
|
||||||
window.siyuan.user.userSiYuanProExpireTime !== response.data.userSiYuanProExpireTime ||
|
|
||||||
window.siyuan.user.userSiYuanSubscriptionPlan !== response.data.userSiYuanSubscriptionPlan ||
|
|
||||||
window.siyuan.user.userSiYuanSubscriptionType !== response.data.userSiYuanSubscriptionType ||
|
|
||||||
window.siyuan.user.userSiYuanSubscriptionStatus !== response.data.userSiYuanSubscriptionStatus) {
|
|
||||||
showMessage(window.siyuan.languages["_kernel"][19]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
window.siyuan.user = response.data;
|
|
||||||
const productType = item.getAttribute("data-type");
|
|
||||||
let productID;
|
|
||||||
if (window.siyuan.config.cloudRegion === 0) {
|
|
||||||
productID = productType === "function" ? "0" : "1";
|
|
||||||
} else {
|
|
||||||
productID = productType === "function" ? "2" : "3";
|
|
||||||
}
|
|
||||||
window.webkit.messageHandlers.purchase.postMessage(`${productID} ${genUUID().substring(0, 19)}${window.siyuan.config.cloudRegion}00${window.siyuan.user.userId.substring(0, 1)}-${window.siyuan.user.userId.substring(1)}`);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
showMessage(window.siyuan.languages.needLogin);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
const trialSubElement = element.querySelector("#trialSub");
|
const trialSubElement = element.querySelector("#trialSub");
|
||||||
|
@ -31,7 +31,7 @@ import {hideAllElements} from "./protyle/ui/hideElements";
|
|||||||
import {loadPlugins, reloadPlugin} from "./plugin/loader";
|
import {loadPlugins, reloadPlugin} from "./plugin/loader";
|
||||||
import "./assets/scss/base.scss";
|
import "./assets/scss/base.scss";
|
||||||
import {reloadEmoji} from "./emoji";
|
import {reloadEmoji} from "./emoji";
|
||||||
import {IOSPurchase} from "./util/iOSPurchase";
|
import {processIOSPurchaseResponse} from "./util/iOSPurchase";
|
||||||
|
|
||||||
export class App {
|
export class App {
|
||||||
public plugins: import("./plugin").Plugin[] = [];
|
public plugins: import("./plugin").Plugin[] = [];
|
||||||
@ -209,5 +209,5 @@ window.openFileByURL = (openURL) => {
|
|||||||
window.showKeyboardToolbar = () => {
|
window.showKeyboardToolbar = () => {
|
||||||
// 防止 Pad 端报错
|
// 防止 Pad 端报错
|
||||||
};
|
};
|
||||||
window.IOSPurchase = IOSPurchase;
|
window.processIOSPurchaseResponse = processIOSPurchaseResponse;
|
||||||
/// #endif
|
/// #endif
|
||||||
|
@ -28,7 +28,7 @@ import {isNotEditBlock} from "../protyle/wysiwyg/getBlock";
|
|||||||
import {updateCardHV} from "../card/util";
|
import {updateCardHV} from "../card/util";
|
||||||
import {mobileKeydown} from "./util/keydown";
|
import {mobileKeydown} from "./util/keydown";
|
||||||
import {correctHotkey} from "../boot/globalEvent/commonHotkey";
|
import {correctHotkey} from "../boot/globalEvent/commonHotkey";
|
||||||
import {IOSPurchase} from "../util/iOSPurchase";
|
import {processIOSPurchaseResponse} from "../util/iOSPurchase";
|
||||||
|
|
||||||
class App {
|
class App {
|
||||||
public plugins: import("../plugin").Plugin[] = [];
|
public plugins: import("../plugin").Plugin[] = [];
|
||||||
@ -163,7 +163,7 @@ window.reconnectWebSocket = () => {
|
|||||||
window.siyuan.mobile.popEditor.protyle.ws.send("ping", {});
|
window.siyuan.mobile.popEditor.protyle.ws.send("ping", {});
|
||||||
};
|
};
|
||||||
window.goBack = goBack;
|
window.goBack = goBack;
|
||||||
window.IOSPurchase = IOSPurchase;
|
window.processIOSPurchaseResponse = processIOSPurchaseResponse;
|
||||||
window.showKeyboardToolbar = (height) => {
|
window.showKeyboardToolbar = (height) => {
|
||||||
document.getElementById("keyboardToolbar").setAttribute("data-keyboardheight", (height ? height : window.outerHeight / 2 - 42).toString());
|
document.getElementById("keyboardToolbar").setAttribute("data-keyboardheight", (height ? height : window.outerHeight / 2 - 42).toString());
|
||||||
showKeyboardToolbar();
|
showKeyboardToolbar();
|
||||||
|
@ -10,7 +10,7 @@ import {getCloudURL, getIndexURL} from "../../config/util/about";
|
|||||||
import {Dialog} from "../../dialog";
|
import {Dialog} from "../../dialog";
|
||||||
import {hideElements} from "../../protyle/ui/hideElements";
|
import {hideElements} from "../../protyle/ui/hideElements";
|
||||||
import {Constants} from "../../constants";
|
import {Constants} from "../../constants";
|
||||||
import {genUUID} from "../../util/genID";
|
import {iOSPurchase} from "../../util/iOSPurchase";
|
||||||
|
|
||||||
export const showAccountInfo = () => {
|
export const showAccountInfo = () => {
|
||||||
const isIOS = isInIOS();
|
const isIOS = isInIOS();
|
||||||
@ -129,31 +129,7 @@ ${renewHTML}`;
|
|||||||
}
|
}
|
||||||
while (target && !target.isSameNode(modelMainElement)) {
|
while (target && !target.isSameNode(modelMainElement)) {
|
||||||
if (target.getAttribute("data-action") === "iOSPay") {
|
if (target.getAttribute("data-action") === "iOSPay") {
|
||||||
if (window.siyuan.user) {
|
iOSPurchase(target.getAttribute("data-type"));
|
||||||
fetchPost("/api/setting/getCloudUser", {
|
|
||||||
token: window.siyuan.user.userToken,
|
|
||||||
}, response => {
|
|
||||||
if (window.siyuan.user.userSiYuanOneTimePayStatus !== response.data.userSiYuanOneTimePayStatus ||
|
|
||||||
window.siyuan.user.userSiYuanProExpireTime !== response.data.userSiYuanProExpireTime ||
|
|
||||||
window.siyuan.user.userSiYuanSubscriptionPlan !== response.data.userSiYuanSubscriptionPlan ||
|
|
||||||
window.siyuan.user.userSiYuanSubscriptionType !== response.data.userSiYuanSubscriptionType ||
|
|
||||||
window.siyuan.user.userSiYuanSubscriptionStatus !== response.data.userSiYuanSubscriptionStatus) {
|
|
||||||
showMessage(window.siyuan.languages["_kernel"][19]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
window.siyuan.user = response.data;
|
|
||||||
const productType = target.getAttribute("data-type");
|
|
||||||
let productID;
|
|
||||||
if (window.siyuan.config.cloudRegion === 0) {
|
|
||||||
productID = productType === "function" ? "0" : "1";
|
|
||||||
} else {
|
|
||||||
productID = productType === "function" ? "2" : "3";
|
|
||||||
}
|
|
||||||
window.webkit.messageHandlers.purchase.postMessage(`${productID} ${genUUID().substring(0, 19)}${window.siyuan.config.cloudRegion}00${window.siyuan.user.userId.substring(0, 1)}-${window.siyuan.user.userId.substring(1)}`);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
showMessage(window.siyuan.languages.needLogin);
|
|
||||||
}
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
break;
|
break;
|
||||||
|
2
app/src/types/index.d.ts
vendored
2
app/src/types/index.d.ts
vendored
@ -224,7 +224,7 @@ interface Window {
|
|||||||
|
|
||||||
showKeyboardToolbar(height: number): void
|
showKeyboardToolbar(height: number): void
|
||||||
|
|
||||||
IOSPurchase(data: string): void
|
processIOSPurchaseResponse(code: number): void
|
||||||
|
|
||||||
hideKeyboardToolbar(): void
|
hideKeyboardToolbar(): void
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import {showMessage} from "../dialog/message";
|
import {showMessage} from "../dialog/message";
|
||||||
|
import {fetchPost} from "./fetch";
|
||||||
|
import {genUUID} from "./genID";
|
||||||
|
|
||||||
export const IOSPurchase = (code: number) => {
|
export const processIOSPurchaseResponse = (code: number) => {
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
/// #if MOBILE
|
/// #if MOBILE
|
||||||
document.querySelector("#modelMain").dispatchEvent(new CustomEvent("click", {
|
document.querySelector("#modelMain").dispatchEvent(new CustomEvent("click", {
|
||||||
@ -48,3 +50,30 @@ export const IOSPurchase = (code: number) => {
|
|||||||
showMessage(message, 0, "error");
|
showMessage(message, 0, "error");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const iOSPurchase = (productType: string) => {
|
||||||
|
if (window.siyuan.user) {
|
||||||
|
fetchPost("/api/setting/getCloudUser", {
|
||||||
|
token: window.siyuan.user.userToken,
|
||||||
|
}, response => {
|
||||||
|
if (window.siyuan.user.userSiYuanOneTimePayStatus !== response.data.userSiYuanOneTimePayStatus ||
|
||||||
|
window.siyuan.user.userSiYuanProExpireTime !== response.data.userSiYuanProExpireTime ||
|
||||||
|
window.siyuan.user.userSiYuanSubscriptionPlan !== response.data.userSiYuanSubscriptionPlan ||
|
||||||
|
window.siyuan.user.userSiYuanSubscriptionType !== response.data.userSiYuanSubscriptionType ||
|
||||||
|
window.siyuan.user.userSiYuanSubscriptionStatus !== response.data.userSiYuanSubscriptionStatus) {
|
||||||
|
showMessage(window.siyuan.languages["_kernel"][19]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
window.siyuan.user = response.data;
|
||||||
|
let productID;
|
||||||
|
if (window.siyuan.config.cloudRegion === 0) {
|
||||||
|
productID = productType === "function" ? "china00" : "china02";
|
||||||
|
} else {
|
||||||
|
productID = productType === "function" ? "00" : "02";
|
||||||
|
}
|
||||||
|
window.webkit.messageHandlers.purchase.postMessage(`${productID} ${genUUID().substring(0, 19)}${window.siyuan.config.cloudRegion}00${window.siyuan.user.userId.substring(0, 1)}-${window.siyuan.user.userId.substring(1)}`);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
showMessage(window.siyuan.languages.needLogin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user