修复权限按钮类型添加问题,修复日志页面表格未对齐问题
This commit is contained in:
+12
-3
@@ -1,8 +1,17 @@
|
||||
#build时候不会copy以下文件
|
||||
# 构建的相关文件
|
||||
dockerdata
|
||||
docker-compose.yml
|
||||
Dockerfile.server
|
||||
README.md
|
||||
!dockerdata/config.py
|
||||
|
||||
# Python 相关文件
|
||||
migrations/
|
||||
instance/
|
||||
flask_session/
|
||||
venv/
|
||||
.idea/
|
||||
*.log
|
||||
*.db
|
||||
|
||||
# 允许拷贝的文件
|
||||
!dockerdata/start.sh
|
||||
!dockerdata/gunicorn.conf.py
|
||||
+18
-8
@@ -1,18 +1,28 @@
|
||||
FROM pearadminflask/python3.7-flask:pillow
|
||||
FROM python:3.11-bookworm
|
||||
|
||||
# 复制项目文件
|
||||
RUN mkdir -p /app
|
||||
COPY . /app/
|
||||
COPY dockerdata/start.sh /app/
|
||||
COPY dockerdata/gunicorn.conf.py /app/
|
||||
COPY ./dockerdata/start.sh /app/start.sh
|
||||
WORKDIR /app/
|
||||
|
||||
# 设置必备项
|
||||
ENV TIME_ZONE Asia/Shanghai
|
||||
ENV PIPURL "https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.douban.com"
|
||||
|
||||
RUN echo "${TIME_ZONE}" > /etc/timezone \
|
||||
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime
|
||||
RUN apk update && apk add mysql-client
|
||||
RUN chmod +x start.sh
|
||||
RUN sed -i 's/MYSQL_HOST = "127.0.0.1"/MYSQL_HOST = "mysql"/' applications/config.py
|
||||
RUN sed -i 's/REDIS_HOST = "127.0.0.1"/REDIS_HOST = "redis"/' applications/config.py
|
||||
|
||||
# 安装必备库
|
||||
RUN python3 -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
|
||||
|
||||
# 初始化数据库
|
||||
RUN flask db init
|
||||
RUN flask db migrate
|
||||
RUN flask db upgrade
|
||||
RUN flask admin init
|
||||
|
||||
# 运行命令
|
||||
RUN chmod +x start.sh
|
||||
|
||||
# 保持执行
|
||||
CMD /bin/sh
|
||||
|
||||
@@ -2,6 +2,5 @@ from applications import create_app
|
||||
|
||||
app = create_app()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run()
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
version: '3'
|
||||
services:
|
||||
flask:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: flask
|
||||
ports:
|
||||
- "5000:5000"
|
||||
restart: always
|
||||
command: sh -c "/app/start.sh"
|
||||
networks:
|
||||
- my_bridge_network
|
||||
|
||||
networks:
|
||||
my_bridge_network:
|
||||
driver: bridge
|
||||
@@ -1,30 +0,0 @@
|
||||
version: '3'
|
||||
services:
|
||||
redis:
|
||||
image: redis
|
||||
container_name: redis
|
||||
ports:
|
||||
- "63799:6379"
|
||||
mysql:
|
||||
image: mysql
|
||||
container_name: mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: 123456
|
||||
LANG: C.UTF-8
|
||||
TZ: Asia/Shanghai
|
||||
MYSQL_CHARSET: utf8mb4
|
||||
MYSQL_COLLATION: utf8mb4_unicode_ci
|
||||
ports:
|
||||
- "3306:3306"
|
||||
flask:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: flask
|
||||
ports:
|
||||
- "8000:8000"
|
||||
depends_on:
|
||||
- redis
|
||||
- mysql
|
||||
restart: always
|
||||
command: sh -c "./start.sh"
|
||||
+3
-23
@@ -1,25 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Wait for MySQL container to be ready
|
||||
echo "Waiting for MySQL container to start..."
|
||||
until mysql -h mysql -uroot -p123456 -e ";" 2>/dev/null; do
|
||||
echo "MySQL container not ready, sleeping for 5 seconds..."
|
||||
sleep 5
|
||||
done
|
||||
echo "MySQL container started successfully!"
|
||||
|
||||
# to start create the dababase
|
||||
echo " start to create the databse... "
|
||||
mysql -uroot -p123456 -hmysql -e 'CREATE DATABASE PearAdminFlask DEFAULT CHARSET UTF8;'
|
||||
|
||||
|
||||
# Initialize Flask database
|
||||
echo "Initializing Flask database..."
|
||||
flask db init
|
||||
flask db migrate
|
||||
flask db upgrade
|
||||
flask admin init
|
||||
|
||||
# Start gunicorn application
|
||||
echo "Starting gunicorn application..."
|
||||
exec gunicorn -c gunicorn.conf.py "applications:create_app()"
|
||||
# 运行程序
|
||||
echo "Starting application..."
|
||||
python3 app.py
|
||||
@@ -72,7 +72,7 @@
|
||||
elem: '#log-login-table',
|
||||
url: MODULE_PATH + 'loginLog',
|
||||
page: true,
|
||||
cols: cols,
|
||||
cols: JSON.parse(JSON.stringify(cols)), // 复制对象
|
||||
skin: 'line',
|
||||
toolbar: false
|
||||
})
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<label class="layui-form-label">标识</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="powerCode" name="powerCode" autocomplete="off" placeholder="权限标识"
|
||||
class="layui-input" lay-verify="required">
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
@@ -41,7 +41,7 @@
|
||||
<label class="layui-form-label">路径</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="powerUrl" name="powerUrl" autocomplete="off" placeholder="菜单路径"
|
||||
class="layui-input" lay-verify="required">
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" id="openTypeItem">
|
||||
|
||||
Reference in New Issue
Block a user