微信小程序开发边做边学 课件 操作篇-微信小程序第8章 初识后台与数据库_第1页
微信小程序开发边做边学 课件 操作篇-微信小程序第8章 初识后台与数据库_第2页
微信小程序开发边做边学 课件 操作篇-微信小程序第8章 初识后台与数据库_第3页
微信小程序开发边做边学 课件 操作篇-微信小程序第8章 初识后台与数据库_第4页
微信小程序开发边做边学 课件 操作篇-微信小程序第8章 初识后台与数据库_第5页
已阅读5页,还剩35页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章:初识后台与数据库ontents目录本地环境安装与测试01后台api开发C02课前讨论

王恩东,男,汉族,1966年7月出生,山东济南人,计算机专家、中国工程院院士、中国共产党党员。现任浪潮集团副总经理、首席科学家科学家王恩东:让高端服务器有了“中国造”

30多年来,在王恩东及其团队的努力下,浪潮在服务器领域实现从无到有、从弱到强的发展,成长为中国第一、全球第二大服务器供应商,为我国实现服务器领域关键技术突破作出了重大贡献。

坚持不懈努力下,2012年,浪潮正式发布了高端容错计算机系统“天梭K1”,这是中国第一台高端服务器,我国成为世界上第三个掌握高端服务器技术的国家。该成果荣获国家科学技术进步奖一等奖。

近年来,在攻克了高端容错计算机难题后,王恩东又瞄上了前沿领域。他先后主持研发了中国第一代适合云计算时代的新型云服务器、人工智能服务器等产品,并不断快速迭代产品,让浪潮成为全球最大的云服务器供应商,在全球人工智能服务器市场份额也保持第一。

国产服务器崛起

随着信息化对经济、社会发展的不断渗透,各个行业的系统的核心部分都对交易数据的处理,在大规模的在线交易数据处理中之前很难找到承载设备来替代国外主机。

国外厂商更是在国内构建了严密的技术封锁体系,通过一切手段对中国进行技术封锁,主机技术就主要禁运之一。由此,关键应用主机不仅是高端服务器市场利润的主要来源,也是整个软硬件产业的核心。面对IT产业巨头完善的关键应用主机技术,例如IBMPower,HPSuperdome形成封闭而成熟的技术体系,国产服务器崛起势在必行。

掌握大服务器产业,就掌握信息产业话语权。在这样的策略下,中国主机领域从保持着“有市场、无技术、无产业”的状态,到如今体系结构设计和核心技术的突破。中国设立自己的域名根服务器中国设立自己的域名根服务器,从零变成世界第二根服务器的存在主要用于DNS的解析,DNS可当作邮政编码,根域名服务器就是邮递员会通过这个邮政编码更快的投递邮件,解析域名。通常情况下,根域名服务器解析DNS是非常准确的。中国的互联网信息中心一共设立了4台域名根服务器,有F、L、K、L根镜像服务器。此外还有工信部批复的香港域名服务器,因此还有JX0007L的域名根服务器。在IPv4时代,我国没有互联网的根域名服务器,全球只有13台根域名服务器,其中唯一的主根服务器在美国,其他12台辅助根域名服务器分布在美国、日本、欧洲,下图显示了一台标识为“K”的根域名服务器。我们访问一个网站时,通常使用域名访问,经域名服务器翻译成IP地址,才能够访问某个网站,因此域名服务器可以说是互联网的基础设施。

美国控制了域名根服务器,也就控制了所有的域名,如果美国不想让人访问某些域名,就可以屏蔽掉这些域名,相当于这些域名所指向的网站在互联网上消失了,2004年4元,美国将".ly"的域名瘫痪,导致利比亚在互联网上消失了3天。为何要设立中国自己的根服务器?世界各国对美国互联网依赖性大,全部的IPv4根服务器都是在美国政府授权的互联网域名和号码分配机构ICANN统一管理,一直负责全球互联网域名IPv4根服务器、域名体系和IP地址等等管理。所以美国利于对根服务器的控制就可以完全控制互联网,这种情况对其他国家网络安全造成潜在的重大威胁。

此外,在移动互联网、物联网、工业4.0的发展下,迎来了更多的入网终端,这样传统PC、手机到loT终端,都需要通过IP地址接入互联网,因此未来将超过五百亿的设备在线,地址需求数量会是IPv4地址总数超过十倍,但当前的IPv4地址的分配完成,出现紧缺的现象。

随着互联网的发展,IPv6发展成一项非常成熟的技术。不难发现IPv6拥有更多地址数量、更小路由表、更安全等优势,有利于解决IPv4存在的问题。想更有效的解决地址不足,拓展获得更多主动权、进一步实现多边共治的情况,工信部早期通过了设立中国的根服务器管理机构,授权管理F、I、K、L根镜像服务器。

