Skip to content

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,
        },
    },
])