youhang 1.0

develoop
youahng 6 months ago
parent c4cd69b2ed
commit c40f11c115
  1. 25
      generated/core/ApiError.ts
  2. 17
      generated/core/ApiRequestOptions.ts
  3. 11
      generated/core/ApiResult.ts
  4. 131
      generated/core/CancelablePromise.ts
  5. 32
      generated/core/OpenAPI.ts
  6. 323
      generated/core/request.ts
  7. 42
      generated/index.ts
  8. 11
      generated/models/BaseResponse_CoursesDTO_.ts
  9. 10
      generated/models/BaseResponse_List_string_.ts
  10. 11
      generated/models/BaseResponse_PageDTO_CoursesVO_.ts
  11. 11
      generated/models/BaseResponse_Page_CourseFavourDetailVO_.ts
  12. 10
      generated/models/BaseResponse_boolean_.ts
  13. 10
      generated/models/BaseResponse_long_.ts
  14. 10
      generated/models/BaseResponse_string_.ts
  15. 9
      generated/models/CourseFavourAddRequest.ts
  16. 8
      generated/models/CourseFavourAllRequest.ts
  17. 22
      generated/models/CourseFavourDetailVO.ts
  18. 8
      generated/models/CourseFavourListRequest.ts
  19. 12
      generated/models/CourseFavourQueryRequest.ts
  20. 30
      generated/models/CourseObjectivesDTO.ts
  21. 9
      generated/models/CourseThumbAddRequest.ts
  22. 8
      generated/models/CourseThumbAllRequest.ts
  23. 70
      generated/models/CoursesDTO.ts
  24. 34
      generated/models/CoursesVO.ts
  25. 10
      generated/models/KnowFavourAddRequest.ts
  26. 10
      generated/models/KnowThumbAddRequest.ts
  27. 9
      generated/models/OrderItem.ts
  28. 23
      generated/models/PageDTO_CoursesVO_.ts
  29. 19
      generated/models/Page_CourseFavourDetailVO_.ts
  30. 10
      generated/models/ResourceFavourAddRequest.ts
  31. 10
      generated/models/ResourceThumbAddRequest.ts
  32. 60
      generated/services/CommonControllerService.ts
  33. 122
      generated/services/SeCourseFavourControllerService.ts
  34. 76
      generated/services/SeCourseThumbControllerService.ts
  35. 32
      generated/services/SeKnowFavourControllerService.ts
  36. 32
      generated/services/SeKnowThumbControllerService.ts
  37. 32
      generated/services/SeResourceFavourControllerService.ts
  38. 32
      generated/services/SeResourceThumbControllerService.ts
  39. 204
      generated/services/Service.ts
  40. 3
      package.json
  41. 13
      pnpm-lock.yaml
  42. 189
      src/views/MyCourseStudy/courseCollections.vue

@ -0,0 +1,25 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ApiRequestOptions } from './ApiRequestOptions';
import type { ApiResult } from './ApiResult';
export class ApiError extends Error {
public readonly url: string;
public readonly status: number;
public readonly statusText: string;
public readonly body: any;
public readonly request: ApiRequestOptions;
constructor(request: ApiRequestOptions, response: ApiResult, message: string) {
super(message);
this.name = 'ApiError';
this.url = response.url;
this.status = response.status;
this.statusText = response.statusText;
this.body = response.body;
this.request = request;
}
}