从最初的全球十三台根服务器,亚洲仅一台根服务器部署在日本,而现在中国也有了根服务器,中国现存根服务器有4台。本地环境安装与测试01ranspageT8.1本地环境安装与测试

★安装Wampserver(1)在Wampserver官网下载一个Wampserver安装包,要根据自己电脑的配置情况下载,以达到软件安装完后能以最佳状态运行。

(2)双击解压后的WampServer.exe文件,首先会弹出语言选择,单击“OK”按钮,选择默认的English即可。(3)选择“Iaccepttheagreement”→Next;表示我同意接受条款,如不同意是不容许安装的。8.1本地环境安装与测试

(4)选择安装目录E盘→Next,此处可根据自己喜好选择,如果喜欢装C盘也不是不可以,但为了避免因重装系统而丢失文件,请选择C盘以外的盘来安装比较好。8.1本地环境安装与测试

(5)下一个弹窗单击“Install”,在安装结束前,还会有是否选择默认浏览器和是否选择文本编辑器两个弹窗,开发者可根据自身情况选择默认浏览器与文本编辑器。(6)完成默认浏览器与文本编辑器选择后,等待安装进度结束,单击“Next”按钮,然后单击“Finish”按钮,即完Wampserver的安装。8.1本地环境安装与测试

(7)双击桌面Wampserver的快捷方式,查看Wampserver是否安装成功,如果桌面右下角的图标变绿色,则说明Wampserver启动成功,如果图标呈红色或者橙色,则说明启动失败,Wampserver安装还存在问题,遇到这种情况可以上网需求解答。8.1本地环境安装与测试

★安装SublimeSublime相关的安装教程在网上有很多,安装包也可以直接在网上找到并下载。配套资料中有Sublime安装后的整个文件,开发者可以选择直接将该文件夹放置于自己软件安装常用目录下。打开文件夹,右击“sublime_text.exe”,选择“创建快捷方式”,并将该快捷方式拖至桌面。双击“sublime_text”图标打开sublime编辑器。8.1本地环境安装与测试

★搭建本地环境(1)存放后台代码将提供的后台代码放在Wampserver安装目录下wamp64->www文件夹中,可以单击右下角的绿色图标,然后单击“wwwdirectory”按钮,进入www文件夹。在后台代码的文件夹中,有一个名称为“1”的文件夹,只有将该文件夹拷贝至www文件目录下,后台代码才能在本地服务器上跑起来8.1本地环境安装与测试

(2)导入数据库文件单击右下角的绿色图标,然后单击“phpMyAdmin”按钮选择phpMyAdmin后,浏览器中弹出phpMyAdmin登录界面,其中,用户名为root,密码为空,单击“执行”按钮即可进入主页。8.1本地环境安装与测试

phpMyAdmin主页单击“新建”按钮,新建数据库的名字命名为pingshifen,排序规则选择utf8_general_ci,单击“创建”按钮即可创建一个名为pingshifen的数据库。8.1本地环境安装与测试

新建完之后,选择pingshifen数据库,单击“导入”按钮,然后单击“浏览”按钮,选择提供的pingshifen.sql文件,选择完后,单击页面最下方的“执行”按钮,将pingshifen.sql导入到本地数据库中。8.1本地环境安装与测试

导入成功后,可以看到pingshifen中有很多数据表,每个数据表分别用于存储不同数据信息,比如说题库信息存放在pingshifen_question_bank中。8.1本地环境安装与测试

(3)修改服务器地址打开微信开发者工具中的doudouyun项目,打开config.js文件,将apiUrl改为“/1/index.php/Api”。“”为本地服务器地址,访问该服务器地址8.1本地环境安装与测试

✔后台代码对应的文件夹“1”在“YourProjects”目录下。✔“/”与“/index/Api”之间的路径对应的是www文件目录下的后台代码存放路径。8.1本地环境安装与测试

(4)重新注册Api接口和申请课程注册Api接口的链接变为:/1/index.php/Page/Index/register,申请课程号的链接变为:/1/index.php/Api/User/createCourse?appid=wx60dbecdccbea11f7&courseName=1028教学&questionSet=1012&creater=大佬申请完课程号后,还需要修改一下config.js中的courseId。编译之后,会重新弹出提示注册,在单击“提交”按钮时,会发现无法正常跳转至首页。这是由于在开发注册页面时,首页并不是tabBar页面,跳转至首页使用的是wx.redirectTo,但是现在首页是tabBar页面,使用wx.redirectTo无法实现跳转,需要改为wx.switchTab。后台api开发02ranspageT8.2后台api开发★api实现前后台交互

