mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-03 18:03:07 +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 {hideElements} from "../protyle/ui/hideElements";
|
||||
import {getCloudURL, getIndexURL} from "./util/about";
|
||||
import {genUUID} from "../util/genID";
|
||||
import {iOSPurchase} from "../util/iOSPurchase";
|
||||
|
||||
const genSVGBG = () => {
|
||||
let html = "";
|
||||
@ -240,31 +240,7 @@ ${renewHTML}
|
||||
bindEvent: (element: Element) => {
|
||||
element.querySelectorAll('[data-action="iOSPay"]').forEach(item => {
|
||||
item.addEventListener("click", () => {
|
||||
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;
|
||||
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);
|
||||
}
|
||||
iOSPurchase(item.getAttribute("data-type"));
|
||||
});
|
||||
});
|
||||
const trialSubElement = element.querySelector("#trialSub");
|
||||
|
@ -31,7 +31,7 @@ import {hideAllElements} from "./protyle/ui/hideElements";
|
||||
import {loadPlugins, reloadPlugin} from "./plugin/loader";
|
||||
import "./assets/scss/base.scss";
|
||||
import {reloadEmoji} from "./emoji";
|
||||
import {IOSPurchase} from "./util/iOSPurchase";
|
||||
import {processIOSPurchaseResponse} from "./util/iOSPurchase";
|
||||
|
||||
export class App {
|
||||
public plugins: import("./plugin").Plugin[] = [];
|
||||
@ -209,5 +209,5 @@ window.openFileByURL = (openURL) => {
|
||||
window.showKeyboardToolbar = () => {
|
||||
// 防止 Pad 端报错
|
||||
};
|
||||
window.IOSPurchase = IOSPurchase;
|
||||
window.processIOSPurchaseResponse = processIOSPurchaseResponse;
|
||||
/// #endif
|
||||
|
@ -28,7 +28,7 @@ import {isNotEditBlock} from "../protyle/wysiwyg/getBlock";
|
||||
import {updateCardHV} from "../card/util";
|
||||
import {mobileKeydown} from "./util/keydown";
|
||||
import {correctHotkey} from "../boot/globalEvent/commonHotkey";
|
||||
import {IOSPurchase} from "../util/iOSPurchase";
|
||||
import {processIOSPurchaseResponse} from "../util/iOSPurchase";
|
||||
|
||||
class App {
|
||||
public plugins: import("../plugin").Plugin[] = [];
|
||||
@ -163,7 +163,7 @@ window.reconnectWebSocket = () => {
|
||||
window.siyuan.mobile.popEditor.protyle.ws.send("ping", {});
|
||||
};
|
||||
window.goBack = goBack;
|
||||
window.IOSPurchase = IOSPurchase;
|
||||
window.processIOSPurchaseResponse = processIOSPurchaseResponse;
|
||||
window.showKeyboardToolbar = (height) => {
|
||||
document.getElementById("keyboardToolbar").setAttribute("data-keyboardheight", (height ? height : window.outerHeight / 2 - 42).toString());
|
||||
showKeyboardToolbar();
|
||||
|
@ -10,7 +10,7 @@ import {getCloudURL, getIndexURL} from "../../config/util/about";
|
||||
import {Dialog} from "../../dialog";
|
||||
import {hideElements} from "../../protyle/ui/hideElements";
|
||||
import {Constants} from "../../constants";
|
||||
import {genUUID} from "../../util/genID";
|
||||
import {iOSPurchase} from "../../util/iOSPurchase";
|
||||
|
||||
export const showAccountInfo = () => {
|
||||
const isIOS = isInIOS();
|
||||
@ -129,31 +129,7 @@ ${renewHTML}`;
|
||||
}
|
||||
while (target && !target.isSameNode(modelMainElement)) {
|
||||
if (target.getAttribute("data-action") === "iOSPay") {
|
||||
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;
|
||||
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);
|
||||
}
|
||||
iOSPurchase(target.getAttribute("data-type"));
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
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
|
||||
|
||||
IOSPurchase(data: string): void
|
||||
processIOSPurchaseResponse(code: number): void
|
||||
|
||||
hideKeyboardToolbar(): void
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
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 MOBILE
|
||||
document.querySelector("#modelMain").dispatchEvent(new CustomEvent("click", {
|
||||
@ -48,3 +50,30 @@ export const IOSPurchase = (code: number) => {
|
||||
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