Browse Source

修复:已知问题

dev
科技小王子 4 months ago
parent
commit
b10d6be0e7
  1. 4
      src/components/QrCode/index.vue
  2. 15
      src/layout/components/header-tools.vue
  3. 14
      src/views/cms/cmsArticle/index.vue
  4. 42
      src/views/cms/cmsWebsite/components/websiteEdit.vue
  5. 63
      src/views/cms/cmsWebsite/index.vue

4
src/components/QrCode/index.vue

@ -8,8 +8,8 @@
@ok="save"
>
<div class="flex p-3 flex-col justify-center items-center">
<ele-qr-code-svg :value="`${data.url}}`" :size="260" />
<span class="text-gray-400 py-3">{{ data.url }}</span>
<ele-qr-code-svg :value="`${data}`" :size="260" />
<span class="text-gray-400 py-3">{{ data }}</span>
<span class="text-gray-500 text-lg">
使用手机扫一扫
</span>

15
src/layout/components/header-tools.vue

@ -1,6 +1,10 @@
<!-- 顶栏右侧区域 -->
<template>
<div class="ele-admin-header-tool">
<!-- 小程序码 -->
<div class="ele-admin-header-tool-item">
<QrcodeOutlined />
</div>
<!-- 消息通知 -->
<div class="ele-admin-header-tool-item" @click="openUrl(`/user/notice`)">
<header-notice/>
@ -134,7 +138,7 @@ import {useI18n} from 'vue-i18n';
import {Modal} from 'ant-design-vue/es';
import {
DownOutlined,
CopyOutlined,
QrcodeOutlined,
ExclamationCircleOutlined,
FullscreenOutlined,
FullscreenExitOutlined,
@ -152,6 +156,7 @@ import type {Menu} from '@/api/system/menu/model';
import {isExternalLink} from 'ele-admin-pro';
import {listRoles} from '@/api/system/role';
import I18nIcon from './i18n-icon.vue';
import {getSiteInfo} from "@/api/layout";
import {CmsWebsite} from "@/api/cms/cmsWebsite/model";
//
@ -234,7 +239,13 @@ const toggleFullscreen = () => {
};
const reload = () => {
//
if(!localStorage.getItem('Domain')){
getSiteInfo().then((data) => {
localStorage.setItem('Domain', `${data.domain}`)
localStorage.setItem('SiteUrl', `${data.prefix}${data.domain}`)
})
}
// roleId
if (!localStorage.getItem('RoleIdByMerchant')) {
listRoles({roleCode: 'merchant'}).then((res) => {

14
src/views/cms/cmsArticle/index.vue

@ -193,13 +193,13 @@ const datasource: DatasourceFunction = ({page, limit, where, orders}) => {
//
const columns = ref<ColumnItem[]>([
{
title: 'ID',
dataIndex: 'articleId',
key: 'articleId',
align: 'center',
width: 90
},
// {
// title: 'ID',
// dataIndex: 'articleId',
// key: 'articleId',
// align: 'center',
// width: 90
// },
{
title: '封面图',
dataIndex: 'image',

42
src/views/cms/cmsWebsite/components/websiteEdit.vue

@ -36,21 +36,19 @@
v-model:value="form.websiteName"
/>
</a-form-item>
<a-form-item label="二级域名" name="websiteCode">
<a-form-item label="网站域名" name="domain">
<a-input
v-model:value="form.websiteCode"
placeholder="yourname"
addon-before="https://"
addon-after=".wsdns.cn"
/>
v-model:value="form.domain"
placeholder="huawei.com"
>
<template #addonBefore>
<a-select v-model:value="form.prefix" style="width: 90px">
<a-select-option value="http://">http://</a-select-option>
<a-select-option value="https://">https://</a-select-option>
</a-select>
</template>
</a-input>
</a-form-item>
<!-- <a-form-item label="顶级域名" name="domain">-->
<!-- <a-input-->
<!-- v-model:value="form.domain"-->
<!-- placeholder="huawei.com"-->
<!-- addon-before="https://"-->
<!-- />-->
<!-- </a-form-item>-->
<a-form-item label="网站描述" name="comments">
<a-textarea
:rows="4"
@ -170,6 +168,7 @@
websiteLogo: undefined,
websiteName: undefined,
websiteCode: undefined,
type: 20,
files: undefined,
keywords: '',
prefix: '',
@ -219,14 +218,14 @@
trigger: 'change'
}
],
// domain: [
// {
// required: true,
// type: 'string',
// message: '',
// trigger: 'blur'
// }
// ],
domain: [
{
required: true,
type: 'string',
message: '请填写网站域名',
trigger: 'blur'
}
],
websiteCode: [
{
required: true,
@ -334,6 +333,7 @@
}
const formData = {
...form,
type: 20,
files: JSON.stringify(files.value),
};
saveOrUpdate(formData)

63
src/views/cms/cmsWebsite/index.vue

@ -30,20 +30,12 @@
<template v-if="column.key === 'domain'">
<a-space direction="vertical">
<a
v-if="domain"
:href="`https://${domain}`"
v-if="record.domain"
:href="`${record.prefix}${record.domain}`"
class="text-gray-500 hover:text-blue-500"
target="_blank"
>
{{ domain }}
</a>
<a
v-if="record.websiteCode"
:href="`https://${record.websiteCode}.wsdns.cn`"
class="text-gray-500 hover:text-blue-500"
target="_blank"
>
{{ `${record.websiteCode}.wsdns.cn` }}
{{ record.domain }}
</a>
</a-space>
</template>
@ -80,13 +72,14 @@
<a-tag v-if="record.status > 0 && record.soon < 0" color="orange">即将过期</a-tag>
</template>
<template v-if="column.key === 'action'">
<a @click="onShare(record)">
<MobileOutlined/> 手机版
</a>
<a-divider type="vertical"/>
<a @click="openEdit(record)">
编辑
</a>
<a @click="onShare(record)" class="text-green-600">
<QrcodeOutlined />
二维码
</a>
<a-divider type="vertical"/>
<a @click="openEdit(record)">
编辑
</a>
</template>
</template>
<template #emptyText>
@ -112,7 +105,7 @@
<WebsiteEdit v-model:visible="showEdit" :data="current" @done="reload"/>
<!-- 二维码 -->
<Qrcode v-model:visible="showQrcode" :data="`${qrcode}`" @done="hideShare"/>
<Qrcode v-model:visible="showQrcode" :data="`${qrcode}`" @done="hideShare" title="二维码"/>
</a-spin>
</a-page-header>
@ -121,7 +114,7 @@
<script lang="ts" setup>
import {createVNode, ref} from 'vue';
import {message, Modal} from 'ant-design-vue';
import {ExclamationCircleOutlined, QrcodeOutlined,MobileOutlined, EditOutlined} from '@ant-design/icons-vue';
import {ExclamationCircleOutlined, QrcodeOutlined} from '@ant-design/icons-vue';
import type {EleProTable} from 'ele-admin-pro';
import {toDateString} from 'ele-admin-pro';
import type {
@ -185,21 +178,22 @@ const datasource: DatasourceFunction = ({
//
const columns = ref<ColumnItem[]>([
// {
// title: 'ID',
// dataIndex: 'websiteId',
// key: 'websiteId',
// width: 90
// },
{
title: 'ID',
dataIndex: 'websiteId',
key: 'websiteId',
width: 90
title: 'LOGO',
dataIndex: 'websiteLogo',
key: 'websiteLogo',
align: 'center'
},
{
title: '网站名称',
dataIndex: 'websiteName',
key: 'websiteName'
},
{
title: '头像',
dataIndex: 'websiteLogo',
key: 'websiteLogo',
key: 'websiteName',
align: 'center'
},
{
@ -279,10 +273,7 @@ const updateType = (row: CmsWebsite) => {
};
const onShare = (row?: CmsWebsite) => {
qrcode.value = `https://${row?.websiteCode}.wsdns.cn`
if(localStorage.getItem('Domain')){
qrcode.value = `https://${localStorage.getItem('Domain')}`
}
qrcode.value = `${row?.prefix}${row?.domain}`
showQrcode.value = true;
}
@ -342,9 +333,9 @@ const query = () => {
}
})
//
if(localStorage.getItem('Domain')){
if (localStorage.getItem('Domain')) {
getAuthorizedDomain().then((data) => {
if(data){
if (data) {
domain.value = data.domain;
}
})

Loading…
Cancel
Save