From bdaeb3a68b2c8e0ac17fdd0bed095c04b6dbb6d3 Mon Sep 17 00:00:00 2001 From: steven Date: Thu, 9 Dec 2021 21:45:48 +0800 Subject: [PATCH] web: update restful api --- web/package.json | 2 - web/src/components/AboutSiteDialog.tsx | 2 +- ...serIdDialog.tsx => BindWxOpenIdDialog.tsx} | 22 ++-- web/src/components/MyAccountSection.tsx | 8 +- web/src/helpers/api.ts | 110 +++++++----------- web/src/helpers/marked.ts | 44 +------ web/src/less/memo-content.less | 2 +- web/src/less/signin.less | 25 ---- web/src/pages/Signin.tsx | 8 -- web/src/services/memoService.ts | 10 +- web/src/services/userService.ts | 4 +- web/src/types/models.d.ts | 2 +- web/vite.config.ts | 4 +- web/yarn.lock | 10 -- 14 files changed, 75 insertions(+), 178 deletions(-) rename web/src/components/{BindWxUserIdDialog.tsx => BindWxOpenIdDialog.tsx} (76%) diff --git a/web/package.json b/web/package.json index 170f989a..b500838e 100644 --- a/web/package.json +++ b/web/package.json @@ -7,13 +7,11 @@ "serve": "vite preview" }, "dependencies": { - "prismjs": "^1.25.0", "react": "^17.0.2", "react-dom": "^17.0.2", "tiny-undo": "^0.0.8" }, "devDependencies": { - "@types/prismjs": "^1.16.6", "@types/react": "^17.0.2", "@types/react-dom": "^17.0.2", "@vitejs/plugin-react": "^1.0.0", diff --git a/web/src/components/AboutSiteDialog.tsx b/web/src/components/AboutSiteDialog.tsx index 0c3ac1e7..0bb9edb3 100644 --- a/web/src/components/AboutSiteDialog.tsx +++ b/web/src/components/AboutSiteDialog.tsx @@ -25,7 +25,7 @@ const AboutSiteDialog: React.FC = ({ destroy }: Props) => {

You are in charge of your data and customizations.

Built with React and Go.


-

Enjoy it and have fun~

+

Enjoy it and have fun~


Last updated on 2021/12/09 10:14:32 🎉 diff --git a/web/src/components/BindWxUserIdDialog.tsx b/web/src/components/BindWxOpenIdDialog.tsx similarity index 76% rename from web/src/components/BindWxUserIdDialog.tsx rename to web/src/components/BindWxOpenIdDialog.tsx index e8c74374..842e0528 100644 --- a/web/src/components/BindWxUserIdDialog.tsx +++ b/web/src/components/BindWxOpenIdDialog.tsx @@ -6,8 +6,8 @@ import "../less/change-password-dialog.less"; interface Props extends DialogProps {} -const BindWxUserIdDialog: React.FC = ({ destroy }: Props) => { - const [wxUserId, setWxUserId] = useState(""); +const BindWxOpenIdDialog: React.FC = ({ destroy }: Props) => { + const [wxOpenId, setWxOpenId] = useState(""); useEffect(() => { // do nth @@ -17,19 +17,19 @@ const BindWxUserIdDialog: React.FC = ({ destroy }: Props) => { destroy(); }; - const handleWxUserIdChanged = (e: React.ChangeEvent) => { + const handleWxOpenIdChanged = (e: React.ChangeEvent) => { const text = e.target.value as string; - setWxUserId(text); + setWxOpenId(text); }; const handleSaveBtnClick = async () => { - if (wxUserId === "") { + if (wxOpenId === "") { toastHelper.error("微信 id 不能为空"); return; } try { - await userService.updateWxUserId(wxUserId); + await userService.updateWxOpenId(wxOpenId); userService.doSignIn(); toastHelper.info("绑定成功!"); handleCloseBtnClick(); @@ -51,8 +51,8 @@ const BindWxUserIdDialog: React.FC = ({ destroy }: Props) => { 关注微信公众号“小谈闲事”,主动发送任意消息,即可获取 OpenID

@@ -67,13 +67,13 @@ const BindWxUserIdDialog: React.FC = ({ destroy }: Props) => { ); }; -function showBindWxUserIdDialog() { +function showBindWxOpenIdDialog() { showDialog( { className: "bind-wxid-dialog", }, - BindWxUserIdDialog + BindWxOpenIdDialog ); } -export default showBindWxUserIdDialog; +export default showBindWxOpenIdDialog; diff --git a/web/src/components/MyAccountSection.tsx b/web/src/components/MyAccountSection.tsx index 54f37a7e..85ba6718 100644 --- a/web/src/components/MyAccountSection.tsx +++ b/web/src/components/MyAccountSection.tsx @@ -6,7 +6,7 @@ import { validate, ValidatorConfig } from "../helpers/validator"; import Only from "./common/OnlyWhen"; import toastHelper from "./Toast"; import showChangePasswordDialog from "./ChangePasswordDialog"; -import showBindWxUserIdDialog from "./BindWxUserIdDialog"; +import showBindWxOpenIdDialog from "./BindWxOpenIdDialog"; import "../less/my-account-section.less"; const validateConfig: ValidatorConfig = { @@ -91,7 +91,7 @@ const MyAccountSection: React.FC = () => { const handleUnbindWxBtnClick = async () => { if (showConfirmUnbindWxBtn) { try { - await userService.updateWxUserId(""); + await userService.updateWxOpenId(""); await userService.doSignIn(); } catch (error: any) { toastHelper.error(error.message); @@ -157,7 +157,7 @@ const MyAccountSection: React.FC = () => {

关联账号

-

- 仅用于作品展示。 -
- - 🤠 - 关于本站 - -

) : ( <> diff --git a/web/src/services/memoService.ts b/web/src/services/memoService.ts index df71cd95..8cf9b50f 100644 --- a/web/src/services/memoService.ts +++ b/web/src/services/memoService.ts @@ -117,6 +117,11 @@ class MemoService { }); } + public async getLinkedMemos(memoId: string): Promise { + const { memos } = this.getState(); + return memos.filter((m) => m.content.includes(memoId)); + } + public async createMemo(text: string): Promise { const { data: memo } = await api.createMemo(text); return memo; @@ -126,11 +131,6 @@ class MemoService { const { data: memo } = await api.updateMemo(memoId, text); return memo; } - - public async getLinkedMemos(memoId: string): Promise { - const { data } = await api.getLinkedMemos(memoId); - return data; - } } const memoService = new MemoService(); diff --git a/web/src/services/userService.ts b/web/src/services/userService.ts index 25e439db..9c55abf7 100644 --- a/web/src/services/userService.ts +++ b/web/src/services/userService.ts @@ -51,8 +51,8 @@ class UserService { await api.updateUserinfo(undefined, password); } - public async updateWxUserId(wxUserId: string): Promise { - await api.updateUserinfo(undefined, undefined, undefined, wxUserId); + public async updateWxOpenId(wxOpenId: string): Promise { + await api.updateUserinfo(undefined, undefined, undefined, wxOpenId); } } diff --git a/web/src/types/models.d.ts b/web/src/types/models.d.ts index 070ab5af..5fd1e0e1 100644 --- a/web/src/types/models.d.ts +++ b/web/src/types/models.d.ts @@ -8,7 +8,7 @@ declare namespace Model { interface User extends BaseModel { username: string; githubName?: string; - wxUserId?: string; + wxOpenId?: string; } interface Memo extends BaseModel { diff --git a/web/vite.config.ts b/web/vite.config.ts index dfc20051..0306726f 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -8,8 +8,8 @@ export default defineConfig({ cors: true, proxy: { "/api": { - // target: "http://localhost:8080/", - target: "https://memos.justsven.top/", + target: "http://localhost:8080/", + // target: "https://memos.justsven.top/", changeOrigin: true, }, }, diff --git a/web/yarn.lock b/web/yarn.lock index 1c7dfe12..7c6f6495 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -260,11 +260,6 @@ estree-walker "^2.0.1" picomatch "^2.2.2" -"@types/prismjs@^1.16.6": - version "1.16.6" - resolved "http://npm.corp.ebay.com/@types/prismjs/-/prismjs-1.16.6.tgz#377054f72f671b36dbe78c517ce2b279d83ecc40" - integrity sha1-N3BU9y9nGzbb54xRfOKyedg+zEA= - "@types/prop-types@*": version "15.7.4" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" @@ -705,11 +700,6 @@ postcss@^8.3.8: picocolors "^1.0.0" source-map-js "^0.6.2" -prismjs@^1.25.0: - version "1.25.0" - resolved "http://npm.corp.ebay.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" - integrity sha1-b4It8b2tllc0sxCzFaIzFc+Zl1Y= - prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"