docs: 优化 README.md 补充项目说明与管理员初始账号
This commit is contained in:
46
README.md
46
README.md
@@ -1,8 +1,38 @@
|
|||||||
version:1.0
|
# OPC 协同平台 (opc-web)
|
||||||
【commit】
|
|
||||||
开发了多角色登录功能:实现了普通用户、企业用户和管理员可以分别通过不同入口登录系统,并且支持用账号、邮箱或手机号登录。
|
OPC 协同平台是一款专为企业与个人专家(OPC)提供任务协同、资质认证、需求流转的综合性数字化服务平台。
|
||||||
开发了权限分配功能:实现了一个可以在后台勾选页面的功能,通过给角色勾选菜单,就能直接控制不同身份的人登录后能看到哪些页面。
|
|
||||||
开发了实名认证功能:实现了企业可以提交营业执照认证,个人可以提交身份证件(包含18位真实身份证校验)和技能认证的功能,管理员在后台可以进行审核。
|
## 🚀 核心功能 (v1.0)
|
||||||
开发了任务大厅功能:实现了企业可以发布需要做的任务,个人用户能在任务大厅里看到这些任务,并且可以点击申请接单,大家都能看到任务是“进行中”还是“已完成”状态。
|
|
||||||
开发了专家库与邀约功能:实现了企业可以去专家库里搜索合适的人才,并且可以直接给他们发送工作邀约。
|
* **多角色登录**:普通用户、企业用户和管理员拥有不同的专属入口,支持账号、邮箱或手机号全渠道登录。
|
||||||
开发了平台数据大屏展示功能:实现了在首页和各自的工作台页面,展示任务数量、收益金额等核心数据的概览面板。
|
* **权限动态分配**:通过后台勾选页面和菜单,直接动态控制不同身份人员登录后的可见权限。
|
||||||
|
* **资质实名认证**:企业主体可提交营业执照,个人可提交身份证件(含严格 18 位格式校验)及技能认证,统一由后台进行强审核。
|
||||||
|
* **任务分发大厅**:企业可快速发布悬赏任务,个人专家在任务大厅申请接单。全员可实时追踪任务“进行中”、“已完成”等生命周期。
|
||||||
|
* **专家库与定向邀约**:企业在专家智库中检索合适人才,并支持一键下发私密工作邀约。
|
||||||
|
* **全局数据监控大屏**:提供多端的数据概览看板,直观展示平台任务吞吐量及核心收益指标。
|
||||||
|
|
||||||
|
## 🔐 初始管理员账号
|
||||||
|
|
||||||
|
系统初始化时默认生成的超级管理员凭证如下:
|
||||||
|
|
||||||
|
* **登录账号**:`admin`
|
||||||
|
* **登录密码**:`admin123`
|
||||||
|
|
||||||
|
> ⚠️ 请在生产环境首次登录后,立即前往后台修改默认密码。
|
||||||
|
|
||||||
|
## 💻 本地运行指南
|
||||||
|
|
||||||
|
**环境要求**: Node.js 18+
|
||||||
|
|
||||||
|
1. 安装项目依赖:
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
2. 启动前端开发服务器:
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
3. 构建生产版本:
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
import os
|
|
||||||
import re
|
|
||||||
|
|
||||||
def replace_alerts(directory):
|
|
||||||
for root, dirs, files in os.walk(directory):
|
|
||||||
for file in files:
|
|
||||||
if file.endswith(".vue"):
|
|
||||||
path = os.path.join(root, file)
|
|
||||||
with open(path, 'r', encoding='utf-8') as f:
|
|
||||||
content = f.read()
|
|
||||||
|
|
||||||
if "alert(" in content:
|
|
||||||
# Check if ElMessage is already imported
|
|
||||||
if "import { ElMessage } from 'element-plus'" not in content:
|
|
||||||
# Add import after <script setup...
|
|
||||||
content = re.sub(r'(<script setup.*?>)', r'\1\nimport { ElMessage } from "element-plus";', content)
|
|
||||||
|
|
||||||
# Replace alert('msg') with ElMessage.info('msg')
|
|
||||||
# This is simple and might need refinement for complex cases
|
|
||||||
content = re.sub(r'alert\((.*?)\)', r'ElMessage.info(\1)', content)
|
|
||||||
|
|
||||||
with open(path, 'w', encoding='utf-8') as f:
|
|
||||||
f.write(content)
|
|
||||||
print(f"Updated {path}")
|
|
||||||
|
|
||||||
replace_alerts("src")
|
|
||||||
Reference in New Issue
Block a user