Appearance
Getting Started
Tạo project mới
Dùng CLI để scaffold đúng chuẩn:
bash
npx @tasco/cli tasco-orders
cd tasco-orders
cp .env.example .env
pnpm install
pnpm devProject sinh ra đã extends ['@tasco/nuxt-layer-base'], có .npmrc trỏ registry @tasco, tsconfig/eslint chuẩn và .gitlab-ci.yml.
Cấu hình môi trường
bash
# .env
NUXT_SESSION_SECRET= # BẮT BUỘC ở prod (>= 32 ký tự): openssl rand -base64 32
NUXT_AUTH_BASE_URL=https://dev-api-swm.dnpwater.vn/cop # cổng IAM (bọc /iam + /auth)
NUXT_API_PROXY_TARGET=https://gateway.tasco.vn
# Dev không có IAM:
# NUXT_AUTH_MOCK=trueChi tiết endpoint/mapping/phương thức xác thực: xem Auth & Permission.
Thêm vào project có sẵn
ts
// nuxt.config.ts
export default defineNuxtConfig({
extends: ['@tasco/nuxt-layer-base'],
compatibilityDate: '2025-01-01',
})ini
# .npmrc
@tasco:registry=https://gitlab.dnpwater.vn/api/v4/packages/npm/Trang đầu tiên
vue
<script setup lang="ts">
definePageMeta({ permissions: ['order.read'] })
const api = useApi()
const { dataSource, loading, pagination, onChange } = useTable(
(q) => api('/orders', { query: q }),
)
</script>
<template>
<CTable :data-source="dataSource" :loading="loading" :pagination="pagination" @change="onChange" />
</template>