fastapi-amis-admin icon indicating copy to clipboard operation
fastapi-amis-admin copied to clipboard

pywebview集成

Open wanghaisheng opened this issue 3 years ago • 5 comments

有人探索https://github.com/r0x0r/pywebview

或者说直接用pyinstaller打包成exe?

wanghaisheng avatar Jun 06 '22 04:06 wanghaisheng

我也在研究做desktop application的方案

markqiu avatar Sep 12 '22 14:09 markqiu

用多进程后台运行app就行了,以下代码在官方demo backend文件夹下测试成功:

import webview
from multiprocessing import Process, Queue


def run_app(q):
    from main import app
    import uvicorn

    @app.on_event('startup')
    def put_signal():
        q.put('started')
    uvicorn.run(app)


def init(win, q):
    q.get()
    win.load_url('http://127.0.0.1:8000')


if __name__ == '__main__':
    q = Queue()
    p = Process(target=run_app, args=(q,))
    p.start()
    win = webview.create_window('amis', html='<h1>加载中...</h1>')

    webview.start(init, (win, q), gui='cef', debug=False)
    p.terminate()

liunux4odoo avatar Apr 11 '23 04:04 liunux4odoo

谢谢

markqiu avatar Apr 11 '23 04:04 markqiu

支持pyinstaller打包,注意相关库的翻译文件和部分静态资源。

amisadmin avatar Apr 14 '23 00:04 amisadmin

@amisadmin 去年没折腾成功 这两天又开始把玩了 我想搭一个 桌面 bs双端的saas mvp

wanghaisheng avatar Apr 14 '23 05:04 wanghaisheng