constant.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. const semiCode = "以下是一个 \`Semi\` 代码的使用示例:\n```jsx \nimport React from 'react';\nimport { Button } from '@douyinfe/semi-ui';\nconst MyComponent = () => {\n const handleClick = () => {\n console.log('Button clicked');\n};\n return (\n <div>\n <h1>Hello, Semi Design!</h1>\n <Button onClick={handleClick}>Click me</Button>\n </div>\n );\n};\nexport default MyComponent;\n```";
  2. const semiInfo = `
  3. Semi Design 是由抖音前端团队和MED产品设计团队设计、开发并维护的设计系统。作为一个全面、易用、优质的现代应用UI解决方案,Semi Design从字节跳动各业务线的复杂场景中提炼而来,目前已经支撑了近千个平台产品,服务了内外部超过10万用户[[1]](https://semi.design/zh-CN/start/introduction)。
  4. Semi Design的愿景是成为企业应用前端不可或缺的一半,为企业应用前端提供坚实且优质的基础。设计系统的真正价值在于降低前端的搭建成本,同时提供优秀的设计和工程化标准,充分解放设计师与开发者的生产力,从而不断孵化出优秀的产品[[1]](https://semi.design/zh-CN/start/introduction)。
  5. Semi Design的特点包括:
  6. 1. 设计:Semi Design通过提炼简洁轻量、现代化的设计风格,细致打磨原子组件的交互,并在字节跳动的海量业务场景下进行迭代,沉淀了一套优质的默认基础。它将保证Semi Design打造的企业应用产品具有连贯一致的"语言",并且质量优于陈旧系统的基线。此外,Semi Design还充分进行模块化解耦,并开放自定义能力,方便用户进行二次裁剪与定制,搭建适用于不同形态产品的前端资产[[1]](https://semi.design/zh-CN/start/introduction)。
  7. 2. 主题化:Semi Design提供了强大的主题化方案,通过对数千个设计变量的分层和梳理,设计师和开发者可以在全局、乃至组件级别对表现层进行深度定制。这使得Semi Design可以轻松实现品牌一键定制,满足业务和品牌多样化的视觉需求。主题化方案还支持从线上到设计工具的实时同步,提高设计和研发的持续对齐效率,降低产研间的沟通成本[[1]](https://semi.design/zh-CN/start/introduction)。
  8. 3. 深色模式:为了兼容更多用户群体在不同生产环境下的使用偏好,Semi Design的任意主题均自动支持深色模式,并能在应用运行时动态切换。此外,Semi Design还允许用户在应用内局部区域开启深色模式,以兼容SDK或插件型产品的使用场景。用户还可以通过进阶设置实现应用和系统主题的自动保持一致。为了提升开发体验,Semi Design还提供了将未规范化的存量旧工程一键兼容到Semi暗色模式的CLI工具,通过自动化的方式规避迁移成本[[1]](https://semi.design/zh-CN/start/introduction)。
  9. 4. 国际化:Semi Design经过30+版本迭代,已具备完善的国际化特性。它覆盖了简/繁体中文、英语、日语、韩语、葡萄牙语等20+种语言,日期时间组件提供全球时区支持,全部组件可自动适配阿拉伯文RTL布局。同时,Semi Design也支持海外地区的开发者使用,对站点和文档进行了双语适配,以保证开发无障碍[[1]](https://semi.design/zh-CN/start/introduction)。
  10. 5. 跨框架技术方案:Semi Design采用了一套跨前端框架技术方案,将每个组件的JavaScript拆分为Foundation和Adapter两部Semi Design 是由抖音前端团队和MED产品设计团队设计、开发并维护的设计系统。作为一个全面、易用、优质的现代应用UI解决方案,Semi Design从字节跳动各业务线的复杂场景中提炼而来,目前已经支撑了近千个平台产品,服务了内外部超过10万用户[[1]](https://semi.design/zh-CN/start/introduction)。
  11. ---
  12. Learn more:
  13. 1. [Introduction 介绍 - Semi Design](https://semi.design/zh-CN/start/introduction)
  14. 2. [Getting Started 快速开始 - Semi Design](https://semi.design/zh-CN/start/getting-started)
  15. 3. [Semi D2C 设计稿转代码的演进之路 - 知乎](https://zhuanlan.zhihu.com/p/667189184)
  16. `;
  17. const initMessage = [
  18. {
  19. role: 'system',
  20. id: '1',
  21. createAt: 1715676751919,
  22. content: "Hello, I'm your AI assistant.",
  23. },
  24. {
  25. role: 'user',
  26. id: '2',
  27. createAt: 1715676751919,
  28. content: "介绍一下 semi design",
  29. },
  30. {
  31. role: 'assistant',
  32. id: '3',
  33. createAt: 1715676751919,
  34. content: semiInfo,
  35. },
  36. {
  37. role: 'user',
  38. id: '4',
  39. createAt: 1715676751919,
  40. content: "Semi design Button 使用示例",
  41. },
  42. {
  43. role: 'assistant',
  44. id: '5',
  45. createAt: 1715676751919,
  46. content: semiCode
  47. },
  48. ];
  49. const infoWithDivider = [
  50. {
  51. role: 'user',
  52. id: '1',
  53. createAt: 1715676751919,
  54. content: "介绍一下 semi design",
  55. },
  56. {
  57. role: 'divider',
  58. id: '2',
  59. createAt: 1715676751919,
  60. },
  61. {
  62. role: 'assistant',
  63. id: '3',
  64. createAt: 1715676751919,
  65. content: "test",
  66. },
  67. ];
  68. const infoWithAttachment = [
  69. {
  70. role: 'user',
  71. id: '2',
  72. createAt: 1715676751919,
  73. content: [
  74. {
  75. type: 'text',
  76. text: '用于查看附件的样式,不处理任何输入',
  77. },
  78. {
  79. type: 'image_url',
  80. image_url: {
  81. url: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/other/avatar-vertical.jpeg',
  82. },
  83. },
  84. {
  85. type: 'image_url',
  86. image_url: {
  87. url: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/SemiLogo.jpg'
  88. },
  89. }
  90. ],
  91. },
  92. {
  93. role: 'assistant',
  94. id: '3',
  95. createAt: 1715676751919,
  96. content: `用于查看附件的样式, 不处理任何输入\n\n![image](https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/edit-bag.jpeg)`,
  97. },
  98. ];
  99. const roleInfo = {
  100. user: {
  101. name: 'User Test',
  102. avatar: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/docs-icon.png'
  103. },
  104. assistant: {
  105. name: 'Assistant Test',
  106. avatar: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/other/logo.png'
  107. },
  108. system: {
  109. name: 'System Test'
  110. }
  111. };
  112. const commonOuterStyle = {
  113. border: '1px solid var(--semi-color-border)',
  114. borderRadius: '16px',
  115. margin: '8px 16px',
  116. };
  117. const hintsExample = [
  118. "告诉我更多",
  119. "Semi Design 的组件有哪些?",
  120. "Semi Design 官网及 github 仓库地址是?",
  121. ];
  122. const simpleInitMessage = [
  123. {
  124. role: 'system',
  125. id: '1',
  126. createAt: 1715676751919,
  127. content: "Hello, I'm your AI assistant.",
  128. },
  129. {
  130. role: 'user',
  131. id: '2',
  132. createAt: 1715676751919,
  133. content: "介绍一下 semi design",
  134. },
  135. {
  136. role: 'assistant',
  137. id: '3',
  138. createAt: 1715676751919,
  139. content: "Semi Design 是由抖音前端团队和MED产品设计团队设计、开发并维护的设计系统。",
  140. },
  141. ];
  142. const infoWithJSX = [
  143. {
  144. role: 'system',
  145. id: '1',
  146. createAt: 1715676751919,
  147. content: `因为用的是 mdx 模式,因此对于部分符号需要转义 \\{\\} \\<\\> ...
  148. #### 下面是一个渲染在 Markdown 中的按钮
  149. <MyButton onClick={()=>alert("点击了 MyButton")}>MyButton 点我</MyButton>
  150. 直接在 Markdown 中书写 JSX 即可
  151. `
  152. },
  153. ];
  154. const tableContent = [
  155. {
  156. role: 'system',
  157. id: '1',
  158. createAt: 1715676751919,
  159. content: `这是一个 Table示例
  160. | 支持 | Markdown 表格 | c | d |
  161. | - | :- | -: | :-: |
  162. | 1 | 2fdasfdsafdsafdsf | 3fdafdsafdsfd | 4 |
  163. | 21 | 22 | 23 | 24 |
  164. | 31 | 32 | 33 | 34 |
  165. | 41 | 42 | 43 | 44 |
  166. `
  167. },
  168. ];
  169. export {
  170. initMessage,
  171. roleInfo,
  172. commonOuterStyle,
  173. hintsExample,
  174. infoWithAttachment,
  175. simpleInitMessage,
  176. semiCode,
  177. infoWithDivider,
  178. infoWithJSX,
  179. tableContent
  180. };