@ -0,0 +1,17 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ApiRequestOptions = {
readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';
readonly url: string;
readonly path?: Record<string, any>;
readonly cookies?: Record<string, any>;
readonly headers?: Record<string, any>;
readonly query?: Record<string, any>;
readonly formData?: Record<string, any>;
readonly body?: any;
readonly mediaType?: string;
readonly responseHeader?: string;
readonly errors?: Record<number, string>;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ApiResult = {
readonly url: string;
readonly ok: boolean;
readonly status: number;
readonly statusText: string;
readonly body: any;
};

@ -0,0 +1,131 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export class CancelError extends Error {
constructor(message: string) {
super(message);
this.name = 'CancelError';
}
public get isCancelled(): boolean {
return true;
}
}
export interface OnCancel {
readonly isResolved: boolean;
readonly isRejected: boolean;
readonly isCancelled: boolean;
(cancelHandler: () => void): void;
}
export class CancelablePromise<T> implements Promise<T> {
#isResolved: boolean;
#isRejected: boolean;
#isCancelled: boolean;
readonly #cancelHandlers: (() => void)[];
readonly #promise: Promise<T>;
#resolve?: (value: T | PromiseLike<T>) => void;
#reject?: (reason?: any) => void;
constructor(
executor: (
resolve: (value: T | PromiseLike<T>) => void,
reject: (reason?: any) => void,
onCancel: OnCancel
) => void
) {
this.#isResolved = false;
this.#isRejected = false;
this.#isCancelled = false;
this.#cancelHandlers = [];
this.#promise = new Promise<T>((resolve, reject) => {
this.#resolve = resolve;
this.#reject = reject;
const onResolve = (value: T | PromiseLike<T>): void => {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#isResolved = true;
if (this.#resolve) this.#resolve(value);
};
const onReject = (reason?: any): void => {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#isRejected = true;
if (this.#reject) this.#reject(reason);
};
const onCancel = (cancelHandler: () => void): void => {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#cancelHandlers.push(cancelHandler);
};
Object.defineProperty(onCancel, 'isResolved', {
get: (): boolean => this.#isResolved,
});
Object.defineProperty(onCancel, 'isRejected', {
get: (): boolean => this.#isRejected,
});
Object.defineProperty(onCancel, 'isCancelled', {
get: (): boolean => this.#isCancelled,
});
return executor(onResolve, onReject, onCancel as OnCancel);
});
}
get [Symbol.toStringTag]() {
return "Cancellable Promise";
}
public then<TResult1 = T, TResult2 = never>(
onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,
onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null
): Promise<TResult1 | TResult2> {
return this.#promise.then(onFulfilled, onRejected);
}
public catch<TResult = never>(
onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null
): Promise<T | TResult> {
return this.#promise.catch(onRejected);
}
public finally(onFinally?: (() => void) | null): Promise<T> {
return this.#promise.finally(onFinally);
}
public cancel(): void {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#isCancelled = true;
if (this.#cancelHandlers.length) {
try {
for (const cancelHandler of this.#cancelHandlers) {
cancelHandler();
}
} catch (error) {
console.warn('Cancellation threw an error', error);
return;
}
}
this.#cancelHandlers.length = 0;
if (this.#reject) this.#reject(new CancelError('Request aborted'));
}
public get isCancelled(): boolean {
return this.#isCancelled;
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ApiRequestOptions } from './ApiRequestOptions';
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
type Headers = Record<string, string>;
export type OpenAPIConfig = {
BASE: string;
VERSION: string;
WITH_CREDENTIALS: boolean;
CREDENTIALS: 'include' | 'omit' | 'same-origin';
TOKEN?: string | Resolver<string> | undefined;
USERNAME?: string | Resolver<string> | undefined;
PASSWORD?: string | Resolver<string> | undefined;
HEADERS?: Headers | Resolver<Headers> | undefined;
ENCODE_PATH?: ((path: string) => string) | undefined;
};
export const OpenAPI: OpenAPIConfig = {
BASE: 'http://localhost:8080',
VERSION: '1.0',
WITH_CREDENTIALS: false,
CREDENTIALS: 'include',
TOKEN: undefined,
USERNAME: undefined,
PASSWORD: undefined,
HEADERS: undefined,
ENCODE_PATH: undefined,
};

@ -0,0 +1,323 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import axios from 'axios';
import type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios';
import FormData from 'form-data';
import { ApiError } from './ApiError';
import type { ApiRequestOptions } from './ApiRequestOptions';
import type { ApiResult } from './ApiResult';
import { CancelablePromise } from './CancelablePromise';
import type { OnCancel } from './CancelablePromise';
import type { OpenAPIConfig } from './OpenAPI';
export const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {
return value !== undefined && value !== null;
};
export const isString = (value: any): value is string => {
return typeof value === 'string';
};
export const isStringWithValue = (value: any): value is string => {
return isString(value) && value !== '';
};
export const isBlob = (value: any): value is Blob => {
return (
typeof value === 'object' &&
typeof value.type === 'string' &&
typeof value.stream === 'function' &&
typeof value.arrayBuffer === 'function' &&
typeof value.constructor === 'function' &&
typeof value.constructor.name === 'string' &&
/^(Blob|File)$/.test(value.constructor.name) &&
/^(Blob|File)$/.test(value[Symbol.toStringTag])
);
};
export const isFormData = (value: any): value is FormData => {
return value instanceof FormData;
};
export const isSuccess = (status: number): boolean => {
return status >= 200 && status < 300;
};
export const base64 = (str: string): string => {
try {
return btoa(str);
} catch (err) {
// @ts-ignore
return Buffer.from(str).toString('base64');
}
};
export const getQueryString = (params: Record<string, any>): string => {
const qs: string[] = [];
const append = (key: string, value: any) => {
qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
};
const process = (key: string, value: any) => {
if (isDefined(value)) {
if (Array.isArray(value)) {
value.forEach(v => {
process(key, v);
});
} else if (typeof value === 'object') {
Object.entries(value).forEach(([k, v]) => {
process(`${key}[${k}]`, v);
});
} else {
append(key, value);
}
}
};
Object.entries(params).forEach(([key, value]) => {
process(key, value);
});
if (qs.length > 0) {
return `?${qs.join('&')}`;
}
return '';
};
const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {
const encoder = config.ENCODE_PATH || encodeURI;
const path = options.url
.replace('{api-version}', config.VERSION)
.replace(/{(.*?)}/g, (substring: string, group: string) => {
if (options.path?.hasOwnProperty(group)) {
return encoder(String(options.path[group]));
}
return substring;
});
const url = `${config.BASE}${path}`;
if (options.query) {
return `${url}${getQueryString(options.query)}`;
}
return url;
};
export const getFormData = (options: ApiRequestOptions): FormData | undefined => {
if (options.formData) {
const formData = new FormData();
const process = (key: string, value: any) => {
if (isString(value) || isBlob(value)) {
formData.append(key, value);
} else {
formData.append(key, JSON.stringify(value));
}
};
Object.entries(options.formData)
.filter(([_, value]) => isDefined(value))
.forEach(([key, value]) => {
if (Array.isArray(value)) {
value.forEach(v => process(key, v));
} else {
process(key, value);
}
});
return formData;
}
return undefined;
};
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
export const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {
if (typeof resolver === 'function') {
return (resolver as Resolver<T>)(options);
}
return resolver;
};
export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise<Record<string, string>> => {
const [token, username, password, additionalHeaders] = await Promise.all([
resolve(options, config.TOKEN),
resolve(options, config.USERNAME),
resolve(options, config.PASSWORD),
resolve(options, config.HEADERS),
]);
const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}
const headers = Object.entries({
Accept: 'application/json',
...additionalHeaders,
...options.headers,
...formHeaders,
})
.filter(([_, value]) => isDefined(value))
.reduce((headers, [key, value]) => ({
...headers,
[key]: String(value),
}), {} as Record<string, string>);
if (isStringWithValue(token)) {
headers['Authorization'] = `Bearer ${token}`;
}
if (isStringWithValue(username) && isStringWithValue(password)) {
const credentials = base64(`${username}:${password}`);
headers['Authorization'] = `Basic ${credentials}`;
}
if (options.body !== undefined) {
if (options.mediaType) {
headers['Content-Type'] = options.mediaType;
} else if (isBlob(options.body)) {
headers['Content-Type'] = options.body.type || 'application/octet-stream';
} else if (isString(options.body)) {
headers['Content-Type'] = 'text/plain';
} else if (!isFormData(options.body)) {
headers['Content-Type'] = 'application/json';
}
}
return headers;
};
export const getRequestBody = (options: ApiRequestOptions): any => {
if (options.body) {
return options.body;
}
return undefined;
};
export const sendRequest = async <T>(
config: OpenAPIConfig,
options: ApiRequestOptions,
url: string,
body: any,
formData: FormData | undefined,
headers: Record<string, string>,
onCancel: OnCancel,
axiosClient: AxiosInstance
): Promise<AxiosResponse<T>> => {
const source = axios.CancelToken.source();
const requestConfig: AxiosRequestConfig = {
url,
headers,
data: body ?? formData,
method: options.method,
withCredentials: config.WITH_CREDENTIALS,
withXSRFToken: config.CREDENTIALS === 'include' ? config.WITH_CREDENTIALS : false,
cancelToken: source.token,
};
onCancel(() => source.cancel('The user aborted a request.'));
try {
return await axiosClient.request(requestConfig);
} catch (error) {
const axiosError = error as AxiosError<T>;
if (axiosError.response) {
return axiosError.response;
}
throw error;
}
};
export const getResponseHeader = (response: AxiosResponse<any>, responseHeader?: string): string | undefined => {
if (responseHeader) {
const content = response.headers[responseHeader];
if (isString(content)) {
return content;
}
}
return undefined;
};
export const getResponseBody = (response: AxiosResponse<any>): any => {
if (response.status !== 204) {
return response.data;
}
return undefined;
};
export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {
const errors: Record<number, string> = {
400: 'Bad Request',
401: 'Unauthorized',
403: 'Forbidden',
404: 'Not Found',
500: 'Internal Server Error',
502: 'Bad Gateway',
503: 'Service Unavailable',
...options.errors,
}
const error = errors[result.status];
if (error) {
throw new ApiError(options, result, error);
}
if (!result.ok) {
const errorStatus = result.status ?? 'unknown';
const errorStatusText = result.statusText ?? 'unknown';
const errorBody = (() => {
try {
return JSON.stringify(result.body, null, 2);
} catch (e) {
return undefined;
}
})();
throw new ApiError(options, result,
`Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`
);
}
};
/**
* Request method
* @param config The OpenAPI configuration object
* @param options The request options from the service
* @param axiosClient The axios client instance to use
* @returns CancelablePromise<T>
* @throws ApiError
*/
export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise<T> => {
return new CancelablePromise(async (resolve, reject, onCancel) => {
try {
const url = getUrl(config, options);
const formData = getFormData(options);
const body = getRequestBody(options);
const headers = await getHeaders(config, options, formData);
if (!onCancel.isCancelled) {
const response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, axiosClient);
const responseBody = getResponseBody(response);
const responseHeader = getResponseHeader(response, options.responseHeader);
const result: ApiResult = {
url,
ok: isSuccess(response.status),
status: response.status,
statusText: response.statusText,
body: responseHeader ?? responseBody,
};
catchErrorCodes(options, result);
resolve(result.body);
}
} catch (error) {
reject(error);
}
});
};

@ -0,0 +1,42 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export { ApiError } from './core/ApiError';
export { CancelablePromise, CancelError } from './core/CancelablePromise';
export { OpenAPI } from './core/OpenAPI';
export type { OpenAPIConfig } from './core/OpenAPI';
export type { BaseResponse_boolean_ } from './models/BaseResponse_boolean_';
export type { BaseResponse_CoursesDTO_ } from './models/BaseResponse_CoursesDTO_';
export type { BaseResponse_List_string_ } from './models/BaseResponse_List_string_';
export type { BaseResponse_long_ } from './models/BaseResponse_long_';
export type { BaseResponse_Page_CourseFavourDetailVO_ } from './models/BaseResponse_Page_CourseFavourDetailVO_';
export type { BaseResponse_PageDTO_CoursesVO_ } from './models/BaseResponse_PageDTO_CoursesVO_';
export type { BaseResponse_string_ } from './models/BaseResponse_string_';
export type { CourseFavourAddRequest } from './models/CourseFavourAddRequest';
export type { CourseFavourAllRequest } from './models/CourseFavourAllRequest';
export type { CourseFavourDetailVO } from './models/CourseFavourDetailVO';
export type { CourseFavourListRequest } from './models/CourseFavourListRequest';
export type { CourseFavourQueryRequest } from './models/CourseFavourQueryRequest';
export type { CourseObjectivesDTO } from './models/CourseObjectivesDTO';
export type { CoursesDTO } from './models/CoursesDTO';
export type { CoursesVO } from './models/CoursesVO';
export type { CourseThumbAddRequest } from './models/CourseThumbAddRequest';
export type { CourseThumbAllRequest } from './models/CourseThumbAllRequest';
export type { KnowFavourAddRequest } from './models/KnowFavourAddRequest';
export type { KnowThumbAddRequest } from './models/KnowThumbAddRequest';
export type { OrderItem } from './models/OrderItem';
export type { Page_CourseFavourDetailVO_ } from './models/Page_CourseFavourDetailVO_';
export type { PageDTO_CoursesVO_ } from './models/PageDTO_CoursesVO_';
export type { ResourceFavourAddRequest } from './models/ResourceFavourAddRequest';
export type { ResourceThumbAddRequest } from './models/ResourceThumbAddRequest';
export { Service } from './services/Service';
export { CommonControllerService } from './services/CommonControllerService';
export { SeCourseFavourControllerService } from './services/SeCourseFavourControllerService';
export { SeCourseThumbControllerService } from './services/SeCourseThumbControllerService';
export { SeKnowFavourControllerService } from './services/SeKnowFavourControllerService';
export { SeKnowThumbControllerService } from './services/SeKnowThumbControllerService';
export { SeResourceFavourControllerService } from './services/SeResourceFavourControllerService';
export { SeResourceThumbControllerService } from './services/SeResourceThumbControllerService';

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CoursesDTO } from './CoursesDTO';
export type BaseResponse_CoursesDTO_ = {
code?: number;
data?: CoursesDTO;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_List_string_ = {
code?: number;
data?: Array<string>;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { PageDTO_CoursesVO_ } from './PageDTO_CoursesVO_';
export type BaseResponse_PageDTO_CoursesVO_ = {
code?: number;
data?: PageDTO_CoursesVO_;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { Page_CourseFavourDetailVO_ } from './Page_CourseFavourDetailVO_';
export type BaseResponse_Page_CourseFavourDetailVO_ = {
code?: number;
data?: Page_CourseFavourDetailVO_;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_boolean_ = {
code?: number;
data?: boolean;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_long_ = {
code?: number;
data?: number;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_string_ = {
code?: number;
data?: string;
message?: string;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourAddRequest = {
courseId?: string;
userId?: string;
};

@ -0,0 +1,8 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourAllRequest = {
courseId?: string;
};

@ -0,0 +1,22 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourDetailVO = {
/**
*
*/
classhours: number;
/**
*
*/
credit: number;
id?: string;
img?: string;
name?: string;
/**
* id
*/
teacher?: string;
};

@ -0,0 +1,8 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourListRequest = {
userId?: string;
};

@ -0,0 +1,12 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourQueryRequest = {
current?: number;
pageSize?: number;
sortField?: string;
sortOrder?: string;
userId?: string;
};

@ -0,0 +1,30 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
*
*/
export type CourseObjectivesDTO = {
/**
*
*/
content: string;
/**
* id
*/
id?: string;
/**
*
*/
name: string;
/**
* pid
*/
pid: string;
/**
* 1 234
*/
type: string;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseThumbAddRequest = {
courseId?: string;
userId?: string;
};

@ -0,0 +1,8 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseThumbAllRequest = {
courseId?: string;
};

@ -0,0 +1,70 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
*
*/
export type CoursesDTO = {
/**
*
*/
assessmenttype: string;
/**
*
*/
assessmentway: string;
/**
*
*/
category: string;
/**
*
*/
classhours: number;
/**
*
*/
code: string;
/**
*
*/
createTime?: string;
/**
*
*/
credit: number;
/**
*
*/
description?: string;
/**
* id
*/
id?: string;
/**
*
*/
img?: string;
/**
*
*/
name: string;
/**
*
*/
nature: string;
/**
*
*/
teacher?: string;
/**
*
*/
teachermethod?: string;
/**
*
*/
teacherway?: string;
};

@ -0,0 +1,34 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
* VO实体
*/
export type CoursesVO = {
/**
*
*/
classhours: number;
/**
*
*/
credit: number;
/**
* id
*/
id?: string;
/**
*
*/
img?: string;
/**
*
*/
name: string;
/**
* id
*/
teacher?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type KnowFavourAddRequest = {
courseId?: string;
knowId?: string;
userId?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type KnowThumbAddRequest = {
courseId?: string;
knowId?: string;
userId?: string;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type OrderItem = {
asc?: boolean;
column?: string;
};

@ -0,0 +1,23 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CoursesVO } from './CoursesVO';
/**
*
*/
export type PageDTO_CoursesVO_ = {
/**
*
*/
list?: Array<CoursesVO>;
/**
*
*/
pages?: number;
/**
*
*/
total?: number;
};

@ -0,0 +1,19 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CourseFavourDetailVO } from './CourseFavourDetailVO';
import type { OrderItem } from './OrderItem';
export type Page_CourseFavourDetailVO_ = {
countId?: string;
current?: number;
maxLimit?: number;
optimizeCountSql?: boolean;
orders?: Array<OrderItem>;
pages?: number;
records?: Array<CourseFavourDetailVO>;
searchCount?: boolean;
size?: number;
total?: number;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ResourceFavourAddRequest = {
courseId?: string;
resourceId?: string;
userId?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ResourceThumbAddRequest = {
courseId?: string;
resourceId?: string;
userId?: string;
};

@ -0,0 +1,60 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_string_ } from '../models/BaseResponse_string_';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class CommonControllerService {
/**
* download
* @param courseId courseId
* @returns any OK
* @throws ApiError
*/
public static downloadUsingGet(
courseId: string,
): CancelablePromise<any> {
return __request(OpenAPI, {
method: 'GET',
url: '/download',
query: {
'courseId': courseId,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* upload
* @param courseId courseId
* @param file file
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static uploadUsingPost(
courseId: string,
file?: Blob,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/upload',
query: {
'courseId': courseId,
},
formData: {
'file': file,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,122 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { BaseResponse_List_string_ } from '../models/BaseResponse_List_string_';
import type { BaseResponse_long_ } from '../models/BaseResponse_long_';
import type { BaseResponse_Page_CourseFavourDetailVO_ } from '../models/BaseResponse_Page_CourseFavourDetailVO_';
import type { CourseFavourAddRequest } from '../models/CourseFavourAddRequest';
import type { CourseFavourAllRequest } from '../models/CourseFavourAllRequest';
import type { CourseFavourListRequest } from '../models/CourseFavourListRequest';
import type { CourseFavourQueryRequest } from '../models/CourseFavourQueryRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeCourseFavourControllerService {
/**
* doFavour
* @param courseFavourAddRequest courseFavourAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doFavourUsingPost(
courseFavourAddRequest: CourseFavourAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_favour/add',
body: courseFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* favourCount
* @param courseFavourAddRequest courseFavourAddRequest
* @returns BaseResponse_long_ OK
* @returns any Created
* @throws ApiError
*/
public static favourCountUsingPost(
courseFavourAddRequest: CourseFavourAddRequest,
): CancelablePromise<BaseResponse_long_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_favour/count',
body: courseFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* courseCount
* @param courseFavourAllRequest courseFavourAllRequest
* @returns BaseResponse_long_ OK
* @returns any Created
* @throws ApiError
*/
public static courseCountUsingPost(
courseFavourAllRequest: CourseFavourAllRequest,
): CancelablePromise<BaseResponse_long_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_favour/countAll',
body: courseFavourAllRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* courseList
* @param courseFavourListRequest courseFavourListRequest
* @returns BaseResponse_List_string_ OK
* @returns any Created
* @throws ApiError
*/
public static courseListUsingPost(
courseFavourListRequest: CourseFavourListRequest,
): CancelablePromise<BaseResponse_List_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_favour/countList',
body: courseFavourListRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* listPostByPage
* @param courseFavourQueryRequest courseFavourQueryRequest
* @returns BaseResponse_Page_CourseFavourDetailVO_ OK
* @returns any Created
* @throws ApiError
*/
public static listPostByPageUsingPost(
courseFavourQueryRequest: CourseFavourQueryRequest,
): CancelablePromise<BaseResponse_Page_CourseFavourDetailVO_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_favour/list/page',
body: courseFavourQueryRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,76 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { BaseResponse_long_ } from '../models/BaseResponse_long_';
import type { CourseThumbAddRequest } from '../models/CourseThumbAddRequest';
import type { CourseThumbAllRequest } from '../models/CourseThumbAllRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeCourseThumbControllerService {
/**
* doThumb
* @param courseThumbAddRequest courseThumbAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doThumbUsingPost(
courseThumbAddRequest: CourseThumbAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_thumb/',
body: courseThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* thumbCount
* @param courseThumbAddRequest courseThumbAddRequest
* @returns BaseResponse_long_ OK
* @returns any Created
* @throws ApiError
*/
public static thumbCountUsingPost(
courseThumbAddRequest: CourseThumbAddRequest,
): CancelablePromise<BaseResponse_long_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_thumb/count',
body: courseThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* courseCount
* @param courseThumbAllRequest courseThumbAllRequest
* @returns BaseResponse_long_ OK
* @returns any Created
* @throws ApiError
*/
public static courseCountUsingPost1(
courseThumbAllRequest: CourseThumbAllRequest,
): CancelablePromise<BaseResponse_long_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_thumb/countAll',
body: courseThumbAllRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { KnowFavourAddRequest } from '../models/KnowFavourAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeKnowFavourControllerService {
/**
* doFavour
* @param knowFavourAddRequest knowFavourAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doFavourUsingPost1(
knowFavourAddRequest: KnowFavourAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/know_favour/add',
body: knowFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { KnowThumbAddRequest } from '../models/KnowThumbAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeKnowThumbControllerService {
/**
* doThumb
* @param knowThumbAddRequest knowThumbAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doThumbUsingPost1(
knowThumbAddRequest: KnowThumbAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/know_thumb/add',
body: knowThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { ResourceFavourAddRequest } from '../models/ResourceFavourAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeResourceFavourControllerService {
/**
* doFavour
* @param resourceFavourAddRequest resourceFavourAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doFavourUsingPost2(
resourceFavourAddRequest: ResourceFavourAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/resource_favour/add',
body: resourceFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { ResourceThumbAddRequest } from '../models/ResourceThumbAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeResourceThumbControllerService {
/**
* doThumb
* @param resourceThumbAddRequest resourceThumbAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doThumbUsingPost2(
resourceThumbAddRequest: ResourceThumbAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/resource_thumb/add',
body: resourceThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,204 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_CoursesDTO_ } from '../models/BaseResponse_CoursesDTO_';
import type { BaseResponse_PageDTO_CoursesVO_ } from '../models/BaseResponse_PageDTO_CoursesVO_';
import type { BaseResponse_string_ } from '../models/BaseResponse_string_';
import type { CourseObjectivesDTO } from '../models/CourseObjectivesDTO';
import type { CoursesDTO } from '../models/CoursesDTO';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class Service {
/**
*
* @param courseObjectivesDto courseObjectivesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static updateCourseObjectivesUsingPut(
courseObjectivesDto: CourseObjectivesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/course_objectives',
body: courseObjectivesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* -
* @param courseObjectivesDto courseObjectivesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveCourseObjectivesUsingPost(
courseObjectivesDto: CourseObjectivesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/course_objectives/addobjectives',
body: courseObjectivesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* -
* @param id id
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static deleteCourseObjectivesByIdsUsingDelete(
id: string,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/course_objectives/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
* id修改课程
* @param coursesDto coursesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static editCourseUsingPut(
coursesDto: CoursesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/coursesteacher',
body: coursesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* --
* @param coursesDto coursesDTO
* @param teacherId teacherId
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveCourseUsingPost(
coursesDto: CoursesDTO,
teacherId: string,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/coursesteacher/addcourse',
query: {
'teacherId': teacherId,
},
body: coursesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param teacherId teacherId
* @param isAsc
* @param name
* @param pageNo
* @param pageSize
* @param sortBy
* @returns BaseResponse_PageDTO_CoursesVO_ OK
* @throws ApiError
*/
public static getCoursesUsingGet(
teacherId: string,
isAsc?: boolean,
name?: string,
pageNo?: number,
pageSize?: number,
sortBy?: string,
): CancelablePromise<BaseResponse_PageDTO_CoursesVO_> {
return __request(OpenAPI, {
method: 'GET',
url: '/coursesteacher/page',
query: {
'isAsc': isAsc,
'name': name,
'pageNo': pageNo,
'pageSize': pageSize,
'sortBy': sortBy,
'teacherId': teacherId,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* ids批量删除课程
* @param ids ids
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static deleteCoursesUsingDelete(
ids: string,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/coursesteacher/{ids}',
path: {
'ids': ids,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
* id查询课程
* @param id id
* @returns BaseResponse_CoursesDTO_ OK
* @throws ApiError
*/
public static getByIdCourseUsingGet(
id: string,
): CancelablePromise<BaseResponse_CoursesDTO_> {
return __request(OpenAPI, {
method: 'GET',
url: '/coursesteacher/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -24,11 +24,12 @@
"echarts": "^5.5.0",
"echarts-liquidfill": "^3.1.0",
"element-plus": "^2.6.0",
"form-data": "^4.0.0",
"jquery": "^3.7.1",
"nprogress": "^0.2.0",
"pinia": "^2.1.7",
"three": "^0.163.0",
"vue": "^3.4.19",
"vue": "^3.4.27",
"vue-echarts": "^6.7.2",
"vue-router": "^4.3.0"
},

@ -1,9 +1,5 @@
lockfileVersion: '6.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
dependencies:
3d-force-graph:
specifier: ^1.73.3
@ -26,6 +22,9 @@ dependencies:
element-plus:
specifier: ^2.6.0
version: 2.7.4(vue@3.4.27)
form-data:
specifier: ^4.0.0
version: 4.0.0
jquery:
specifier: ^3.7.1
version: 3.7.1
@ -39,7 +38,7 @@ dependencies:
specifier: ^0.163.0
version: 0.163.0
vue:
specifier: ^3.4.19
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vue-echarts:
specifier: ^6.7.2
@ -5710,3 +5709,7 @@ packages:
dependencies:
tslib: 2.3.0
dev: false
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false

@ -1,29 +1,48 @@
<template>
<div class="curse-collection">
<el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="handleClick" style="padding-top: 0;">
<el-tabs
v-model="activeName"
type="card"
class="demo-tabs"
@tab-click="handleClick"
style="padding-top: 0"
>
<el-tab-pane label="课程收藏" name="first">
<div class="Container_Cla">
<div class="item_1" v-for="(item_1, index ) in 12" :key="index">
<div class="item_1" v-for="(item_1, index) in 12" :key="index">
<div class="ClassImg">
<div class="bu"><img src="../../assets/icons/更多.svg" width="100%" height="100%"></div>
<img src="../../assets/images/kctp.png">
<div class="bu">
<img
src="../../assets/icons/更多.svg"
width="100%"
height="100%"
/>
</div>
<img src="../../assets/images/kctp.png" />
</div>
<div class="ClaCon">
<div class="Con">
<h3>软件项目管理{{ item_1 }}</h3>
<p>讲师:王兴</p>
<p>
<span>32</span>学时
&nbsp; | &nbsp;
<span>2.0</span>学分
<span>32</span>
学时 &nbsp; | &nbsp;
<span>2.0</span>
学分
</p>
</div>
</div>
</div>
<div style="width: 100%; display: flex; justify-content: center;">
<el-pagination v-model:current-page="params.page" v-model:page-size="params.pageNum"
:page-sizes="[100, 200, 300, 400]" layout="total, sizes, prev, pager, next, jumper" :total="total"
@size-change="handleSizeChange" @current-change="handleCurrentChange" />
<div style="width: 100%; display: flex; justify-content: center">
<el-pagination
v-model:current-page="params.page"
v-model:page-size="params.pageNum"
:page-sizes="[100, 200, 300, 400]"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</div>
</el-tab-pane>
@ -31,35 +50,35 @@
<div class="Container_Res">
<ul class="Container_Res_Tab">
<li class="img-svg" @click="hsndelShow(1)">
<img src="../../assets/icons/课程简介.svg" alt="简介">
<br>
<img src="../../assets/icons/课程简介.svg" alt="简介" />
<br />
<p>简介</p>
</li>
<li class="img-svg" @click="hsndelShow(2)">
<img src="../../assets/icons/PPT文件.svg" alt="PPT">
<br>
<img src="../../assets/icons/PPT文件.svg" alt="PPT" />
<br />
<p>PPT</p>
</li>
<li class="img-svg" @click="hsndelShow(3)">
<img src="../../assets/icons/视频.svg" alt="视频">
<br>
<img src="../../assets/icons/视频.svg" alt="视频" />
<br />
<p>视频</p>
</li>
<li class="img-svg" @click="hsndelShow(4)">
<img src="../../assets/icons/文本.svg" alt="文本">
<br>
<img src="../../assets/icons/文本.svg" alt="文本" />
<br />
<p>文本</p>
</li>
<li class="img-svg" @click="hsndelShow(5)">
<img src="../../assets/icons/音频.svg" alt="音频">
<br>
<img src="../../assets/icons/音频.svg" alt="音频" />
<br />
<p>音频</p>
</li>
</ul>
<div class="Res_con" v-show="activeIndex == 1">
<div class="item_2-1" v-for="(item, index) in 5" :key="index">
<div class="ResImg-1">
<img src="../../assets/images/kctp.png">
<img src="../../assets/images/kctp.png" />
</div>
<div class="ResClaDic">
<p>课程名称-----{{ item }}</p>
@ -67,16 +86,22 @@
</div>
</div>
</div>
<div style="width: 100%; display: flex; justify-content: center;">
<el-pagination v-model:current-page="params.page" v-model:page-size="params.pageNum"
:page-sizes="[100, 200, 300, 400]" layout="total, sizes, prev, pager, next, jumper" :total="total"
@size-change="handleSizeChange" @current-change="handleCurrentChange" />
<div style="width: 100%; display: flex; justify-content: center">
<el-pagination
v-model:current-page="params.page"
v-model:page-size="params.pageNum"
:page-sizes="[100, 200, 300, 400]"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
<div class="Res_con" v-show="activeIndex == 2">
<div class="item_2-2" v-for="(item, index) in 7" :key="index">
<div class="ResImg-2">
<div class="Img">
<img src="../../assets/icons/ppt.png">
<img src="../../assets/icons/ppt.png" />
</div>
</div>
<div class="ResClaDic">
@ -88,7 +113,7 @@
<div class="item_2-3" v-for="(item, index) in 6" :key="index">
<div class="ResImg-2">
<div class="Img">
<img src="../../assets/icons/视频.png">
<img src="../../assets/icons/视频.png" />
</div>
</div>
<div class="ResClaDic">
@ -100,7 +125,7 @@
<div class="item_2-4" v-for="(item, index) in 8" :key="index">
<div class="ResImg-2">
<div class="Img">
<img src="../../assets/icons/文本.png">
<img src="../../assets/icons/文本.png" />
</div>
</div>
<div class="ResClaDic">
@ -112,7 +137,7 @@
<div class="item_2-5" v-for="(item, index) in 10" :key="index">
<div class="ResImg-2">
<div class="Img">
<img src="../../assets/icons/音频.png">
<img src="../../assets/icons/音频.png" />
</div>
</div>
<div class="ResClaDic">
@ -124,7 +149,7 @@
</el-tab-pane>
<el-tab-pane label="知识点收藏" name="third">
<div class="Container_Kno">
<div class="item_3" v-for="(item_3, index ) in 10" :key="index">
<div class="item_3" v-for="(item_3, index) in 10" :key="index">
<div>
<div class="KnowledgeCollent">
<div class="KnoCon">
@ -132,14 +157,15 @@
<p>{{ item_3 }}-xxxx</p>
</div>
<div class="KnoBtn">
<img src="../../assets/icons/更多.svg" alt="">
<img src="../../assets/icons/更多.svg" alt="" />
</div>
</div>
<div class="Knowledge_point">
<ul>
<li v-for="(item, index) in 6" :key="index">
知识点{{ item }} &nbsp;
<div @click="" class="btn">×</div>&nbsp;
<div @click="" class="btn">×</div>
&nbsp;
</li>
</ul>
</div>
@ -155,38 +181,68 @@
<script lang="ts" setup>
import { ref } from 'vue'
import type { TabsPaneContext } from 'element-plus'
import axios from 'axios';
import { SeCourseFavourControllerService } from '../../../generated/services/SeCourseFavourControllerService'
import { CourseFavourQueryRequest } from 'generated/models/CourseFavourQueryRequest'
// import { getDataListApi } from '@/api/user/corc.js'
const activeIndex = ref(1)
function hsndelShow(index: number) {
activeIndex.value = index
console.log('触发了', index, activeIndex.value)
}
axios({
url: "",
method: 'GET',
})
const activeName = ref('first')
const handleClick = (tab: TabsPaneContext, event: Event) => {
console.log(tab, event)
}
const params = ref({
page: 1,
pageNum: 12
})
// const params = ref({
// page: 1,
// pageNum: 12
// })
const total = ref(0)
const datalist = ref([
{
/**
* 课程学时
*/
classhours: '',
/**
* 课程学分
*/
credit: '',
id: '',
img: '',
name: '',
/**
* 教师id
*/
teacher: '',
},
])
/**
* 表单信息
*/
let params = ref<CourseFavourQueryRequest>({
current: 1,
pageSize: 12,
sortField: '',
sortOrder: '',
userId: 2,
})
const getDatalist = async () => {
const res = await getDataListApi(params.value)
datalist.value = res.data.pagerecords
total.value = res.data.pageTotal
const res = await SeCourseFavourControllerService.listPostByPageUsingPost(
params.value,
)
datalist.value = res.data.records
console.log('datalist ' + datalist.value[0].name)
total.value = res.data.pages
console.log('pages ' + total.value)
console.log('datalist ' + datalist.value[0].img)
}
getDatalist()
const handleSizeChange = (size: any) => {
// console.log(size)
params.value.page = 1
@ -204,7 +260,7 @@ const handleCurrentChange = (page: any) => {
</script>
<style lang="scss" scoped>
.example-pagination-block+.example-pagination-block {
.example-pagination-block + .example-pagination-block {
margin-top: 10px;
}
@ -263,7 +319,7 @@ const handleCurrentChange = (page: any) => {
border-bottom: 1px solid rgb(217, 217, 217);
}
.ClassImg>img {
.ClassImg > img {
width: 100%;
height: 180px;
}
@ -283,14 +339,14 @@ const handleCurrentChange = (page: any) => {
justify-content: space-around;
}
.Con>h3 {
.Con > h3 {
margin-left: 15px;
font-size: 25px;
font-weight: 600;
cursor: pointer;
}
.Con>p {
.Con > p {
margin-left: 15px;
margin-top: 5px;
font-size: 13px;
@ -298,14 +354,14 @@ const handleCurrentChange = (page: any) => {
cursor: pointer;
}
.Con>p>span {
.Con > p > span {
margin-left: 5px;
margin-right: 5px;
color: rgb(94, 188, 231);
font-weight: 600;
}
.Con>button {
.Con > button {
width: 45px;
height: 20px;
font-size: 9px;
@ -334,7 +390,7 @@ const handleCurrentChange = (page: any) => {
padding: 4px 11px 6px 11px;
}
.img-svg>p {
.img-svg > p {
font-size: 10px;
font-weight: 400;
text-align: center;
@ -345,12 +401,12 @@ const handleCurrentChange = (page: any) => {
border-bottom: rgb(96, 93, 172) solid 3px;
}
.img-svg>img {
.img-svg > img {
width: 32px;
height: 32px;
}
.img-svg>p:hover {
.img-svg > p:hover {
text-decoration: underline;
}
@ -381,12 +437,11 @@ const handleCurrentChange = (page: any) => {
overflow: hidden;
}
.ResImg-1>img {
.ResImg-1 > img {
width: 100%;
height: 100%;
}
.ResClaDic {
width: 100%;
height: 40%;
@ -410,7 +465,7 @@ const handleCurrentChange = (page: any) => {
align-items: center;
}
.ResClaDic>p {
.ResClaDic > p {
font-family: Inter, Inter;
font-weight: 500;
font-size: 20px;
@ -441,7 +496,7 @@ const handleCurrentChange = (page: any) => {
display: grid;
grid-template-columns: repeat(auto-fill, 210px);
justify-content: space-around;
background-color: #F2F7FB;
background-color: #f2f7fb;
}
.item_3 {
@ -471,7 +526,7 @@ const handleCurrentChange = (page: any) => {
justify-content: space-around;
}
.KnoBtn>img {
.KnoBtn > img {
cursor: pointer;
}
@ -495,17 +550,17 @@ const handleCurrentChange = (page: any) => {
font-size: 15px;
display: flex;
justify-content: space-around;
flex-direction: column
flex-direction: column;
}
.Knowledge_point>ul>li {
.Knowledge_point > ul > li {
display: inline-block;
margin-top: 5px;
margin-bottom: 5px;
font-family: Inter, Inter;
font-weight: bold;
font-size: 12px;
color: #0052D9;
color: #0052d9;
line-height: 20px;
padding-left: 5px;
background-color: #bfc5fe;
@ -532,11 +587,9 @@ const handleCurrentChange = (page: any) => {
}
.item_1 :hover {
&.bu {
display: block;
background-color: #0052D9;
background-color: #0052d9;
}
}
</style>

Loading…
Cancel
Save