同步操作将从 ktianc/kinit 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Kinit 是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
vue-element-plus-admin:基于vue3、element-plus、typescript 的后台集成方案
RuoYi 若依官方网站:RuoYi 是一个优秀的 Java 后台管理系统
django-vue-admin:django-vue-admin 是一个优秀的基于 Django 开发后台管理系统
小诺开源技术 (xiaonuo.vip):国内首个国密前后端分离快速开发平台
PC端演示地址:https://kinit.ktianc.top
微信小程序端演示:
gitee地址(主推):https://gitee.com/ktianc/kinit
github地址:https://github.com/vvandk/kinit
菜单管理:配置系统菜单,操作权限,按钮权限标识、后端接口权限等。
角色管理:角色菜单权限分配。
用户管理:用户是系统操作者,该功能主要完成系统用户配置。
个人主页:配置用户个人信息,密码修改等。
字典管理:对系统中经常使用的一些较为固定的数据进行维护。
文件上传:对接阿里云OSS与本地存储。
登录认证:目前支持用户使用手机号+密码登录方式,手机验证码登录方式。
说明:新建用户密码默认为手机号后六位;
说明:用户在第一次登录时,必须修改当前用户密码。
系统配置:对本系统环境信息进行动态配置
网站标题,LOGO,描述,ICO,备案号,底部内容,微信小程序信息,等等
用户分布:接入高德地图显示各地区用户分布情况
数据概览:提供两种数据统计展示模板,更直观的查看数据统计情况
智慧大屏:大屏展示办公室空气质量实时检测
数据分析
登录日志:用户登录日志记录和查询。
操作日志:系统用户每次操作功能时的详细记录。
接口文档:提供自动生成的交互式 API 文档,与 ReDoc 文档
导入导出:灵活支持数据导入导出功能
已加入常见的Redis
、MySQL
、MongoDB
数据库异步操作。
命令行操作:新加入 Typer
命令行应用,简单化数据初始化,数据表模型迁移。
定时任务:在线操作(添加、修改、删除)任务调度包含查看任务执行结果日志。
登录认证:支持用户使用手机号+密码方式登录,微信手机号一键登录方式。
说明:新建用户密码默认为手机号后六位;
说明:用户在第一次登录时,必须修改当前用户密码。
导航栏:首页、我的、工作台
我的基础功能:编辑资料、头像修改、密码修改、常见问题、关于我们等
TypeScript
基本语法pages.json
所有配置。获取代码
git clone https://gitee.com/ktianc/kinit.git
Python == 3.10 (其他版本均未测试)
nodejs >= 14.0 (推荐使用最新稳定版)
Mysql >= 8.0
MongoDB (推荐使用最新稳定版)
Redis (推荐使用最新稳定版)
安装依赖
cd kinit-api
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
修改项目环境配置
修改 application/settings.py
文件
# 安全警告: 不要在生产中打开调试运行!
DEBUG = True # 如果当前为开发环境则改为 True,如果为生产环境则改为 False
修改项目数据库配置信息
在 application/config
目录中
development.py:开发环境
production.py:生产环境
# Mysql 数据库配置项
# 连接引擎官方文档:https://www.osgeo.cn/sqlalchemy/core/engines.html
# 数据库链接配置说明:mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称"
SQLALCHEMY_DATABASE_TYPE = "mysql"
# Redis 数据库配置
REDIS_DB_ENABLE = True
REDIS_DB_URL = "redis://:密码@地址:端口/数据库"
# MongoDB 数据库配置
MONGO_DB_ENABLE = True
MONGO_DB_NAME = "数据库名称"
MONGO_DB_URL = f"mongodb://用户名:密码@地址:端口/?authSource={MONGO_DB_NAME}"
# 阿里云对象存储OSS配置
# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,
# Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# * [accessKeyId] {String}:通过阿里云控制台创建的AccessKey。
# * [accessKeySecret] {String}:通过阿里云控制台创建的AccessSecret。
# * [bucket] {String}:通过控制台或PutBucket创建的bucket。
# * [endpoint] {String}:bucket所在的区域, 默认oss-cn-hangzhou。
ALIYUN_OSS = {
"accessKeyId": "accessKeyId",
"accessKeySecret": "accessKeySecret",
"endpoint": "endpoint",
"bucket": "bucket",
"baseUrl": "baseUrl"
}
# 获取IP地址归属地
# 文档:https://user.ip138.com/ip/doc
IP_PARSE_ENABLE = True
IP_PARSE_TOKEN = "IP_PARSE_TOKEN"
并在alembic.ini
文件中配置数据库信息,用于数据库映射
# mysql+pymysql://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
[dev]
# 开发环境
version_locations = %(here)s/alembic/versions_dev
sqlalchemy.url = sqlalchemy.url = mysql+pymysql://root:123456@127.0.0.1/kinit
[pro]
# 生产环境
version_locations = %(here)s/alembic/versions_pro
sqlalchemy.url = sqlalchemy.url = mysql+pymysql://root:123456@127.0.0.1/kinit
创建数据库
mysql> create database kinit; # 创建数据库
mysql> use kinit; # 使用已创建的数据库
mysql> set names utf8; # 设置编码
初始化数据库数据
# 项目根目录下执行,需提前创建好数据库
# 会自动将模型迁移到数据库,并生成初始化数据
# 执行前请确认执行的环境与settings.py文件中配置的DEBUG一致
# (生产环境)
python3 main.py init
# (开发环境)
python3 main.py init --env dev
修改项目基本配置信息
修改数据库表 - vadmin_system_settings 中的关键信息
# 阿里云短信配置
sms_access_key
sms_access_key_secret
sms_sign_name_1
sms_template_code_1
sms_sign_name_2
sms_template_code_2
# 高德地图配置
map_key
# 微信小程序配置
wx_server_app_id
wx_server_app_secret
# 邮箱配置
email_access
email_password
email_server
email_port
启动
# 进入项目根目录下执行
python3 main.py run
cd kinit-admin
pnpm install
pnpm run dev
pnpm run build:pro
安装依赖
# 安装依赖库
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 第三方源:
1. 阿里源: https://mirrors.aliyun.com/pypi/simple/
修改项目数据库配置信息
在 application/config
目录中
development.py:开发环境
production.py:生产环境
# MongoDB 数据库配置
# 与接口是同一个数据库
MONGO_DB_NAME = "数据库名称"
MONGO_DB_URL = f"mongodb://用户名:密码@地址:端口/?authSource={MONGO_DB_NAME}"
# Redis 数据库配置
# 与接口是同一个数据库
REDIS_DB_URL = "redis://:密码@地址:端口/数据库名称"
启动
python3 main.py
15020221010
密码:kinit2022
获取代码
git clone https://gitee.com/ktianc/kinit.git
修改项目环境配置:
修改 API 端:
文件路径为:kinit-api/application/settings.py
# 安全警告: 不要在生产中打开调试运行!
DEBUG = False # 生产环境应该改为 False
修改定时任务端:
文件路径为:kinit-task/application/settings.py
# 安全警告: 不要在生产中打开调试运行!
DEBUG = False # 生产环境应该改为 False
如果已有 Mysql 或者 Redis 或者 MongoDB 数据库,请修改如下内容,如果没有则不需要修改:
修改 API 端配置文件:
文件路径为:kinit-api/application/config/production.py
# Mysql 数据库配置项
# 连接引擎官方文档:https://www.osgeo.cn/sqlalchemy/core/engines.html
# 数据库链接配置说明:mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://root:123456@177.8.0.7:3306/kinit"
# Redis 数据库配置
# 格式:"redis://:密码@地址:端口/数据库名称"
REDIS_DB_ENABLE = True
REDIS_DB_URL = "redis://:123456@177.8.0.5:6379/1"
# MongoDB 数据库配置
# 格式:mongodb://用户名:密码@地址:端口/?authSource=数据库名称
MONGO_DB_ENABLE = True
MONGO_DB_NAME = "kinit"
MONGO_DB_URL = f"mongodb://kinit:123456@177.8.0.6:27017/?authSource={MONGO_DB_NAME}"
修改定时任务配置文件
文件路径为:kinit-task/application/config/production.py
# Redis 数据库配置
# 与接口是同一个数据库
# 格式:"redis://:密码@地址:端口/数据库名称"
REDIS_DB_ENABLE = True
REDIS_DB_URL = "redis://:123456@177.8.0.5:6379/1"
# MongoDB 数据库配置
# 与接口是同一个数据库
# 格式:mongodb://用户名:密码@地址:端口/?authSource=数据库名称
MONGO_DB_ENABLE = True
MONGO_DB_NAME = "kinit"
MONGO_DB_URL = f"mongodb://kinit:123456@177.8.0.6:27017/?authSource={MONGO_DB_NAME}"
将已有的数据库在 docker-compose.yml
文件中注释
配置阿里云 OSS 与 IP 解析接口地址(可选)
文件路径:kinit-api/application/config/production.py
# 阿里云对象存储OSS配置
# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
# yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,
# Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# * [accessKeyId] {String}:通过阿里云控制台创建的AccessKey。
# * [accessKeySecret] {String}:通过阿里云控制台创建的AccessSecret。
# * [bucket] {String}:通过控制台或PutBucket创建的bucket。
# * [endpoint] {String}:bucket所在的区域, 默认oss-cn-hangzhou。
ALIYUN_OSS = {
"accessKeyId": "accessKeyId",
"accessKeySecret": "accessKeySecret",
"endpoint": "endpoint",
"bucket": "bucket",
"baseUrl": "baseUrl"
}
# 获取IP地址归属地
# 文档:https://user.ip138.com/ip/doc
IP_PARSE_ENABLE = False
IP_PARSE_TOKEN = "IP_PARSE_TOKEN"
前端项目打包:
cd kinit-admin
# 安装依赖包
pnpm install
# 打包
pnpm run build:pro
# 启动并创建所有容器
docker-compose up -d
# 初始化数据
docker-compose exec kinit-api python3 main.py init
# 重启所有容器
docker-compose restart
# 其他命令:
# 停止所有容器
docker-compose down
# 查看所有容器状态
docker-compose ps -a
15020221010
密码:kinit2022
你可以提一个 issue 或者提交一个 Pull Request。
Pull Request:
git checkout -b feat/xxxx
git commit -am 'feat(function): add xxxxx'
git push origin feat/xxxx
pull request
本地开发推荐使用 Chrome 80+
浏览器
支持现代浏览器, 不支持 IE
IE | Edge | Firefox | Chrome | Safari |
---|---|---|---|---|
not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
图1
图2
图3
图4
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。