# roleAuth-framework-view
**Repository Path**: nanquan_begin/roleAuth-framework-view
## Basic Information
- **Project Name**: roleAuth-framework-view
- **Description**: 权限框架-SQL执行权限-动态国际化配置!
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2024-08-25
- **Last Updated**: 2026-02-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 权限-国际化-license-代码生成器-统计gitlub代码
## README
# 简介:
* 本项目是一个通用的管理平台基础框架,具备完善的权限管理架构、部门组织结构支持、License授权机制、多语言切换功能、代码生成器、网络数据加密传输能力,以及集成 GitLab 代码统计等功能。
* 该框架诞生于作者在多年开发实践中对现有框架的一些不满,以及对不合理设计的反思。在长达六年半的职业生涯中,作者积累了大量实际经验,并以此为基础打造出一个更贴近开发者思维、符合自身技术价值观的理想框架。
该项目旨在为中后台系统提供一套稳定、灵活、易于扩展的基础解决方案,帮助开发者快速搭建企业级应用。
# 项目结构说明:
* 前端项目:framework-view,VUE3.0+TS。
* 后端项目:framework,Java开发。
* 1.部分设计思想和架构图可在后端项目framework的framework-sql目录下面找到。
* 2.完整项目介绍文档请查阅位于后端项目framework根目录下的role-auth-frame.docx文档。
# 项目介绍与演示
* 1.项目简介:https://www.bilibili.com/video/BV1J3MhzREbq/
* 2.授权:https://www.bilibili.com/video/BV1ngMhzxEKS/
* 3.代码生成:https://www.bilibili.com/video/BV1cgMhz4EMG/
* 4.权限:https://www.bilibili.com/video/BV1ngMhzxEPK/
# Quick start 快速启动指南:
* 1.环境要求:jdk 1.8.0_411(JDK版本低于1.8.0_161会造成加密长度128位无法加解密--国外技术封锁)。maven 3.6.3。node v18.20.4。npm v9.6.3。
* 2.在Mysql数据库中创建一个库,名字必须叫作**role-auth-frame**。项目启动后,自己创建授权文件后可以修改任意数据库名称,初次启动没有授权只能只用开发时使用的数据库名称role-auth-frame。
* 3.项目自带授权功能,启动后自由授权,不受原作者的任何约束。目前只支持MySql数据库,如需其它数据库支持,请联系我(QQ287476638)。
* 4.执行后端项目下framework-sql/ALL_INIT_SQL/data&table.sql文件,初始化数据库。
* 5.启动com/roleAuth/server/frame/FrameApplication.java启动类,启动前先设置JVM虚拟机参数-DXX:CurrentMachineCode=BFEBFBFF000906EAMQACE42E817509504A。这里是作者的机器码,因为初次启动没有授权,所以需要指定机器码,一旦启动后,自行授权项目,不受原作者的任何约束。
* 6.在前端(node环境)代码的framework-view根目录下面执行npm insatall初始化项目,初始化后执行命令npm run dev启动项目。
* 7.运行com.roleAuth.framework.root.RootHandler生成一个仅存在磁盘上的"幽灵用户"(上帝),这个用户仅存在磁盘上与项目jar包处于同一个目录下面。
* 8.启动如有困难请联系我协助(QQ287476638)。

# 功能简介
* 1.授权

* 2.系统配置

* 3.多语言字典

* 4.菜单管理

* 5.代码生成器

* 6.权限管理

* 7.部门组织

# props规则:
* 1.**props**暴露参数或父组件交互函数(函数由父组件实现)
* 2.被动调用函数(子组件实现函数)采用**defineExpose**+$refs方式暴露
* 3.父子组件需要协作完成的功能通过**props**传递函数(高耦合);父子组件不需要协助的功能采用**@**事件通知(低耦合)
* 4.禁止使用**provide**和**inject**跨组件传参(可读性差,维护性差)
* 5.**props**结构不需要定义接口结构,反正**VUE与TS**在同一个文件夹下面
# 组件使用规则:
* 1.**if**必须使用**public**。
* 2.**@**必须使用**()=>**传参数或着直接调用,无法使用**bind
**。
* 3.传入的函数只要有this必须使用**bind**函数,关注的是函数**封装的逻辑**本身。
* 4.凡是直接调用的函数无需使用**bind**,因为关注的是**返回值**。
* 5.props中的Function类型,默认值会被调用,如果子组件需要使用默认值,则需要嵌套一层函数。
````jsonpath
openFunction: {
type: Function,
default:() => {
return () => true
}
}
````
* 6.前端模型可以分割共用后台同一个模块。