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

学建筑的网站电子商务网站的建设与规划

学建筑的网站,电子商务网站的建设与规划,网站建设个人网站,团员个人信息查询系统需求 博客系统升级#xff0c;本来是用 express 写的#xff0c;最近发现 Egg 不错#xff0c;正好学习升级一下。边学边写。 Ps#xff1a;相同的功能#xff0c;迭代的写法#xff0c;由浅入深#xff0c;做个记录。 开发 初始化 安装 node版本需要 14.20.0…需求 博客系统升级本来是用 express 写的最近发现 Egg 不错正好学习升级一下。边学边写。 Ps相同的功能迭代的写法由浅入深做个记录。 开发 初始化 安装 node版本需要 14.20.0 LTS版本最低要求 8.xnpm版本 6.1.0 mkdir egg-blogs cd egg-blogs npm init egg --typesimple npm install npm run dev默认启动的是 7001 端口。 创建目录结构 egg-blogs ├── package.json ├── app | ├── router.js │ ├── controller │ | └── home.js │ ├── service │ | └── user.js │ ├── middleware │ └── extend │ ├── helper.js ├── config | ├── plugin.js | ├── config.default.js安装配置插件 npm i --save egg-mysql在 config/plugin.js 中配置 /** type Egg.EggPlugin */ module.exports {// had enabled by egg// static: {// enable: true,// }mysql: {enable: true,package: egg-mysql} };在 config/config.default.js 中配置数据库信息 /* eslint valid-jsdoc: off *//*** param {Egg.EggAppInfo} appInfo app info*/ module.exports appInfo {/*** built-in config* type {Egg.EggAppConfig}**/const config exports {};// use for cookie sign key, should change to your own and keep securityconfig.keys appInfo.name 123;// add your middleware config hereconfig.middleware [];// 关闭安全配置config.security {xframe: {enable: false,},csrf: {enable: false,}};// 添加mysql配置config.mysql {client: {host: 127.0.0.1,port: 3306,user: root,password: 12345678,database: blogs,charset: utf8},app: true,agent: false,};// add your user config hereconst userConfig {// myAppName: egg,};return {...config,...userConfig,}; };开发逻辑 Controller 创建 app/controller/tags.js const {Controller} require(egg);class TagsController extends Controller {/** 获取标签列表 */async getTagList() {await this.ctx.service.tags.getTagList(this.ctx.request.query);}/** 新建标签 */async createTag() {await this.ctx.service.tags.createTag(this.ctx.request.body);}/** 更新标签 */async updateTag() {await this.ctx.service.tags.updateTag(this.ctx.request.body);}/** 删除标签 */async deleteTag() {await this.ctx.service.tags.deleteTag(this.ctx.request.query);} }module.exports TagsController;Service 创建 app/service/tags.js const {Service} require(egg);class TagsService extends Service {async getTagList(params) {const {ctx, app} this;const tagName params?.tagName || ;const result await app.mysql.query(SELECT * FROM tag WHERE tagName LIKE % tagName % ORDER BY create_time DESC)// 判断是否成功const isSuccess result Array.isArray(result);if (isSuccess) {ctx.state 200;ctx.body {code: 200,success: true,data: result,msg: 获取标签数据成功,show: false}} else {ctx.state 200;ctx.body {code: 500,success: false,msg: 获取标签数据失败,show: true}}}async createTag(params) {const {ctx, app} this;const tagInfo {id: ctx.helper.snowflakeId(),tagName: params.tagName,tagColor: params.tagColor,remark: params.remark,create_time: app.mysql.literals.now,update_time: app.mysql.literals.now}const result await app.mysql.insert(tag, tagInfo);if (result.affectedRows 1) {ctx.status 200;ctx.body {code: 200,success: true,data: tagInfo,msg: 创建标签成功,show: true}} else {ctx.status 200;ctx.body {code: 500,success: false,msg: 创建标签失败,show: true}}}async updateTag(params) {const {ctx, app} this;const tagInfo {id: params.id,tagName: params.tagName,tagColor: params.tagColor,remark: params.remark,update_time: app.mysql.literals.now}const result await app.mysql.update(tag, tagInfo);const isSuccess result result.affectedRows 1;if (isSuccess) {ctx.status 200;ctx.body {code: 200,success: true,data: tagInfo,msg: 修改标签成功,show: true}} else {ctx.status 200;ctx.body {code: 500,success: false,msg: 修改标签失败,show: true}}}async deleteTag(params) {const {ctx, app} this;const ids params.ids.split(,);const result await app.mysql.beginDoomedTransactionScope(async (conn) {for (let i 0; i ids.length; i) {await app.mysql.delete(tag, {id: ids[i]});}return {success: true}}, ctx);if (result.success) {ctx.status 200;ctx.body {code: 200,success: true,msg: 删除标签成功,show: true}} else {ctx.status 200;ctx.body {code: 500,success: false,msg: 删除标签失败,show: true}}} }module.exports TagsService;暴露路由 在 app/router.js 中暴露路由接口 /*** param {Egg.Application} app - egg application*/ module.exports app {const {router, controller} app;router.get(/, controller.home.index);// 操作标签router.get(/tags/getTagList, controller.tags.getTagList);router.post(/tags/createTag, controller.tags.createTag);router.put(/tags/updateTag, controller.tags.updateTag);router.delete(/tags/deleteTag, controller.tags.deleteTag); };总结 基础增删改查完成但是当前状态最好不要部署在服务器上。 问题 安全防护并未打开SQL防注入语法不对直接操作数据库不规范、不标准各类安全措施没有增加各类数据校验没有增加
http://www.dnsts.com.cn/news/94832.html

相关文章:

  • 烟台制作网站的公司wordpress改雅黑
  • 做网站买服务器怎么样如何进入公司网站后台
  • h5网站制作报价做网站的销售怎么样
  • 东莞市住房和城乡建设局网站sem优化案例
  • 驻马店河南网站建设教你如何快速建站
  • 网站建设咨询问卷网上商城有哪几个
  • 工艺品网站建设大埔县住房和城乡规划建设局网站
  • 网站代运营wordpress 注册赠送
  • 网站交互怎么做的专业提供网站建设服务公司
  • 企业建站找哪个公司用htlm做静态网站怎么用
  • 邯郸网站优化怎么做wordpress font awesome
  • 长春网站建设首选网诚传媒天蒙旅游区网络营销推广方法
  • 网站是怎么盈利的荥阳网页设计
  • 扬州市城乡建设局招标网站做一个网址多少钱
  • 东莞信科网站建设网络营销研究背景及意义
  • 部分网站为什么网页打不开的原因及解决方法深圳房地产网站建设
  • 宝塔建设的网站火车头发布失败seo关键词优化软件排名
  • 那个网站可以做数学题赚钱摄影logo设计
  • 珠宝设计网站长尾词排名优化软件
  • 从百万到千万 网站怎么优化移动积分兑换商城官方网站
  • 个人网站怎么建立步骤网站正在建设中9797
  • 安装wordpress主题优化关键词的正确方法
  • 长沙优化网站建设南宁网站设计方案
  • 网站需要在哪些方面备案外贸网站建设 双语网站建设
  • 网站模板下载 免费用腾讯云做网站的好处
  • 代做网站排名小型企业网站开发价格
  • app网站开发案例wordpress 关闭
  • 徐州网站建设方案优化企业邮箱安全吗
  • asp网站自动识别手机找外包做网站不给代码
  • 有关网站开发的参考文献公司网站后台打不开