移动端真机调试大法 在日常项目中的开发中,接触移动端开发的小伙伴们免不了要和移动端调试打交道,本文特在此总结下常用的移动端调试,欢迎小伙伴补充。谷歌浏览器谷歌浏览器是我们前端开发中必不可少的利器,跳样式,打断点,看网络请求,看性能等,基本上你能想到的,谷歌都能满足你,在移动端调试方面也是一样,我们可以利用谷歌浏览器的手机模式,如下图, 点击这个右侧红框手机按钮,便可以切换为手机模式,同时我们还可以在左侧...
Flutter移动电商实战 --(52)购物车_数据模型建立和Provide修改 根据json数据生成模型类转载于:https://www.cnblogs.com/crazycode2/p/11559851.html
Flutter移动电商实战 --(50)持久化_shared_preferences 当app关掉了。再进去的时候 ,购物车的内容还是存在。sqflite提供这个来操作SQLite数据库flutter提供三种持久化的工具今天要学的就是shared_preferences还有一种持久化就是:file,用流的形式去读取还是有些慢安装shared_preferences插件地址:https://github.com/flutter/plugins...
Flutter移动电商实战 --(51)购物车_Provide中添加商品 新加provide的cart.dart页面引入三个文件。开始写provide类。provide需要用with 进行混入从prefs里面获取到数据,判断有没有数据,如果有数据就返转正List<Map>判断是否有重复的记录,如果有重复记录就数量+1,如果数据不存在就加入到tempList数组中,最后把tempList数据转成字符串,进行持久化清空购物车...
Flutter移动电商实战 --(48)详细页_详情和评论的切换 增加切换的效果,我们主要是修改这个地方这样我们的评论的内容就显示出来了最终代码details_web.dartimport 'package:flutter/material.dart';import 'package:provide/provide.dart';import '../../provide/details_info.dart';im...
Flutter移动电商实战 --(49)详细页_Stack制作底部工具栏 一直悬浮在最下面的Stack层叠组件。里面用Row 可以横向布局开始stack如果想定位就要用position去定位。修改return返回值的这个地方大R刷新查看效果,可以看到固定的在左下角的测试的字样。一直固定在底部做底部的固定栏widget新建页面:在文件夹details_page/details_bottom.dart 在布局用三个Ink...
Flutter移动电商实战 --(46)详细页_自定义TabBar Widget 主要实现详情和评论的tabprovide定义变量自己做一个tab然后用provide去控制定义两个变量来判断是左侧选中了还是右侧选中了。并定义一个方法来接受参数,修改是左侧还是右侧选中的状态值新建组件页面details_page/details_tabbar.dart然后定义方法_myTabbarLeft左侧tab的点击事件,调用provide...
Flutter移动电商实战 --(44)详细页_首屏自定义Widget编写 把详细页的图片、标题、编号和价格形成一个单独的widget去引用详情页的顶部单独封装个插件在pages下面新建detials_page的文件件并在里面新建页面details_top_area.dart文件添加引用,然后声明一个静态的类返回顶部图片的方法商品名称方法:商品编号方法开始写Build最外层是一个Provide,里面mode...
Flutter移动电商实战 --(47)详细页_Flutter_html插件的使用 详情里面是hemlt和图片组成的,但是flutter是不支持html的所以需要其他插件flutter webview plugin:这个不太好用flutter_html:用这个插件先解决之前一个bug在加载详情页面的时候,控制台输出报错了需要用的到异步的处理provide/details_info.dart类的方法:getGoodsInfohtml插...
Flutter移动电商实战 --(45)详细页_说明区域UI编写 pages/details_page/details_expain.dart详情页面引用组件效果展示:最终代码:import 'package:flutter/material.dart';import 'package:flutter_screenutil/flutter_screenutil.dart';class DetailsExp...
Flutter移动电商实战 --(42)详细页_UI主页面架构搭建 详细分成六大部分拆分开body里面用FutureBuilder异步加载。FutureBuilder里面的furure属性这里用一个方法,必须返回的也是future把我们的方法修改为返回的类型为Future。我们直接返回的是一个字符串。因为我们里面使用了provide,所以其实这里我们随便返回个字符串就没那么重要 了。我们在页面上默认放上一个Text的widget显...
Flutter移动电商实战 --(43)详细页_补充首页跳转到详细页 首页轮播点击到详细页修改我们轮播这里的代码:SwiperDiy这个类这里的代码return InkWell( onTap: (){ Application.router.navigateTo(context, '/detail?id=${swiperDateList[index]['goodsId']}'); }, child: ...
Flutter移动电商实战 --(41)详细页_数据接口的调试 建立数据模型层,我们的业务逻辑分开,然后进行后台数据的调试生成model类json数据:{ "code": "0", "message": "success", "data": { "goodInfo": { "image5": "", "amount": 10000, "image3": "", ...
Flutter移动电商实战 --(40)路由_Fluro的全局注入和使用方法 路由注册到顶层,使每个页面都可以使用,注册到顶层就需要在main.dart中main.dart注册路由注入onGenerateRoute是MaterialApp自带的路由配置项,首页跳转到详细页import '../routers/application.dart';_wrapList火爆专区的商品,点击进行跳转那么这个/detai...
Flutter移动电商实战 --(39)路由_Fluro的路由配置和静态化 handler只是单个路由的配置,这节课我们要学习路由的整体配置整体配置新建routers.dart文件来做整体配置detailsHandler就是我们在router_handler里面定义的detailsHandler当路由不存在的时候,给用户一个反馈。router.notFoundHandler这样我们的整理路由就写完了。静态化为了方便使用还要做一...
Flutter移动电商实战 --(38)路由_Fluro中Handler编写方法 在main.dart中初始化Fluro编写handler在lib下新建routers文件夹,表示里面要很多路由相关的文件我们声明一个Handler,在里面handlerFunc固定的两个参数重点理解:handlerFunc那我们要获取到goodsId下面是我们之前定义好的DetailsPage,接收一个goodsId参数重点理解:handl...
Flutter移动电商实战 --(37)路由_Fluro引入和商品详细页建立 https://github.com/theyakka/fluropages/details_page.dart新建页面使用路由先添加路由插件的引用fluro: ^1.4.0如果网络上下载不下来,可以采用这种形式去下载,使用git的地址遇到问题,无法更新下来 fluro的引用解决方法:重启电脑。删除D:\Flutter\flutte...
Flutter移动电商实战 --(36)FlutterToast插件使用 https://github.com/PonnamKarthik/FlutterToastfluttertoast: ^3.0.1category_page.dart页面添加引用import 'package:fluttertoast/fluttertoast.dart';小类跳转到全部,没有数据的问题本节课代码prov...
Flutter移动电商实战 --(34)列表页_小BUG的修复 当高粱酒的子类没有数据返回的时候就会报错。解决接口空数据报错的问题没有数据的时候,给用户一个友好的提示,我们没有数据的时候还要告诉用户,提示一下他没有数据,在我们的右侧列表的build方法内去判断友好提示展示效果:子类的id状态化状态管理里面,定义小类的变量,并根据传入的id根性赋值。这样我们在点击小类的时候,需要也传入小类的id这样我们在...
Flutter移动电商实战 --(35)列表页_上拉加载更多制作 右侧列表上拉加载配合类别的切换上拉加载需要一个page参数,当点击大类或者小类的时候,这个page就要变成1provide内定义参数首先我们需要定义一个page的变量下图是我们之前在首页的时候做的上拉加载代码,之前属性noMoreText我们没有设置值,这里我也需要把这个属性加入到provide里面去。在大类和小类的初始化的方法内,都需要把page设置为1,然后把...
Flutter移动电商实战 --(32)列表页_小类高亮交互效果制作 点击大类右侧的横向的小类红色显示当前的小类别解决之前溢出的问题:先解决一个bug,之前右侧的这里设置的高度是1000,但是有不同的虚拟机和手机设别的问题造成了溢出的问题Expaned是有伸缩能力的小部件,继承于Flexible外层套一个Expanded,内部的Contaienr的高度不再设置右侧列表没有设置高度一样显示出来了。provide的修改...
Flutter移动电商实战 --(33)列表页_子类和商品列表交互效果 主要实现点击小类下面的列表跟着切换获取右侧下面的列表信息,即要传递大类的id也要传递小类的,所以需要把左侧的大类的id也要Provide化可以看下网站上的接口说明:https://jspang.com/posts/2019/03/01/flutter-shop.html#%E5%90%8E%E7%AB%AF%E6%8E%A5%E5%8F%A3api%E6%96%87%E6%A...
Flutter移动电商实战 --(30)列表页_商品列表UI界面布局 小程序里面的布局方式小程序的图片上这里使用的是warp布局,因为首页里面火爆专区,已经用过了warp来布局了。所以这里我们没有必要再讲一遍,这里我们使用ListView,我们把它布局成下图这种形式:我们拆的散一点,用内部方法的形式,我们把图片和名称分别拆成单独的方法去实现,然后在组合成一个子项赋值给ListView开始写内部方法图片widget...
Flutter移动电商实战 --(31)列表页_列表切换交互制作 点击左侧的大类右边的小类也跟着变化新建provide要改变哪里就建哪里的provide,我们现在要改变的是右边的商品列表的数组。category_goods_list.dart这样我们的provide类就做好了做好的provide类放到main.dart中注册这一步叫做 把状态放入顶层category_page.dart修改_getGo...
Flutter移动电商实战 --(28)列表页_商品列表后台接口调试 主要调试商品列表页的接口这个接口是最难的因为有大类、小类还有上拉加载先配置接口config/service_url.dart//const serviceUrl='http://test.baixingliangfan.cn/baixing/';//2019-04-12失效const serviceUrl='https://wxmini.baixingli...
Flutter移动电商实战 --(29)列表页_商品列表数据模型建立 简历数据模型json生成dart类的网站:https://javiercbk.github.io/json_to_dart/json数据{"code":"0","message":"success","data":[{"image":"http://images.baixingliangfan.cn/compressedPic/20190116145309_40.jp...
Flutter移动电商实战 --(25)列表页_使用Provide控制子类-1 主要是二级分类的UI布局生成我们的右侧动态类定义list变量开始写里面的子项,把每一个小的写了 再拼成一个大的这样我们的小类就写完了开始写我的大类别:是一个横向的ListView。写横向的ListView就必须设置宽和高ListView如果是纵向的不需要设置高度,如果是横向的就必须设置宽和高这里使用构造器的形式,动态构造。ListView....
Flutter移动电商实战 --(26)列表页_使用Provide控制子类-2 主要实现功能,点击一级分类,二级分类跟着变。这里主要用我们的provide新建provideprovide文件夹下创建:child_category.dart事件上就是这个实体:BxMallSubDto这样我们的Provide类就写完了。然后在main.dart中注册provideimport './provide/child_catego...
Flutter移动电商实战 --(27)列表页_现有Bug修复和完善 小解决小bug默认右侧的小类没有被加载数据加载完成后,就list的第一个子对象传递给provide进行赋值,这样右侧的小类就刷新了数据默认加载了第一个类别调整颜色对比图片调整下颜色这里的参数r:就是red红色g:green绿色b:blue蓝色opacity:就是透明度最终修改成颜色:Color.fromRGBO(236, 2...
Flutter移动电商实战 --(24)Provide状态管理基础 Flutter | 状态管理特别篇 —— Provide:https://juejin.im/post/5c6d4b52f265da2dc675b407?tdsourcetag=s_pcqq_aiomsg点击左侧的导航右侧的导航发生变化,这属于两个widget。这两个widget之间进行通讯。用setstate的形式,耦合性太强状态管理有这么几种方案这里我们用Prov...
Flutter移动电商实战 --(23)分类页_左侧类别导航制作 自动生成dart类https://javiercbk.github.io/json_to_dart/生成的代码class Autogenerated { String code; String message; List<Data> data; Autogenerated({this.code, this.message, ...
Flutter移动电商实战 --(21)分类页_类别信息接口调试 先解决一个坑取消上面的GridVIew的回弹效果。就是在拖这个gridview的时候有一个滚动的效果physics: NeverScrollableScrollPhysics(),大R刷新后,点击这里的空白的地方,GridView就不会有滚动的效果了。分类页面后端接口调试service_url.dart配置接口的地址和名称const servi...
Flutter移动电商实战 --(22)JSON解析和复杂数据模型转换技巧 json转Model类创建model文件夹,在里面新建category.dart类主要根据这个json来分析我们要做成类的样子{ "code": "0", "message": "success", "data": [ { "mallCategoryId": "4", "mallCategoryName": "白...
koa 项目中引入 mysql 由于mysql模块的操作都是异步操作,每次操作的结果都是在回调函数中执行,现在有了async/await,就可以用同步的写法去操作数据库Promise封装mysql模块Promise封装 ./async-db.jsconst mysql = require('mysql')const pool = mysql.createPool({ host : '...
centos7 设置 mysql 开机自启 前述CentOS 7是目前较为流行的Linux发行版本。CentOS 7比起之前版本有了许多的变更。如firewall不在用iptables管理,而交由firewall-cmd管理。同样的,在CentOS 7中,服务不再是用service命令开启或关闭,同时也不再用chkconfig配制开机启动项目。这些都效上systemctl命令来管理,从而systemctl可以不依赖/etc/i...
mysql 中常用的 sql 语句 SQL分类:DDL-----数据定义语言(CREATE--创建,ALTER--修改. DROP--删除表,DECLARE--声明)DML-----数据定义语言(SELECT--查询,DELECT--删除数据,UPDATE--更新,INSERT--插入)DCL-----数据定义语言(GRANT--权限,REVOKE--取消,COMMIT--提交,ROLLBACK--回滚)...
mongodb 数据更新命令、操作符 一、Mongodb数据更新命令Mongodb更新有两个命令:update、save。1.1update命令update命令格式:db.collection.update(criteria,objNew,upsert,multi)参数说明:criteria:查询条件objNew:update对象和一些更新操作符upsert:如果不存在update...
centos7 安装 mysql(在线安装) 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-...
centos7 设置 tomcat 开机自启 1、创建文件# vi /etc/systemd/system/tomcat.service[Unit]Description=Tomcat8540After=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=oneshotExecStart=/usr...
centos7 安装 tomcat 一.系统版本及环境1.CentOS 7.5 64bit 查看系统版本及位数命令2.jdk 1.8 已安装配置 JDK1.8安装二.Tomcat 8.5安装1.下载地址http://tomcat.apache.org/下载完后用ftp工具上传到linux服务器或者直接复制进linux虚拟机(图形界面,安装了VMware-tool)2.解压以及...
Flutter移动电商实战 --(17)首页_楼层区域的编写 1、楼层标题组件该组件非常简单,只接收一个图片地址,然后显示即可:class FloorTitle extends StatelessWidget { final String picture_address; FloorTitle({this.picture_address}); @override Widget build(BuildConte...
centos7 设置 防火墙 开机自启 CentOS 7.0默认使用的是firewall作为防火墙,之前版本是使用iptables。1.设置firewall开机启动systemctl enable firewalld2.禁止firewall开机启动systemctl disable firewalld转载于:https://www.cnblogs.com/crazycode2/p/1133...
使 nodejs 代码 在后端运行(forever) 情境运行nodejs的程序,使用命令:node xxx.js,但是关掉终端,程序也关闭了,如何让node app的程序一直运行?解决1.安装forevernpm install -g forever2.使用forever开启nodejs程序forever start xxx.js如果你需要用npm start来运行你的程序,则用命令fo...
使 nodejs 代码 在后端运行(nohup) 1.代码nohup node server.js &说明:nohup命令对server.js进程做了三件事(1)阻止SIGHUP信号发到这个进程。(2)关闭标准输入。该进程不再能够接收任何输入,即使运行在前台。(3)重定向标准输出和标准错误到文件nohup.out。也就是说,nohup命令实际上将子进程与它所在的 sess...
Flutter移动电商实战 --(20)首页上拉加载更多功能的制作 这节课学习一下上拉加载效果,其实现在上拉加载的插件有很多,但是还没有一个插件可以说完全一枝独秀,我也找了一个插件,这个插件的优点就是服务比较好,作者能及时回答大家的问题。我觉的选插件也是选人,人对了,插件就对了。flutter_easyrefresh简介flutter_easyrefresh官方简介:正如名字一样,EasyRefresh很容易就能在Flutter应用上实现...
Flutter移动电商实战 --(14)首页_拨打电话操作 拨打电话的功能在app里也很常见,比如一般的外卖app都会有这个才做。其实Flutter本身是没给我们提供拨打电话的能力的,那我们如何来拨打电话那?1、编写店长电话模块这个小伙伴们一定轻车熟路了,我也就不再多介绍吧。直接看代码,相信都能看懂。class LeaderPhone extends StatelessWidget { final String leader...
Flutter移动电商实战 --(19)首页_火爆专区商品接口制作 Dart中可选参数的设置上节课在作通用方法的时候,我们的参数使用了一个必选参数,其实我们可以使用一个可选参数。Dart中的可选参数,直接使用“{}”(大括号)就可以了。可选参数在调用的时候必须使用paramName:value的形式。我们把上节课的后端接口代码改为如下:Future request(url,{formData})async{ try{ ...
Flutter移动电商实战 --(11)首页_屏幕适配方案和制作 1、flutter_ScreenUtil插件简介flutter_ScreenUtil屏幕适配方案,让你的UI在不同尺寸的屏幕上都能显示合理的布局。插件会让你先设置一个UI稿的尺寸,他会根据这个尺寸,根据不同屏幕进行缩放,能满足大部分屏幕场景。github:https://github.com/OpenFlutter/flutter_ScreenUtil这个轮子功能还不是很...
flutter 中 List 和 Map 的用法 list集合在Dart中,数组是List对象,因此大多数人只是将它们称为List。以下是一个简单的Dart的List:创建一个int类型的listList list = [10, 7, 23];print(list);// 输出结果 [10, 7, 23]要创建一个编译时常量const的list,示例如下:List constantList = c...
Flutter移动电商实战 --(12)首页导航区域编写 1、导航单元素的编写从外部看,导航是一个GridView部件,但是每一个导航又是一个上下关系的Column。小伙伴们都知道Flutter有多层嵌套的问题,如果我们都写在一个组件里,那势必造成嵌套严重,不利于项目以后的维护工作。所以我们单独把每一个自元素导航拿出来,一个方法,返回一个组件。代码如下:class TopNavigator extends StatelessWi...
Flutter移动电商实战 --(16)切换后页面状态的保持AutomaticKeepAliveClientMixin 底栏切换每次都重新请求是一件非常恶心的事,flutter 中提供了AutomaticKeepAliveClientMixin 帮我们完成页面状态保存效果。1、AutomaticKeepAliveClientMixinAutomaticKeepAliveClientMixin 这个 Mixin 是 Flutter 为了保持页面设置的。哪个页面需要保持页面状态,就在这个页面进...
Flutter移动电商实战 --(9)移动商城数据请求实战 1、URL接口管理文件建立第一步需要在建立一个URL的管理文件,因为课程的接口会一直进行变化,所以单独拿出来会非常方便变化接口。当然工作中的URL管理也是需要这样配置的,以为我们会不断的切换好几个服务器,组内服务器,测试服务器,内测服务器,公测上线服务器。所以说一定要单独把这个文件配置出来,这也算是一个开发经验之谈吧。在/lib/config文件夹下,建立一个service_...
Flutter移动电商实战 --(15)商品推荐区域制作 1、推荐商品类的编写这个类接收一个List参数,就是推荐商品的列表,这个列表是可以左右滚动的。/*商品推荐*/class Recommend extends StatelessWidget { final List recommendList; Recommend({Key key, this.recommendList}) : super(key: k...
Flutter移动电商实战 --(8)dio基础_伪造请求头获取数据 在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据。这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设。这篇文章就以极客时间 为例,讲一下通过伪造请求头,来获取极客时间首页主要数据。(不保证接口和安全措施一直可用哦,赶快练习吧)查看极客时间的数据端口如果你是一个前端,这套流程可能已经烂熟于心,先找出掘金的一个端口,来进行分析。...
Flutter移动电商实战 --(13)ADBanner组件的编写 1、AdBanner组件的编写我们还是把这部分单独出来,需要说明的是,这个Class你也是可以完全独立成一个dart文件的。代码如下:广告图片class AdBanner extends StatelessWidget { final String advertesPicture; AdBanner({Key key, this.advertesPictu...
Flutter移动电商实战 --(10)使用FlutterSwiper制作轮播效果 1、引入flutter_swiper插件flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配.好牛X得介绍,一般敢用“最”的一般都是神级大神,看到这个介绍后我也是吃了碗贾玲代言的方便面(一桶半),压了压我激动的心情。Flutter_swiper的GitHub地址:https://github.com/best-flutter/flut...
Flutter移动电商实战 --(6)dio基础_Get_Post请求和动态组件协作 上篇文章中,我们只看到了 dio 的使用方式,但并未跟应用关联起来,所以这一篇将 dio 网络请求与应用界面结合起来,当然这也是为以后的实战作基础准备,基础打牢,我们才能飞速前进。1、案例说明我们还是作去“大保健”选择服务对象这个例子,不过这次我们使用按钮和动态组件来实现。具体业务逻辑是这样的:我们制作一个文本框,用于输入需要什么样的美女为我们服务然后点击按钮,相当于...
Flutter移动电商实战 --(7)dio基础_POST请求的使用 这节学习一下POST请求的使用,其实POST和Get请求都是在工作中最重要的两种请求。比如我们要传递一组表单数据过去,这时候用Get请求就是不太合适的,使用POST比较好。SingleChildScrollView Widget在学习新内容之前,先来填一个昨天的坑,其实昨天的代码在最后演示是,是由一个异常的,异常内容如下:I/flutter ( 6889): vert...
Flutter移动电商实战 --(3)底部导航栏制作 1、cupertino_IOS风格介绍在Flutter里是有两种内置风格的:material风格: Material Design 是由 Google 推出的全新设计语言,这种设计语言是为手机、平板电脑、台式机和其他平台提供一致,更广泛的外观和感觉。我喜欢称它为纸墨设计。Material Design 风格是一种非常有质感的设计风格,并会提供一些默认的交互动画。cuper...
pm2 配置方式 1.命令生产默认示例配置文件pm2 ecosystem或pm2 init,运行默认会生成ecosystem.config.js配置文件module.exports = { apps: [ { name: 'back-Api', //应用名 script: './server/start.js', //应用文件位置 ...
Flutter移动电商实战 --(5)dio基础_引入和简单的Get请求 这篇开始我们学习Dart第三方Http请求库dio,这是国人开源的一个项目,也是国内用的最广泛的Dart Http请求库。1、dio介绍和引入dio是一个强大的Dart Http请求库,支持Restful API、 FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时和自定义适配器等。我相信很多人都已经接触或者了解dio了,但是还是需要把它拿出来单独讲解...
pm2 常用命令 1.启动服务pm2 start <script_file|config_file> [options] 启动指定应用pm2 start app.js //启动app.js应用pm2 start app.js --name app //启动应用并设置namepm2 start app.sh //...
Flutter移动电商实战 --(4)打通底部导航栏 关于界面切换以及底栏的实现可参考之前写的一篇文章:Flutter实 ViewPager、bottomNavigationBar界面切换1、新建4个基本dart文件在pages目录下,我们新建下面四个dart文件。home_page.dart :商城首页UI页面,首页相关的UI我们都会放到这个文件里。category_page.dart: 商城分类UI页面,这个页面会有...
使用 PM2 将 Node.js 的集群变得更加容易 介绍 众所周知,Node.js运行在Chrome的JavaScript运行时平台上,我们把该平台优雅地称之为V8引擎。不论是V8引擎,还是之后的Node.js,都是以单线程的方式运行的,因此,在多核心处理器的系统中并不能发挥其最大的性能。Node.js的cluster模块 幸运的是,Node.js给我们提供了cluster模块,它可以生成多个工作线程来共享同一个TCP连接...
Flutter移动电商实战 --(2)建立项目和编写入口文件 1、创建项目采用AndroidStudio构建本项目,FIle>New>New Flutter Project…创建后的项目如下图所示:我们着重需要注意一下几个文件夹,其他的暂时不用理会文件夹作用androidandroid平台相关代码iosios平台相关代码libflutter相...
centos7 防火墙开启 (重点) 如果在自己服务器上想开启远端访问功能,需要开启防火墙1、通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。2、通过systemctl start firewalld开启防火墙,没有任何提示即开启成功3、再次通过systemctl status firewalld查看firewalld状态,显示a...
koa 项目打包(使用webpack打包koa2 框架app) 关键问题一:所有node_modules里的模块都不进行打包webpack的核心功能是将引用的各个模块打到一个文件里,并会将各种规范的模块进行统一的模块化处理(webpack规范)。然而node中包含大量的fs、path操作,这些fs和path操作在打包完成后将没有操作对象,还会报出很多各样的错误。所以使用webpack打包的核心就是拒绝打包一切node_modules里...
centos 下 安装vim 我们在安装完Centos后,它默认的是安装了VI编辑器,VIM是没有安装的,所以我们在使用vim test.txt时会提示: vim command not found 。。。 这就是说明我们的Linux环境没有安装vim编辑器,下面我们来说一下如何安装这个编辑器:vim编辑器需要安装三个包:vim-enhanced-7.0.109-7.el5vim-minimal-7....
CentOS 7服务器下Nginx安装配置 一、安装编译工具及库文件$ yum -y install make zlib zlib-devel gcc gcc-c++ libtool openssl openssl-devel pcre pcre-devel //PCRE 作用是让 Nginx 支持 Rewrite 功能二、安装Nginx1、下载Nginx至文件夹/usr/local内$ cd ...
centos7 下设置 mongodb 开机启动 (重点) centos 7的开机启动跟之前版本的centos有很大不同。现在用 systemctl命令代替了之前的chkconfig 和 service 命令注册到开机启动的方法如下:在系统服务目录下新建mongodb的启动服务cd /lib/systemd/systemvi mongodb.service内容如下[Unit] Description...
koa 实现下载文件 文件下载需要使用到koa-send这个插件,该插件是一个静态文件服务的中间件,它可以用来实现文件下载的功能。1.下载页面static/download.html<!DOCTYPE html><html><head> <meta charset=utf-8> <title>文件下载演示<...
centos7 下安装和配置 mongodb (重点) 1、下载安装包wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.4.tgz2、解压tar -zxvf mongodb-linux-x86_64-rhel70-4.0.4.tgz3、创建mongodb文件夹mkdir -p /usr/local/mon...
rc-form 在 typescript 中的报错处理 1.创建 声明模块index.d.tsimport { Component, ClassicComponentClass, ClassType, ComponentClass, ComponentSpec, Mixin, ReactNode, ClassicComponent, ComponentState } from "react";import PropTypes,...
mongodb 的云数据库产品 atlas 的使用 前言:最近发现 mlab 被mongodb 收购以后,不再支持新用户,推荐使用MongoDB Atlas第一步:注册或登陆在MongoDB atlas首页,如果有账号,那就点击登陆。否则点击Get Started here来注册,注册页面都是必填项:第二步:创建新的Cluster登陆之后,如果尚未创建任何Cluster,那么会提示创建一个新的Cluster,如下所...
CentOS 7离线安装MySQL 5.7 前言网上已经有那么多的关于CentOS 7如何安装MySQL的文章了, 那为什么我还要写这没一篇关于CentOS 7安装MySQL的文章呢?主要有以下几个原因:网上很多都是在线安装;由于很多时候,在生产环境进行部署时,生产机器都是不可能直接连公网的,导致网上很多的文章没有借鉴意义;网上很多文章都比较旧,安装的MySQL版本也比较旧,没有进行更新,导致很多步骤在新的MySQ...
Linux 下安装 Tomcat 服务器和部署 Web 应用 一、上传Tomcat服务器二、安装Tomcat服务器2.1、解压tomcat服务器压缩包2.2、配置环境变量tomcat服务器运行时是需要JDK支持的,所以必须配置好JDK用到的那些环境变量编辑/etc下的profile文件,加上如下内容:2.3、修改tomcat服务器的启动端口修改将Tomcat服务器启动时使用的端口,例如改成...
CentOS 7 vi编辑命令 用vi打开一个yum文件 vi /usr/bin/yum 按 i 键后进入insert模式,进入insert模式后才能进行修改 修改完成后 按esc键进入command模式, 然后:wq 保存文件并退出vi(注意先冒号) 保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修...
koa 实现上传文件 项目目录:1.上传单个文件思路:(1)获取上传文件,使用 const file = ctx.request.files.file(2)我们使用 fs.createReadStream 来读取文件流;如代码:const fileReader = fs.createReadStream(file.path);(3)对当前上传的文件保存到 /static/upload...
koa 允许跨域 1.安装模块npm install koa2-cors --save2.引用const cors = require('koa2-cors');...// 允许跨域访问app.use(cors({ exposeHeaders: ['WWW-Authenticate', 'Server-Authorization', 'Date'], m...
flutter中的异步机制 Future 饿补一下Flutter中Http请求的异步操作。Dart是一个单线程语言,可以理解成物理线路中的串联,当其遇到有延迟的运算(比如IO操作、延时执行)时,线程中按顺序执行的运算就会阻塞,用户就会感觉到卡顿,于是通常用异步处理来解决这个问题。Dart异步编程有两种方式:Future和StreamFuture相当于40米大砍刀,Stream相当于一捆40米大砍刀。dart提...
pm2 配合log4js处理日志 1.pm2启动时通常会发现log4js记录不到日志信息;2.决解方案,安装pm2的pm2-intercom进程间通信模块3.在log4js的配置文件logger.js里添加如下命令:pm2: true, pm2InstanceVar: 'INSTANCE_ID' 4.pm2配置文件中添加"instance_var":"INSTANCE_ID",...
Flutter移动电商实战 --(1)项目学习记录 1、项目相关截图2、项目知识点梳理图Dio2.0: Dio是一个强大的 Dart Http 请求库,支持 Restful API、FormData、拦截器、请求取消等操作。Swiper: Swiper 滑动插件的使用,使用 Swiper 插件图片的切换效果。路由Fluro:Flutter 的路由机制很繁琐,如果是小型应用还勉强,但是真实开发我们都会使用企业级的路由...
mongoose 实现 增、删、改、查 mongoose常用的API增save是一个实例方法,使用时需要先 new Model() 来实例化//保存一个用户信息,userobj为你创建的文档对象模型里的字段,需正确对应传入const userobj={ email: query, passworld: req.body.passworld, hash: hash, i...
pm2 常用配置项解析 1.解析1. apps:json结构,apps是一个数组,每一个数组成员就是对应一个pm2中运行的应用2. name:应用程序名称"app"3. cwd:应用程序所在的目录"./"4. script:应用程序的脚本路径"./"5. log_date_format: 日志文件名输出日期格式"YYYY-MM-DD HH:mm Z"6. erro...
mongoose 建立schema 和model 在node中使用MongoDB很多情况下,都是使用mongoose的,所以这集来介绍一下安装yarn add mongoose连接const mongoose = require("mongoose");mongoose.connect('mongodb://localhost/my_database');建立schema 和model...
AndroidStudio中Flutter打包APK 1、生成签名文件在打包之前我们需要一个签名文件,证明文件的唯一性。keytool -genkey -v -keystore F:\APP\sign.jks -keyalg RSA -keysize 2048 -validity 10000 -alias signF:\APP\sign.jks为签名问价存放目录,sign为密钥名。后面都有用,请牢记。在控制...
Flutter移动电商实战 --(18)首页_火爆专区商品接口制作 1、获取接口的方法在service/service_method.dart里制作方法。我们先不接收参数,先把接口调通。Future getHomePageBeloConten() async{ try{ print('开始获取下拉列表数据.................'); Response response; Dio dio = ...
base64加密后无法解密 记录一个问题: 使用java,或者命令行 base64 命令加密图片文件成加密数据后无法还原成图片 深入:使用java base64工具(sun base64或bouncycastle)加密的数据替换掉空行符以及加上解析头:“data:image/jpeg;base64,”后就可以成为前端可以展示的图片了,但是加上头后解密出来的jpg文件却仍然无法如同正常图片一样打开。 ...