Skip to content

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 dev

Project 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=true

Chi 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>