提交 536c8778 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 9ee0bb8c
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
"ali-oss": "^6.20.0", "ali-oss": "^6.20.0",
"antd": "^5.18.0", "antd": "^5.18.0",
"axios": "^1.6.2", "axios": "^1.6.2",
"blueimp-md5": "^2.19.0",
"dayjs": "^1.11.11", "dayjs": "^1.11.11",
"easy-formula-editor": "^0.0.2-alpha.1", "easy-formula-editor": "^0.0.2-alpha.1",
"echarts": "^5.4.3", "echarts": "^5.4.3",
...@@ -273,6 +274,76 @@ ...@@ -273,6 +274,76 @@
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
"dev": true "dev": true
}, },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/set-array": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/source-map": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
"dev": true,
"optional": true,
"peer": true
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@nodelib/fs.scandir": { "node_modules/@nodelib/fs.scandir": {
"version": "2.1.5", "version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
...@@ -1369,6 +1440,11 @@ ...@@ -1369,6 +1440,11 @@
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
"dev": true "dev": true
}, },
"node_modules/blueimp-md5": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
"integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w=="
},
"node_modules/bowser": { "node_modules/bowser": {
"version": "1.9.4", "version": "1.9.4",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz",
...@@ -1396,6 +1472,14 @@ ...@@ -1396,6 +1472,14 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true,
"optional": true,
"peer": true
},
"node_modules/builtin-status-codes": { "node_modules/builtin-status-codes": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
...@@ -6101,6 +6185,18 @@ ...@@ -6101,6 +6185,18 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
}
},
"node_modules/ssr-window": { "node_modules/ssr-window": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
...@@ -6296,6 +6392,34 @@ ...@@ -6296,6 +6392,34 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/terser": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
"integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
"acorn": "^8.8.2",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
"bin": {
"terser": "bin/terser"
},
"engines": {
"node": ">=10"
}
},
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true,
"optional": true,
"peer": true
},
"node_modules/text-table": { "node_modules/text-table": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
"ali-oss": "^6.20.0", "ali-oss": "^6.20.0",
"antd": "^5.18.0", "antd": "^5.18.0",
"axios": "^1.6.2", "axios": "^1.6.2",
"blueimp-md5": "^2.19.0",
"dayjs": "^1.11.11", "dayjs": "^1.11.11",
"easy-formula-editor": "^0.0.2-alpha.1", "easy-formula-editor": "^0.0.2-alpha.1",
"echarts": "^5.4.3", "echarts": "^5.4.3",
......
...@@ -4,7 +4,7 @@ import IconReset from '@/assets/images/icon/reset.png' ...@@ -4,7 +4,7 @@ import IconReset from '@/assets/images/icon/reset.png'
import IconReload from '@/assets/images/icon/reload.png' import IconReload from '@/assets/images/icon/reload.png'
import IconFilter from '@/assets/images/icon/filter.png' import IconFilter from '@/assets/images/icon/filter.png'
const AppList = forwardRef((props, ref) => { const AppList = (props, ref) => {
const { remote = {}, filters = [], filterAside, ...rest } = props const { remote = {}, filters = [], filterAside, ...rest } = props
const [data, setData] = useState({ total: 0, list: [] }) const [data, setData] = useState({ total: 0, list: [] })
const [page, setPage] = useState({ current: 1, pageSize: 10 }) const [page, setPage] = useState({ current: 1, pageSize: 10 })
...@@ -54,7 +54,7 @@ const AppList = forwardRef((props, ref) => { ...@@ -54,7 +54,7 @@ const AppList = forwardRef((props, ref) => {
async function handlePageChange(current, pageSize) { async function handlePageChange(current, pageSize) {
setPage({ current, pageSize }) setPage({ current, pageSize })
} }
const onValuesChange = (changedValues, allValues) => { const onValuesChange = changedValues => {
const [value] = Object.values(changedValues) const [value] = Object.values(changedValues)
!value && handleReload() !value && handleReload()
} }
...@@ -100,11 +100,11 @@ const AppList = forwardRef((props, ref) => { ...@@ -100,11 +100,11 @@ const AppList = forwardRef((props, ref) => {
</div> </div>
</div> </div>
) )
}) }
const Icon = ({ src }) => { const Icon = ({ src }) => {
const IconStyle = { height: '12px', objectFit: 'contain' } const IconStyle = { height: '12px', objectFit: 'contain' }
return <img src={src} style={IconStyle} /> return <img src={src} style={IconStyle} />
} }
export default AppList export default forwardRef(AppList)
...@@ -10,7 +10,7 @@ export function useAIEdit() { ...@@ -10,7 +10,7 @@ export function useAIEdit() {
const fetch = useCallback(async params => { const fetch = useCallback(async params => {
setIsLoading(true) setIsLoading(true)
try { try {
const defaultParams = { ernie_name: 'ERNIE-4.0-8K', stream: false } const defaultParams = { ernie_name: 'ERNIE-Lite-8K-0922', stream: false }
const res = await baiduAIChat({ ...defaultParams, params }) const res = await baiduAIChat({ ...defaultParams, params })
const message = { role: 'assistant', content: res.data.result } const message = { role: 'assistant', content: res.data.result }
setMessages(prevMessages => [...prevMessages, message]) setMessages(prevMessages => [...prevMessages, message])
......
import { useEffect } from 'react' import { useEffect, useCallback } from 'react'
import { Button, Flex, Dropdown } from 'antd' import { Button, Flex, Dropdown } from 'antd'
import { UserOutlined } from '@ant-design/icons' import { UserOutlined } from '@ant-design/icons'
import { useDispatch, useSelector } from 'react-redux' import { useDispatch, useSelector } from 'react-redux'
...@@ -10,13 +10,14 @@ function User() { ...@@ -10,13 +10,14 @@ function User() {
const dispatch = useDispatch() const dispatch = useDispatch()
const { userInfo } = useSelector(state => state.user) const { userInfo } = useSelector(state => state.user)
const fetchUser = async () => { const fetchUser = useCallback(async () => {
const { data } = await getUser() const { data } = await getUser()
dispatch(setUserInfo(data)) dispatch(setUserInfo(data))
} }, [dispatch])
useEffect(() => { useEffect(() => {
fetchUser() fetchUser()
}, []) }, [fetchUser])
const menuItems = [ const menuItems = [
{ {
......
import md5 from 'blueimp-md5'
import qs from 'qs'
import { useSelector } from 'react-redux'
export default function Design() {
/**
* 构建签名
* @param obj 参数对象,对象中的所有属性全部参与签名的生成
* @returns {string} 签名
*/
const buildSign = obj => {
let signParameterArray = []
for (let key in obj) {
signParameterArray.push(`${key}=${obj[key]}`)
}
let signPlaintext = signParameterArray.sort().join('&')
return md5(signPlaintext).toUpperCase()
}
/**
* 构建2.0版本签名
* @param appId 第三方企业id
* @param expireTime 时间戳,取当前时间即可
* @param userFlag 用户标记
* @param appSecret 企业密钥
* @returns {string} 签名
*/
const buildVersion2Sign = (appId, expireTime, userFlag, appSecret) => {
let signParameterObj = {
app_id: appId,
expire_time: expireTime,
user_flag: userFlag,
app_secret: appSecret
}
return buildSign(signParameterObj)
}
const { userInfo } = useSelector(state => state.user)
const buildQueryString = () => {
const appId = '54d9adec77d0402794018d166110f3dd'
const appSecret = '08097010E0EF4B85EE2B8CE438328249'
const userFlag = userInfo.id
const expireTime = Date.now()
const sign = buildVersion2Sign(appId, expireTime, userFlag, appSecret)
let params = {
app_id: appId,
expire_time: expireTime,
user_flag: userFlag,
device_type: 1,
kind_id: 438,
version: '2.0',
sign: sign,
enable_authorize: '1',
taxpayer_name: 'chuangkit',
taxpayer_phone: '13820659475',
taxpayer_number: '91120116636067462H',
env: 'prod',
reptile: 1
}
return qs.stringify(params)
}
const src = `https://www.chuangkit.com/apiauthorize?${buildQueryString()}`
return <iframe src={src} style={{ border: 0, width: '100% ', height: '100%' }}></iframe>
}
import { lazy } from 'react'; import { lazy } from 'react'
import { Navigate } from 'react-router-dom'; import { Navigate } from 'react-router-dom'
import { lazyLoad, authComponent } from './lazyLoadAndDelay'; // 添加一个固定的延迟时间,以便你可以看到加载状态 import { lazyLoad, authComponent } from './lazyLoadAndDelay' // 添加一个固定的延迟时间,以便你可以看到加载状态
import Layout from '@/layout/index'; import Layout from '@/layout/index'
import UserModule from '@/pages/user-module'; import UserModule from '@/pages/user-module'
const baseRouter = [ const baseRouter = [
{ {
...@@ -12,9 +12,13 @@ const baseRouter = [ ...@@ -12,9 +12,13 @@ const baseRouter = [
children: [ children: [
{ {
path: '/userinfo', path: '/userinfo',
Component: lazy(() => import('@/pages/user-module/userInfo')), Component: lazy(() => import('@/pages/user-module/userInfo'))
}, },
], {
path: '/books/design',
Component: lazy(() => import('@/pages/books/design/index'))
}
]
}, },
{ {
path: '/login', path: '/login',
...@@ -23,11 +27,11 @@ const baseRouter = [ ...@@ -23,11 +27,11 @@ const baseRouter = [
children: [ children: [
{ {
index: true, index: true,
Component: lazy(() => import('@/pages/user-module/login')), Component: lazy(() => import('@/pages/user-module/login'))
}, }
], ]
}, },
{ path: '*', element: <Navigate to='/' /> }, { path: '*', element: <Navigate to="/" /> }
]; ]
export default baseRouter; export default baseRouter
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论