wengsy 4年前
コミット
af1a73bb93
22個のファイルの変更77行の追加30行の削除
  1. +1
    -1
      APP/Dockerfile
  2. +5
    -1
      APP/get_ip.sh
  3. +1
    -0
      APP/requirements.txt
  4. +1
    -1
      APP/server.py
  5. バイナリ
      APP/static/img/00962f4b-d42f-43ea-89c0-9d41f64461df.png
  6. バイナリ
      APP/static/img/177aa600-d94b-493f-950f-92b7b03579d4.png
  7. +1
    -1
      APP/static/js/ip.js
  8. +3
    -3
      APP/static/js/wsy.js
  9. +4
    -4
      APP/templates/add.html
  10. +1
    -1
      APP/templates/personal.html
  11. +2
    -1
      APP/templates/register.html
  12. +1
    -1
      APP/templates/square.html
  13. バイナリ
      APP/view/__pycache__/block.cpython-36.pyc
  14. バイナリ
      APP/view/__pycache__/collection.cpython-36.pyc
  15. +1
    -1
      APP/view/block.py
  16. +5
    -13
      APP/view/database.py
  17. +11
    -2
      docker-compose.yml
  18. +8
    -0
      mysql/Dockerfile
  19. +5
    -0
      mysql/privileges.sql
  20. +3
    -0
      mysql/schema.sql
  21. +23
    -0
      mysql/setup.sh
  22. +1
    -0
      requirements.txt

+ 1
- 1
APP/Dockerfile ファイルの表示

@ -1,5 +1,5 @@
FROM python:3.6
WORKDIR /code
WORKDIR /APP
ENV FLASK_RUN_HOST 0.0.0.0
ENV FLASK_APP server.py
COPY . .

+ 5
- 1
APP/get_ip.sh ファイルの表示

@ -1,5 +1,9 @@
#!/bin/bash
echo var url=\"$IP:$PORT\"; > ./static/js/ip.js
if [ $IP ];then
echo var url=\"$IP\"\; > ./static/js/ip.js
else
echo "no ip" > ./1.txt
fi

+ 1
- 0
APP/requirements.txt ファイルの表示

@ -6,3 +6,4 @@ Flask_Cors==3.0.9
APP==0.0.1
beautifulsoup4==4.9.3
Pillow==8.1.0
pymysql

+ 1
- 1
APP/server.py ファイルの表示

@ -21,5 +21,5 @@ app.register_blueprint(bp_auth)
app.register_blueprint(bp_start)
app.register_blueprint(bp_block)
app.register_blueprint(bp_collection)
#init_db()
init_db()
app.run(host="0.0.0.0",port="5000",debug=True)

バイナリ
APP/static/img/00962f4b-d42f-43ea-89c0-9d41f64461df.png ファイルの表示

変更前 変更後
幅: 717  |  高さ: 325  |  サイズ: 38 KiB

バイナリ
APP/static/img/177aa600-d94b-493f-950f-92b7b03579d4.png ファイルの表示

変更前 変更後
幅: 717  |  高さ: 325  |  サイズ: 38 KiB

+ 1
- 1
APP/static/js/ip.js ファイルの表示

@ -1 +1 @@
var url="106.75.245.180:5000";
var url="106.75.245.180";

+ 3
- 3
APP/static/js/wsy.js ファイルの表示

