update webs docs
This commit is contained in:
parent
e4be66c067
commit
693f2ad1f5
|
@ -0,0 +1,45 @@
|
||||||
|
### 一、网站设计方案实施技术服务
|
||||||
|
|
||||||
|
#### 1. 服务概述
|
||||||
|
我们为企业客户提供从网站策划、视觉设计、前后端开发到部署运维的一站式网站建设解决方案,助力客户打造专业、高效、安全的互联网门户或交易平台。
|
||||||
|
|
||||||
|
#### 2. 服务内容
|
||||||
|
- **网站策划与原型设计**:需求调研、用户体验分析、信息架构设计、原型图设计;
|
||||||
|
- **UI 视觉设计**:品牌风格提取、界面视觉统一、组件系统构建、高保真稿输出;
|
||||||
|
- **前端开发**:采用 Vue/React 框架构建响应式页面,兼容多终端设备,进行性能优化与 SEO 支持;
|
||||||
|
- **后端开发**:基于 Node.js (Express) / NestJS 开发业务逻辑与 API 接口,支持 MySQL/MongoDB 数据库;
|
||||||
|
- **系统部署与上线**:部署至云服务器(如阿里云、腾讯云等),配置 CI/CD 流程,提供安全加固与监控运维支持。
|
||||||
|
|
||||||
|
#### 3. 适用场景
|
||||||
|
- 企业官网 / 品牌官网
|
||||||
|
- 电商商城(B2B/B2C)
|
||||||
|
- 教育、政务、医疗等垂直行业平台
|
||||||
|
- SaaS 管理后台 / 数据可视化平台
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 二、企业 AI 模型训练与接入技术服务
|
||||||
|
|
||||||
|
#### 1. 服务概述
|
||||||
|
为企业构建、训练、部署定制化的 AI 模型,支持多种业务场景如智能客服、推荐系统、图像识别、文档处理等。实现 AI 能力的快速接入与业务融合。
|
||||||
|
|
||||||
|
#### 2. 服务内容
|
||||||
|
- **AI 场景需求分析**:明确业务目标,匹配适用模型类别(如 NLP、CV、推荐等);
|
||||||
|
- **数据处理与标注**:数据清洗、格式规范、智能与人工混合标注服务;
|
||||||
|
- **模型训练与优化**:支持 PyTorch/TensorFlow 等框架,结合 GPU 加速与 AutoML 超参优化;
|
||||||
|
- **模型服务化部署**:封装为 API,支持本地或云端部署,提供调用认证、权限控制与限流服务;
|
||||||
|
- **业务系统集成**:接入现有 CRM、ERP、OA 等系统,实现数据回流与模型迭代闭环。
|
||||||
|
|
||||||
|
#### 3. 支持场景
|
||||||
|
- 客服大模型接入与知识库问答
|
||||||
|
- 电商推荐系统 / 用户画像分析
|
||||||
|
- 图像识别(商品识别、OCR、检测)
|
||||||
|
- NLP 应用(舆情分析、智能问答、文档结构化)
|
||||||
|
- 多模态生成(AI 绘画、广告创意)
|
||||||
|
|
||||||
|
#### 4. 技术优势
|
||||||
|
- 支持大模型微调(如 GPT、BERT、CLIP)与私有化部署
|
||||||
|
- 接入企业专属知识库,提供 RAG 检索增强生成方案
|
||||||
|
- 内置安全策略与日志审计功能,保障模型可控与合规
|
||||||
|
|
||||||
|
---
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules/*
|
||||||
|
package-lock.json
|
|
@ -0,0 +1,37 @@
|
||||||
|
const express = require('express');
|
||||||
|
const jwt = require('jsonwebtoken');
|
||||||
|
const { expressjwt: jwtMiddleware } = require('express-jwt'); // 导入 express-jwt 中间件
|
||||||
|
const app = express();
|
||||||
|
const secret = 'nicetechsg';
|
||||||
|
|
||||||
|
// 中间件:保护所有 /api 路由
|
||||||
|
app.use(
|
||||||
|
'/api',
|
||||||
|
jwtMiddleware({ secret, algorithms: ['HS512'] })
|
||||||
|
);
|
||||||
|
|
||||||
|
app.get("/test", (req, res) =>{
|
||||||
|
res.json({message: "test"})
|
||||||
|
})
|
||||||
|
|
||||||
|
// 登录接口(生成 token)
|
||||||
|
app.post('/login', (req, res) => {
|
||||||
|
const user = { password: 1, username: 'alice' };
|
||||||
|
const token = jwt.sign(user, secret, { expiresIn: '1h' });
|
||||||
|
res.json({ token });
|
||||||
|
});
|
||||||
|
|
||||||
|
// 受保护接口
|
||||||
|
app.get('/api/protected', (req, res) => {
|
||||||
|
res.json({ message: 'You have access!', user: req.auth });
|
||||||
|
});
|
||||||
|
|
||||||
|
// 错误处理
|
||||||
|
app.use((err, req, res, next) => {
|
||||||
|
if (err.name === 'UnauthorizedError') {
|
||||||
|
return res.status(401).json({ message: 'Invalid token' });
|
||||||
|
}
|
||||||
|
next(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.listen(3000, () => console.log('Server started on port 3000'));
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"name": "server",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"express": "^5.1.0",
|
||||||
|
"express-jwt": "^8.5.1",
|
||||||
|
"jsonwebtoken": "^9.0.2"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
class Response {
|
||||||
|
constructor(data){
|
||||||
|
this.code = 200
|
||||||
|
this.msg = 'success'
|
||||||
|
// this.data = data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SuccessResponse extends Response {
|
||||||
|
constructor(data){
|
||||||
|
super(data)
|
||||||
|
this.data = data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ErrorResponse extends Response {
|
||||||
|
constructor(data){
|
||||||
|
super(data)
|
||||||
|
if(typeof data === 'string'){
|
||||||
|
this.code = 500
|
||||||
|
this.msg = data
|
||||||
|
}
|
||||||
|
if (typeof data === 'object'){
|
||||||
|
this.code = 500
|
||||||
|
this.msg = "error"
|
||||||
|
this.data = data
|
||||||
|
}
|
||||||
|
if (data === "" || data === null || data === undefined){
|
||||||
|
this.code = 500
|
||||||
|
this.msg = "error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
SuccessResponse,
|
||||||
|
ErrorResponse
|
||||||
|
}
|
Loading…
Reference in New Issue