当前位置: 首页 > news >正文

怎么引导做淘宝的客户做官方网站/无锡百度关键词优化

怎么引导做淘宝的客户做官方网站,无锡百度关键词优化,恶意网站的防治,网站优化 代码优化1、技术栈 Pm2:node进程管理工具 Restify: 基于Nodejs的REST应用框架 sequelize: 基于Nodejs功能强大的异步ORM框架 swagger:Api配置工具及可视化文档 2、文件结构 /package.json:项目依赖与配置。 npm run dev;执行pm2启动命令做…

1、技术栈

  Pm2:node进程管理工具

  Restify: 基于NodejsREST应用框架

  sequelize: 基于Nodejs功能强大的异步ORM框架

  swagger:Api配置工具及可视化文档

2、文件结构

 

/package.json:项目依赖与配置。

  npm run dev;执行pm2启动命令做进程守护,具体服务配置在ecosystem.json

/ecosystem.json:配置分为两部分。

  Apps 服务name: 服务的进程名称;instances:启动进程实例数量;script:执行启动的脚本文件;env[_pre]:环境变量配置。

  Deploy 部署。Userhost,path:配置部署目标服务器的域名路径及用户;repo,ref:代码仓库及分支;post-deploy等:代码部署前后执行的脚本和启动命令。

/base:服务器架构的核心部

  根据环境变量提取config项目配置,

  启动配套的数据库等services服务,

  加载middleware中间件,

  注册routes路由及相关的controllers控制器逻辑,

  启动服务器监听。

/services 启动前需要初始化的服务

  邮件发送:使用nodemailer模块连接服务器,输出Mailer对象,挂载在this.servie对象上,提供sendMial方法。

  Mysql初始化:使用sequelize模块初始化连接数据库,输出Mysql.db, 挂载在this.servie对象上,提供sequelize实例的方法。

/middleware:自定义的中间件

  auth.js:api权限校验,对应于route配置中meta.autuprivilege_menu_id,true时进行校验,获取保存在session中的permission权限,是否含有对应的privilege_menu_id。

/config:

  app.js:业务逻辑所需的配置,启用的modules模块。

  db.js:mysql、redis数据库域名,端口,用户密码配置

  mail.js:邮件服务器连接配置

  server.jshttp应用监听的域名和端口

2.1 MVC

/routes:

  公共api路由定义,遵照swagger的配置格式,可在注册routercontroller同时,生成动态的在线api文档。

  file.js:

    mete.use:是否启用;mete.auth:是否需要权限;mete.privilege_menu_id:权限id

    controller.name:对应的控制器文件;controller.action:控制器实例的方法;

/model 

  公共的数据模型,sequelize对象关系映射的数据库配置。

  对应于数据库中各个表的定义以及关联关系

/controllers

  公共的控制器类文件

  file.js:

    所有的控制器实例化后,以文件名为key挂载到controlers对象上,当做参数传入控制器实例的方法中,方便控制器逻辑的互相引用。

    按照routes/file.js中,路由与控制器的method、path、controller配置,注册到restify的应用中。

    引用对应的models数据表,按业务逻辑操作数据库。

/modules:数据服务模块

  /config/app.js中modules配置的数据服务模块。同样包含routes,models,controllers

/ge_front与/views:前端静态文件资源。

  在ge_front中进行前端开发,构建打包后的文件全部导入views中存放。

/file: 上传文件的存放目录

3、services中间件路由控制器的提取注册

controllerManager.js: 

  从config/app中提取出公共controller与modules服务模块配置目录,

  使用fs文件模块读取目录下的所有文件名列表,

  动态require加载controller脚本文件,并实例化

  以文件名为key以单例模式挂载在this.contrlllers上

router.js :

  动态提取路由的配置信息后,与controllerManager上的控制器对应注册到restify服务中

  封装执行控制器

  根据路由配置,获取对应的controller和action

  

  将action中的this绑定ctr上下文对象,reques,response,next,params;以及所有当前controller对象;

  统一做返回报文的封装,报错捕获,也可自定义返回报文。

 4、具体服务实现

  1、 controller类的实现

    继承自一个base类,将公共的action方法放于base父类中,方便调用。

    Base类实现actionCall(controllerName,actionName),实际运行中,action可以调用其他类中的action,实现方法复用。

  2、文件上传下载

    multipartBodyParser中间件接收报文实体中数据,保存到file目录下,返回文件名,和文件路径。

    下载根据请求的文件名和文件存储目录,找到具体的文件,创建文件可读流,导入response,返回一个promise,在文件流end事件resolve({isDownload: true});

  3、 单点登录及权限验证

    使用公司统一的单点登录,跳转登录页

    登录返回页面后,调用验证接口

    获取ticket标识cookie信息,在服务端向单点登录服务器请求验证

    通过验证则可以获取当前登录的用户信息

    查询权限配置数据库,将权限保存session中,便于路由方法的使用

转载于:https://www.cnblogs.com/banyue/p/11106937.html

http://www.lbrq.cn/news/1546885.html

相关文章:

  • 宁夏网站建设中/seo百家论坛
  • 自己做网站 怎么赚钱/百度热榜排行
  • 0投资一天赚80/什么是seo关键词
  • 网站开发软硬件配置/百度seo权重
  • 做网站入门看什么书/个人网站如何优化关键词
  • wordpress博客非插件/优化大师手机版下载
  • 深圳找个做网站平台的/市场调研表模板
  • 邢台网站设计哪家专业/网站建设与管理就业前景
  • 学校建设网站/steam交易链接可以随便给别人吗
  • 登录自治区建设厅的网站查询/宁波网络推广seo软件
  • 北京网站建设学校/网站怎么提升关键词排名
  • 网站建设有哪些公司/sem技术培训
  • 合肥网站备案/百度推广官方电话
  • 网站后台显示不了/网络推广外包流程
  • 怎么做网站统计/厦门人才网官网招聘
  • 省政府网站建设/企业培训平台
  • 做百度推广送的网站/种子资源
  • 松原市住房和城乡建设局网站/太原关键词优化公司
  • 公司做网站计入什么科目/360搜索首页网址是多少
  • 永州网站建设开发/app推广工作靠谱吗
  • 淘宝客网站静态还是动态好/云客网平台
  • 网站备案免费的吗/seo的课谁讲的好
  • 专业医疗网站建设/巨量引擎广告投放平台代理
  • 工业外观设计/seo有哪些优缺点?
  • wordpress整站密码访问/网站seo推广公司靠谱吗
  • 龙华做网站的/自助建站工具
  • 简单网站建设/怎样做网站推广
  • 手机网站赏析/广州企业网站建设
  • 那些网站是做俄罗斯鞋子/手机怎么做网站
  • 深圳罗湖做网站58/天津seo实战培训
  • 【案例】ECharts 环形图中心下移后,如何保持中间图片和文案居中
  • MCP协议
  • 【R语言】R 语言中打印含有双引号的字符串时会出现 “\” 的原因解析
  • PyCharm与前沿技术集成指南:AI开发、云原生与大数据实战
  • Mac(四)自定义按键工具 Hammerspoon 的安装和使用
  • 40 C++ STL模板库9-容器2-vector