以index.js中的current为例,请求对应的url完整体为“/1/index.php/Api/User/current”。current请求“/1”为服务器地址“index.php”为入口文件“Api/User/current”为Api所在位置“Api/User/current”中,Api为后台代码中目录名称User为UserController控制器current为控制器中的方法8.2后台api开发在后台代码中current方法的目录在UserController.class.php的current方法后面写一个新的test方法,简单实现前后台交互。前后台的交互其实是单向的,服务器不会主动向前台发送数据。也可以选择别的控制器而非UserController,这个有兴趣的自己修改8.2后台api开发每次修改后台代码后都需要Crtl+s保存一下修改后的文件。◆test方法(1)在PHP中使用ajaxReturn方法返回数据,test方法代码如下:publicfunctiontest(){$this->ajaxReturn('测试通过');}(2)在myinfo.wxml文件中添加一个button,button名为测试,该button对应的代码如下:<button

class="weui-btn"

type="primary"

bindtap='bindtest'>测试</button>bindtest为事件触发函数8.2后台api开发(3)在myinfo.js文件中添加bindtest函数,在bindtest函数中,使用wx.request({})访问后台代码中的test方法,该函数代码具体如下:bindtest:function(){wx.request({url:userUrl+'test',success:function(res){console.log('请求结果',res)}})},userUrl为从config.js中获取到的变量,在index.js中已声明该变量,如果该函数写在其他页面则需要声明该变量。8.2后台api开发代码都写完后,重新编译小程序,单击首页中的“测试”按钮,可以看到调试器的Console中打印出来的返回值,在data数组中有后台返回的数据“测试通过”。8.2后台api开发给bindtest函数中的wx.request({})添加data属性,即在发起HTTPS请求时,带参请求。修改后bindtest代码具体如下:bindtest:function(){wx.request({url:userUrl+'test',data:{

'testA':'A',

'testB':'B'},success:function(res){console.log('请求结果',res)}})},在后台代码中,可以使用I()方法获取到http请求中的数据,可以加上参数比如:I(‘参数名’)。简单修改test方法,修改后的代码如下:publicfunctiontest(){$data=[];$data['I()']=I();$data["I('testA')"]=I('testA');$this->ajaxReturn($data);}8.2后台api开发test方法中,首先定义了一个data数组,其中data数组中I()的值为I()方法获取到的http请求中所有的参数,而data数组中I(‘testA’)的值则为I()方法获取到http请求中testA的值。单击“测试”按钮,可以看到调试器中打印出来的值。8.2后台api开发★数据库的增删改查(1)在pingshifen中新建一个数据表,命名为“pingshifen_test”,该数据表主要有3个字段,其中id字段一般所有表都需要,类型选择INT,并勾选A_I以使其自增。其他字段按需建立,因为测试用,字段名不需要有意义,类型与长度也应该按需设置,这里加了field1和field2两个字段,类型选择TEXT,长度/值为256。下方的“Collation”代表该数据表的字符集,如果需要支持中文存储,需选择utf8_****或tf8mb4_*****,这里选择了utf8_general_ci。最后单击“执行”按钮,完成pingshifen_test的新建。8.2后台api开发(2)先给数据表手动插入两组数据8.2后台api开发◆查(select、find)数据库查询语句有select和find两种,区别在于select会返回所有满足where条件的数据,而find只返回满足where条件的第一条数据。其中,where()接收一个数组作为查询参数,一个数组中可以有多个参数。在test方法中,使用select语句查询pingshifen_test数据表中的所有数据以及id为1的数据,存放在data数组中,返回给前端。test方法具体代码publicfunctiontest(){$data=[];//实例化数据表以供操作,可用D(‘test’),括号中为数据表名$TEST=M('test');//无条件查询,查询所有记录$data['select_result1']=$TEST->select()//查询id字段为1的数据$data['select_result2']=$TEST->where(['id'=>1])->select();$this->ajaxReturn($data);}8.2后台api开发单击“测试”按钮,即可看到调试器中打印的返回值8.2后台api开发◆增(add)数据库中使用add增加记录,add接收一个数组作为参数,数组内容为将要插入到数据表的值。在test方法中,使用add为pingshifen_test数据表添加一条记录,具体代码如下:publicfunctiontest(){$data=[];$TEST=M('test');$add_data=['field1'=>'你好,世界','field2'=>'helloworld'];//执行插入操作,如果成功,返回值为插入的数据对应的主键$data['add_result']=$TEST->add($add_data);$this->ajaxReturn($data);}单击“测试”按钮,即可看到调试器中打印的返回值8.2后台api开发打开数据库,可以看到数据库中也增加了一条id为3,field1为“你好,世界”,field2为“helloworld”的记录8.2后台ap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论