Browse Source

改造配置文件

dev
科技小王子 2 months ago
parent
commit
3f7696ac50
  1. 2
      .env
  2. 11
      .env.development
  3. 3
      .env.production
  4. 142
      src/api/system/website/field/index.ts
  5. 65
      src/api/system/website/field/model/index.ts
  6. 169
      src/api/system/website/index.ts
  7. 63
      src/api/system/website/model/index.ts
  8. 72
      src/components/ChooseWebsiteField/index.vue
  9. 6
      src/config/setting.ts
  10. 2
      src/store/modules/chat.ts
  11. 2
      src/views/cms/cmsArticle/components/search.vue
  12. 31
      src/views/cms/cmsNavigation/index.vue

2
.env

@ -1,2 +1,2 @@
VITE_APP_NAME=webSoft
VITE_APP_NAME=WSADMIN
VITE_API_URL=/api VITE_API_URL=/api

11
.env.development

@ -1,10 +1,7 @@
VITE_APP_NAME=后台管理系统
VITE_SOCKET_URL=wss://server.websoft.top
VITE_SERVER_URL=https://server.websoft.top/api
VITE_API_URL=https://cms.websoft.top/api
VITE_APP_NAME=后台管理(开发环境)
VITE_API_URL=https://cms-api.websoft.top/api
#VITE_SOCKET_URL=ws://127.0.0.1:9191
#VITE_SERVER_URL=http://127.0.0.1:8000/api
#VITE_API_URL=http://127.0.0.1:9000/api #VITE_API_URL=http://127.0.0.1:9000/api
#/booking/bookingItem

3
.env.production

@ -1,4 +1 @@
VITE_APP_NAME=后台管理系统
VITE_SOCKET_URL=wss://server.websoft.top
VITE_SERVER_URL=https://server.websoft.top/api
VITE_API_URL=https://cms.websoft.top/api VITE_API_URL=https://cms.websoft.top/api

142
src/api/system/website/field/index.ts

