当前位置: 首页 新闻详细

小程序自定义组件中有哪些钩子方法呢为什么,Linux网络环境的实现钩子函数作用linux网络钩子

专业小程序设计开发——助力新电商新零售

电话+V:159999-78052,欢迎咨询小程序自定义组件中有哪些钩子方法呢为什么,[小程序设计与开发],[小程序投流与推广],[小程序后台搭建],[小程序整套源码打包],[为个体及小微企业助力],[电商新零售模式],[小程序运营推广及维护]

一、Linux网络环境的实现钩子函数作用linux网络钩子

Linux是一款优秀的开源操作系统,在网络环境的实现中,钩子函数发挥着至关重要的角色。钩子函数也叫钩子程序,是管理一个更大的,更复杂的程序中某些小程序的特殊程序段。它有助于实现Linux网络环境,从而为用户提供网络服务。

钩子函数主要由网络协议层触发,用于实现Linux网络环境。典型的钩子函数如下:

1.ARP钩子函数:这是一个内核钩子函数,用于处理ARP请求;

2.netfilter钩子函数:netfilter是网络数据包过滤机制,它使用netfilter钩子函数,用于过滤一切网络数据包;

3.邮件传输钩子函数:用于处理邮件传输相关事务,如服务器发送或接收邮件,添加头部信息和其他处理;

4.路由表钩子:指定路由条件时,用于动态更新路由表;

5.系统日志钩子:可以将系统日志写入数据库或指定文件中。

此外,Linux的网络环境还包括静态路由设置、防火墙设置和网络配置等内容。通过对钩子函数的设置和监控,用户可以更好地控制网络的实现状况,也可以更好地利用网络资源。

下面是一个示例,这是使用netfilter钩子函数来配置Linux网络防火墙的示例代码,用于禁止外部访问本机:

//iptables配置防火墙

iptables-IINPUT-ptcp–dport22-jDROP

iptables-IINPUT-ptcp–dport80-jDROP

//设置netfiilter选项

/sbin/iptables-AINPUT-ieth0-ptcp–dport22-jNFQUEUE–queue-num1

/sbin/iptables-AINPUT-ieth0-ptcp–dport80-jNFQUEUE–queue-num2

在上面的代码中,”-IINPUT”表示插入一个输入规则;”–dport22″表示指定端口22;”-jNFQUEUE–queue-num?”表示将规则插入netfilter的等待队列,后面接着的数字是设置的排序。通过配置netfilter,Linux网络环境便可以完成功能。

二、基于Vue3+TS+ElementPlus+Qiankun构建微应用项目

Hello大家好,这里是Anyin。

最近打算把一个小型项目(小程序点餐系统)重构为微服务+微应用模式,前端的技术栈打算使用Vue3+TS+ElementPlus+Qiankun。这里记录下我在构建基础微应用的过程。

重构后的项目相关地址:

?后端:AnyinCloud[1]

?前端基座:AnyinCloudParent[2]

?前端微应用:AnyinCloudBase[3]

好了,接下来,我们来看看如何基于Vue3+TS+ElementPlus+Qiankun构建我们的微应用项目。

另外说下,这里为什么不用Vite进行构建,原因是Vite目前结合Qiankun构建为应用还有点问题(采坑了),所以这里就放弃了。

首先,我们使用vue-cli创建一个parent项目:

接着,手动选择我们要添加的组件:

我们选择以下组件进行应用的构建,使用空格键进行多选,然后回车即可:

选择vue3.x版本

相关代码风格、路由模式都是使用默认,css编译我们使用less:

相关编码规范我们使用ESLint+AirbnbConfig:

最后,完整的选项如下:

当vue-cli帮我们创建好项目,我们进入项目查看下项目目录,如下:

首先,Qiankun的主应用是需要安装依赖的,微应用无需安装依赖,修改配置即可。这里我们先在主应用安装依赖

接着,进行相关微应用配置。我们新增一个app.ts,用于记录所有的微应用的入口:

然后,注册微应用,并导出start方法

导出start方法之后,需要在入口处执行该方法

对于整个界面,我们希望整体的布局是这个样子的:

所以,我们在安装ElementPlus之后,需要做这样子的布局。

首先,安装ElementPlus

接着,在main.ts引入ElementPlus组件,如下:

然后,创建一个布局组件Layout.vue,如下:

最后,在App.vue注册该组件

