@@ -0,0 +1,11 @@
|
|||||||
|
# 开发环境 (dev):仅 vite dev --mode dev 加载;build 产物不读任何 .env.*
|
||||||
|
# (.env.base/.env.ld/.env.prod 已删,线上由 /api/env-config?target=front 运行时下发)。
|
||||||
|
# ⚠️ VITE_* 仅本地开发生效。
|
||||||
|
# API 走 /api 同源相对路径(vite proxy 转发到本地后端 8106 教室管理服务),
|
||||||
|
# 规避后端 CAS 过滤器不回 CORS 头导致的跨域拦截;SSO/基础平台用真实环境
|
||||||
|
VITE_BASE_HOST=http://base.yunhaixingtong.com
|
||||||
|
VITE_SSO_HOST=http://sso.yunhaixingtong.com
|
||||||
|
# 留空 → serviceHost 走同源相对 /api(经 vite 代理到本地后端 8106);填绝对地址会绕过代理直连该域
|
||||||
|
VITE_SERVICE_HOST=
|
||||||
|
VITE_ZIYUANKU_HOST=https://base.bestsch.com/BschZyk
|
||||||
|
VITE_ZHUANXIANG_HOST=https://base.bestsch.com/BschZncpd
|
||||||
+36
@@ -0,0 +1,36 @@
|
|||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
|
||||||
|
yarn.lock
|
||||||
|
.npmrc
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
|
|
||||||
|
# scratch
|
||||||
|
.temp
|
||||||
|
|
||||||
|
# 本地备份文件(不入库,如 icons.css.bak 为旧版图标集)
|
||||||
|
*.bak
|
||||||
|
*.orig
|
||||||
|
|
||||||
|
# AI agent workspace (local only)
|
||||||
|
.workbuddy/
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ["airbnb", "prettier", "prettier/react"],
|
||||||
|
singleQuote: false, // 是否强制使用单引号
|
||||||
|
printWidth: 120, // 超过最大值换行
|
||||||
|
tabWidth: 4,
|
||||||
|
htmlWhitespaceSensitivity: "ignore",
|
||||||
|
semi: true, // 结尾是否使用分号
|
||||||
|
//disableLanguages: ["vue"], // 不格式化vue文件,vue文件的格式化单独设置
|
||||||
|
endOfLine: "auto",
|
||||||
|
arrowParens: "avoid", // 箭头函数参数括号 默认avoid 可选 avoid| always
|
||||||
|
};
|
||||||
|
//如需显示webpack目录,运行以下命令
|
||||||
|
// npm run eject
|
||||||
|
//如需配合使eslint生效,运行以下命令
|
||||||
|
//npm install --save-dev eslint-plugin-prettier
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import type { GeneratorConfig } from "@alova/wormhole";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
generator: [
|
||||||
|
{
|
||||||
|
input: "http://base.yunhaixingtong.com/homework/v3/api-docs",
|
||||||
|
// 文档平台类型
|
||||||
|
platform: "swagger",
|
||||||
|
|
||||||
|
// 生成代码的输出目录
|
||||||
|
output: "src/api",
|
||||||
|
// 响应数据的媒体类型
|
||||||
|
responseMediaType: "application/json",
|
||||||
|
// 请求体数据的媒体类型
|
||||||
|
bodyMediaType: "application/json",
|
||||||
|
// 生成的 API 版本
|
||||||
|
version: 1,
|
||||||
|
// 生成代码类型
|
||||||
|
type: "typescript",
|
||||||
|
// 全局 API 名称
|
||||||
|
global: "Apis",
|
||||||
|
splitImplementation: true,
|
||||||
|
implementation: "inline",
|
||||||
|
// API 处理函数
|
||||||
|
handleApi: apiDescriptor => {
|
||||||
|
// 过滤掉已废弃的 API
|
||||||
|
if (apiDescriptor.deprecated) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
const newOpId = apiDescriptor.summary?.trim() || apiDescriptor.operationId;
|
||||||
|
const url = apiDescriptor.url.replace(/^\/{platform}\//, "/api/");
|
||||||
|
|
||||||
|
return {
|
||||||
|
...apiDescriptor,
|
||||||
|
operationId: newOpId, // 关键:改掉它
|
||||||
|
url: apiDescriptor.url.replace(/^\/{platform}\//, "/api/"),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
} as GeneratorConfig;
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
//铃铛debug
|
||||||
|
window.conf = {
|
||||||
|
baseHost: "http://basedebug.bestsch.com",
|
||||||
|
ssoHost: "http://ssodebug.bestsch.com",
|
||||||
|
serviceHost: "http://basedebug.bestsch.com/QualityEvaluate",
|
||||||
|
};
|
||||||
+41
@@ -0,0 +1,41 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="../../favicon.ico" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<!-- 运行时配置引导:在任何应用模块执行前同步拉取 /<contextPath>/api/env-config
|
||||||
|
(后端免登录端点,projman 配置管理在线维护),替代生产构建环境变量。
|
||||||
|
必须同步:host.config.ts 在模块求值期就读 window.__APP_CONFIG__;失败/本地开发
|
||||||
|
(根路径,段数不足 2)则不设置:本地走 .env.dev/.env.mock(VITE_*),线上走同域推导兜底。
|
||||||
|
target = URL 第 2 段目录名:本应用产物部署于 /{contextPath}/front/,故为 front,
|
||||||
|
对应后端配置键 yh.env-config.source.front(环境变量 YH_ENV_CONFIG_SOURCE_FRONT)。
|
||||||
|
注意:同步 XHR 不支持 timeout 属性(赋值会抛 InvalidAccessError),依赖内网快速失败 -->
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
try {
|
||||||
|
var seg = location.pathname.split("/").filter(Boolean);
|
||||||
|
if (seg.length < 2) return; // 本地开发(根路径):走 .env.dev / .env.mock
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open("GET", "/" + seg[0] + "/api/env-config?target=" + encodeURIComponent(seg[1]), false);
|
||||||
|
xhr.send(null);
|
||||||
|
if (xhr.status === 200) {
|
||||||
|
var conf = JSON.parse(xhr.responseText);
|
||||||
|
if (conf && typeof conf === "object") window.__APP_CONFIG__ = conf;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
/* 拉取失败保持未设置,走同域推导兜底 */
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<title><%- title %></title>
|
||||||
|
<%- injectScript %>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
Generated
+12298
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"name": "aca-classroom",
|
||||||
|
"private": true,
|
||||||
|
"version": "0.0.0",
|
||||||
|
"nodeversion": "20.19.4",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite --mode dev",
|
||||||
|
"build": "vite build --mode base",
|
||||||
|
"build:base": "vite build --mode base",
|
||||||
|
"build:ld": "vite build --mode ld",
|
||||||
|
"build:prod": "vite build --mode prod",
|
||||||
|
"preview": "vite preview",
|
||||||
|
"api:gen": "alova gen -f"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@open-file-viewer/core": "^0.1.43",
|
||||||
|
"@open-file-viewer/vue": "^0.1.43",
|
||||||
|
"@types/lodash": "^4.14.196",
|
||||||
|
"@wangeditor/editor": "^5.1.23",
|
||||||
|
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||||
|
"alova": "^3.4.0",
|
||||||
|
"axios": "^0.24.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"mitt": "^3.0.1",
|
||||||
|
"pdfjs-dist": "^4.10.38",
|
||||||
|
"pinia": "^2.1.4",
|
||||||
|
"sass": "^1.64.1",
|
||||||
|
"view-ui-plus": "^1.3.16",
|
||||||
|
"vue": "^3.4.19",
|
||||||
|
"vue-router": "4",
|
||||||
|
"vuedraggable": "^4.1.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@alova/wormhole": "^1.5.0",
|
||||||
|
"@types/node": "^20.4.4",
|
||||||
|
"@unocss/preset-rem-to-px": "^66.6.0",
|
||||||
|
"@unocss/preset-uno": "^66.6.0",
|
||||||
|
"@vitejs/plugin-vue": "^5.0.4",
|
||||||
|
"fast-glob": "^3.3.2",
|
||||||
|
"typescript": "^5.2.2",
|
||||||
|
"unocss": "^66.6.0",
|
||||||
|
"unplugin-auto-import": "0.18.3",
|
||||||
|
"vite": "^5.1.4",
|
||||||
|
"vite-plugin-html": "^3.2.2",
|
||||||
|
"vite-plugin-svg-icons": "^2.0.1",
|
||||||
|
"vue-tsc": "^1.8.27"
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSEáCNS2-H
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSEá ETen-B5-H` ^
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSE!!�º]aX!!]`�21�> �p�z�$]‚�"R‚d�-Uƒ7�*„␍4„%�+ „Z „{�/…%…<�9K…b�1]†.�"‡‰`]‡,�"]ˆ
|
||||||
|
�"]ˆh�"]‰F�"]Š$�"]‹�"]‹`�"]Œ>�"]��"]�z�"]ŽX�"]�6�"]��"]�r�"]‘P�"]’.�"]“�"]“j�"]”H�"]•&�"]–�"]–b�"]—@�"]˜�"]˜|�"]™Z�"]š8�"]›�"]›t�"]œR�"]�0�"]ž�"]žl�"]ŸJ�"] (�"]¡�"]¡d�"]¢B�"]£ �"X£~�']¤W�"]¥5�"]¦�"]¦q�"]§O�"]¨-�"]©�"]©i�"]ªG�"]«%�"]¬�"]¬a�"]?�"]®�"]®{�"]¯Y�"]°7�"]±�"]±s�"]²Q�"]³/�"]´␍�"]´k�"]µI�"]¶'�"]·�"]·c�"]¸A�"]¹�"]¹}�"]º[�"]»9
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user