ci(custom): add docker
This commit is contained in:
@@ -5,7 +5,7 @@ import { getToken, isNullOrWhitespace } from '@/utils'
|
||||
import { usePermissionStore } from '@/store'
|
||||
import * as Sentry from '@sentry/vue'
|
||||
|
||||
const isHash = true
|
||||
const isHash = false
|
||||
export const router = createRouter({
|
||||
history: isHash ? createWebHashHistory('/') : createWebHistory('/'),
|
||||
routes: basicRoutes,
|
||||
@@ -17,20 +17,17 @@ export async function setupRouter(app) {
|
||||
setupRouterGuard(router)
|
||||
Sentry.init({
|
||||
app,
|
||||
dsn: 'https://589c2c58683b4e8fa87a87609fd95e3b@w.huakk.top/2',
|
||||
dsn: 'https://adad4faa9b08aa08438ef33cba7962ab@w.huakk.top/6',
|
||||
integrations: [
|
||||
new Sentry.BrowserTracing({
|
||||
// Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled
|
||||
tracePropagationTargets: ['localhost', /^https:\/\/yourserver\.io\/api/],
|
||||
tracePropagationTargets: ['localhost'],
|
||||
routingInstrumentation: Sentry.vueRouterInstrumentation(router),
|
||||
}),
|
||||
new Sentry.Replay(),
|
||||
],
|
||||
// Performance Monitoring
|
||||
tracesSampleRate: 1.0, // Capture 100% of the transactions
|
||||
// Session Replay
|
||||
replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.
|
||||
replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.
|
||||
tracesSampleRate: 1.0,
|
||||
replaysSessionSampleRate: 0.1,
|
||||
replaysOnErrorSampleRate: 1.0,
|
||||
})
|
||||
app.use(router)
|
||||
}
|
||||
|
||||
@@ -33,6 +33,28 @@
|
||||
</n-radio-group>
|
||||
</div>
|
||||
</n-col>
|
||||
<n-col :span="24" mt-10>
|
||||
<div>
|
||||
<span>支付方式:</span>
|
||||
<n-radio-group v-model:value="queryData.pay_type">
|
||||
<n-radio-button
|
||||
v-for="song in [
|
||||
{
|
||||
label: '微信',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '积分',
|
||||
value: 2,
|
||||
},
|
||||
]"
|
||||
:key="song.value"
|
||||
:value="song.value"
|
||||
:label="song.label"
|
||||
/>
|
||||
</n-radio-group>
|
||||
</div>
|
||||
</n-col>
|
||||
<n-col :span="24">
|
||||
<div mt-10 flex items-center>
|
||||
<div w-100>关键字搜索:</div>
|
||||
@@ -88,6 +110,7 @@ const queryData = ref({
|
||||
time: null,
|
||||
word: '',
|
||||
selectKey: null,
|
||||
pay_type: null,
|
||||
})
|
||||
|
||||
const cardData = ref({
|
||||
@@ -293,7 +316,8 @@ const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const query_data = {
|
||||
Status: queryData.value.status || '',
|
||||
Status: queryData.value.status,
|
||||
PayType: queryData.value.pay_type || '',
|
||||
StartTime: queryData.value.time === null ? '' : queryData.value.time[0] || '',
|
||||
EndTime: queryData.value.time === null ? '' : queryData.value.time[1] || '',
|
||||
}
|
||||
|
||||
@@ -238,7 +238,7 @@
|
||||
<script setup>
|
||||
import { h } from 'vue'
|
||||
import api from './api'
|
||||
import { NDropdown, NButton, NEllipsis } from 'naive-ui'
|
||||
import { NDropdown, NButton } from 'naive-ui'
|
||||
import TheIcon from '@/components/icon/TheIcon.vue'
|
||||
|
||||
const loading = ref(false)
|
||||
@@ -532,40 +532,52 @@ const tabsChange = async (e = '1') => {
|
||||
align: 'center',
|
||||
key: 'oid',
|
||||
},
|
||||
{
|
||||
title: '商品封面',
|
||||
align: 'center',
|
||||
slot: 'cover',
|
||||
render: (row) => {
|
||||
return h('img', {
|
||||
src: row.cover,
|
||||
style: {
|
||||
width: '50px',
|
||||
height: '50px',
|
||||
},
|
||||
})
|
||||
},
|
||||
},
|
||||
// {
|
||||
// title: '商品封面',
|
||||
// align: 'center',
|
||||
// slot: 'cover',
|
||||
// render: (row) => {
|
||||
// return h('img', {
|
||||
// src: row.cover,
|
||||
// style: {
|
||||
// width: '50px',
|
||||
// height: '50px',
|
||||
// },
|
||||
// })
|
||||
// },
|
||||
// },
|
||||
{
|
||||
title: '商品名称',
|
||||
align: 'center',
|
||||
slot: 'goods_name',
|
||||
render: (row) => {
|
||||
return h(
|
||||
NEllipsis,
|
||||
{
|
||||
style: 'max-width: 240px',
|
||||
},
|
||||
{
|
||||
default: () => row.goods_name,
|
||||
}
|
||||
)
|
||||
const el = []
|
||||
row.OrderGoods.forEach((item) => {
|
||||
el.push(
|
||||
h(
|
||||
'div',
|
||||
{},
|
||||
{
|
||||
default: () =>
|
||||
`${item.Goods.name}|${item.pay_price}元或${item.pay_integral}积分|X${item.number}`,
|
||||
}
|
||||
)
|
||||
)
|
||||
})
|
||||
return el
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '商品价格',
|
||||
title: '订单总价',
|
||||
align: 'center',
|
||||
key: 'number',
|
||||
slot: 'number',
|
||||
render: (row) => h('span', row.pay_type === 1 ? `${row.price}元` : `${row.exchange}积分`),
|
||||
},
|
||||
{
|
||||
title: '支付方式',
|
||||
align: 'center',
|
||||
slot: 'pay_type',
|
||||
render: (row) => h('span', row.pay_type === 1 ? '微信' : '积分'),
|
||||
},
|
||||
{
|
||||
title: '订单状态',
|
||||
@@ -608,11 +620,6 @@ const tabsChange = async (e = '1') => {
|
||||
align: 'center',
|
||||
key: 'oid',
|
||||
},
|
||||
{
|
||||
title: '商品名称',
|
||||
align: 'center',
|
||||
key: 'goods_name',
|
||||
},
|
||||
{
|
||||
title: '消费金额',
|
||||
align: 'center',
|
||||
@@ -631,11 +638,6 @@ const tabsChange = async (e = '1') => {
|
||||
align: 'center',
|
||||
key: 'oid',
|
||||
},
|
||||
{
|
||||
title: '商品名称',
|
||||
align: 'center',
|
||||
key: 'goods_name',
|
||||
},
|
||||
{
|
||||
title: '积分',
|
||||
align: 'center',
|
||||
@@ -659,11 +661,6 @@ const tabsChange = async (e = '1') => {
|
||||
align: 'center',
|
||||
key: 'nick_name',
|
||||
},
|
||||
{
|
||||
title: '商品名称',
|
||||
align: 'center',
|
||||
key: 'goods_name',
|
||||
},
|
||||
{
|
||||
title: '获得积分',
|
||||
align: 'center',
|
||||
|
||||
Reference in New Issue
Block a user