1
0
réplica de https://github.com/ialley-workshop-open/uni-halo.git synced 2026-06-12 13:19:31 +08:00

chore: 发布版本2.0.10,修复并优化多项功能

1.  更新manifest.json和package.json版本号至2.0.10
2.  修复友情链接api #40
3.  修复图库api #39
4.  统一home.vue页面的代码缩进格式
5.  清理api文件冗余注释,修复接口域名路径
6.  优化图库页面空状态提示文案
Este commit está contenido en:
小莫唐尼
2026-05-25 00:23:15 +08:00
padre e426abf336
commit 6f01501fd1
Se han modificado 7 ficheros con 53 adiciones y 158 borrados
+8
Ver fichero
@@ -0,0 +1,8 @@
---
alwaysApply: true
scene: git_message
---
在此处编写规则,自定义 AI 生成提交信息的风格。
使用中文
+23 -143
Ver fichero
@@ -1,6 +1,3 @@
/**
* 所有的接口
*/
import { import {
getPersonalToken getPersonalToken
} from '@/utils/token.js' } from '@/utils/token.js'
@@ -10,43 +7,26 @@ import qs from 'qs'
import { import {
getAppConfigs getAppConfigs
} from '@/config/index.js' } from '@/config/index.js'
import {getNologinEmail, getOpenid} from "@/utils/auth"; import { getNologinEmail, getOpenid } from "@/utils/auth";
export default { export default {
/**
* 获取文章列表
* @param {Object} params 参数
*/
getPostList: (params) => { getPostList: (params) => {
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts`, params) return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts`, params)
}, },
/**
* 根据名称获取文章
* @param {String} name 分类名称
*/
getPostByName: (name) => { getPostByName: (name) => {
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts/${name}`, {}, { return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/posts/${name}`, {}, {
header: { header: {
'Wechat-Session-Id': getOpenid(), 'Wechat-Session-Id': getOpenid(),
'nologin-email': getNologinEmail() 'nologin-email': getNologinEmail()
} }
}) })
}, },
/**
* 搜索文章
* @param {Object} params 数据
*/
getPostListByKeyword: (params) => { getPostListByKeyword: (params) => {
// return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/indices/post`, params)
return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/indices/-/search`, params) return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/indices/-/search`, params)
}, },
/**
* 查询分类列表
* @param {Object} params 查询参数
*/
getCategoryList: (params) => { getCategoryList: (params) => {
const param = qs.stringify(params, { const param = qs.stringify(params, {
allowDots: true, allowDots: true,
@@ -57,138 +37,72 @@ export default {
}) })
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/categories?${param}`, {}) return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/categories?${param}`, {})
}, },
/**
* 查询分类下的文章
* @param {String} name 分类名称
* @param {Object} params 查询参数
*/
getCategoryPostList: (name, params) => { getCategoryPostList: (name, params) => {
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/categories/${name}/posts`, params) return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/categories/${name}/posts`, params)
}, },
/**
* 获取评论列表接口(列表数据)
* @param {Object} params 查询参数
*/
getPostCommentList: (params) => { getPostCommentList: (params) => {
return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/comments`, params) return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/comments`, params)
}, },
/**
* 获取回复列表
* @param {String} commentName 名称
* @param {Object} params 查询参数
*/
getPostCommentReplyList: (commentName, params) => { getPostCommentReplyList: (commentName, params) => {
return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/comments/${commentName}/reply`, params) return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/comments/${commentName}/reply`, params)
}, },
// 提交评论
addPostComment: (data) => { addPostComment: (data) => {
return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/comments`, data) return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/comments`, data)
}, },
// 提交回复
addPostCommentReply: (commentName, data) => { addPostCommentReply: (commentName, data) => {
return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/comments/${commentName}/reply`, data) return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/comments/${commentName}/reply`, data)
}, },
/**
* 获取标签列表
* @param {Object} params 查询参数
*/
getTagList: (params) => { getTagList: (params) => {
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/tags`, params) return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/tags`, params)
}, },
/**
* 根据标签获取文章列表
* @param {String} tagName 参数
* @param {Object} params 查询参数
*/
getPostByTagName: (tagName, params) => { getPostByTagName: (tagName, params) => {
return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/tags/${tagName}/posts`, params) return HttpHandler.Get(`/apis/api.content.halo.run/v1alpha1/tags/${tagName}/posts`, params)
}, },
/**
* 获取瞬间列表
*/
getMomentList: (params) => { getMomentList: (params) => {
return HttpHandler.Get(`/apis/moment.halo.run/v1alpha1/moments`, params, { return HttpHandler.Get(`/apis/api.moment.halo.run/v1alpha1/moments`, params, {
custom: { custom: {
personalToken: getPersonalToken() personalToken: getPersonalToken()
} }
}) })
}, },
/**
* 获取瞬间详情
* @param {String} name 瞬间id
*/
getMomentByName: (name) => { getMomentByName: (name) => {
return HttpHandler.Get(`/apis/moment.halo.run/v1alpha1/moments/${name}`, {}, { return HttpHandler.Get(`/apis/api.moment.halo.run/v1alpha1/moments/${name}`, {}, {
custom: { custom: {
personalToken: getPersonalToken() personalToken: getPersonalToken()
} }
}) })
}, },
/**
* 查询站点统计信息
*/
getBlogStatistics: () => { getBlogStatistics: () => {
return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/stats/-`, {}) return HttpHandler.Get(`/apis/api.halo.run/v1alpha1/stats/-`, {})
}, },
/**
* 获取相册分组
*/
getPhotoGroupList: (params) => { getPhotoGroupList: (params) => {
return HttpHandler.Get(`/apis/core.halo.run/v1alpha1/photogroups`, params, { return HttpHandler.Get(`/apis/api.photo.halo.run/v1alpha1/photogroups`, params)
custom: {
personalToken: getPersonalToken()
}
})
}, },
/**
* 根据分组获取相册
*/
getPhotoListByGroupName: (params) => { getPhotoListByGroupName: (params) => {
return HttpHandler.Get(`/apis/console.api.photo.halo.run/v1alpha1/photos`, params, { return HttpHandler.Get(`/apis/api.photo.halo.run/v1alpha1/photos`, params)
custom: {
personalToken: getPersonalToken()
}
})
}, },
/**
* 获取友链分组
*/
getFriendLinkGroupList: (params) => { getFriendLinkGroupList: (params) => {
return HttpHandler.Get(`/apis/core.halo.run/v1alpha1/linkgroups`, params, { return HttpHandler.Get(`/apis/api.link.halo.run/v1alpha1/linkgroups`, params)
custom: {
personalToken: getPersonalToken()
}
})
}, },
/**
* 获取友链
*/
getFriendLinkList: (params) => { getFriendLinkList: (params) => {
return HttpHandler.Get(`/apis/api.plugin.halo.run/v1alpha1/plugins/PluginLinks/links`, params) return HttpHandler.Get(`/apis/api.link.halo.run/v1alpha1/links`, params)
}, },
/**
* 限制阅读校验
* @param restrictType
* @param code
* @param keyId
* @returns {HttpPromise<any>}
*/
requestRestrictReadCheck: (restrictType, code, keyId) => { requestRestrictReadCheck: (restrictType, code, keyId) => {
const params = { const params = {
code: code, code: code,
@@ -199,84 +113,56 @@ export default {
return HttpHandler.Post(`/apis/tools.muyin.site/v1alpha1/restrict-read/check`, params, { return HttpHandler.Post(`/apis/tools.muyin.site/v1alpha1/restrict-read/check`, params, {
header: { header: {
'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization, 'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
'Wechat-Session-Id': getOpenid(), 'Wechat-Session-Id': getOpenid(),
'nologin-email': getNologinEmail() 'nologin-email': getNologinEmail()
} }
}) })
}, },
/**
* 获取文章验证码
*/
createVerificationCode: () => { createVerificationCode: () => {
return HttpHandler.Get(`/apis/tools.muyin.site/v1alpha1/restrict-read/create`, null, { return HttpHandler.Get(`/apis/tools.muyin.site/v1alpha1/restrict-read/create`, null, {
header: { header: {
'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization, 'Authorization': getAppConfigs().pluginConfig.toolsPlugin?.Authorization,
'Wechat-Session-Id': getOpenid(), 'Wechat-Session-Id': getOpenid(),
} }
}) })
}, },
/**
* 提交友情链接
*/
submitLink(form) { submitLink(form) {
return HttpHandler.Post(`/apis/linkssubmit.muyin.site/v1alpha1/submit`, form, { return HttpHandler.Post(`/apis/linkssubmit.muyin.site/v1alpha1/submit`, form, {
header: { header: {
'Authorization': getAppConfigs().pluginConfig.linksSubmitPlugin?.Authorization, 'Authorization': getAppConfigs().pluginConfig.linksSubmitPlugin?.Authorization,
'Wechat-Session-Id': getOpenid(), 'Wechat-Session-Id': getOpenid(),
} }
}) })
}, },
/**
* 获取二维码信息
*/
getQRCodeInfo: (key) => { getQRCodeInfo: (key) => {
return HttpHandler.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeInfo/${key}`, return HttpHandler.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeInfo/${key}`,
null, {}) null, {})
}, },
/**
* 获取二维码图片
*/
getQRCodeImg: (postId) => { getQRCodeImg: (postId) => {
return HttpHandler.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeImg/${postId}`, return HttpHandler.Get(`/apis/api.uni.uhalo.pro/v1alpha1/plugins/plugin-uni-halo/getQRCodeImg/${postId}`,
null, {}) null, {})
}, },
/**
* 点赞
* @param {*} data ={group, plural, name}
*/
submitUpvote(data) { submitUpvote(data) {
return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/trackers/upvote`, data, {}) return HttpHandler.Post(`/apis/api.halo.run/v1alpha1/trackers/upvote`, data, {})
}, },
//----------- 投票 -----------------
/**
* 获取投票列表
*/
getVoteList: (params) => { getVoteList: (params) => {
return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes`, params) return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes`, params)
}, },
/**
* 获取投票详情
* @param {String} name id
*/
getVoteDetail: (name) => { getVoteDetail: (name) => {
return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/detail`, {}) return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/detail`, {})
}, },
/**
* 获取投票用户列表
* @param {String} name id
*/
getVoteUserList: (name) => { getVoteUserList: (name) => {
return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/user-list`, {}) return HttpHandler.Get(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/user-list`, {})
}, },
/**
* 提交投票
* @param {String} name id
* @param {Object} { voteData:["选项ID"] } 提交的数据
* @param {Boolean} canAnonymously 是否匿名 默认匿名
*/
submitVote: (name, data, canAnonymously = true) => { submitVote: (name, data, canAnonymously = true) => {
return HttpHandler.Post(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/submit`, data, { return HttpHandler.Post(`/apis/api.vote.kunkunyu.com/v1alpha1/votes/${name}/submit`, data, {
custom: { custom: {
@@ -284,18 +170,12 @@ export default {
} }
}) })
}, },
/**
* 检查是否安装启用插件
* @param {String} name 插件id
*/
checkPluginAvailable: (name) => { checkPluginAvailable: (name) => {
return HttpHandler.Get(`/apis/api.plugin.halo.run/v1alpha1/plugins/${name}/available`, {}) return HttpHandler.Get(`/apis/api.plugin.halo.run/v1alpha1/plugins/${name}/available`, {})
}, },
/**
* 获取豆瓣详情
* @param {String} url url
*/
getDoubanDetail: (url) => { getDoubanDetail: (url) => {
return HttpHandler.Get(`/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/getDoubanDetail`, {url}) return HttpHandler.Get(`/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/getDoubanDetail`, { url })
} }
} }
+2 -2
Ver fichero
@@ -2,8 +2,8 @@
"name" : "uni-halo", "name" : "uni-halo",
"appid" : "__UNI__5748B6E", "appid" : "__UNI__5748B6E",
"description" : "uni-halo博客:基于halo开源博客系统API开发的多端博客。", "description" : "uni-halo博客:基于halo开源博客系统API开发的多端博客。",
"versionName" : "2.0.9", "versionName" : "2.0.10",
"versionCode" : 209, "versionCode" : 210,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {
+1 -1
Ver fichero
@@ -1,6 +1,6 @@
{ {
"name": "uni-halo", "name": "uni-halo",
"version": "2.0.9", "version": "2.0.10",
"description": "<p align=\"center\">\r <img alt=\"logo\" src=\"https://b.925i.cn/uni_halo/uni_halo_logo.png\" width=\"120\" height=\"120\" style=\"margin-bottom: 10px;\">\r </p>\r <h3 align=\"center\" style=\"margin: 30px 0 30px;font-weight: bold;font-size:40px;\">uni-halo</h3>\r <h3 align=\"center\">uni-halo 基于Halo一款现代化的开源博客/CMS系统API开发的可多端编译应用</h3>", "description": "<p align=\"center\">\r <img alt=\"logo\" src=\"https://b.925i.cn/uni_halo/uni_halo_logo.png\" width=\"120\" height=\"120\" style=\"margin-bottom: 10px;\">\r </p>\r <h3 align=\"center\" style=\"margin: 30px 0 30px;font-weight: bold;font-size:40px;\">uni-halo</h3>\r <h3 align=\"center\">uni-halo 基于Halo一款现代化的开源博客/CMS系统API开发的可多端编译应用</h3>",
"repository": { "repository": {
"type": "git", "type": "git",
+8 -4
Ver fichero
@@ -18,7 +18,7 @@
<tm-skeleton model="card"></tm-skeleton> <tm-skeleton model="card"></tm-skeleton>
</view> </view>
<view v-else-if="loading == 'error'" class="flex flex-col flex-center" style="width:100%;height:60vh;"> <view v-else-if="loading == 'error'" class="flex flex-col flex-center" style="width:100%;height:60vh;">
<tm-empty icon="icon-wind-cry" label="阿偶,似乎获取数据失败了~"> <tm-empty icon="icon-wind-cry" label="阿偶,获取数据失败了~">
<tm-button theme="light-blue" size="m" :shadow="0" @click="fnGetData(true)">刷新试试</tm-button> <tm-button theme="light-blue" size="m" :shadow="0" @click="fnGetData(true)">刷新试试</tm-button>
</tm-empty> </tm-empty>
</view> </view>
@@ -206,14 +206,18 @@
page: 1, page: 1,
size: 0 size: 0
}).then(res => { }).then(res => {
this.category.list = res.items.map(item => { this.category.list = res.map(item => {
return { return {
name: item.metadata.name, name: item.metadata.name,
displayName: item.spec.displayName, displayName: item.spec.displayName,
priority: item.spec.priority priority: item.spec.priority
} }
}).sort((a, b) => a.priority - b.priority); }).sort((a, b) => a.priority - b.priority)
this.category.list.unshift({
name: undefined,
displayName: '全部',
priority: 0
});
if (this.category.list.length !== 0) { if (this.category.list.length !== 0) {
this.queryParams.group = this.category.list[0].name; this.queryParams.group = this.category.list[0].name;
this.fnGetData(true); this.fnGetData(true);
+7 -7
Ver fichero
@@ -30,7 +30,7 @@
</view> </view>
<!-- 金刚区 :v-if="navList.filter(x=>x.show).length>=4" --> <!-- 金刚区 :v-if="navList.filter(x=>x.show).length>=4" -->
<view v-if="calcIsShowQuickNavigationEnabled && !!navList.filter(x=>x.show).length" class="nav-box mt-16 mb-24 pl-24 pr-24 uh-py-12"> <view v-if="calcIsShowQuickNavigationEnabled && !!navList.filter(x=>x.show).length" class="nav-box mt-16 mb-24 pl-24 pr-24 uh-py-12">
<view class="page-item_title text-weight-b ">快捷导航</view> <view class="page-item_title text-weight-b ">快捷导航</view>
<view class="nav-list flex uh-mt-12"> <view class="nav-list flex uh-mt-12">
<template v-for="(item,index) in navList"> <template v-for="(item,index) in navList">
@@ -193,12 +193,12 @@
} }
return this.haloConfigs.pageConfig.homeConfig.useCategory return this.haloConfigs.pageConfig.homeConfig.useCategory
}, },
calcVotePluginEnabled() { calcVotePluginEnabled() {
return !!this.haloConfigs?.pluginConfig?.votePlugin?.enabled return !!this.haloConfigs?.pluginConfig?.votePlugin?.enabled
}, },
calcLinksPluginEnabled() { calcLinksPluginEnabled() {
return !!this.haloConfigs?.pluginConfig?.linksPlugin?.enabled; return !!this.haloConfigs?.pluginConfig?.linksPlugin?.enabled;
}, },
bannerConfig() { bannerConfig() {
return this.haloConfigs.pageConfig.homeConfig.bannerConfig return this.haloConfigs.pageConfig.homeConfig.bannerConfig
} }
+4 -1
Ver fichero
@@ -222,11 +222,14 @@
size: 0 size: 0
}) })
.then(res => { .then(res => {
this.linkGroupList = res.items; console.log("友情链接分组数据:", res);
this.linkGroupList = res;
this.fnGetData() this.fnGetData()
}) })
.catch(err => { .catch(err => {
console.error(err); console.error(err);
this.loading = 'error';
this.loadMoreText = err;
}); });
}, },
findLinkGroupDisplayNameByGroupMetadataName(groupName) { findLinkGroupDisplayNameByGroupMetadataName(groupName) {