@ -1,142 +0,0 @@
import request from '@/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {
CmsWebsiteField,
CmsWebsiteFieldParam
} from '@/api/cms/cmsWebsiteField/model';
import {COMMON_API_URL, SERVER_API_URL} from '@/config/setting';
/**
*
*/
export async function pageWebsiteField(params: CmsWebsiteFieldParam) {
const res = await request.get<ApiResult<PageResult<CmsWebsiteField>>>(
COMMON_API_URL + '/system/website-field/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function listWebsiteField(params?: CmsWebsiteFieldParam) {
const res = await request.get<ApiResult<CmsWebsiteField[]>>(
SERVER_API_URL + '/system/website-field',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* id查询项目参数
*/
export async function getWebsiteField(id: number) {
const res = await request.get<ApiResult<CmsWebsiteField>>(
SERVER_API_URL + '/system/website-field/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function addWebsiteField(data: CmsWebsiteField) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/website-field',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function updateWebsiteField(data: CmsWebsiteField) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/website-field',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function removeWebsiteField(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/system/website-field/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function removeBatchWebsiteField(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/system/website-field/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/website-field/existence',
{
params: {field, value, id}
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function undeleteWebsiteField(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/system/website-field/undelete/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

65
src/api/system/website/field/model/index.ts

@ -1,65 +0,0 @@
import type { PageParam } from '@/api';
/**
*
*/
export interface WebsiteField {
id?: number;
name?: string;
value?: string;
comments?: string;
userId?: number;
template?: string;
defaultValue?: string;
modifyRange?: string;
type?: number;
status?: any;
sortNumber?: any;
createTime?: string;
deleted?: number;
style?: string;
}
// 约定的网站参数名称
export interface WebsiteParam {
// 网站名称
site_logo?: string;
// 登录页面标题
login_name?: string;
// 登录页面的背景图片
login_bg_img?: string;
}
// 约定的小程序参数名称
export interface MpWeixinParam {
// 小程序LOGO
site_logo?: string;
// 我的页面顶部背景图片
mp_user_top?: string;
}
/**
*
*/
export interface WebsiteFieldParam extends PageParam {
id?: number;
userId?: number;
name?: string;
websiteId?: number;
}
export interface Config {
siteName?: string;
siteLogo?: string;
domain?: string;
icpNo?: string;
copyright?: string;
loginBgImg?: string;
address?: string;
tel?: string;
kefu2?: string;
kefu1?: string;
email?: string;
loginTitle?: string;
sysLogo?: string;
}

169
src/api/system/website/index.ts

@ -1,169 +0,0 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Website, WebsiteParam } from './model';
import { MODULES_API_URL } from '@/config/setting';
/**
*
*/
export async function getSiteInfo() {
const res = await request.get<ApiResult<Website>>(
MODULES_API_URL + '/cms/website/getSiteInfo'
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function removeSiteInfoCache(key?: string) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/clearSiteInfo/' + key
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function pageWebsite(params: WebsiteParam) {
const res = await request.get<ApiResult<PageResult<Website>>>(
MODULES_API_URL + '/cms/website/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function listWebsite(params?: WebsiteParam) {
const res = await request.get<ApiResult<Website[]>>(
MODULES_API_URL + '/cms/website',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function addWebsite(data: Website) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function updateWebsite(data: Website) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function removeWebsite(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function removeBatchWebsite(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function updateWebsiteStatus(websiteId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/status',
{
websiteId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* id查询网站
*/
export async function getWebsite(id: number) {
const res = await request.get<ApiResult<Website>>(
MODULES_API_URL + '/cms/website/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

63
src/api/system/website/model/index.ts

@ -1,63 +0,0 @@
import { WebsiteField } from '@/api/cms/website/field/model';
import { Navigation } from '@/api/cms/navigation/model';
import { Link } from '@/api/cms/link/model';
import { ArrangeCategory } from '@/api/cms/category/model';
import { PageParam } from '@/api';
/**
*
*/
export interface Website {
websiteId?: number;
websiteName?: string;
websiteCode?: string;
websiteIcon?: string;
websiteLogo?: string;
websiteDarkLogo?: string;
keywords?: string;
address?: string;
phone?: string;
email?: string;
version?: number;
websiteType?: string;
expirationTime?: string;
templateId?: string;
industryParent?: string;
industryChild?: string;
companyId?: number;
prefix?: string;
domain?: string;
adminUrl?: string;
icpNo?: string;
policeNo?: string;
comments?: string;
statusText?: string;
sortNumber?: number;
createTime?: string;
disabled?: boolean;
country?: string;
province?: string;
city?: string;
region?: string;
appId?: number;
fields?: WebsiteField[];
status?: number;
tenantId?: number;
tenantName?: string;
navigations?: Navigation[];
categoryList?: ArrangeCategory[];
links?: Link[];
// 配置信息
config?: any;
style?: string;
}
/**
*
*/
export interface WebsiteParam extends PageParam {
title?: string;
path?: string;
authority?: string;
parentId?: number;
}

72
src/components/ChooseWebsiteField/index.vue

@ -1,72 +0,0 @@
<!-- 公共参数数据源 -->
<template>
<a-select
:allow-clear="allowClear"
show-search
optionFilterProp="label"
:options="data"
:value="value"
class="w-full"
:placeholder="placeholder"
@update:value="updateValue"
@change="change"
@blur="onBlur"
/>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { listWebsiteField } from '@/api/system/website/field';
import { CmsWebsiteField } from '@/api/cms/cmsWebsiteField/model';
const emit = defineEmits<{
(e: 'update:value', value: string): void;
(e: 'index', index: number): void;
(e: 'blur'): void;
(e: 'done', item: CmsWebsiteField): void;
}>();
const props = withDefaults(
defineProps<{
value?: string;
placeholder?: string;
allowClear?: boolean;
width?: number;
index?: number;
}>(),
{
placeholder: '请选择'
}
);
const data = ref<CmsWebsiteField[]>();
/* 更新选中数据 */
const updateValue = (value: string) => {
emit('update:value', value);
emit('index', Number(props.index));
};
/* 失去焦点 */
const onBlur = () => {
emit('blur');
};
const change = (e, item) => {
emit('done', item);
};
const reload = () => {
data.value = [];
listWebsiteField({}).then((list) => {
data.value = list.map((d) => {
return {
label: d.name,
value: d.value
};
});
});
};
reload();
</script>

6
src/config/setting.ts

@ -4,12 +4,10 @@ export const TENANT_ID = import.meta.env.VITE_TENANT_ID;
export const TEMPLATE_ID = 10258; export const TEMPLATE_ID = 10258;
// appSecret // appSecret
export const APP_SECRET = 'ffd6eee985af45e4a75098422d1decbb'; export const APP_SECRET = 'ffd6eee985af45e4a75098422d1decbb';
// 开发商官方网站
export const domain = 'https://websoft.top'; export const domain = 'https://websoft.top';
// 基础模块
export const COMMON_API_URL = 'https://server.websoft.top/api';
// 主节点 // 主节点
export const SERVER_API_URL = import.meta.env.VITE_SERVER_URL;
export const SERVER_API_URL = 'https://server.gxwebsoft.com/api';
// 模块节点 // 模块节点
export const MODULES_API_URL = import.meta.env.VITE_API_URL; export const MODULES_API_URL = import.meta.env.VITE_API_URL;
export const THINK_API_URL = import.meta.env.VITE_THINK_URL; export const THINK_API_URL = import.meta.env.VITE_THINK_URL;

2
src/store/modules/chat.ts

@ -8,7 +8,7 @@ import {
} from '@/api/system/chat'; } from '@/api/system/chat';
import { emitter } from '@/utils/common'; import { emitter } from '@/utils/common';
const SOCKET_URL: string = import.meta.env.VITE_SOCKET_URL;
const SOCKET_URL: string = 'wss://server.gxwebsoft.com';
interface ConnectionOptions { interface ConnectionOptions {
token: string; token: string;

2
src/views/cms/cmsArticle/components/search.vue

@ -88,6 +88,7 @@ import {CmsNavigation} from '@/api/cms/cmsNavigation/model';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import Import from "./Import.vue"; import Import from "./Import.vue";
import {useWebsiteSettingStore} from "@/store/modules/setting"; import {useWebsiteSettingStore} from "@/store/modules/setting";
import {openUrl, push} from "@/utils/common";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -310,6 +311,7 @@ const reset = () => {
resetFields(); resetFields();
type.value = undefined; type.value = undefined;
reload(); reload();
openUrl(`/website/article`)
}; };
watch( watch(

31
src/views/cms/cmsNavigation/index.vue

@ -62,7 +62,7 @@
/> />
<a-button <a-button
type="text" type="text"
@click="openUrl('/website/model')"
@click="push('/website/model')"
>模型管理 >模型管理
</a-button </a-button
> >
@ -75,7 +75,14 @@
<template v-if="column.key === 'title'"> <template v-if="column.key === 'title'">
<a-space> <a-space>
<a-avatar v-if="record.icon" :size="22" :src="record.icon"/> <a-avatar v-if="record.icon" :size="22" :src="record.icon"/>
<a @click="openUrl(`/website/article?id=${record.navigationId}`)">{{ record.title }}</a>
<a @click="push({
path: `/website/article`,
query: {
id: record.navigationId,
name: record.title,
model: record.model
}
})">{{ record.title }}</a>
</a-space> </a-space>
<template v-if="record.model == 'page'"> <template v-if="record.model == 'page'">
<a-divider type="vertical"/> <a-divider type="vertical"/>
@ -244,18 +251,17 @@ import type {
CmsNavigation, CmsNavigation,
CmsNavigationParam CmsNavigationParam
} from '@/api/cms/cmsNavigation/model'; } from '@/api/cms/cmsNavigation/model';
import {copyText, getPageTitle, navTo, openUrl} from '@/utils/common';
import {copyText, getPageTitle} from '@/utils/common';
import {CmsDesign} from '@/api/cms/cmsDesign/model'; import {CmsDesign} from '@/api/cms/cmsDesign/model';
import {getSiteDomain} from '@/utils/domain';
import {removeSiteInfoCache} from '@/api/cms/cmsWebsite'; import {removeSiteInfoCache} from '@/api/cms/cmsWebsite';
import Extra from "./components/extra.vue"; import Extra from "./components/extra.vue";
import {useRouter} from 'vue-router';
import {listCmsModel} from "@/api/cms/cmsModel"; import {listCmsModel} from "@/api/cms/cmsModel";
import {CmsModel} from "@/api/cms/cmsModel/model"; import {CmsModel} from "@/api/cms/cmsModel/model";
const {push} = useRouter();
// //
const tableRef = ref<InstanceType<typeof EleProTable> | null>(null); const tableRef = ref<InstanceType<typeof EleProTable> | null>(null);
//
const domain = ref(getSiteDomain());
const modelList = ref<CmsModel[]>([]) const modelList = ref<CmsModel[]>([])
const websiteId = localStorage.getItem('WebsiteId') const websiteId = localStorage.getItem('WebsiteId')
const currentId = ref<number>(); const currentId = ref<number>();
@ -286,12 +292,6 @@ const columns = ref<ColumnItem[]>([
showSorterTooltip: false, showSorterTooltip: false,
ellipsis: true ellipsis: true
}, },
{
title: '模型',
dataIndex: 'model',
key: 'model',
align: 'center'
},
{ {
title: '路径', title: '路径',
dataIndex: 'path', dataIndex: 'path',
@ -303,6 +303,13 @@ const columns = ref<ColumnItem[]>([
hideInTable: true, hideInTable: true,
key: 'component' key: 'component'
}, },
{
title: '模型',
dataIndex: 'model',
key: 'model',
width: 120,
align: 'center'
},
{ {
title: 'banner', title: 'banner',
dataIndex: 'banner', dataIndex: 'banner',

Loading…
Cancel
Save