Browse Source

更新

master
科技小王子 9 months ago
parent
commit
89fc532853
  1. 113
      api/cms/link/index.ts
  2. 29
      api/cms/link/model/index.ts
  3. 5
      components/AppFooter.vue
  4. 8
      nuxt.config.ts
  5. 9
      pages/index.vue
  6. 3
      server/tsconfig.json

113
api/cms/link/index.ts

@ -0,0 +1,113 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Link, LinkParam } from './model';
import { MODULES_API_URL } from '@/config/setting';
/**
*
*/
export async function pageLink(params: LinkParam) {
const res = await request.get<ApiResult<PageResult<Link>>>(
MODULES_API_URL + '/oa/link/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function listLink(params?: LinkParam) {
const res = await request.get<ApiResult<Link[]>>(
MODULES_API_URL + '/oa/link',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function addLink(data: Link) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function updateLink(data: Link) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function removeLink(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
*
*/
export async function removeBatchLink(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link/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>>(
MODULES_API_URL + '/oa/link/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

29
api/cms/link/model/index.ts

@ -0,0 +1,29 @@
import type { PageParam } from '@/api';
/**
*
*/
export interface Link {
id?: number;
name?: string;
icon?: string;
url?: string;
linkType?: string;
appId?: number;
userId?: number;
comments?: string;
recommend?: number;
sortNumber?: number;
deleted?: number;
status?: number;
createTime?: number;
}
/**
*
*/
export interface LinkParam extends PageParam {
id?: number;
linkType?: string;
name?: string;
}

5
components/AppFooter.vue

@ -1,4 +1,9 @@
<template>
<div class="text-center bg-gray-50 py-10">
本网站为小象CMS演示站提供的电视剧和电影资源均系收集于各大视频网站<br />
若本站收录的节目无意侵犯了贵司版权,请给我们留言,我们会及时逐步删除和规避程序自动搜索采集到的不提供分享的版权影视<br />
本站仅供测试和学习交流请大家支持正版
</div>
<footer class="text-center py-10">
Copyright {{ new Date().getFullYear() }} {{ config?.siteName }} Inc. All Rights Reserved.
<a href="https://beian.miit.gov.cn/" target="_blank" class="ml-10"> 备案号{{ config?.icpNo }}</a>

8
nuxt.config.ts

@ -11,12 +11,12 @@ export default defineNuxtConfig({
app: {
head: {
viewport: 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no',
title: '淳渔影视CMS-Nodejs快速搭建影视类网站',
title: '小象CMS-影视类网站模板',
meta: [
{ name: 'keywords', content: '淳渔影视,最新电影,最新电视剧' },
{ name: 'keywords', content: '小象CMS,影视,最新电影,最新电视剧' },
{
name: 'description',
content: '淳渔影视更新最快的影视网站之一,收集了全网最新高分电影,电视剧,综艺,动漫等热播剧目免费在线观看!'
content: '小象CMS'
}
],
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
@ -25,7 +25,7 @@ export default defineNuxtConfig({
runtimeConfig: {
public: {
apiBase: '/server',
globalTitle: '淳渔影视'
globalTitle: '小象影视'
}
},
nitro: {

9
pages/index.vue

@ -75,7 +75,7 @@
友情链接
</div>
<div class="friendly-link__content">
<a v-for="item in linkList" :href="item.url" target="_blank">{{ item.text }}</a>
<a v-for="item in links?.data" :href="item.url" target="_blank">{{ item.name }}</a>
</div>
</div>
</template>
@ -83,12 +83,13 @@
<script setup lang="ts">
import type {ApiResult} from "~/api";
import type {AdItem} from "~/api/cms/ad/model";
import type {Link} from "~/api/cms/link/model";
//
const getSlide = useServerRequest<ApiResult<AdItem[]>>('http://127.0.0.1:9001/api/cms/ad/side/281');
const getSlide2 = useServerRequest<ApiResult<AdItem[]>>('http://127.0.0.1:9001/api/cms/ad/side/282');
const [{ data: banner }, { data: banner2 }] = await Promise.all([getSlide, getSlide2]);
const getLink = useServerRequest<ApiResult<Link[]>>('/oa/link?linkType=友情链接');
const [{ data: banner }, { data: links }] = await Promise.all([getSlide, getLink]);
console.log(links,'links')
</script>
<style lang="scss">

3
server/tsconfig.json

@ -1,3 +0,0 @@
{
"extends": "../.nuxt/tsconfig.server.json"
}
Loading…
Cancel
Save