From a717beb0e764ba739d4c8f5baf9ec8faa0494171 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=8E=AB=E5=94=90=E5=B0=BC?= Date: Thu, 13 Nov 2025 17:33:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=87=E7=AB=A0=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=B1=86=E7=93=A3=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/v2/all.api.js | 7 + components/article-douban/article-douban.vue | 224 ++ config/index.js | 107 +- manifest.json | 4 +- package.json | 2 +- pages/index/index.vue | 2 +- pagesA/article-detail/article-detail.vue | 2558 +++++++++--------- 7 files changed, 1631 insertions(+), 1273 deletions(-) create mode 100644 components/article-douban/article-douban.vue diff --git a/api/v2/all.api.js b/api/v2/all.api.js index 3b2a1be..140ffea 100644 --- a/api/v2/all.api.js +++ b/api/v2/all.api.js @@ -288,4 +288,11 @@ export default { checkPluginAvailable: (name) => { return HttpHandler.Get(`/apis/api.plugin.halo.run/v1alpha1/plugins/${name}/available`, {}) }, + /** + * 获取豆瓣详情 + * @param {String} url url + */ + getDoubanDetail: (url) => { + return HttpHandler.Get(`/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/getDoubanDetail`, {url}) + } } \ No newline at end of file diff --git a/components/article-douban/article-douban.vue b/components/article-douban/article-douban.vue new file mode 100644 index 0000000..562b9e8 --- /dev/null +++ b/components/article-douban/article-douban.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/config/index.js b/config/index.js index 8f655d4..ac8faae 100644 --- a/config/index.js +++ b/config/index.js @@ -4,65 +4,68 @@ export const _AppMockJsonKey = 'APP_GLOBAL_MOCK_JSON'; // 默认的应用设置 export const DefaultAppConfigs = { - basicConfig: { - tokenConfig: { - personalToken: "", - } - }, - loveConfig: {}, - imagesConfig: {}, - authorConfig: {}, - appConfig: {}, - pluginConfig: { - toolsPlugin: {}, - linksSubmitPlugin: {}, - }, - pageConfig: { - homeConfig: { - pageTitle: "首页", - useCategory: true, - bannerConfig: { - enabled: true, - showTitle: true, - showIndicator: true, - height: "400rpx", - dotPosition: "right", - type: "post", - list: [] - } - }, - categoryConfig: { - type: "list" - }, - momentConfig: { - useTagRandomColor: true - } - }, - auditConfig: { - auditModeEnabled: false, - auditModeData: { - jsonUrl: "", - jsonData: "" - } - } + basicConfig: { + tokenConfig: { + personalToken: "", + } + }, + loveConfig: {}, + imagesConfig: {}, + authorConfig: {}, + appConfig: {}, + pluginConfig: { + toolsPlugin: {}, + linksSubmitPlugin: {}, + doubanPlugin: { + position: 'top' + } + }, + pageConfig: { + homeConfig: { + pageTitle: "首页", + useCategory: true, + bannerConfig: { + enabled: true, + showTitle: true, + showIndicator: true, + height: "400rpx", + dotPosition: "right", + type: "post", + list: [] + } + }, + categoryConfig: { + type: "list" + }, + momentConfig: { + useTagRandomColor: true + } + }, + auditConfig: { + auditModeEnabled: false, + auditModeData: { + jsonUrl: "", + jsonData: "" + } + } } /** * 获取应用设置 */ export const getAppConfigs = () => { - let configs = uni.getStorageSync(_AppConfigKey) - if (configs) return JSON.parse(configs) + let configs = uni.getStorageSync(_AppConfigKey) + if (configs) return JSON.parse(configs) - uni.setStorageSync(_AppConfigKey, JSON.stringify(DefaultAppConfigs)) - return DefaultAppConfigs; + uni.setStorageSync(_AppConfigKey, JSON.stringify(DefaultAppConfigs)) + return DefaultAppConfigs; } /** * 保存应用设置 */ export const setAppConfigs = (configs) => { - uni.setStorageSync(_AppConfigKey, JSON.stringify(configs)) + uni.setStorageSync(_AppConfigKey, JSON.stringify(configs)) } @@ -70,16 +73,16 @@ export const setAppConfigs = (configs) => { * 获取应用模拟数据 */ export const getAppMockJson = () => { - let json = uni.getStorageSync(_AppMockJsonKey) - if (json) return JSON.parse(json) + let json = uni.getStorageSync(_AppMockJsonKey) + if (json) return JSON.parse(json) - uni.setStorageSync(_AppMockJsonKey, JSON.stringify({})) - return {}; + uni.setStorageSync(_AppMockJsonKey, JSON.stringify({})) + return {}; } /** * 保存应用模拟数据 */ export const setAppMockJson = (json) => { - uni.setStorageSync(_AppMockJsonKey, JSON.stringify(json)) -} + uni.setStorageSync(_AppMockJsonKey, JSON.stringify(json)) +} \ No newline at end of file diff --git a/manifest.json b/manifest.json index 04d21b2..fb51fac 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "uni-halo", "appid" : "__UNI__5748B6E", "description" : "uni-halo博客:基于halo开源博客系统API开发的多端博客。", - "versionName" : "2.0.8", - "versionCode" : 208, + "versionName" : "2.0.9", + "versionCode" : 209, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/package.json b/package.json index a375447..ffb84a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uni-halo", - "version": "2.0.8", + "version": "2.0.9", "description": "

