news/app/store/newsStore.ts

154 lines
4.6 KiB
TypeScript
Raw Normal View History

2025-11-21 11:40:52 +08:00
import { create } from "zustand";
import type { IconType } from 'react-icons';
import {
FaUserGraduate,
FaUserShield,
FaLaptopCode,
FaMicrophoneLines,
FaEnvelopeOpenText,
FaWrench,
FaRegFileLines,
FaSpellCheck,
FaChartPie,
FaGlobe,
FaBookOpenReader,
FaPenRuler,
} from 'react-icons/fa6';
2025-11-21 11:40:52 +08:00
2025-11-21 15:26:26 +08:00
//文化符号徽章
interface Logo {
id: number;
src: string;
alt: string;
}
//新闻列表
interface NewsItem {
id: string;
content: string;
url: string;
}
//综合服务徽章
interface ServiceItem {
icon: IconType; // 图标组件
label: string; // 显示标签
href: string; // 链接地址
};
//导航栏项
export interface MenuItem {
label: string;
key: string;
sectionId:string;
}
2025-11-21 15:26:26 +08:00
2025-11-21 11:40:52 +08:00
type NewsStore = {
logos: Logo[];
newsList: NewsItem[];
booksList: NewsItem[];
services: ServiceItem[];
menuItems:MenuItem[];
2025-11-21 11:40:52 +08:00
};
export const newsStore = create<NewsStore>(() => ({
logos: [
{ id: 1, src: "/public/logo/1.png", alt: "Logo 1" },
{ id: 2, src: "/public/logo/1.png", alt: "Logo 2" },
{ id: 3, src: "/public/logo/1.png", alt: "Logo 3" },
{ id: 4, src: "/public/logo/1.png", alt: "Logo 4" },
{ id: 5, src: "/public/logo/1.png", alt: "Logo 5" },
{ id: 6, src: "/public/logo/1.png", alt: "Logo 6" },
{ id: 7, src: "/public/logo/1.png", alt: "Logo 7" },
{ id: 8, src: "/public/logo/1.png", alt: "Logo 8" },
{ id: 9, src: "/public/logo/1.png", alt: "Logo 9" },
{ id: 10, src: "/public/logo/1.png", alt: "Logo 10" },
{ id: 11, src: "/public/logo/1.png", alt: "Logo 11" },
{ id: 12, src: "/public/logo/1.png", alt: "Logo 12" },
{ id: 13, src: "/public/logo/1.png", alt: "Logo 13" },
{ id: 14, src: "/public/logo/1.png", alt: "Logo 14" },
{ id: 15, src: "/public/logo/1.png", alt: "Logo 15" },
{ id: 16, src: "/public/logo/1.png", alt: "Logo 16" },
], //文化符号徽章
newsList: [
{ id: "1", content: "中华人民共和国监察法", url: "https://www.baidu.com" },
{
id: "2",
content: "2024年国办印发意见部门工作人员党听全国两...",
url: "https://www.baidu.com",
},
{
id: "3",
content: "十四届全国人大二次会议闭幕贺词",
url: "https://www.baidu.com",
},
{
id: "4",
content: '7天人代会"小片段"折射民主"大全景"',
url: "https://www.baidu.com",
},
{
id: "5",
content: "全国政协十四届二次会议共收到提案5800多件",
url: "https://www.baidu.com",
},
{
id: "6",
content: "两会观察丨从两会八个高频词看中国",
url: "https://www.baidu.com",
},
{
id: "7",
content: '两会"清单"上新这些民生发展温度',
url: "https://www.baidu.com",
},
{
id: "8",
content: '"选择中国"——世界从中国两会读出心动机号',
url: "https://www.baidu.com",
},
{
id: "9",
content: "中国经济信心说丨新玛合信心从哪里来",
url: "https://www.baidu.com",
},
],
booksList: [
{
id: "1",
content: "《中国特色社会主义》",
url: "https://www.baidu.com",
},
{
id: "2",
content: "《中国特色社会主义》",
url: "https://www.baidu.com",
},
{
id: "3",
content: "《中国特色社会主义》",
url: "https://www.baidu.com",
},
],
services:[
{ icon: FaUserGraduate, label: '警队自考', href: '/study' },
{ icon: FaUserShield, label: '警队教育', href: '/scholarship' },
{ icon: FaLaptopCode, label: '常用软件', href: '/software' },
{ icon: FaMicrophoneLines, label: '智能语音', href: '/voice' },
{ icon: FaEnvelopeOpenText, label: '蓝天邮局', href: '/mail' },
{ icon: FaWrench, label: '策划工具', href: '/plan' },
{ icon: FaRegFileLines, label: '办公模板', href: '/office' },
{ icon: FaSpellCheck, label: '智能校对', href: '/ai-check' },
{ icon: FaChartPie, label: '警情调研', href: '/survey' },
{ icon: FaGlobe, label: '上网助手', href: '/net' },
{ icon: FaBookOpenReader, label: '考试平台', href: '/exam' },
{ icon: FaPenRuler, label: '学习平台', href: '/study' },
],
menuItems :[
{ label: '首页', key: 'home', sectionId:'home' },
{ label: '烽火动态', key: 'news', sectionId:'fireNews' },
{ label: '烽火铸魂', key: 'soul', sectionId:'soul' },
{ label: '烽火训练', key: 'training', sectionId:'training' },
{ label: '联系热线', key: 'hotline', sectionId:'hotline' },
{ label: '综合服务', key: 'service', sectionId:'service' },
],
}));