diff --git a/ui/ModelModal/package.json b/ui/ModelModal/package.json index e03bd04..6969bcf 100644 --- a/ui/ModelModal/package.json +++ b/ui/ModelModal/package.json @@ -1,6 +1,6 @@ { "name": "@yokowu/modelkit-ui", - "version": "0.4.2", + "version": "0.5.0", "description": "A reusable AI model configuration modal component for React applications", "private": false, "type": "module", @@ -29,7 +29,8 @@ "type-check": "tsc --noEmit", "lint": "eslint src --ext .ts,.tsx", "clean": "rimraf dist", - "prepublishOnly": "npm run build" + "prepublishOnly": "npm run build", + "icon": "node ./scripts/downLoadIcon.cjs" }, "keywords": [ "react", diff --git a/ui/ModelModal/scripts/downLoadIcon.cjs b/ui/ModelModal/scripts/downLoadIcon.cjs new file mode 100644 index 0000000..2778ced --- /dev/null +++ b/ui/ModelModal/scripts/downLoadIcon.cjs @@ -0,0 +1,23 @@ +const fs = require("fs"); +const path = require("path"); + +async function downloadFile(url) { + const iconPath = path.resolve(__dirname, "../src/assets/fonts/iconfont.js"); + const iconDir = path.dirname(iconPath); + + // 检查目录是否存在,不存在则创建 + if (!fs.existsSync(iconDir)) { + fs.mkdirSync(iconDir, { recursive: true }); + console.log(`目录 ${iconDir} 已创建`); + } + + const response = await fetch(`https:${url}`, { + method: "GET", + // responseType: "stream", // fetch 不支持此参数 + }).then((res) => res.text()); + fs.writeFileSync(iconPath, response); + console.log("Download Icon Success"); +} +let argument = process.argv.splice(2); +downloadFile(argument[0]); + diff --git a/ui/ModelModal/src/assets/fonts/iconfont.js b/ui/ModelModal/src/assets/fonts/iconfont.js index 3013a34..3733808 100644 --- a/ui/ModelModal/src/assets/fonts/iconfont.js +++ b/ui/ModelModal/src/assets/fonts/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_4856251='',(c=>{var a=(l=(l=document.getElementsByTagName("script"))[l.length-1]).getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,i,o,t,p,v=function(a,l){l.parentNode.insertBefore(a,l)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_4856251,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?v(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),h()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=h,t=c.document,p=!1,d(),t.onreadystatechange=function(){"complete"==t.readyState&&(t.onreadystatechange=null,z())})}function z(){p||(p=!0,o())}function d(){try{t.documentElement.doScroll("left")}catch(a){return void setTimeout(d,50)}z()}})(window); \ No newline at end of file +window._iconfont_svg_string_4856251='',(c=>{var a=(l=(l=document.getElementsByTagName("script"))[l.length-1]).getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,i,t,o,p,z=function(a,l){l.parentNode.insertBefore(a,l)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_4856251,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?z(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),h()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(t=h,o=c.document,p=!1,d(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,v())})}function v(){p||(p=!0,t())}function d(){try{o.documentElement.doScroll("left")}catch(a){return void setTimeout(d,50)}v()}})(window); \ No newline at end of file diff --git a/ui/ModelModal/src/constants/providers.ts b/ui/ModelModal/src/constants/providers.ts index d58e245..301b06c 100644 --- a/ui/ModelModal/src/constants/providers.ts +++ b/ui/ModelModal/src/constants/providers.ts @@ -125,7 +125,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { Qiniu: { label: 'Qiniu', cn: '七牛云', - icon: 'icon-qiniu', + icon: 'icon-qiniuyun', urlWrite: false, secretRequired: true, customHeader: false, @@ -175,7 +175,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { Yi: { label: 'Yi', cn: '零一万物', - icon: 'icon-yi', + icon: 'icon-lingyiwanwu', urlWrite: false, secretRequired: true, customHeader: false, @@ -246,7 +246,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { CTYun: { label: 'CTYun', cn: '天翼云息壤', - icon: 'icon-ctyun', + icon: 'icon-tianyiyun', urlWrite: false, secretRequired: true, customHeader: false, @@ -256,7 +256,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { TencentTI: { label: 'TencentTI', cn: '腾讯云TI', - icon: 'icon-tencentcloud', + icon: 'icon-tengxunyun', urlWrite: false, secretRequired: true, customHeader: false, @@ -266,7 +266,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { BaiDuQianFan: { label: 'BaiDuQianFan', cn: '百度云千帆', - icon: 'icon-baiduqianfan', + icon: 'icon-baiduyun', urlWrite: false, secretRequired: true, customHeader: false, @@ -276,7 +276,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { ModelScope: { label: 'ModelScope', cn: '魔搭社区', - icon: 'icon-modelscope', + icon: 'icon-modaGPT', urlWrite: false, secretRequired: true, customHeader: false, @@ -296,7 +296,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { StepFun: { label: 'StepFun', cn: '阶跃星辰', - icon: 'icon-stepfun', + icon: 'icon-step', urlWrite: false, secretRequired: true, customHeader: false, @@ -356,7 +356,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { DMXAPI: { label: 'DMXAPI', cn: 'DMXAPI', - icon: 'icon-dmxapi', + icon: 'icon-DMXAPI', urlWrite: false, secretRequired: true, customHeader: false, @@ -373,20 +373,20 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { modelDocumentUrl: 'https://ai.burncloud.com/docs', defaultBaseUrl: 'https://ai.burncloud.com/v1', }, - Grok: { - label: 'Grok', - cn: 'Grok', - icon: 'icon-grok', - urlWrite: false, - secretRequired: true, - customHeader: false, - modelDocumentUrl: 'https://docs.x.ai/', - defaultBaseUrl: 'https://api.x.ai/v1', - }, + // Grok: { + // label: 'Grok', + // cn: 'Grok', + // icon: 'icon-grok', + // urlWrite: false, + // secretRequired: true, + // customHeader: false, + // modelDocumentUrl: 'https://docs.x.ai/', + // defaultBaseUrl: 'https://api.x.ai/v1', + // }, Nvidia: { label: 'Nvidia', cn: '英伟达', - icon: 'icon-nvidia', + icon: 'icon-yingweida', urlWrite: false, secretRequired: true, customHeader: false, @@ -406,7 +406,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { AI302: { label: 'AI302', cn: '302.AI', - icon: 'icon-302ai', + icon: 'icon-a-302ai', urlWrite: false, secretRequired: true, customHeader: false, @@ -446,7 +446,7 @@ export const DEFAULT_MODEL_PROVIDERS: ModelProviderMap = { Mistral: { label: 'Mistral', cn: 'Mistral', - icon: 'icon-mistral', + icon: 'icon-Mistral', urlWrite: false, secretRequired: true, customHeader: false,