From c380c1a7a86e2d802d588fe28f352facb232f9ca Mon Sep 17 00:00:00 2001 From: terwer Date: Tue, 18 Jul 2023 19:27:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E7=89=88=E6=8C=82=E4=BB=B6-?= =?UTF-8?q?=E9=80=9A=E7=94=A8=E5=B9=B3=E5=8F=B0=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/images/github.png | Bin 0 -> 2822 bytes public/images/metaweblog.jpg | Bin 0 -> 41513 bytes src/components/set/PublishSetting.vue | 29 +---- .../set/publish/PlatformAddForm.vue | 11 +- .../set/publish/PlatformQuickAdd.vue | 2 +- src/composables/usePlatformDefine.ts | 103 ++++++++++++++++++ src/locales/zh_CN.ts | 6 + src/utils/import/pre.ts | 44 ++++++++ 8 files changed, 163 insertions(+), 32 deletions(-) create mode 100644 public/images/github.png create mode 100644 public/images/metaweblog.jpg create mode 100644 src/composables/usePlatformDefine.ts create mode 100644 src/utils/import/pre.ts diff --git a/public/images/github.png b/public/images/github.png new file mode 100644 index 0000000000000000000000000000000000000000..aa59b0309d78eec641e1cc88137d8e67bf5e99dd GIT binary patch literal 2822 zcmV+h3;FbkP)+taK6%rEY=;*({zxw+6Tw7ZqA0KOK zYFAcPxwyD^cXvTRK%btTS zg@lA|ZEZ3!F|V$!e0zIiVq%h#l8K3l+}qnjLP8`WBBZ3GD-7ls000UxNkl z=XR?)5JnFp117lP8n?K{B~E$&x4XtZjxnGafeJo%Y5&SvNe~~XOq2NY$6~QqEEbE! zVzF2(7K_DVu~;k?i^cNq(QeMh)7FLQc-CxJeLuz3tDm8B~3LQUudw zXC8~GF((77#lP9~PSbkT_gRW?dWyBx+^n>W%xF6etG?f21p6ZcAhab^o*zVK{m*C& z`#k_Zr&CgI@@@YwXq+7!@QR7M;ej_8SAG9D?fwd&;JbTxj{x)i6R#knx%jx_;llUg zIVH9i1*R3^H7=iUc^pO1P$BOs(OFcjCq*lg8G3mVy?xc161;ZQbk0YKlh3Mk{iXc@ zHP!NBYOsBZp*Y)t4tX)~{RGS6Nqz6UwBKU7rpx0 zD=p5uINnCDm;YYj0K5Vno%((%*LPO&4R(YU!HnD?>% zIUR?fD!AqWtd85!da>a=PhG=skl#V!aQ$_2-vRj$h70hve!XTVMw|w_di3=<0}y7v zf6`um$-PDoR*QR*u*t~==n2!bIjy<#hh)&WS6-qA!`4Hall%_BKu4yu%X@+8n9!_b zAfLfxnz|IvZSi~R^^JKeM2>wp-eo4hhU?Y*TLp<<^W5|wFmQ4%RG?8=8oajxd6C(* z^LuOTqAOZWI^Dtcv|OIHhwgDQjNoA*@bi~9ogoJo~^q(@OeFsvogi6 zP;E$`+mHkAy#EPjf(vr{lN;FO2S?yoTm_$3z749=G(@8ZiRD)w#EH-wMriRHt|@dY zJ`pEEZ}Nw`PB==9Zr&PSt-zYH)xL>&fqDg^5iU@blG&oIXdQz*1OM7IcLFa)=wWd* zSgL6yA2dh6Kuz8dPek~doUks=PN7GBn&|tll4sjylXQKh+^A2}faAk|fOArhdPV^5#A| ziL!>dEyd_ik(fqNL(TnCsDJ>S?BJ*Lb;I{Au2xgjZ@JwIc-X66zAD zwY=hyY6Qx-DFwlE6uJZ&TnG7uWEusU^5QgACEYfv z7|z5z+NSP7rd$n8>o{i4&!A2|kt^pU3%NA!+dscRvY1Qi@jrgIp+Lg>O0(3cNoR zX=Z^wdTwW3hQqzFzj&&>`<5?qu8ET9Iz5lZFgPmoeuJ*q*)wEr!7bep0KUfL;yLw`2j4{}a8a$)r&IiCij zo%mrbs&@9hJ&gBX>vr19K4}-AJ1yOB!q&0K7Z1EQHTqJ4i$tWU<>rhPAENHQL@48R zeRPW*CZz7v*oSS{%(<_5?cCjAmlI^(N8=a4R~a;?iz5{NP7HHZ=}URlu9pZU^Xm03 zBIlFtmT=dm+wNq;`7#rM!t7QmF2Z1YpGvTbMArkdp!y5YZTiT?Hwx{;bYKK_cM}QQ z!^j-6o;vt0d8D4&^kkHJ%5GwYcKCNF5>KGEv2$?M?%&UZ4iZP1^5ZsQ?zVtel!I#H zHxs%@>}}-+hQtzEuVuc5qhNRPBiWAR{RSihj%noymaXIGIpm}Cz@rP<*K|9yksIL` zod$?4khzyuUnm!5V;6UCGvB2W4GL4~l`PEB5a`N2=Y%bo7uaCF=%v4k9@?oVF`12# zB-;7O8p+}rZjrdpL%Vvy>Df-2ETWpNQj=j#yym&!+3Q+5XiT<~KFnpKvq^b9bdq`J zA15tgQ>x%vuP<|+u{%>P^>pynxEw|KHs}{|3aMjbQu+?`6-$x{rDylj1)~ANXw*5{Ozd%;av`BrWs+DdFGZJT0Qt{ITtzKxOcS{8UVe@>`q}`Pk!v} zLXnvF>-9hUlje;=su&-7y=9?}7A||e!*i_*7K_DVu~;k?i^XEGSS%Kc#bU8oES4<) Y0e3@;A1_Kl-~a#s07*qoM6N<$g5!aB9RL6T literal 0 HcmV?d00001 diff --git a/public/images/metaweblog.jpg b/public/images/metaweblog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d1dafcd9e9f1dbfd4b9290c408e908adb82b151 GIT binary patch literal 41513 zcmbUIbyOSQ7e0(m65QRjc#&eoB|veC7I%l@?hv3rp|}+%EpBabDDGCA;_gt~TkOr} z`+MJe*Sde*dnc2Xm1Ht=cFsP}e)hBXJkLL`19(buigEx51Om(u58(L;5S7uCm3pV9 zDMDv!#rfXV+Lq3nhl`tz)yu=)*_KXGNuEwgT~?mXTY#61gU-#%+|l0Ck4~IUm>c7H z36KFGVDNuCVnagg$Y{vONJz*SsHiAtSQuDXm>8It*f<1u*f{t&n3#AZc=&`w#Kgo{ zxTItxL}Ua+#6D*85x}j8xx!8|L5(w6Tn9Uy#oUf5Iz9L2SM;b&%FRG z0DzDYrv7K`|Gk00h%us|qM>78A`Ym>1Hd2%1dIgvZ`6pRgAm^XNchME^gL21gc|0k zFWiWDLzBLsF-TW;5o=DKG4ffshoNJTkdl#8Ffp^Rvc2SgEg&c)EF$wpR!&|)QAz8a zwvMizzJaBcwT-Qv{d*5jFK-`TKmYI#5s^_Jqhpd&Qq$5uXJlr5EhsE1E-5W5uc@u8 zZ)j|4{@LBr+t)uZI5a#pJ@b2ZZhm2LV{>bJXLoP^;PCw7^6L8L_U`Y$|Lg)G?EHVW z|6|zyhh2z20R%=uf*_&(XBPG?rFj%*l%~epHiA8nHs+`(U320>ajl6Y)||_|Zi2huD;{ zAUjZ55PoKXCZLLb1xL5l^%|C#Jcg26_~pGL*on2>!`%0$0NTvPGv96Zmu$04!8kSX z)Im@TkqNMnsOoB6zjn-~l=q~tj(YRpksat~Zj&#%x^g--ZW|yHz+II0TEY^G0EZR0 zr%=c<^84UvkqRQ%0I~GcV`SzoG3DL=Jkwh33;^N2v5rBBXW+3Wkq9^{&IjbIaNfxbWAaWI;Vq9M z8>ij}SNbP5Ieq%T=sHj`1*5!awkGV2tvvJ&!v+*f9*YI+N+?s^zvtC~yc5G&PdNJkWHL)d#HFBN2QI3}7L#~dt^6dq$iBJcq_=3Ua5 z$OOpAhk7WHSxTlZ97_1V86ZA6MxLhU8phiLu8X;Ox+{is7Wq8eo+4okKU!?;=`us}_{K!z`x8GdqS&*%j8xd6{m9=h?^KYn<&xo? zXnr}47*DXMwyZXXg7(rZjKR;WW}Gr085!VTvyoFs3I2^090_9yvu=*IQk8Qz9!D({iIk~Hb9~qX)!qnr1{Z# z!ZF`{_@8tB=c8Ibj)*=W*~ZWGzY_^mz(Lm@JHmh}F-H0qBG3W!x?Qnu0N*-$$N zb$$sYTvkbz*a6cInk%4G#^2(Ji1NGSOdvI;JGq|!tVUK-GXR=&8Bj~yq?jEeMDXicN994<)*hlqV{ni6YXhk%*ZTSMmTR3BLPoL|3%veS} zvquC>a`qA$z|c9|=s0s?y@)`;ZhHkKsfN`^Tl^s8hOEg_8~2)6n7s8B9MgODj}uv( z8YBxyMl2K}|7o(erjmV0DO}am4_dWhzC}sfXqXL(G`XcAglM0$&%%P(R%OKH#k;I2iAUqYZT(c-3eQ0=7 ztRT^8vV|A=y4X{RFRGiv29XvmRgTAmhKfm;e&!e&*1>EcFwqGTKKRUTOUel5&JgXt zKF9^#EfI1Ua@K{eALgr6rC4_=|3`b|Pd83{6@M%0AQ$&BNOF$QEO{;@E(yEyK0w&4 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 literal 0 HcmV?d00001 diff --git a/src/components/set/PublishSetting.vue b/src/components/set/PublishSetting.vue index 4b16bae..f0a9eb4 100644 --- a/src/components/set/PublishSetting.vue +++ b/src/components/set/PublishSetting.vue @@ -39,6 +39,7 @@ import { } from "~/src/components/set/publish/platform/dynamicConfig.ts" import { DYNAMIC_CONFIG_KEY } from "~/src/utils/constants.ts" import { useRouter } from "vue-router" +import { usePlatformDefine } from "~/src/composables/usePlatformDefine.ts" const logger = createAppLogger("publish-setting") @@ -46,26 +47,14 @@ const logger = createAppLogger("publish-setting") const { t } = useVueI18n() const router = useRouter() const { getSetting, updateSetting } = useSettingStore() +const { platformTypeList } = usePlatformDefine() // datas const formData = reactive({ setting: {} as typeof SypConfig, showPlatformList: false, - platformTypeList: [ - { - type: PlatformType.Common, - title: t("setting.platform.universal"), - img: "./images/universal.webp", - description: t("setting.platform.universal.desc"), - }, - { - type: PlatformType.Wordpress, - title: t("setting.platform.wordpress"), - img: "./images/wordpress-logo.svg", - description: t("setting.platform.wordpress.desc"), - }, - ], + platformTypeList: platformTypeList, dynamicConfigArray: [] as DynamicConfig[], }) @@ -78,8 +67,7 @@ const handleHidePlatform = () => { formData.showPlatformList = false } -const handleAddPlatformStep = () => { - const type = PlatformType.Common +const handleAddPlatformStep = (type: PlatformType) => { router.push({ path: `/setting/platform/quickadd/${type}`, query: { @@ -104,13 +92,6 @@ const initPage = async () => { const dynJsonCfg = JsonUtil.safeParse(formData.setting[DYNAMIC_CONFIG_KEY], {} as DynamicJsonCfg) // 默认展示通用平台 formData.dynamicConfigArray = dynJsonCfg.totalCfg || [] - // test start - for (let i = 0; i < 20; i++) { - var newCfg = dynJsonCfg.totalCfg[0] - newCfg.platformKey = newCfg.platformKey + i - formData.dynamicConfigArray.push(newCfg) - } - // test end logger.debug("dynamic init page=>", formData.dynamicConfigArray) } @@ -152,7 +133,7 @@ onMounted(async () => { :key="p.type" :span="24" class="col-item" - @click="handleAddPlatformStep" + @click="handleAddPlatformStep(p.type)" > diff --git a/src/components/set/publish/PlatformAddForm.vue b/src/components/set/publish/PlatformAddForm.vue index 732b7c7..63cfeca 100644 --- a/src/components/set/publish/PlatformAddForm.vue +++ b/src/components/set/publish/PlatformAddForm.vue @@ -47,16 +47,13 @@ const { query } = useRoute() // datas const params = reactive(route.params) +const ptype = params.type as PlatformType const formRef = ref() const formData = reactive({ - ptype: PlatformType.Common, - subtype: SubPlatformType.Common_Zhihu, - dynCfg: new DynamicConfig( - PlatformType.Common, - getNewPlatformKey(PlatformType.Common, SubPlatformType.Common_Zhihu), - "Zhihu-1" - ), + ptype: ptype, + subtype: SubPlatformType.NONE, + dynCfg: new DynamicConfig(ptype, getNewPlatformKey(ptype, SubPlatformType.NONE), "None-1"), subtypeOptions: [], authMode: AuthMode.API, isEnabled: false, diff --git a/src/components/set/publish/PlatformQuickAdd.vue b/src/components/set/publish/PlatformQuickAdd.vue index c27a1c8..5038119 100644 --- a/src/components/set/publish/PlatformQuickAdd.vue +++ b/src/components/set/publish/PlatformQuickAdd.vue @@ -41,7 +41,7 @@ const params = reactive(route.params) // methods const handleAddPlatform = () => { - const type = PlatformType.Common + const type = params.type router.push({ path: `/setting/platform/add/${type}`, query: { diff --git a/src/composables/usePlatformDefine.ts b/src/composables/usePlatformDefine.ts new file mode 100644 index 0000000..9f25f95 --- /dev/null +++ b/src/composables/usePlatformDefine.ts @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2023, Terwer . All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Terwer designates this + * particular file as subject to the "Classpath" exception as provided + * by Terwer in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Terwer, Shenzhen, Guangdong, China, youweics@163.com + * or visit www.terwer.space if you need additional information or have any + * questions. + */ + +import { DynamicConfig, PlatformType } from "~/src/components/set/publish/platform/dynamicConfig.ts" +import { useVueI18n } from "~/src/composables/useVueI18n.ts" +import { pre } from "~/src/utils/import/pre.ts" + +/** + * 通用平台定义 + * + * @returns {Object} - 包含平台类型列表、getPlatformType函数和getPrePlatform函数的对象。 + * @since 0.9.0 + */ +export const usePlatformDefine = () => { + const { t } = useVueI18n() + + const platformTypeList = [ + { + type: PlatformType.Common, + title: t("setting.platform.universal"), + img: "./images/universal.webp", + description: t("setting.platform.universal.desc"), + }, + { + type: PlatformType.Github, + title: t("setting.platform.github"), + img: "./images/github.png", + description: t("setting.platform.github.desc"), + }, + { + type: PlatformType.Metaweblog, + title: t("setting.platform.metaweblog"), + img: "./images/metaweblog.jpg", + description: t("setting.platform.metaweblog.desc"), + }, + { + type: PlatformType.Wordpress, + title: t("setting.platform.wordpress"), + img: "./images/wordpress-logo.svg", + description: t("setting.platform.wordpress.desc"), + }, + // { + // type: PlatformType.Custom, + // title: t("setting.platform.other"), + // img: "./images/other-platform.png", + // description: t("setting.platform.other.desc"), + // }, + ] + + const prePlatformList: DynamicConfig[] = [ + ...pre.commonCfg, + ...pre.githubCfg, + ...pre.metaweblogCfg, + ...pre.wordpressCfg, + ] + + /** + * 根据键获取平台类型 + * + * @param {string} key - 平台类型的键 + * @returns {Object} - 平台类型对象 + */ + const getPlatformType = (key) => { + return platformTypeList.find((platformType) => platformType.type === key) + } + + /** + * 根据类型获取预定义平台 + * + * @returns {Object} - 预定义平台对象 + */ + const getPrePlatform = (key: string) => { + return prePlatformList.find((platform) => platform.platformKey === key) + } + + return { + platformTypeList, + getPlatformType, + getPrePlatform, + } +} diff --git a/src/locales/zh_CN.ts b/src/locales/zh_CN.ts index 6592513..520e0c5 100644 --- a/src/locales/zh_CN.ts +++ b/src/locales/zh_CN.ts @@ -477,6 +477,12 @@ export default { "setting.platform.wordpress": "WordPress", "setting.platform.wordpress.desc": "WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。它具有插件架构和模板系统,同时也是最受欢迎的网站内容管理系统。点击右侧图标快速添加,或者点击下方按钮自定义添加", + "setting.platform.github": "Github", + "setting.platform.github.desc": + "GitHub 是一个使用 Git 进行软件开发和版本控制的平台和基于云的服务,允许开发人员存储和管理他们的代码。", + "setting.platform.metaweblog": "Metaweblog", + "setting.platform.metaweblog.desc": + "MetaWeblog API是由软件开发人员Dave Winer创建的应用程序编程接口,它允许使用 Web 服务写入、编辑和删除。该 API 作为XML-RPC Web 服务实现,具有三个方法,其名称描述了其功能:metaweblog.newPost()、metaweblog.getPost() 和 metaweblog.editPost()。这些方法采用指定博客作者的用户名和密码以及与单个博客条目相关的信息的参数。", "setting.platform.right.tips0": "特别提示:", "setting.platform.right.tips1": "1、在这里可以进行发布配置,直接点击 [设置图标] 即可进行配置。", "setting.platform.right.tips2": "2、如需新增平台,直接点击左侧 + 按钮即可。", diff --git a/src/utils/import/pre.ts b/src/utils/import/pre.ts new file mode 100644 index 0000000..0a52925 --- /dev/null +++ b/src/utils/import/pre.ts @@ -0,0 +1,44 @@ +export const pre = { + commonCfg: [], + githubCfg: [ + { + platformType: "Github", + subPlatformType: "Github_Hugo", + platformKey: "githubHugo-zdlc6l", + platformName: "Docsy", + }, + { + platformType: "Github", + subPlatformType: "Github_Vitepress", + platformKey: "githubVitepress-mhxj3", + platformName: "Vitepress", + }, + { + platformType: "Github", + subPlatformType: "Github_Nuxt", + platformKey: "githubNuxt-z1xcb7x", + platformName: "Nuxt content", + }, + { + platformType: "Github", + subPlatformType: "Github_Next", + platformKey: "githubNext-ziz9v8", + platformName: "Nextra", + }, + ], + metaweblogCfg: [ + { + platformType: "Metaweblog", + subPlatformType: "none", + platformKey: "metaweblog-zahrlw", + platformName: "开源中国", + }, + { + platformType: "Metaweblog", + subPlatformType: "none", + platformKey: "metaweblog-22pamt", + platformName: "Typecho", + }, + ], + wordpressCfg: [], +}