@ -221,7 +221,7 @@ var page = new Vue({
if (type == 'block') {
data.append('collection_id', page.id);
}
sendRequest(url, data, getContent(type));
sendRequest(url, data, function(){getContent(type);});
},
delete_item: function (order, type) {
var url = type + '/delete';
@ -335,9 +335,9 @@ var recommend = new Vue({
});
},
methods: {
jump_to: function (url, block_name) {
jump_to: function (url, block_name,collection_id) {
cookie.setCookie('name',block_name);
cookie.setCookie('id',null);
cookie.setCookie('id',collection_id);
window.location.href = "/add";
},
like: function (order) {

+ 4
- 4
APP/templates/add.html ファイルの表示

@ -19,9 +19,6 @@
<script src="../static/js/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../static/js/showdown-master/dist/showdown.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
getContent('block');
});
</script>
@ -564,7 +561,10 @@
}
}
});
var phonenum = cookie.getCookie('id');
$(document).ready(function () {
getContent('block');
});
var collection_name = new Vue({
el: "#collection_name",
data: {

+ 1
- 1
APP/templates/personal.html ファイルの表示

@ -506,7 +506,7 @@
</div>
</div>
</div>
<div class="widget-numbers" v-on:click="jump_to('start.add',item.name,id);">
<div class="widget-numbers" v-on:click="jump_to('start.add',item.name,item.id);">
<span>{{item.name}}</span></div><br>
<div class="widget-subheading"><i
class="fa fa-tags"></i>&nbsp;&nbsp;<span>{{item.tag}}</span></div>

+ 2
- 1
APP/templates/register.html ファイルの表示

@ -33,7 +33,8 @@
var password = $(obj).parent().prev().prev().children("#password").val();
var password1 = $(obj).parent().prev().children("#password1").val();
var suf_url = ":5000/bp_auth/register";
var pre_url = "http://"
var pre_url = "http://";
//alert(pre_url+url+suf_url);
$.ajax({
type: "POST",
url: pre_url+url+suf_url,

+ 1
- 1
APP/templates/square.html ファイルの表示

@ -414,7 +414,7 @@
<!-- 集锦样例 -->
<div class="col-md-4" v-for="item in textList":key="item.id" v-bind:item='item'>
<div class="card mb-3 bg-arielle-smile widget-chart text-white card-border">
<div class="widget-numbers" v-on:click="jump_to('start.add',item.name,id);"><span>{{item.name}}</span></div><br>
<div class="widget-numbers" v-on:click="jump_to('start.add',item.name,item.id);"><span>{{item.name}}</span></div><br>
<div class="widget-subheading"><i class="fa fa-tags"></i>&nbsp;&nbsp;<span>{{item.tag}}</span></div>
<!-- 未点赞时的状态:点击超链接以增加赞 -->
<div class="widget-description text-danger" v-if="item.isLike!=true"><i class="pe-7s-like" v-on:click="like(item.order)"></i>&nbsp;<span class="pr-1">{{item.like}}</span></div>

バイナリ
APP/view/__pycache__/block.cpython-36.pyc ファイルの表示


バイナリ
APP/view/__pycache__/collection.cpython-36.pyc ファイルの表示


+ 1
- 1
APP/view/block.py ファイルの表示

@ -60,7 +60,7 @@ def get_block():
"""
try:
row = db_session.query(Block).join(CollectionBlock, CollectionBlock.block_id == Block.id).filter(
CollectionBlock.id == id).all()
CollectionBlock.id == id).order_by(Block.order).all()
for item in row:
block_tmp = {}
block_tmp['id'] = item.id

+ 5
- 13
APP/view/database.py ファイルの表示

@ -1,18 +1,8 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import socket
def get_host_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
engine = create_engine('mysql+pymysql://root:cui,logic@127.0.0.1:3306/cp', convert_unicode=True)
engine = create_engine('mysql+pymysql://root:root@mysql:3306/cp', convert_unicode=True)
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
@ -24,6 +14,8 @@ def init_db():
# 在这里导入定义模型所需要的所有模块,这样它们就会正确的注册在
# 元数据上。否则你就必须在调用 init_db() 之前导入它们。
import APP.view.model
#file=open('./1.txt','w')
#print('aaaa',file=file)
Base.metadata.drop_all(bind=engine)
Base.metadata.create_all(bind=engine)
#file.close()

+ 11
- 2
docker-compose.yml ファイルの表示

@ -5,15 +5,24 @@ services:
build: ./mysql
environment:
- MYSQL_DATABASE=cp
- MYSQL_ROOT_PASSWORD=cui,logic
- MYSQL_ROOT_PASSWORD=root
ports:
- "3306:3306"
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# networks:
# - mysql_net
web:
build: ./APP
ports:
- "5000:5000"
links:
- mysql:mysql
- mysql
depends_on:
- mysql
environment:
IP:
#networks:
# mysql_net:
# driver: bridge

+ 8
- 0
mysql/Dockerfile ファイルの表示

@ -1 +1,9 @@
FROM mysql:5.7
ENV MYSQL_ALLOW_EMPTY_PASSWORD yes
COPY setup.sh /mysql/setup.sh
COPY schema.sql /mysql/schema.sql
COPY privileges.sql /mysql/privileges.sql
CMD ["sh", "/mysql/setup.sh"]
EXPOSE 3306

+ 5
- 0
mysql/privileges.sql ファイルの表示

@ -0,0 +1,5 @@
use mysql;
select host, user from user;
update user set authentication_string = password('root') where user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush priveleges;

+ 3
- 0
mysql/schema.sql ファイルの表示

@ -0,0 +1,3 @@
create database 'cp' default character set utf-8 collate utf8_general_ci;
use cp;

+ 23
- 0
mysql/setup.sh ファイルの表示

@ -0,0 +1,23 @@
#!/bin/bash
set -e
#查看mysql服务的状态,方便调试,这条语句可以删除
echo `service mysql status`
echo '1.启动mysql....'
#启动mysql
service mysql start
sleep 3
echo `service mysql status`
#重新设置mysql密码
echo '2.开始修改密码....'
mysql < /mysql/privileges.sql
echo '3.修改密码完毕....'
#sleep 3
echo `service mysql status`
echo `mysql容器启动完毕,且数据导入成功`
tail -f /dev/null

+ 1
- 0
requirements.txt ファイルの表示

@ -3,3 +3,4 @@ pymongo==3.11.0
SQLAlchemy==1.3.22
requests==2.20.0
beautifulsoup4==4.9.3
pymysql

読み込み中…
キャンセル
保存