在安卓上部署flask小应用

QPythonL

在应用商城发现一个有趣的安卓python终端QpythonL并且包含包安装工具, 不过不知道安装源是否是国外,所以可能下载包需要一点时间,打开app界面,选择QPYPI安装flaskpip install flask

Screenshot_2019-03-13-21-10-21-726_com.hipipal.qp.png

Screenshot_2019-03-13-21-09-59-970_com.hipipal.qp.png

Screenshot_2019-03-13-21-10-08-475_com.hipipal.qp.png

用flask写一个上班打卡app

在电脑上写好代码传手机上的, 触屏撸码有点难受的
app.py

from flask import Flask, request, render_template
from datetime import datetime
import json

app = Flask(__name__)

# 计算工时
def count_time():
    # 需要写文件的绝对路径
    wait_t = json.load(open("/storage/emulated/0/work_time/work_time.json"))
    wait = []
    for i in wait_t:
        for j in wait_t[i]:
            start_work = wait_t[i][j][0]
          
            after_work = wait_t[i][j][-1]
           # 8.30到9.30弹性打卡 12.到13.30午休 6.到6.30晚饭时间
           # 平均工时不得低于8小时 
            if start_work == after_work:
                every_day = -8
      
            elif 18 < after_work < 18.5:
                every_day = 18 - start_work - 9.5
            else:
                every_day = after_work - start_work - 10
            wait.append(every_day)
    print wait
    resp = 0
    for every_day in wait:
        resp += every_day
    return round(resp, 2)

@app.route('/', methods=["POST", "GET"])
def index():
    now = datetime.now()
    date = dict()
    date["hour"] = now.hour
    date["min"] = now.minute
    date["day"] = now.day
    date["mon"] = now.month
    if request.method == "GET":
        resp = count_time()
        return render_template("index.html", date=date, resp=resp)
    if request.method == "POST":
        work_time = request.form["work_time"]
        my_work_time = json.load(open("/storage/emulated/0/work_time/work_time.json"))
        hour = work_time.split(":")[0].strip()
        minute = work_time.split(":")[-1].strip()

        update_time = round(int(hour) + float(minute) / 60, 2)
        my_work_time[str(now.month)] = {} if str(now.month) not in my_work_time else my_work_time[str(now.month)]
        my_work_time[str(now.month)][str(now.day)] = [] if str(now.day) not in my_work_time[str(now.month)] else \
            my_work_time[str(now.month)][str(now.day)]
        my_work_time[str(now.month)][str(now.day)].append(update_time)
        json.dump(my_work_time, open("/storage/emulated/0/work_time/work_time.json", "w"))
        resp = count_time()
        return render_template("index.html", date=date, resp=resp)


if __name__ == '__main__':
    app.run(port=10058, debug=True)

templates/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>WORK TIME</title>
    <style>
        body {
            background-color: black;
            text-align: center;
        }
        #c_time{
            color: white;
            font-size: 40px;
        }
        #input-circle{
            border-radius: 25px;
            padding: 20px;
            width: 46%;
            height: 2%;
            text-align: center;
            position: absolute;
            top:20%;
            left: 25%;
        }

        #btn-success {
            border-radius: 50%;
            padding: 20px;
            width: 50%;
            height: 30%;
            text-align: center;
            position: absolute;
            top: 30%;
            left: 25%;
            font-size: 50px;
            color: black;

        }
    </style>
</head>
<body>
<form action="/">
        <!-- Text input-->
        <input type="text" value="{{ date.hour }} : {{ date.min }}" id="input-circle" name="work_time">
        <p id="c_time">工时计算:{{ resp }}</p>
        <!-- Button -->
        <button id="btn-success" formmethod="post" formaction="/">打卡</button>
</form>


</body>
</html>

work_time.json 初始为空

{}

样式有点丑

工时计算还可以设计更完善一点 存一个桌面书签方便打开


Screenshot_2019-03-13-21-37-13-686_com.miui.home.png
Screenshot_2019-03-13-21-37-23-764_com.tencent.mt.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 元旦过后,七连阳,看来这个春节前的红包还是比较有诚意的。但是呢,有诚意的红包,还是有大小之分的,我们还是希望拿一个...
    弘历投资阅读 101评论 0 0
  • 虽然此时的心境并不能完全应景,但是想了几天的感恩盘点,我觉得很有必要完成。 1.首先要感恩的肯定是父母,是他们给了...
    梅子Mey阅读 290评论 2 11
  • 城里的高楼太密,车流太急,人口太多,闪烁的霓虹灯太晃眼。。。。。。 被桎梏的总想逃避,所以,城里的日子,会让你分外...
    将小鱼儿游大海阅读 212评论 0 1