\r \"logo\"\r

\r

uni-halo

\r

uni-halo 基于Halo一款现代化的开源博客/CMS系统API开发的可多端编译应用

", "repository": { "type": "git", diff --git a/pages/index/index.vue b/pages/index/index.vue index 196d50d..9bb1d3c 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -15,7 +15,7 @@ const _DEV_ = false const _DEV_TO_TYPE_ = "page" - const _DEV_TO_PATH_ = "/pagesA/article-detail/article-detail?name=077efb85-3544-4307-b24c-537a9e53f116" + const _DEV_TO_PATH_ = "/pagesA/article-detail/article-detail?name=817fae88-f68a-4fb1-9e4f-dc1c84471252" export default { mixins: [pluginAvailableMixin], diff --git a/pagesA/article-detail/article-detail.vue b/pagesA/article-detail/article-detail.vue index e459606..bb60035 100644 --- a/pagesA/article-detail/article-detail.vue +++ b/pagesA/article-detail/article-detail.vue @@ -12,13 +12,11 @@ 作者:{{ result.owner.displayName }} - - 时间:{{ {d: result.spec.publishTime, f: 'yyyy年MM月dd日 星期w'} | formatTime }} - + 时间:{{ { d: result.spec.publishTime, f: 'yyyy年MM月dd日 星期w' } | formatTime }} - + @@ -46,8 +44,7 @@ 分类: 未选择分类 - + {{ item.spec.displayName }} @@ -56,8 +53,7 @@ 标签: 未选择标签 - + {{ item.spec.displayName }} @@ -65,93 +61,162 @@ 原文: - {{ originalURL }} - - 阅读原文 + {{ originalURL }} + + 阅读原文 + + + + 豆瓣资源 + + {{ doubanIsOpen ? '收起' : '展开' }} + + + + + + + 豆瓣内容已收起,点击展开 + 提示区域已收起,点击显示 + + - + - - + + - + - - + + + + 豆瓣资源 + + {{ doubanIsOpen ? '收起' : '展开' }} + + + + + + + 豆瓣内容已收起,点击展开 + 提示区域已收起,点击显示 + + + 相关投票 - - {{ voteIsOpen?'收起':'展开' }} + + {{ voteIsOpen ? '收起' : '展开' }} - + 版权声明 - - - 版权归属:{{ postDetailConfig.copyrightAuthor }} - - - 版权说明:{{ postDetailConfig.copyrightDesc }} - - + + 版权归属:{{ postDetailConfig.copyrightAuthor }} + 版权说明:{{ postDetailConfig.copyrightDesc }} + 侵权处理:{{ postDetailConfig.copyrightViolation }} @@ -160,10 +225,15 @@ - - + @@ -171,10 +241,16 @@ - - + + @@ -182,8 +258,7 @@ 评论详情 - + @@ -194,9 +269,7 @@ - - 刷新试试 - + 刷新试试 @@ -206,9 +279,16 @@ - + @@ -246,39 +326,42 @@ 海报正在生成... - + - - 保存到相册 - - - 分享给好友 - - - 关 闭 - + 保存到相册 + 分享给好友 + 关 闭 - + - + - + \ No newline at end of file +} +