目录
摘要 1
Abstract 2
1 引言 1
1.1项目研究背景 2
1.2 项目研究内容 4
1.3 项目研究意义 6
2 技术选型与开发环境 8
2.1 技术选型 8
2.1.1Node.js介绍 8
2.1.2 异步编程介绍 9
2.1.3 阻塞和非阻塞介绍 10
2.1.4 MySQL数据库介绍 11
2.1.5 Nginx服务器介绍 13
2.1.6StrongLoop进程管理器介绍 13
2.1.7微信公众号平台介绍 13
3 需求分析 15
3.1 技术需求 15
3.2 功能需求 17
3.3 系统操作流程 17
3.3.1 关注微信图书借阅平台 17
3.3.2 功能菜单 17
3.3.3 扫码 18
3.3.4 确认操作 18
4.系统设计 19
4.1概要设计 19
4.2详细设计 20
4.2.1 微信公众号设置 20
4.2.2 获取图书信息 20
4.2.3 存储图书信息 21
4.2.4 展示图书信息 21
5数据库设计 23
5.1概念结构设计 23
5.2物理结构设计 23
6.图书借阅平台的实现 26
6.1配置 26
6.2主界面 26
6.2添加图书 27
6.3借阅图书 28
6.4归还图书 29
6.5浏览图书 30
参考文献 32
1.2 项目研究内容
本课题所要研究的是长久以来Web研发领域前、后端耦合的问题,进而提出一个全新的解决方案,并通过开发一个基于微信的图书借阅系统展示新方案的可行性。在此以前,我们所面临的耦合问题的广义层面含义包含很多中,下面逐一分析这些问题的具体内容。
从代码的耦合来看,Web研发领域在初始时期由于代码规模较小,并不注重代码分离。导致出现了不区分前后端的混合式编程模式。比如页面数据从数据库获取之后直接写入到页面当中输出给浏览器端展示。衍生出的问题包括代码糅杂和混乱不堪,难以区分服务端代码和客户端代码,不容易做分离,代码的灵活性不强,不利于代码复用和拓展。业界要想实现中到大型规模的软件产品,与团队协作的重要性不可分。需要由不同的团队负责不同的模块代码开发,所以解耦的第一步就是要解开代码层面的耦合,以适应大规模的代码量。
从业务的耦合来看,以电商网站为例,用户完成一个完整的购物流程包括浏览商品,搜索商品,购物车下单,支付,等待收货,完成评价。既然作为一个整体的流程,那么每个环节之间必然会出现耦合,比如搜索功能依赖展示功能呈现结果,支付功能依赖购物车功能计算总价,评价系统依赖用户信息系统。安装业务的属性来分,展示功能属于浏览器端,搜索和支付属于服务器端,但脱离前、后任何一端,任何功能都无法完成。传统Web研发领域由于前后端耦合的问题,导致前后端的职责并没有很好地区分开来,虽然从业务职责上各个模块是分离的,但是前后端确实耦合的,这就给开发带来了难度,依旧不能解决随着业务规模扩展带来的开发压力。
从服务的耦合来看,随着目前移动互联网的火热,用户接入互联网的方式不再局限于电脑。使用安卓智能手机、苹果智能手机、各类平板电脑、所占据的用户比例甚至已经超过了传统使用PC浏览器的上网比例。这又给Web研发提出了新的要求,如果统一提供跨平台的服务。传统Web研发由于后端服务与前端服务耦合,不方便做统一地跨平台支持。同样的,随着用户设备多样性的增加,需要提供越来越多的服务需求,开发压力也将陡增。
本课题通过研究Web领域历史以来的演变过程中所诞生的各种技术的优缺,通过探索新的模式,提出新的方案来解决耦合这个历史问题。以达到让前后端的代码更分离、职责更清晰、服务更统一、分工更合理高效的目的。
要解决问题需要首先分析问题出现的原因,传统Web开发带来的制约源于后端没有纯粹地负责数据处理和存取功能,而是过度耦合了前端呈现和用户交互。后端应该不区分端,只负责提供统一地服务,本文转载自http://www.biyezuopin.vip/onews.asp?id=14741然后各个端之间负责利用后端提供的服务接口完成与用户的交互和业务逻辑。这样就找到了解决问题的方法。
所尝试探索的途径是通过引入Node.js中间层技术,在Web服务器上同时部署服务器程序和Node.js中间层,当用户请求前端页面时,前端首先访问Node.js中间层进行页面关键数据的渲染,当后续需要数据时即可跳过Node.js中间层直接请求后端。当用户进行页面跳转时,使用Node.js中间层和前端同步页面路由,对于用户的状态管理等与业务逻辑不是强相关的服务也由Node.js来提供。依然会依赖Ajax技术来处理大量的数据依赖,除了引入Node.js之外,其他的前后端技术依然保持不变,变的是它们之间的组合关系。本课题所要实现的,也正是这样一种合理利用Node.js中间层解决前后端耦合的研发模式。

