基于javaweb+mysql的ssm高校学籍管理系统(java+ssm+bootstrap+jsp+html+easyui+mysql)

基于javaweb+mysql的ssm高校学籍管理系统(java+ssm+bootstrap+jsp+html+easyui+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM高校学籍管理系统(java+ssm+bootstrap+jsp+html+easyui+mysql)

项目介绍

本项目分为管理员角色与学生两种角色; 管理员主要功能包括: 权限管理:用户管理、角色管理、菜单管理; 学生管理:成绩管理、学生信息管理、学籍管理、奖惩管理; 修改密码等; 学生主要功能包括: 学生管理:成绩管理、学生信息管理、学籍管理、奖惩管理;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

  1. 后端:spring springmvc mybatis 2. 前端:JSP+Html+css+javascript+bootstrap+jQuery+easyUI

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入http://localhost:8080/ 登录
	
}
package com.java.controller;

	

@Controller  
@RequestMapping("/user")   
public class UserController {

	@Resource
	private UserService userService;
	
	@ResponseBody 
	@RequestMapping("/userlist.do")
	public String userList(HttpServletRequest request){
		String page = request.getParameter("page");
		String rows = request.getParameter("rows");

		User user = null;
		String s_userName=request.getParameter("s_userName");
		String s_roleId=request.getParameter("s_roleId");
		if(StringUtil.isNotEmpty(s_userName)||StringUtil.isNotEmpty(s_roleId)){
			user = new User();
		}
		
		if(StringUtil.isNotEmpty(s_userName)){
			user.setUserName(s_userName);
		}
		
		if(StringUtil.isNotEmpty(s_roleId)){
			user.setRoleId(Integer.parseInt(s_roleId));
		}
		
//		Role role=new Role(roleName, roleDescription);
		Role role = new Role();
		role.setRoleName(roleName);
		role.setRoleDescription(roleDescription);
		if (StringUtil.isNotEmpty(roleId)) {
			role.setRoleId(Integer.parseInt(roleId));
		}

		JSONObject result = new JSONObject();
		int saveNums = 0;
		if (StringUtil.isNotEmpty(roleId)) {
			saveNums = roleService.roleUpdate(role);
		} else {
			saveNums = roleService.roleAdd(role);
		}
		if (saveNums > 0) {
			result.put("success", true);
		} else {
			result.put("success", true);
			result.put("errorMsg", "保存失败");
		}
	
		return result.toString();
	}
	
	
	@ResponseBody
	@RequestMapping("/roleDelete.do")
	public String roleDelete(HttpServletRequest request){
		String delIds = request.getParameter("delIds");
		JSONObject result = new JSONObject();
		String str[] = delIds.split(",");
		for (int i = 0; i < str.length; i++) {
			boolean f = userService.existUserWithRoleId(str[i]);
			if (!f) {
				result.put("errorIndex", i);
				result.put("errorMsg", "角色下面有用户,不能删除!");
				return result.toString();
			}
		}
		int delNums = roleService.roleDelete(delIds);

		if (delNums > 0) {
			result.put("success", true);
			result.put("delNums", delNums);
		} else {
			result.put("errorMsg", "删除失败");
		}
		return result.toString();
		role.setRoleName(roleName);
		role.setRoleDescription(roleDescription);
		if (StringUtil.isNotEmpty(roleId)) {
			role.setRoleId(Integer.parseInt(roleId));
		}

		JSONObject result = new JSONObject();
		int saveNums = 0;
		if (StringUtil.isNotEmpty(roleId)) {
			saveNums = roleService.roleUpdate(role);
		} else {
			saveNums = roleService.roleAdd(role);
		}
		if (saveNums > 0) {
			result.put("success", true);
		} else {
			result.put("success", true);
			result.put("errorMsg", "保存失败");
		}
	
		return result.toString();
	}
	
	
	@ResponseBody
	@RequestMapping("/roleDelete.do")
	public String roleDelete(HttpServletRequest request){
		String delIds = request.getParameter("delIds");
		JSONObject result = new JSONObject();
		String str[] = delIds.split(",");
		for (int i = 0; i < str.length; i++) {
			boolean f = userService.existUserWithRoleId(str[i]);
			if (!f) {
				result.put("errorIndex", i);
				result.put("errorMsg", "角色下面有用户,不能删除!");
				return result.toString();
			}
		}
		int delNums = roleService.roleDelete(delIds);

		if (delNums > 0) {
			result.put("success", true);
			result.put("delNums", delNums);
		} else {
			result.put("errorMsg", "删除失败");
		}
		return result.toString();
	}

