mirror of
https://github.com/ialley-workshop-open/uni-halo.git
synced 2026-09-12 16:40:40 +08:00
refactor: 移除启动页逻辑,新增全局组件与偏好设置系统
1. 移除旧版启动页分流逻辑,直接跳转首页 2. 新增返回顶部、章节标题、导航栏等全局组件 3. 重构偏好设置系统,实现站点默认与本地差异分层管理 4. 删除冗余的测试mock、插件模块与样式文件 5. 优化文章卡片与评论组件样式,更新全局主题色 6. 清理废弃的请求参数与配置项
This commit is contained in:
@@ -7,6 +7,8 @@ import { ref } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { getQRCodeInfo } from '@/api/uni-halo'
|
||||
import { useAppConfigStore } from '@/store/appConfig'
|
||||
import { useSettingStore } from '@/store/setting'
|
||||
import { collectSiteDefaults } from '@/utils/preference'
|
||||
import { usePluginAvailable } from '@/utils/plugin'
|
||||
|
||||
definePage({
|
||||
@@ -21,7 +23,6 @@ definePage({
|
||||
|
||||
/* ---------------- 常量 ---------------- */
|
||||
const homePagePath = '/pages/tabbar/home/home'
|
||||
const startPagePath = '/pages/start/start'
|
||||
const articleDetailPath = '/pages-blog/article-detail/article-detail'
|
||||
|
||||
// 本地开发快速跳转页面,发布请置为 false
|
||||
@@ -31,6 +32,7 @@ const DEV_TO_PATH = `${articleDetailPath}?name=01a057b2-3200-74af-8afe-28a054092
|
||||
|
||||
/* ---------------- 状态 ---------------- */
|
||||
const appConfigStore = useAppConfigStore()
|
||||
const settingStore = useSettingStore()
|
||||
const uniHaloPluginId = 'plugin-uni-halo'
|
||||
const uniHaloPluginAvailableError = '阿偶,检测到当前插件没有安装或者启用,无法启动 uni-halo 哦,请联系管理员'
|
||||
const uniHaloPluginAvailable = ref(true)
|
||||
@@ -60,35 +62,6 @@ async function handleAuditMode() {
|
||||
await appConfigStore.fetchAuditData()
|
||||
}
|
||||
|
||||
/** 启动页/首页分流 */
|
||||
function handleCheckShowStarted() {
|
||||
const appConfig = (appConfigStore.configs.appConfig ?? {}) as {
|
||||
startConfig?: { enabled?: boolean, alwaysShow?: boolean }
|
||||
}
|
||||
const startConfig = appConfig.startConfig
|
||||
|
||||
// 未开启启动页,直接进首页
|
||||
if (!startConfig?.enabled) {
|
||||
uni.switchTab({ url: homePagePath })
|
||||
return
|
||||
}
|
||||
|
||||
// 是否每次都显示启动页
|
||||
if (startConfig.alwaysShow) {
|
||||
uni.removeStorageSync('APP_HAS_STARTED')
|
||||
uni.redirectTo({ url: startPagePath })
|
||||
return
|
||||
}
|
||||
|
||||
// 只显示一次启动页
|
||||
if (uni.getStorageSync('APP_HAS_STARTED')) {
|
||||
uni.switchTab({ url: homePagePath })
|
||||
}
|
||||
else {
|
||||
uni.redirectTo({ url: startPagePath })
|
||||
}
|
||||
}
|
||||
|
||||
onLoad(async (options) => {
|
||||
// 本地开发,快速跳转页面,发布请设置 DEV_MODE = false
|
||||
if (DEV_MODE && DEV_TO_PATH) {
|
||||
@@ -128,8 +101,11 @@ onLoad(async (options) => {
|
||||
// 审计模式数据(公开接口 /audit-data)
|
||||
await handleAuditMode()
|
||||
|
||||
// 启动页分流
|
||||
handleCheckShowStarted()
|
||||
// 两层偏好合并:应用站点默认(L0)到 setting store(内部合并本地差异,含旧数据迁移)
|
||||
settingStore.applySiteDefaults(collectSiteDefaults(appConfigStore.configs))
|
||||
|
||||
// 启动页已下线(v2.2 ⑤):直接进首页
|
||||
uni.switchTab({ url: homePagePath })
|
||||
}
|
||||
catch (err) {
|
||||
console.error('入口页初始化失败', err)
|
||||
|
||||
Reference in New Issue
Block a user