<template><div id="app"><img class="logo" src="./assets/logo.png"><hello></hello><p>Welcome to your Vue.js app!</p><p>To get a better understanding of how this boilerplate works, check out<a href="http://vuejs-templates.github.io/webpack" target="_blank">its documentation</a>.It is also recommended to go through the docs for<a href="http://webpack.github.io/" target="_blank">Webpack</a> and<a href="http://vuejs.github.io/vue-loader/" target="_blank">vue-loader</a>.If you have any issues with the setup, please file an issue at this boilerplate's<a href="https://github.com/vuejs-templates/webpack" target="_blank">repository</a>.</p><p>You may also want to checkout<a href="https://github.com/vuejs/vue-router/" target="_blank">vue-router</a> for routing and<a href="https://github.com/vuejs/vuex/" target="_blank">vuex</a> for state management.</p></div>
</template><script>
import Hello from './components/Hello'export default {components: {Hello}
}
</script><style>
html {height: 100%;
}body {display: flex;align-items: center;justify-content: center;height: 100%;
}#app {color: #2c3e50;margin-top: -100px;max-width: 600px;font-family: Source Sans Pro, Helvetica, sans-serif;text-align: center;
}#app a {color: #42b983;text-decoration: none;
}.logo {width: 100px;height: 100px
}
</style>
















