1
0
mirror of https://github.com/ialley-workshop-open/uni-halo.git synced 2026-09-12 16:40:40 +08:00

feat: 接入小程序链接与审核配置公开接口

- 友链接入:friend-links 双 tab(站点/小程序)、小程序详情弹窗(太阳码长按保存/地址复制/预览图轮播/作者信息)、申请收录弹窗(POST /submissions)
- 审核配置接入:新增 getAuditData,移除旧 mockJson,9 页审核模式改为真实数据按 name 过滤,友链站点 tab 按 LinkGroup 过滤、小程序 tab 隐藏
- 修复:补 uni.getLocale mock、pages.json vitest alias、getI18nText 无占位符容错、getPostList 参数类型

Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
This commit is contained in:
小莫唐尼
2026-09-02 01:26:45 +08:00
parent 254d0b924b
commit 938c09ad4e
20 changed files with 1186 additions and 491 deletions
+70 -2
View File
@@ -14,6 +14,7 @@ import { getNologinEmail, getOpenid } from '@/utils/auth'
import { getPersonalToken } from '@/store/token'
import type {
IAppConfig,
IAuditDataResult,
ICommentWidgetConfig,
IDoubanDetail,
IHaloGlobalConfig,
@@ -27,6 +28,10 @@ import type {
ILoveStory,
ILoveStoryListReq,
ILoveStoryListRes,
IMiniProgramLink,
IMiniProgramLinkGroupedRes,
IMiniProgramLinkGroupOption,
IMiniProgramLinkSubmissionForm,
IQRCodeInfo,
IRestrictReadCheckReq,
IRestrictReadCheckRes,
@@ -53,6 +58,15 @@ export function getAppConfigs() {
})
}
/**
* 获取审核模式数据(公开接口;auditModeEnabled=true 时返回选中引用列表,否则 {enabled:false})
*/
export function getAuditData() {
return http.Get<IResponse<IAuditDataResult>>('/apis/api.unihalo.ialley.cn/v1alpha1/plugins/plugin-uni-halo/audit-data', {
meta: { requestFrom: RequestFrom.Halo },
})
}
/**
* 获取 Halo 全局配置信息
*/
@@ -168,6 +182,60 @@ export function getLoveStories(params: ILoveStoryListReq) {
})
}
/* ==================== 小程序链接(plugin-uni-halo) ==================== */
/**
* 获取小程序链接分组列表(grouped=true,仅可见,按分组聚合返回)
*/
export function getMiniProgramLinkGroupedList() {
return http.Get<IResponse<IMiniProgramLinkGroupedRes>>(
'/apis/api.unihalo.ialley.cn/v1alpha1/plugins/plugin-uni-halo/mini-program-links',
{
params: { grouped: true },
meta: { requestFrom: RequestFrom.Halo },
},
)
}
/**
* 获取小程序链接分组选项(/types,仅可见链接引用的分组)
*/
export function getMiniProgramLinkTypes() {
return http.Get<IResponse<IMiniProgramLinkGroupOption[]>>(
'/apis/api.unihalo.ialley.cn/v1alpha1/plugins/plugin-uni-halo/mini-program-links/types',
{
meta: { requestFrom: RequestFrom.Halo },
},
)
}
/**
* 获取小程序链接详情(仅可见,不存在返回 404)
*/
export function getMiniProgramLinkDetail(name: string) {
return http.Get<IResponse<IMiniProgramLink>>(
`/apis/api.unihalo.ialley.cn/v1alpha1/plugins/plugin-uni-halo/mini-program-links/${name}`,
{
meta: { requestFrom: RequestFrom.Halo },
},
)
}
/**
* 提交小程序链接申请(公开接口,落库为待审核;受 linkConfig.submissionEnabled 开关控制)
*/
export function submitMiniProgramLinkApplication(data: IMiniProgramLinkSubmissionForm) {
return http.Post<IResponse<unknown>>(
'/apis/api.unihalo.ialley.cn/v1alpha1/plugins/plugin-uni-halo/mini-program-links/submissions',
{
spec: data,
},
{
meta: { requestFrom: RequestFrom.Halo },
},
)
}
/* ==================== 受限阅读(tools.muyin.site) ==================== */
/**
@@ -284,8 +352,8 @@ export function getDoubanDetail(url: string) {
*/
export function getCommentWidgetCaptcha() {
return http.Get<IResponse<string>>('/apis/api.commentwidget.halo.run/v1alpha1/captcha/-/generate', {
cacheFor:0,
meta: { requestFrom: RequestFrom.Halo },
cacheFor: 0,
meta: { requestFrom: RequestFrom.Halo },
})
}