ApplePine 140f40c168 initial: 初始版本
- 在系统课程列表界面读取发送请求,获取课程信息
- 在课程列表界面为课程卡片补充提示信息(包含是否已经学习过、学时、学分、课程类型等)
2025-07-20 11:41:29 +08:00

125 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 金蝶课程系统助手
一个专为企业金蝶课程系统设计的浏览器扩展插件,能够为课程视频卡片添加智能提示信息,帮助用户更好地了解课程学习状态。
## ✨ 功能特性
- 🎯 **智能课程识别**:自动识别页面中的课程列表
- 📊 **学习状态显示**:显示课程的学习状态(已完成/未完成)
- ⏱️ **学时学分信息**:显示课程的学分和学时信息
- 🎬 **内容类型识别**:智能判断课程是视频还是文档类型
- 🎨 **视觉提示**:未完成课程以红色标识,已完成课程保持原色
- 🔄 **实时更新**:页面刷新后自动重新应用样式和信息
## 🚀 安装方法
### 方法一:从源码构建(推荐)
1. 克隆项目到本地:
```bash
git clone https://github.com/App1ePine/kingdeeCourseBot.git
cd kingdeeCourseBot
```
2. 安装依赖:
```bash
npm install
```
3. 配置环境变量:
-`.env.example` 文件复制并重命名为 `.env`
- 根据您的实际环境修改 `.env` 文件中的配置值
4. 构建扩展:
```bash
npm run build
```
5. 在浏览器中加载扩展:
- **Chrome/Edge**: 打开 `chrome://extensions/`,开启"开发者模式",点击"加载已解压的扩展程序",选择 `dist` 文件夹
- **Firefox**: 打开 `about:debugging#/runtime/this-firefox`,点击"加载临时附加组件",选择 `dist` 文件夹中的 `manifest.json`
### 方法二:开发模式
```bash
npm run dev
```
## 📖 使用说明
1. 安装扩展后,访问金蝶课程系统
2. 插件会自动检测课程列表页面
3. 每个课程卡片前会显示格式为 `(学分-学时)-内容类型` 的提示信息
4. 未完成的课程标题会以红色显示
5. 已完成的课程保持原色
## 🛠️ 技术栈
- **框架**: [WXT](https://wxt.dev/) - 现代化的浏览器扩展开发框架
- **前端**: Vue 3 + JavaScript
- **构建工具**: Vite
- **语言**: JavaScript
## 🔧 开发
### 环境要求
- Node.js 16+
- npm 或 yarn
### 开发命令
```bash
# 开发模式Chrome
npm run dev
# 开发模式Firefox
npm run dev:firefox
# 构建生产版本
npm run build
# 构建 Firefox 版本
npm run build:firefox
# 打包扩展
npm run zip
# 类型检查
npm run compile
```
### 项目结构
```
kingdeeCourseBot/
├── entrypoints/
│ ├── background.ts # 后台脚本
│ ├── content.ts # 内容脚本
│ └── popup/ # 弹出窗口
├── components/ # Vue 组件
├── assets/ # 静态资源
├── public/ # 公共资源
└── wxt.config.ts # WXT 配置文件
```
## ⚙️ 配置
插件通过环境变量配置目标网站。项目根目录包含 `.env.example` 文件,您需要:
1.`.env.example` 文件复制并重命名为 `.env`
2.`.env` 文件中配置以下环境变量:
```bash
# 金蝶课程系统主机名
WXT_PUBLIC_UCLASS_HOSTNAME=your-uclass-hostname.com
# 内网主机名
WXT_PUBLIC_INTRANET_HOSTNAME=your-intranet-hostname.com
# 内网端口
WXT_PUBLIC_INTRANET_PORT=8080
```
根据实际情况使用公网域名 或内网IP请根据您的实际环境修改这些配置值。