运行起来呈现的效果如下:

微应用的初始化项目同主应用,这里就不详细说明。

微应用无需依赖Qiankun,这里我们做一些配置即可。

在src目录下新增一个public-path.js文件,内容如下:

在main.ts引入该文件

小程序自定义组件中有哪些钩子方法呢为什么

新增一个路由配置文件,这里我们创建对应的路由信息,并且兼容独立运行,内容如下:

接着,修改main.ts关于实例化的代码,如下:

这里主要是定义个渲染的方法,然后暴露Vue实例,因为等下在微应用的生命周期的钩子会使用到。

对于微应用还需要暴露生命周期的钩子方法,这样子主应用才能够识别,在main.ts添加如下方法:

使用vue创建项目是没有vue.config.js文件的,这里我们手动创建一个,并且配置相关详细,代码如下:

?这里我们导入了package.json的name字段,因为这里需要和主应用配置的app.ts文件的name字段一致?headers添加跨域配置,因为主应用是通过fetch方法来获取微应用的资源的,而微应用是启动在另外一个端口,所以需要添加跨域配置?output配置了微应用的打包格式,主应用才能正确识别微应用的一些配置

还记得我们以下这个图不?

我认为Header应该是属于主应用,而下面的Aside和Main都是属于微应用,Aside块一般都是用于展示菜单,个人认为各个微应用应该各自维护自己的菜单,而不是交由主应用维护。

所以,在微应用,我们还需要处理下左侧的菜单布局。

我们新增一个Layout.vue布局文件

至此,Vue3+TS+ElementPlus+Qiankun构建微应用项目的一个基本结构我们已经处理完成,整体运行看下效果:

首页

微应用

好了,基于Vue3+TS+ElementPlus+Qiankun的微应用项目基本框架我们已经搭建好了,后续就是慢慢填充一些工具和页面了。

相关源码地址:

?主应用:AnyinCloudParent

?微应用:AnyinCloudBase

[1]AnyinCloud:https://gitee.com/anyin/anyin-cloud
[2]AnyinCloudParent:https://gitee.com/anyin/anyin-cloud-parent
[3]AnyinCloudBase:https://gitee.com/anyin/anyin-cloud-base

三、uniapp项目实践总结(七)编写一个简单的应用页面

之前已经自定义了顶部和底部导航栏,现在我们将编写一个简单的二级页面,这是除了导航页面之外,经常需要用到的。

一个普通页面的结构通常如下所示:

uniapp内置了常用的组件,可以直接使用,与微信小程序类似。

样式支持css、scss、less、stylus,支持@import导入外部样式表。

支持以下通用尺寸:

nvue不支持,vue支持:

nvue不支持百分比;

uni-app中页面的宽度计算公式为:750*元素在设计稿中的宽度/设计稿基准宽度;

例如:

使用@import'path/name.scss';

例如:

App.vue中的样式即为全局样式,对于每一个页面通用,nvue页面不支持全局样式。

在组件的属性中使用class或者style添加样式。

在uniapp中,*选择器无效,page相当于body,微信小程序仅支持class选择器。

使用@font-face自定义字体。

以下是一些js中的内容。

这里重点关注生命周期,包括页面的组件的生命周期。

常用到的就是onLaunch,onLoad,onShow,onHide等钩子函数。

常用到的就是created,onLoad,onShow,onHide等钩子函数。

以下都是vue3中的setup语法糖下面的使用场景。

导入你要使用的方法。

在pages.json配置:

导入你要使用的方法。

例如:

例如:

父组件接收:

例如:

vuex状态管理,主要是引入和使用。

在pages/index文件夹下面新建一个list.vue的文件,在pages.json注册路由。

在uni.scss里面定义以下全局变量。

一个导航页面包括状态栏、顶部导航栏、中间内容区和底部导航栏四块区域,一个普通的页面就是没有底部导航栏。

可以在之前的styles文件夹的global.scss里面定义全局样式规则,包括整体页面,中间部分,状态栏部分的样式。

【WINDRISES MINIPROGRAM PROMOTION】尊享直接对接老板

电话+V: 159999-78052

专注于小程序推广配套流程服务方案。为企业及个人客户提供了高性价比的运营方案,解决小微企业和个体拓展客户的问题

小程序自定义组件中有哪些钩子方法呢为什么
发布人:quanzj0625 发布时间:2024-09-06