first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
<template>
<div class="about">
<h1>This is an about page</h1>
</div>
</template>

View File

@@ -0,0 +1,106 @@
<template>
<div class="allcourse">
<el-page-header content="所有课程"></el-page-header>
<el-table
:data="allCourse"
style="width: 100%">
<el-table-column
label="操作"
width="400">
<template slot-scope="scope">
<el-button type="primary">
修改
<i class="el-icon-edit"></i>
</el-button>
<el-button type="primary">
更新
<i class="el-icon-upload"></i>
</el-button>
<el-button type="primary" @click="deleteCourse(scope.row)">
删除
<i class="el-icon-delete"></i>
</el-button>
</template>
</el-table-column>
<el-table-column
prop="courseTitle"
label="课程名称">
</el-table-column>
<el-table-column
label="课程缩略图">
<template slot-scope="scope">
<img style="width: 100%;" :src="scope.row.courseImageUrl" alt="">
</template>
</el-table-column>
<el-table-column
prop="courseDesc"
width="300"
label="课程介绍">
</el-table-column>
<el-table-column
prop="courseClass"
label="课程分类">
</el-table-column>
<el-table-column
prop="createdAt"
label="发布时间">
</el-table-column>
<el-table-column
label="是否付费">
<template slot-scope="scope">
<el-tag :type="scope.row.coursePrice == 0 ? 'success' : 'danger' ">
{{ scope.row.coursePrice == 0 ? '免费': '收费' }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="coursePrice"
label="价格(元)">
</el-table-column>
<el-table-column
prop="courseResource"
label="难易度">
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
allCourse: []
}
},
created() {
this.getAllCourse()
},
methods: {
async getAllCourse() {
this.allCourse = await this.$http.index.allCourse();
console.log(this.allCourse)
},
deleteCourse(item) {
console.log(s)
}
}
}
</script>
<style lang="stylus" scoped>
</style>

View File

@@ -0,0 +1,87 @@
<template>
<div class="pushcourse">
<el-page-header content="发布课程"></el-page-header>
<el-upload
class="avatar-uploader"
action="http://upload.qiniu.com/"
:show-file-list="false"
:data="UploadFileData"
:on-success="handleSuccess"
:before-upload="beforeUpload">
<img v-if="imageUrl.length != 0" :src="imageUrl" alt="">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
</template>
<script>
export default {
data() {
return {
imageUrl: '',
UploadFileData: {
token: null,
key: null
}
}
},
created() { },
methods: {
test() {
// var f = this.$refs.files.files[0]
//
//
// var reader = new FileReader();
// reader.readAsDataURL(f);
//
// reader.onload = function(e){
// console.log(e.target.result);
//
// };
//
// var a = new FormData()
// a.append("file", f);
//
// console.log(a)
},
handleSuccess(response, file) {
this.imageUrl = "http://static.geekhelp.cn/" + response.key
console.log("response: ", response)
console.log("file: ", file)
},
async beforeUpload(file) {
let res = await this.$http.index.getUploadToken();
this.UploadFileData.token = res.token;
this.UploadFileData.key = file.name;
console.log(this.UploadFileData)
},
}
}
</script>
<style lang="stylus" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>

View File

@@ -0,0 +1,23 @@
<template lang="pug">
.home
h2 首页
h2 首页
h2 首页
</template>
<script>
export default {
name: "Home",
data() {
return {};
},
async created() {
let res = await this.$http.index.radio();
console.log(res);
},
};
</script>
<style lang="stylus" scoped>
@import "~@page/Home.styl"
</style>

View File

@@ -0,0 +1,92 @@
<template>
<div class="layout">
<el-container>
<el-header>
<el-menu
:default-active="1"
class="el-menu-demo"
mode="horizontal"
background-color="#545c64"
text-color="#fff"
active-text-color="#ffd04b">
<el-menu-item index="1">处理中心</el-menu-item>
<el-submenu index="2">
<template slot="title">我的工作台</template>
<el-menu-item index="2-1">选项1</el-menu-item>
<el-menu-item index="2-2">选项2</el-menu-item>
<el-menu-item index="2-3">选项3</el-menu-item>
<el-submenu index="2-4">
<template slot="title">选项4</template>
<el-menu-item index="2-4-1">选项1</el-menu-item>
<el-menu-item index="2-4-2">选项2</el-menu-item>
<el-menu-item index="2-4-3">选项3</el-menu-item>
</el-submenu>
</el-submenu>
<el-menu-item index="3" disabled>消息中心</el-menu-item>
<el-menu-item index="4"><a href="https://www.ele.me" target="_blank">订单管理</a></el-menu-item>
</el-menu>
</el-header>
<el-container>
<el-aside class="left-aside" width="200px">
<el-menu
router
class="el-menu-vertical-demo">
<el-submenu>
<template slot="title">
<i class="el-icon-location"></i>
<span>课程管理</span>
</template>
<el-menu-item-group>
<el-menu-item index="/CourseManage/allCourse">所有课程</el-menu-item>
<el-menu-item index="/CourseManage/pushCourse">发布课程</el-menu-item>
</el-menu-item-group>
</el-submenu>
<el-submenu>
<template slot="title">
<i class="el-icon-location"></i>
<span>分类管理</span>
</template>
<el-menu-item-group>
<el-menu-item index="1-1">所有分类</el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu>
</el-aside>
<el-main>
<router-view />
</el-main>
</el-container>
</el-container>
</div>
</template>
<script>
export default {
data() {
return {
roleArr: localStorage.getItem("role") == null ? [] : JSON.parse( localStorage.getItem("role"))
}
},
created() {
console.log()
this.$router.addRoutes(this.$utils.createdRouterConfig())
},
methods: {
}
}
</script>
<style lang="stylus" scoped>
</style>

View File

@@ -0,0 +1,62 @@
<template>
<div class="login">
<h1>管理员</h1>
<el-form :model="userInfo" :rules="rules"
ref="ruleForm" label-width="100px">
<el-form-item label="用户名" prop="username">
<el-input v-model="userInfo.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="userpassword">
<el-input v-model="userInfo.userpassword"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitLogin()">登 录</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
userInfo: {
username: '',
userpassword: ''
},
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
{ min: 3, max: 20, message: '长度在 3 到 20 个字符', trigger: 'blur' }
],
userpassword: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' }
],
}
}
},
methods: {
submitLogin() {
this.$refs.ruleForm.validate(async (valid) => {
if (valid) {
let res = await this.$http.user.login(this.userInfo);
console.log(res)
localStorage.setItem("token", JSON.stringify(res));
this.$router.replace("/")
}
});
},
}
}
</script>
<style lang="stylus" scoped>
</style>

View File

@@ -0,0 +1,13 @@
<template>
<div class="reg">
<h1>注册</h1>
</div>
</template>
<script>
export default {}
</script>
<style lang="stylus" scoped>
</style>