Appearance
FAQ
安装提示找不到包
公司内部搭建了 npm 私源,需要重新设置源后再安装。
cmd
npm config set registry https://nexus3.tineco.com/repository/npm-group/npm config set registry https://nexus3.tineco.com/repository/npm-group/appId 应用 ID 是什么?
用户中心 -> 系统管理 -> 应用管理。在登录模块中会根据 appId 判断当前登录用户是否拥有该应用权限。
因此在使用框架前首先得确保您有一个 appId,且拥有该应用的访问权限。
框架内如何获取 appId
可通过 globalProperties 全局属性上挂载的 $gauss 对象获取。
vue
<script setup>
import { getCurrentInstance } from 'vue'
const { appId } = getCurrentInstance().appContext.config.globalProperties.$gauss
</script><script setup>
import { getCurrentInstance } from 'vue'
const { appId } = getCurrentInstance().appContext.config.globalProperties.$gauss
</script>如何获取用户信息
vue
<script setup>
import { useUserInfo } from '@gauss/prime'
const userInfo = useUserInfo()
console.log(userInfo)
</script><script setup>
import { useUserInfo } from '@gauss/prime'
const userInfo = useUserInfo()
console.log(userInfo)
</script>为什么登录后提示 404
用户中心 -> 系统管理 -> 角色管理 -> 确保你登录的账户所属的角色有访问菜单页面的权限。
useDictionaryStore 字典的数据来源,如何配置?
用户中心 -> 基础数据管理 -> 字典管理
如何自定义 axios 请求头
ts
import { setRequestHeader } from '@gauss/prime'
// import { setRequestHeader } from '@gauss/flux'
setRequestHeader({
x-userId: 'xxxxx'
})import { setRequestHeader } from '@gauss/prime'
// import { setRequestHeader } from '@gauss/flux'
setRequestHeader({
x-userId: 'xxxxx'
})后台管理界面想隐藏左侧菜单栏和头部,页面完整显示
在页面路径上添加参数 fullPage=1
https://cloud.gauss.com/prime/home?fullPage=1
按钮权限 - 不在菜单管理中的页面如何添加按钮权限
使用 route.meta.parentRoutePath
ts
import { createRoutes } from '@gauss/prime'
const routes = createRoutes([
{
path: '/order/list',
name: 'order-list',
component: () => import('@/pages/order/index.vue'),
meta: {
title: '订单',
},
},
{
path: '/order/detail',
name: 'order-detail',
component: () => import('@/pages/order/detail.vue'),
meta: {
title: '订单详情',
// 继承 /order/list 页面的所有按钮配置
parentRoutePath: '/order/list',
},
},
])import { createRoutes } from '@gauss/prime'
const routes = createRoutes([
{
path: '/order/list',
name: 'order-list',
component: () => import('@/pages/order/index.vue'),
meta: {
title: '订单',
},
},
{
path: '/order/detail',
name: 'order-detail',
component: () => import('@/pages/order/detail.vue'),
meta: {
title: '订单详情',
// 继承 /order/list 页面的所有按钮配置
parentRoutePath: '/order/list',
},
},
])forwardUrl 如何读取 config.json 内的配置项
根本格式直接在 config.json 内添加 forwardUrl 配置,框架内部会读取覆盖
json
{
"forwardUrl": {
"^/test-api": {
// 转发地址
"target": "https://ibu-api-test.tineco.com",
// 重写uri
"rewrite": {
"^/test-api": "/test-api"
}
}
}
}{
"forwardUrl": {
"^/test-api": {
// 转发地址
"target": "https://ibu-api-test.tineco.com",
// 重写uri
"rewrite": {
"^/test-api": "/test-api"
}
}
}
}@gauss/flux 登录成功后为什么不跳转?
框架内部并不会处理跳转的逻辑,需要用户自行处理
js
createFlux({
onAfterLogin({ router }) {
router.push('/home')
},
})createFlux({
onAfterLogin({ router }) {
router.push('/home')
},
})@gauss/prime 如果更改网站标题
国际化文件内修改 siteTitle 值即可
页面嵌入 TineChat,如何在手机端点击左上角返回按钮退回到 TineChat 界面
js
if (window?.android?.nativeGoBack) {
window.android.nativeGoBack()
} else if (window?.webkit?.messageHandlers?.nativeGoBack) {
window.webkit.messageHandlers.nativeGoBack.postMessage({})
}if (window?.android?.nativeGoBack) {
window.android.nativeGoBack()
} else if (window?.webkit?.messageHandlers?.nativeGoBack) {
window.webkit.messageHandlers.nativeGoBack.postMessage({})
}配置 TineChat 工作台如何实现自动登录
配置工作台应用路径时,使用 auto-login 自动登录跳转页
详情见自动登录跳转页
如何访问单页面,且可以跨过鉴权
在需要访问的页面路由 meta 中添加
ts
import { createRoutes } from '@gauss/prime'
const routes = createRoutes([
{
path: '/order/list',
name: 'order-list',
component: () => import('@/pages/order/index.vue'),
meta: {
title: '订单',
// 值为 true 时跳过路由鉴权,通常与 root 结合使用
noAuth: true,
// 设置根节点,值为 true 时既不会在菜单布局内
root: true,
},
},
])import { createRoutes } from '@gauss/prime'
const routes = createRoutes([
{
path: '/order/list',
name: 'order-list',
component: () => import('@/pages/order/index.vue'),
meta: {
title: '订单',
// 值为 true 时跳过路由鉴权,通常与 root 结合使用
noAuth: true,
// 设置根节点,值为 true 时既不会在菜单布局内
root: true,
},
},
])
Gauss