chain-check3 / plugins /vue /functions.py
ashm's picture
Upload 21 files
d4ea1a4
import subprocess
async def vue_install_package(path: str, package_name: str):
"""
This function is used to install a package in the Vue project.
Parameters:
package_name : The name of the package.
path : The path of the project.
"""
try:
subprocess.run(["npm", "install", package_name], cwd=path)
return {
"status": "true",
"description": "Package installed successfully.",
}
except Exception as e:
return {"status": "false", "description": str(e)}
async def vue_create_directory(path: str, directory_name: str):
"""
This function is used to create a directory in the Vue project.
Parameters:
path : The path of the project.
directory_name : The name of the directory.
"""
try:
subprocess.run(["mkdir", directory_name], cwd=path)
return {
"status": "true",
"description": "Directory created successfully.",
}
except Exception as e:
return {"status": "false", "description": str(e)}
async def vue_create_file(path: str, file_name: str):
"""
This function is used to create a file in the Vue project.
Parameters:
path : The path of the project.
file_name : The name of the file.
"""
try:
subprocess.run(["touch", file_name], cwd=path)
return {
"status": "true",
"description": "File created successfully.",
}
except Exception as e:
return {"status": "false", "description": str(e)}
async def vue_get_project_file_list(path: str):
"""
This function is used to get the file list of the Vue project.
Parameters:
project_name : The name of the project.
path : The path of the project.
"""
# 使用ls命令获取文件列表
try:
tree = subprocess.run(["ls", path], capture_output=True)
return {
"status": "true",
"description": tree.stdout.decode(),
}
except Exception as e:
return {"status": "false", "description": str(e)}
async def get_vue_project_file_content(path: str, file_name: str):
"""
This function is used to get the content of a file in the Vue project.
Parameters:
path : The path of the file you want to write to.
file_name : The name of the file.
"""
try:
with open(f"{path}/{file_name}", "r") as f:
content = f.read()
return {
"status": "true",
"description": content,
}
except Exception as e:
return {"status": "false", "description": str(e)}
async def write_vue_project_file_content(path: str, file_name: str, content: str):
"""
This function is used to write content to a file in the Vue project.
Parameters:
path : The path of the file you want to write to.
file_name : The name of the file.
content : The content to write.
"""
try:
with open(f"{path}/{file_name}", "w") as f:
f.write(content)
return {
"status": "true",
"description": "File content written successfully.",
}
except Exception as e:
return {"status": "false", "description": str(e)}