diff --git a/src/layout/head/Head.tsx b/src/layout/head/Head.tsx index e5ee816..8d4fc2f 100644 --- a/src/layout/head/Head.tsx +++ b/src/layout/head/Head.tsx @@ -34,6 +34,11 @@ import line from '../../static/Phone/line.png' import pack from '@theme/img/pack.png' import PackAgeModal from '../../components/PackageModal/PackageModal.tsx' import active from '../../static/active.gif' +import qusetionImg from '../../static/aiUse/qusetion.png' +import yesImg from '../../static/aiUse/yes.png' +import noImg from '../../static/aiUse/no.png' +import tipImg from '../../static/aiUse/tip.png' + // import pack from '@theme/pack.png' // import type { TableProps, FormProps } from 'antd'; // interface DataType { @@ -124,7 +129,8 @@ import active from '../../static/active.gif' // }, // ]; -import { DownOutlined, UserOutlined, QuestionCircleOutlined, BellOutlined, KeyOutlined, LogoutOutlined, GiftOutlined, AccountBookOutlined, ContainerOutlined, MenuFoldOutlined, UsergroupAddOutlined, TableOutlined } from "@ant-design/icons"; +import { DownOutlined, UserOutlined, QuestionCircleOutlined, BellOutlined, KeyOutlined, LogoutOutlined, GiftOutlined, AccountBookOutlined, ContainerOutlined, MenuFoldOutlined, UsergroupAddOutlined, TableOutlined, UpOutlined } from "@ant-design/icons"; + import { useContext, useEffect, useState, useRef @@ -158,7 +164,228 @@ import NoticeModal from '../../components/NoticeModal/NoticeModal.tsx'; // } from 'antd'; // import { log } from 'console'; // import HeadCouponModal from '../../components/CouponModal/HeadCouponModal.tsx' +import aiUseNameBg from '../../static/aiUse/useNameback.png' +import closeImg from '../../static/aiUse/close.png' +import searchImg from '../../static/aiUse/search.png' export default function Head() { + const aiNameArray = [ + // { + // key:'', + + // name: '', + // title: '', + // text: '', + // example: [ + // { + // icon: '', + // title: '', + // text: '' + // } + // ] + // }, + { + key: '1', + name: '字数要求', + title: '软著名称的字数要求是什么?', + text: '软著名称需要控制在8-30个汉字之间。过短的名称无法准确描述软件功能,过长的名称不便于管理和使用。', + example: [ + { + icon: 'yes', + title: '智能客户关系管理系统', + text: '10个汉字' + }, + { + icon: 'no', + title: 'CRM系统', + text: '3个汉字,过短' + }, + { + icon: 'no', + title: '基于人工智能和大数据技术的企业级客户关系管理与营销自动化综合业务处理系统', + text: '35个汉字,过长' + } + ] + }, + { + key: '2', + name: '结尾词规范', + title: '软著名称必须以什么词汇结尾?', + text: `软著名称应该以'软件'、'系统'、'平台'、'APP软件'、'APP'或'小程序软件'等词汇结尾,明确标识这是一个软件作品。`, + example: [ + { + icon: 'yes', + title: '在线教育管理系统', + text: '' + }, + { + icon: 'yes', + title: '电商交易平台', + text: '' + }, + { + icon: 'yes', + title: '移动支付APP软件', + text: '' + }, + { + icon: 'no', + title: '智能客服助手', + text: '缺少规范结尾词' + }, + ] + }, + { + key: '3', + name: '品牌名称', + title: '软著名称可以包含品牌名吗?', + text: '如果软著名称包含品牌名、商标名或公司名,可能需要提供相应的商标注册证明或授权文件。建议使用通用性描述,避免特定品牌词汇。', + example: [ + { + icon: 'tip', + title: '微信小程序开发平台', + text: `包含'微信'品牌名`, + }, + { + icon: 'yes', + title: '社交小程序开发平台', + text: '使用通用描述' + }, + ] + }, + { + key: '4', + name: '广告法限制', + title: '哪些词汇可能违反广告法?', + text: `避免使用绝对化、最高级的表述,如'国家级'、'世界级'、'第一'、'唯一'、'最佳'、'最强'、'完美'、'极致'等词汇。这些词汇可能违反广告法相关规定。`, + example: [ + { + icon: 'no', + title: '全国最强的财务管理系统', + text: '' + }, + { + icon: 'no', + title: '世界顶级的AI智能平台', + text: '' + }, + { + icon: 'yes', + title: '高效财务管理系统', + text: '' + }, + { + icon: 'yes', + title: '智能化业务处理平台', + text: '' + }, + ] + }, + { + key: '5', + name: '政府机构词汇', + title: '可以使用政府相关的词汇吗?', + text: `不建议直接使用'全国'、'中国'、'国家'、'市政'、'国际'等政府机构或官方属性词汇,除非有相关资质证明。建议使用中性化的表述。`, + example: [ + { + icon: 'tip', + title: '全国统一税务管理系统', + text: '' + }, + { + icon: 'tip', + title: '中国智慧城市平台', + text: '' + }, + { + icon: 'yes', + title: '企业税务管理系统', + text: '' + }, + { + icon: 'yes', + title: '智慧城市解决方案平台', + text: '' + }, + ] + }, + + { + key: '6', + name: '特殊行业', + title: '涉及特殊行业需要注意什么?', + text: `如果软著名称涉及金融、医疗、教育、游戏、直播等特殊行业,可能需要提供相应的行业资质证明文件,如支付许可证、医疗器械许可、办学许可证、游戏版号等。`, + example: [ + { + icon: 'tip', + title: '互联网医院诊疗系统', + text: '需要医疗资质' + }, + { + icon: 'tip', + title: '在线支付交易平台', + text: '需要支付许可' + }, + { + icon: 'tip', + title: '网络游戏运营系统', + text: '需要游戏版号' + }, + { + icon: 'tip', + title: 'K12在线教育平台', + text: '需要办学许可' + }, + ] + }, + { + key: '7', + name: 'AI相关', + title: 'AI相关的软著名称有什么要求?', + text: `AI、人工智能、机器学习、深度学习等相关词汇属于特殊技术领域,可能需要提供相应的技术资质或说明文件。建议明确具体的应用场景。`, + example: [ + { + icon: 'tip', + title: '通用人工智能系统', + text: '范围过于宽泛' + }, + { + icon: 'yes', + title: '客服机器人智能问答系统', + text: '' + }, + { + icon: 'yes', + title: '图像识别算法应用平台', + text: '' + }, + ] + }, + { + key: '8', + name: '常见问题', + title: '如何提高软著名称通过率?', + text: '1、确保字数在8-30个汉字;2、使用规范结尾词;3、避免品牌名和极端词汇;4、明确描述软件功能;5、如涉及特殊行业,准备相关资质文件。', + example: [ + { + icon: 'yes', + title: '企业人力资源管理系统', + text: '' + }, + { + icon: 'yes', + title: '移动端商品展示APP软件', + text: '' + }, + { + icon: 'yes', + title: '在线文档协作平台', + text: '' + }, + ] + }, + ] + + const dispath = useDispatch() @@ -1304,6 +1531,61 @@ export default function Head() { ] + // Ai预审软件名称工具弹窗------------------------------------------------------------------------- + const [aiUseNameModal, setAiUseNameModal] = useState(false) + const [componentKey, setComponentKey] = useState(1); // 控制组件重新加载的 key + const [aiUseName, setAiUseName] = useState('') // 软件名称 + + const [clostNameExampleArray, setClostNameExampleArray] = useState([]) + // 初始化Ai预审软件名称工具弹窗 + const initAiUseNameModal = () => { + setClostNameExampleArray([]) + setComponentKey(1) + setAiUseName('') + + } + const [aiUseNameSpin, setAiUseNameSpin] = useState(false) + const [useShow, setUseShow] = useState(false) + const useShowRef = useRef(null); + const useItem: MenuProps['items'] = [ + { + key: '1', + label: ( +
+ {/* */} +
Ai预审软件名称
+
输入项目名,检查规范与风险
+
+ ), + onClick: () => { + // setUseModal(true) + setAiUseNameModal(true) + setComponentKey(0) + } + }, + { + key: '2', + label: ( +
+ {/* */} +
AI软著矩阵规划
+
AI生成软善项目矩阵,助力高新认定
+
+ ), + onClick: () => { + } + }, + ]; return ( <> @@ -1338,12 +1620,27 @@ export default function Head() { }) dispath({ type: 'onClickActivity', - val: !clickActivity, + val: !clickActivity, }) }} > +
+ + + + + 实用工具 + + + + +
{ setkfModal(true) }}> @@ -2467,6 +2764,338 @@ export default function Head() { */} + {/* setUseModal(false)} + destroyOnClose + > + +
+
+ +
+ 嘻嘻嘻噶噶 +
+
+ +
+
+
+
*/} +
+
+
+
{ + setAiUseNameModal(false) + initAiUseNameModal() + + }} + > + + +
+
+
+
+ { + setAiUseName(e.target.value) + }} + placeholder='请输入您的软件名称' + allowClear + > + + +
+ +
+
+
+
+ +
+
111
+ +
+
+
+ + 常见问题 +
+
+ 了解软著名称的各项要求,提高申请成功率 +
+
+ { + // 循环aiNameArray这个数组 + aiNameArray.map((item) => { + return ( +
+
{ + // 查询clostNameExampleArray这个数组中是否有item.key 如果有的话从这个数组去除 如果没有的话加入这个数组 + setClostNameExampleArray(prev => { + if (prev.includes(item.key)) { + // 已存在则移除 + return prev.filter(exampleArrayItem => exampleArrayItem !== item.key); + } else { + // 不存在则添加 + return [...prev, item.key]; + } + }); + + }} + > +
+ +
+
{item.name}
+
{item.title}
+
+
+ { + clostNameExampleArray.includes(item.key) ? + : + + } + + +
+
+
{item.text}
+
+
+
+
示例:
+ { + item.example.map((exampleItem, index) => { + return ( +
+ +
+ +
+
+ +
+
+ {exampleItem.title} + +
+
+ {`(${exampleItem.text})`} +
+
+ ) + }) + } + +
+
+
+ ) + }) + + } + +
+
+ +
+
+
{contextHolder} {modalHolder} diff --git a/src/layout/head/head.css b/src/layout/head/head.css index c249dda..406046a 100644 --- a/src/layout/head/head.css +++ b/src/layout/head/head.css @@ -449,7 +449,7 @@ box-sizing: border-box; display: flex; flex-direction: column; - align-items: center; + align-items: center; } .phoneTitle { @@ -489,5 +489,71 @@ cursor: pointer; } +.aiUseNameQusetionBox { + padding: 20px; + box-sizing: border-box; + background-color: white; + border-radius: 10px; +} +.aiUseNameResultBox { + padding: 20px; + box-sizing: border-box; + background-color: white; + border-radius: 10px; + margin-bottom: 20px; +} +.aiUseNameQusetion { + padding: 10px; + box-sizing: border-box; + margin-top: 15px; + background: #F6F6F6; +} + +.aiUseNameQusetionDian { + width: 5px; + height: 5px; + background: #373737; + border-radius: 50%; + margin-right: 10px; +} + +.aiUseNameQusetionTop { + display: flex; + align-items: center; + justify-content: space-between; +} + +.aiUseNameQusetionCen { + margin-top: 10px; +} + +.aiUseNameQusetionBot { + margin-top: 10px; + padding: 10px; + box-sizing: border-box; + background-color: white; +} + +.aiUseNameQusetionItem { + display: flex; + margin-top: 10px; + align-items: center; +} + +.aiUseNameQusetionLabel { + background-color: #FFC573; + padding: 2px 10px; +} + +.aiUseNameQusetionContent { + font-size: 18px; + margin-left: 10px; + font-weight: 700; +} + +.aiUseNameQusetionIcon { + margin-right: 10px; + margin-top: 3px; +} diff --git a/src/static/aiUse/close.png b/src/static/aiUse/close.png new file mode 100644 index 0000000..2acb801 Binary files /dev/null and b/src/static/aiUse/close.png differ diff --git a/src/static/aiUse/lamp.png b/src/static/aiUse/lamp.png new file mode 100644 index 0000000..99d505a Binary files /dev/null and b/src/static/aiUse/lamp.png differ diff --git a/src/static/aiUse/no.png b/src/static/aiUse/no.png new file mode 100644 index 0000000..f04917e Binary files /dev/null and b/src/static/aiUse/no.png differ diff --git a/src/static/aiUse/qusetion.png b/src/static/aiUse/qusetion.png new file mode 100644 index 0000000..8ba7b30 Binary files /dev/null and b/src/static/aiUse/qusetion.png differ diff --git a/src/static/aiUse/search.png b/src/static/aiUse/search.png new file mode 100644 index 0000000..6e7040d Binary files /dev/null and b/src/static/aiUse/search.png differ diff --git a/src/static/aiUse/tip.png b/src/static/aiUse/tip.png new file mode 100644 index 0000000..f08ac12 Binary files /dev/null and b/src/static/aiUse/tip.png differ diff --git a/src/static/aiUse/useNameback.png b/src/static/aiUse/useNameback.png new file mode 100644 index 0000000..1acdbba Binary files /dev/null and b/src/static/aiUse/useNameback.png differ diff --git a/src/static/aiUse/yes.png b/src/static/aiUse/yes.png new file mode 100644 index 0000000..b246ab9 Binary files /dev/null and b/src/static/aiUse/yes.png differ