		JSONObject result = new JSONObject();
		int saveNums = 0;
		if (StringUtil.isNotEmpty(roleId)) {
			saveNums = roleService.roleUpdate(role);
		} else {
			saveNums = roleService.roleAdd(role);
		}
		if (saveNums > 0) {
			result.put("success", true);
		} else {
			result.put("success", true);
			result.put("errorMsg", "保存失败");
		}
	
		return result.toString();
	}
	
	
	@ResponseBody
	@RequestMapping("/roleDelete.do")
	public String roleDelete(HttpServletRequest request){
		String delIds = request.getParameter("delIds");
		JSONObject result = new JSONObject();
		String str[] = delIds.split(",");
		for (int i = 0; i < str.length; i++) {
			boolean f = userService.existUserWithRoleId(str[i]);
			if (!f) {
				result.put("errorIndex", i);
				result.put("errorMsg", "角色下面有用户,不能删除!");
				return result.toString();
			}
		}
		int delNums = roleService.roleDelete(delIds);

		if (delNums > 0) {
			result.put("success", true);
			result.put("delNums", delNums);
		} else {
			result.put("errorMsg", "删除失败");
		}
		return result.toString();
	}

	
	@ResponseBody
	@RequestMapping("/roleAuth.do")
	public String roleAuth(HttpServletRequest request){
		String roleId=request.getParameter("roleId");
		String authIds=request.getParameter("authIds");
		Role role = new Role();
		role.setRoleId(Integer.parseInt(roleId));
		role.setAuthIds(authIds);
		JSONObject result = new JSONObject();
		int updateNums = roleService.roleAuthIdsUpdate(role);
    
	@Resource
	private RoleService roleService;
	
    @RequestMapping("/main.do")
    public String main(HttpServletRequest request){
    	HttpSession session=request.getSession();
    	if(session.getAttribute("user")!=null){
    		return "main";
    	}else{
    		String userName = request.getParameter("userName");
        	String password = request.getParameter("password");
        	User user = new User();
        	user.setUserName(userName);
        	user.setPassword(password);
        	User u=userService.getUser(user);
        	if(u!=null){
    			session.setAttribute("user", u);
    			return "main";
        	}
    	}
    	request.setAttribute("error", "用户名或密码错误!");
    	return "/login";
    }
    
    
    @RequestMapping("/login.do")
    public String login(){
//    	return "main";
    	return "/login";
    }
    
    
    @ResponseBody  
    @RequestMapping("/getMenu.do")
    public String  getMenu(HttpServletRequest request){
    	HttpSession session = request.getSession();
    	String parentId=request.getParameter("parentId");
    	User user =(User) session.getAttribute("user");
    	User u = userService.getUser(user);
    	String authIds = roleService.getAuthIds(u.getRoleId());
//    	String authIds = roleService.getAuthIds(1);
    	JSONArray jsonArray=authService.getAuthMenu(Integer.parseInt(parentId), authIds);
    	return jsonArray.toString();
    }

	@Resource
	private UserService userService;
	
	@ResponseBody 
	@RequestMapping("/userlist.do")
	public String userList(HttpServletRequest request){
		String page = request.getParameter("page");
		String rows = request.getParameter("rows");

		User user = null;
		String s_userName=request.getParameter("s_userName");
		String s_roleId=request.getParameter("s_roleId");
		if(StringUtil.isNotEmpty(s_userName)||StringUtil.isNotEmpty(s_roleId)){
			user = new User();
		}
		
		if(StringUtil.isNotEmpty(s_userName)){
			user.setUserName(s_userName);
		}
		
		if(StringUtil.isNotEmpty(s_roleId)){
			user.setRoleId(Integer.parseInt(s_roleId));
		}
		
		PageBean pageBean = null;
		
		if (page!=null&&rows!=null) {			
			pageBean=new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
		}
		
		JSONArray jsonArray = userService.getUserList(user, pageBean);
		int total = userService.getUserCount(user);
		JSONObject result=new JSONObject();
		result.put("rows", jsonArray);
		result.put("total", total);
		return result.toString();		
	}
	
	@ResponseBody 
	@RequestMapping("/save.do")
	public String saveUser(HttpServletRequest request){
		String userName=request.getParameter("name");
		String password=request.getParameter("password");
				saveNums = -1;
			}else{
				//后期可以使用回滚防止添加一半出现错误
				saveNums=studentService.studentAdd(stu);
				Reward r = new Reward();
				r.setStudentNo(studentNo);
				r.setDeptNo(deptNo);
				rewardService.rewardAdd(r);
			}
		}else{
			stu.setId(id);
			saveNums = studentService.studentUpdate(stu);
		}
		if(saveNums==-1){
			result.put("success", true);
			result.put("errorMsg", "此用户名已经存在");
		}else if(saveNums==0){
			result.put("success", true);
			result.put("errorMsg", "保存失败");
		}else{
			result.put("success", true);
		}
		return result.toString();
	}
	
	@ResponseBody 
	@RequestMapping("/delete.do")
	public String delete(HttpServletRequest request){
		String studentNo = request.getParameter("studentNo");
		//使用回滚删除
		Integer code =studentService.studentDelete(studentNo);
		rewardService.rewardDelete(studentNo);
		gradeService.gradeDelete(studentNo);
		JSONObject result=new JSONObject();
		if(code>0){
			result.put("success", true);
			result.put("delNums", code);
		}else{
			result.put("errorMsg", "删除失败");
		}
		return result.toString();
	}
}
package com.java.controller;

		String roleId=request.getParameter("roleId");
		String userId=request.getParameter("userId");
		
		User user = new User();
		user.setUserName(userName);
		user.setPassword(password);
		user.setRoleId(Integer.parseInt(roleId));
		if(StringUtil.isNotEmpty(userId)){
			user.setId(Integer.parseInt(userId));
		}
		
		JSONObject result=new JSONObject();
	
		int saveNums=0;
		if(StringUtil.isNotEmpty(userId)){
			saveNums=userService.updateUser(user);
		}else{
			if(userService.testExitUser(userName)!=null){
				saveNums=-1;
			}else{
				saveNums=userService.addUser(user);					
			}
		}
		if(saveNums==-1){
			result.put("success", true);
			result.put("errorMsg", "此用户名已经存在");
		}else if(saveNums==0){
			result.put("success", true);
			result.put("errorMsg", "保存失败");
		}else{
			result.put("success", true);
		}
		return result.toString();
	}

	
	@ResponseBody 
	@RequestMapping("/modifyPassword.do")
	public String modifyPassword(HttpServletRequest request){
		String id =request.getParameter("userId");
		String newPassword=request.getParameter("newPassword");
		User user = new User();
		user.setId(Integer.parseInt(id));
		user.setPassword(newPassword);
		int updateNum=userService.modifyPassword(user);
		
		JSONObject result=new JSONObject();
		if(updateNum>0){
			result.put("success", "true");
			request.getSession().invalidate();
		}else{
			result.put("success", "true");
		
		String s_roleName=request.getParameter("s_roleName");
		Role role = null;
		if(StringUtil.isNotEmpty(s_roleName)){
			role =new Role();
			role.setRoleName(s_roleName);
		}
		JSONArray jsonArray = roleService.getRoleList(role, pageBean);
		int total = roleService.getRoleListCount(role);
		JSONObject result=new JSONObject();
		result.put("rows", jsonArray);
		result.put("total", total);
		System.out.println("role/roleList.do:"+result);
		return result.toString();
	}
	
	@ResponseBody
	@RequestMapping("/comBoList.do")
	public String getComBoList(HttpServletRequest request){
		JSONArray jsonArray=new JSONArray();
		JSONObject jsonObject=new JSONObject();
		jsonObject.put("roleId", "");
		jsonObject.put("roleName", "请选择...");
		jsonArray.add(jsonObject);
		jsonArray.addAll(roleService.getRoleList(null, null));
		System.out.println("role/comBoList.do:"+jsonArray);
		return jsonArray.toString();
	}
	
	@ResponseBody
	@RequestMapping("/save.do")
	public String saveRole(HttpServletRequest request){
		String roleName=request.getParameter("roleName");
		String roleDescription=request.getParameter("roleDescription");
		String roleId=request.getParameter("roleId");
//		Role role=new Role(roleName, roleDescription);
		Role role = new Role();
		role.setRoleName(roleName);
		role.setRoleDescription(roleDescription);
		if (StringUtil.isNotEmpty(roleId)) {
			role.setRoleId(Integer.parseInt(roleId));
		}

		JSONObject result = new JSONObject();
			role =new Role();
			role.setRoleName(s_roleName);
		}
		JSONArray jsonArray = roleService.getRoleList(role, pageBean);
		int total = roleService.getRoleListCount(role);
		JSONObject result=new JSONObject();
		result.put("rows", jsonArray);
		result.put("total", total);
		System.out.println("role/roleList.do:"+result);
		return result.toString();
	}
	
	@ResponseBody
	@RequestMapping("/comBoList.do")
	public String getComBoList(HttpServletRequest request){
		JSONArray jsonArray=new JSONArray();
		JSONObject jsonObject=new JSONObject();
		jsonObject.put("roleId", "");
		jsonObject.put("roleName", "请选择...");
		jsonArray.add(jsonObject);
		jsonArray.addAll(roleService.getRoleList(null, null));
		System.out.println("role/comBoList.do:"+jsonArray);
		return jsonArray.toString();
	}
	
	@ResponseBody
	@RequestMapping("/save.do")
	public String saveRole(HttpServletRequest request){
		String roleName=request.getParameter("roleName");
		String roleDescription=request.getParameter("roleDescription");
		String roleId=request.getParameter("roleId");
//		Role role=new Role(roleName, roleDescription);
		Role role = new Role();
		role.setRoleName(roleName);
		role.setRoleDescription(roleDescription);
		if (StringUtil.isNotEmpty(roleId)) {
			role.setRoleId(Integer.parseInt(roleId));
		}

		JSONObject result = new JSONObject();
		int saveNums = 0;
		if (StringUtil.isNotEmpty(roleId)) {
			saveNums = roleService.roleUpdate(role);
		} else {
			saveNums = roleService.roleAdd(role);
		}
		if (saveNums > 0) {
			result.put("success", true);
		} else {
			result.put("success", true);
		String state = request.getParameter("state");
		if(StringUtil.isEmpty(state)){
			System.out.println("state is NUll");
			state = "2";
		}
		PageBean pageBean = null;
		if (page!=null&&rows!=null) {			
			pageBean=new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
		}
		JSONArray jsonArray=studentService.getStudentListByState(state, pageBean);
		int total = studentService.getStudentListByStateCount(state);
		JSONObject result=new JSONObject();
		result.put("rows", jsonArray);
		result.put("total", total);
		System.out.println("list.do result:"+result);
		return result.toString();	
	}
	
	
	@ResponseBody 
	@RequestMapping("/save.do")
	public String save(HttpServletRequest request){
		String id = request.getParameter("id");
		String studentName = request.getParameter("studentName");
		String studentNo = request.getParameter("studentNo");
		String sex = request.getParameter("sex");
		String deptNo = request.getParameter("deptNo");
		String deptName = request.getParameter("deptName");
		String IdCard = request.getParameter("IdCard");
		String address = request.getParameter("address");
		String postcode = request.getParameter("postcode");
		Student stu = new Student();
		
		stu.setStudentName(studentName);
		stu.setStudentNo(studentNo);
		stu.setSex(sex);
		stu.setDeptNo(deptNo);
		stu.setIdCard(IdCard);
		stu.setAddress(address);
		stu.setPostcode(postcode);
		int saveNums = 0;
		JSONObject result=new JSONObject();
		if(StringUtil.isEmpty(id)){
			if(studentService.existStudentWithStudentNo(studentNo)){
				saveNums = -1;
			}else{
				//后期可以使用回滚防止添加一半出现错误
				saveNums=studentService.studentAdd(stu);
				Reward r = new Reward();
				r.setStudentNo(studentNo);
				r.setDeptNo(deptNo);
				rewardService.rewardAdd(r);
			}
				result.put("errorMsg", "无此学生,添加成绩失败");
				return result.toString();
			}else{
				if(gradeService.exitGrade(studentNo)){
					result.put("success", true);
					result.put("errorMsg", "此学生已有成绩,无法添加,请选择修改");
					return result.toString();
				}else{
					if(StringUtil.isNotEmpty(math)){
						Grade g = new Grade();
						g.setSubjectId(1);
						g.setStudentNo(studentNo);
						g.setScore(Integer.parseInt(math));
						gradeService.addGrade(g);
					}
					if(StringUtil.isNotEmpty(english)){
						Grade g = new Grade();
						g.setSubjectId(2);
						g.setStudentNo(studentNo);
						g.setScore(Integer.parseInt(english));
						gradeService.addGrade(g);
					}
					if(StringUtil.isNotEmpty(sport)){
						Grade g = new Grade();
						g.setSubjectId(3);
						g.setStudentNo(studentNo);
						g.setScore(Integer.parseInt(sport));
						gradeService.addGrade(g);
					}
					if(StringUtil.isNotEmpty(political)){
						Grade g = new Grade();
						g.setSubjectId(4);
						g.setStudentNo(studentNo);
						g.setScore(Integer.parseInt(political));
						gradeService.addGrade(g);
					}
					int mathScore = Integer.parseInt(math);
					int englishScore = Integer.parseInt(english);
					int sportScore = Integer.parseInt(sport);
					int politicalScore = Integer.parseInt(political);
					Student s = new Student();
					if(mathScore<60||englishScore<60||sportScore<60||politicalScore<60){
						s.setStudentNo(studentNo);
						s.setState("1");
		return "/login";
	}

}  
package com.java.controller;

@Controller  
@RequestMapping("/student") 
public class StudentController {

	@Resource
	private StudentService studentService;
	
	@Resource
	private RewardService rewardService;
	
	@Resource
	private GradeService gradeService;
	
	@ResponseBody 
	@RequestMapping("/studentList.do")
	public String studentList(HttpServletRequest request){
		String page = request.getParameter("page");
		String rows = request.getParameter("rows");
		Student stu = null;
						s.setStudentNo(studentNo);
						s.setState("2");
						studentService.studentUpdateState(s);
					}
					result.put("success", true);
					return result.toString();
				}
				
			}
		}
	}
	
	@RequestMapping("/update.do")
	public String gradeUpdate(HttpServletRequest request){
		String id = request.getParameter("id");
		String studentNo = request.getParameter("studentNo");
		String score = request.getParameter("score");
		
		return null;
	}
}
package com.java.controller;