基于微信公众号的图书借阅平台设计与实现相关推荐

  1. java识别农作物病虫害源码,一种基于微信公众号的农作物虫害识别方法及其系统与流程...

    本发明涉及农业技术领域,具体涉及一种基于微信公众号的农作物虫害识别方法及其系统. 背景技术: 针对目前我国农作物害虫诊断大多停留在人工阶段,存在着客观性差.效率低.劳动强度大等问题,以及现有的基于图像 ...

  2. Java毕业设计_基于微信公众号的驾校练车预约系统

    基于微信公众号的驾校练车预约系统 基于微信公众号的驾校练车预约系统mysql数据库创建语句 基于微信公众号的驾校练车预约系统oracle数据库创建语句 基于微信公众号的驾校练车预约系统sqlserve ...

  3. 【微信开发】基于微信公众号的早起签到程序

    说明:本文讲述基于公众号实现的签到程序的全部开发过程.开发环境:PHP+MySQL. 源码下载地址:敬请期待 关注微信公众号[知行校园汇]可免费下载全部源码. >>点击查看WUTer计算机 ...

  4. 基于微信公众号(服务号)实现扫码自动登录系统功能

    微信提供了两种方法都可以实现扫描登录. 一种是基于微信公众平台的扫码登录,另一种是基于微信开放平台的扫码登录. 两者的区别: 微信开放平台需要企业认证才能注册(认证费用300元,只需要认证1次,后续不 ...

  5. 兴趣部落打通微信公众号,两大平台联手优化兴趣社交体验

    手Q兴趣部落推出有一段时间了,这项被视为手Q提升用户粘度,强化移动社交属性的策略被证明是明智之举,如今,在手Q 5.42亿月活跃用户的支持下,兴趣部落的人气也扶摇直上,上线短短一年时间来便涌现出许多百 ...

  6. 微信公众平台如何授权第三方平台,干货到!微信公众号怎样添加第三方平台及取消授权

    微信公众号是我们经常使用的行业资讯平台,通过公众号我们可以更有效的传播我们的服务信息.提供更改的服务水平.效率.有时候我们需要授权第三方平台来进行操作会更加方便,那么如何在微信公众平台授权第三方平台呢 ...

  7. 基于微信公众号扫描设备二维码并完成设备激活操作

    微信公众号扫描功能实现 自定义菜单 配置微信公众号数据交互服务器 填写服务器配置 验证消息的确来自微信服务器 获取接口调用认证参数access_token 关闭自定义菜单 创建自定义菜单 移动端设计 ...

  8. 基于微信公众号的答题投票系统——项目开发心得体会记录

    项目背景 项目需求 后台管理功能 用户功能 页面展示 项目信息 开发语言 数据库 项目构想 获取幸运用户 用户答题 项目反思 项目进度的安排 团队合作沟通方面 项目的构建 技术 本地开发和上线的模式区 ...

  9. ASP.NET之MVC 微信公众号授权给第三方平台的技术实现流程一(获取第三方平台access_token)...

    "出于安全考虑,在第三方平台创建审核通过后,微信服务器每隔10分钟会向第三方的消息接收地址推送一次component_verify_ticket,用于获取第三方平台接口调用凭据". ...

  10. 【解决】小程序|微信公众号授权给第三方平台时报“没有绑定公众号”

    如果第三方平台没有全网发布时,要在授权账号公众号列表里面填写的原始ID.如果是测试小程序,也要加上小程序的原始ID. 实操验证的经验. 完整小程序第三方授权操作流程: 1.第三方平台需要设置小程序权限 ...

最新文章

  1. 谁说女生不能搞IT?一名女程序员的奋斗史
  2. 【数学建模】线性代数知识汇总,参加建模大赛的小伙伴看过来,它会是你的最优选
  3. sqlsugar 批量删除guid类型主键_一文上手SqlSugar 「C# 数据操作系列」
  4. 推荐系统与协作过滤面临的主要问题
  5. 下列类型不是mysql_下列( )类型不是MySQL中常用的的数据类型。
  6. apache FilesMatch
  7. Adobe(Pr Ae)动态图形模板
  8. 移动端手机抓包工具小助手
  9. 12864与24C04的原理和使用方法——以电子密码锁为例(上篇)
  10. 绝地求生最新服务器维护,绝地求生更新维护公告最新:3月10日吃鸡停机维护多久 几点开始?...
  11. MacBookPro安装JDK环境
  12. CAD曲线快捷键是什么?CAD画曲线教程
  13. 诛仙服务器不显示网速,诛仙2解决游戏网速三部曲
  14. 路由器广域网接口简介
  15. mysql:Row size too large (> 8126)
  16. excel三种查重方法
  17. [转载]无盘网吧实际施工过程中的注意事项(转)
  18. Tikz 画图技巧二
  19. appcan.frame.open打开的浮空窗口页面不开启弹动的情况下,也会有微微的滑动bug...
  20. ios 点生成线路 百度地图_百度地图iOS SDK

热门文章

  1. win10易升_电脑win7系统免费自动升级至win10系统,获得持续软件和安全更新
  2. js正则表达式语法大全
  3. 【ESD专题】案例:同样是RS485芯片,ESD的性能却天差地别?
  4. 安全工具之hackingtool
  5. GAN网络笔记 MATLAB实现
  6. 软件测试——开发模型、测试模型介绍
  7. mPush实战笔记6常见问题
  8. Nmap内网扫描端口
  9. 通过代码创建obj格式的三维模型
  10. 哈勃分析系统解密:中招敲诈木马不用交赎金