前書き:#
私は、なぜ出席表にパスワード保護が必要なのか理解できません。ユーザーがリストを入力すればいいのではないでしょうか。この文章は読むことをお勧めしません、あまりにも知能を下げます。参照:本地点名表、基于 HTML,可作为 APK 安装
これは何ですか#
これは Cloudflare Workers にホストされたクラウド出席表で、特定の職務に非常に役立ちます。出席表は現在の時間を表示し、名前をクリックするとそれが取り消されて下に置かれます。また、全選択、全選択解除、テーマ切り替えの機能もあります。
ログインページ:
出席表ページ:
なぜこの奇妙なプロジェクトを作ったのですか?#
なぜなら、著者は市販のほとんどの TODO ソフトウェアが出席表のような効果を実現できないことに気づき、怒りに任せて AI に師事し、20 日間かけてこのコードの塊を作成しました(確かに依存していますが、使えるものです)。今後の計画はデカップリング(例えば、HTML を KV 変数で保存すること)です。
正式に開始#
-
Cloudflare Workers を作成し、コードを貼り付けます。GitHub リポジトリは:https://github.com/afoim/name_cf_workers
-
環境変数を追加
- NAMES はリスト、一行に一つ
- PASSWORD は設定したパスワード
- TOTP_SECRET は設定した TOTP キーで、以下の Python コードで生成できます。
import pyotp
import qrcode
def generate_totp(secret, account_name, issuer_name):
# TOTPオブジェクトを生成
totp = pyotp.TOTP(secret)
# 現在のTOTP値を表示
print(f"現在の TOTP:{totp.now()}")
# QRコードスキャン用のURIを生成 (Google Authenticatorなどに適用)
uri = totp.provisioning_uri(name=account_name, issuer_name=issuer_name)
print(f"TOTP URI: {uri}")
# QRコードを生成
img = qrcode.make(uri)
img.show() # QRコードを表示
if __name__ == "__main__":
# カスタム名称、アカウント、キーを入力
account_name = input("アカウント名を入力してください: ")
issuer_name = input("アプリ名を入力してください: ")
# ランダムキーを生成するか、事前に定義したキーを使用
secret = pyotp.random_base32()
print(f"キー: {secret}")
generate_totp(secret, account_name, issuer_name)