@Controller
@RequestMapping("/role")
public class RoleController {
	
		result.put("total", total);
		System.out.println("list.do result:"+result);
		return result.toString();	
	}
	
	@ResponseBody
	@RequestMapping("/getStudentListByState.do")
	public String getStudentListByState(HttpServletRequest request){
		String page = request.getParameter("page");
		String rows = request.getParameter("rows");
		String state = request.getParameter("state");
		if(StringUtil.isEmpty(state)){
			System.out.println("state is NUll");
			state = "2";
		}
		PageBean pageBean = null;
		if (page!=null&&rows!=null) {			
			pageBean=new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
		}
		JSONArray jsonArray=studentService.getStudentListByState(state, pageBean);
		int total = studentService.getStudentListByStateCount(state);
		JSONObject result=new JSONObject();
		result.put("rows", jsonArray);
		result.put("total", total);
		System.out.println("list.do result:"+result);
		return result.toString();	
	}
	
	
	@ResponseBody 
	@RequestMapping("/save.do")
	public String save(HttpServletRequest request){
		String id = request.getParameter("id");
		String studentName = request.getParameter("studentName");
		String studentNo = request.getParameter("studentNo");
		String sex = request.getParameter("sex");
		String deptNo = request.getParameter("deptNo");
		String deptName = request.getParameter("deptName");
		String IdCard = request.getParameter("IdCard");
		String address = request.getParameter("address");
		String postcode = request.getParameter("postcode");
		Student stu = new Student();
		
		stu.setStudentName(studentName);
		stu.setStudentNo(studentNo);
		stu.setSex(sex);
    		return "main";
    	}else{
    		String userName = request.getParameter("userName");
        	String password = request.getParameter("password");
        	User user = new User();
        	user.setUserName(userName);
        	user.setPassword(password);
        	User u=userService.getUser(user);
        	if(u!=null){
    			session.setAttribute("user", u);
    			return "main";
        	}
    	}
    	request.setAttribute("error", "用户名或密码错误!");
    	return "/login";
    }
    
    
    @RequestMapping("/login.do")
    public String login(){
//    	return "main";
    	return "/login";
    }
    
    
    @ResponseBody  
    @RequestMapping("/getMenu.do")
    public String  getMenu(HttpServletRequest request){
    	HttpSession session = request.getSession();
    	String parentId=request.getParameter("parentId");
    	User user =(User) session.getAttribute("user");
    	User u = userService.getUser(user);
    	String authIds = roleService.getAuthIds(u.getRoleId());
//    	String authIds = roleService.getAuthIds(1);
    	JSONArray jsonArray=authService.getAuthMenu(Integer.parseInt(parentId), authIds);
    	return jsonArray.toString();
    }
    
    
    @ResponseBody  
    @RequestMapping("/getAuthMenu.do")
    public String  getAuthMenu(HttpServletRequest request){
    	String parentId=request.getParameter("parentId");
		String roleId=request.getParameter("roleId");
    	String str ="";
    	String authIds = roleService.getAuthIds(Integer.parseInt(roleId));
    	JSONArray jsonArray=authService.getAuthMenu(Integer.parseInt(parentId), authIds);
    	str=jsonArray.toString();
    	return str;
    }

@Controller
@RequestMapping("/grade")
public class GradeController {
	@Resource
	private GradeService gradeService;
	
	@Resource
	private StudentService studentService;
	
	@ResponseBody
	@RequestMapping("/getGrade.do")
	public String getGrade(HttpServletRequest request){
		String studentNo = request.getParameter("studentNo");
		if(StringUtil.isNotEmpty(studentNo)){
			JSONArray json=gradeService.getGradeList(studentNo);
			return json.toString();
		}else{
			return null;
		}
	}
	

	@ResponseBody
	@RequestMapping("/save.do")
	public String save(HttpServletRequest request){
		String studentNo = request.getParameter("studentNo");
		String score = request.getParameter("score");
		String id = request.getParameter("id");

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值