import streamlit as st import base64 import os import shutil my_style = ''' ''' # 图片Base64 def image_to_base64(img_path): with open(img_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode() # 压缩文件 def zip_directory(directory_path, output_filename): # 创建一个zip文件 shutil.make_archive(output_filename, 'zip', directory_path) return output_filename + ".zip" # Streamlit app layout st.set_page_config(page_title="EthPen - EthPen.com 简介", page_icon="ℹ️", layout='centered', initial_sidebar_state='auto') st.markdown(f'# Image :rainbow[EthPen.com 简介]', unsafe_allow_html=True) st.subheader(r'', anchor=False, divider='rainbow') st.markdown( f'欢迎踏足 EthPen - 以太之笔!这里汇聚了一系列关于 Ethscriptions 的精细工具集,无论是单一查询、铭文题写,还是批量检索、编码题写,乃至深入的教程导引、数据分析等,以太之笔都将助您铭文题写如飞。我们立志推广 Ethscriptions 的宏大理念,期望 $eths 翱翔于星空,与月相伴!若您携手建议或创意,我们热切期待您的声音。', unsafe_allow_html=True) st.markdown(r'## :rainbow[EthPen 题写铭文的好帮手!]') st.markdown('') st.markdown( '顺便提一句,我是 pztuya。这个网站的所有内容都是我一手打造的。由于能力和时间所限,内容更新的速度可能较慢,甚至程序出错导致你的资金出现问题,我也是需要用户反馈后才去修改,希望您能理解。谢谢您的支持与耐心 😊~') st.markdown( f'''{my_style}Image @pztuya Image @NervosCKB ''', unsafe_allow_html=True) st.markdown( f'''# Image @Ethscriptions ''', unsafe_allow_html=True) st.markdown('### 更新记录') st.markdown('- 2023 年 8 月 28 日以前,项目上线,多种优化。') st.markdown('- 2023 年 9 月 26 日,增加推送通知服务功能') st.markdown('- 2023 年 9 月 26 日,增加更多的数据分析功能') st.markdown('### 更新计划') st.markdown('1. 添加链接 Metamask 钱包功能') st.markdown('2. 添加 Metamask 钱包题写铭文功能') st.markdown('3. 增加教程中心的多种教程') st.markdown('4. 页面优化、代码优化') # 下载所有文件 st.markdown('### 下载数据库和配置文件') database_download_password = os.environ.get('database_download_password', 'get_error') col1, col2 = st.columns(2) database_dl_pw_text_input = col1.text_input("输入密码:", label_visibility='collapsed') database_dl_pw_button = col2.button("提交") if database_dl_pw_button: if database_dl_pw_text_input == database_download_password: current_dir = os.path.dirname(__file__) parent_dir = os.path.dirname(current_dir) ethpen_data_file = os.path.join(parent_dir, 'data') zipped_file = zip_directory(ethpen_data_file, "zipped_directory") with open(zipped_file, "rb") as file: bytes_data = file.read() st.download_button( label="下载文件", data=bytes_data, file_name="EthPen_data.zip", mime="application/zip" ) os.remove(zipped_file) # 删除临时创建的zip文件 else: st.markdown('暂时未开放下载,密码输入错误,请重试。')