壳牌小程序笔记

壳牌加油站

uni-app-基础-day01

概览

为什么要学uni-app?

现在很多中小型公司,都有自己的小程序项目,然后开发小程序就会用到uni-app。

uni-app没有诞生之前,怎么写小程序

  • 使用原生微信小程序这个框架去开发?
    • 只能发布成为微信小程序
  • 支付宝
  • 抖音

如果我写一套代码,然后可以变成各个平台的小程序。 —》 混合开发模式

什么时候用uni-app

  • 开发一个管理端的项目(X)
  • 我要开发一个纯的h5项目(考虑)
    • 原因是uni-app没有**vue-router(**有些功能不好实现)
  • 我要开发一个微信小程序项目(绝对用)
    • 我熟悉vue的语法,至少vue的语法比原生微信小程序好用
  • 我要开发一个微信小程序项目而且可以运行到浏览器上(h5)
    • 绝对要用

怎么学习uni-app

  • 原生js的知识
    • 定义变量 作用域 this ,面向对象,
  • css + 标签语言
  • vue的基本知识要回【会用】
    • 写个管理端的页面
    • 写个h5的页面
  • 会看文档
    • 小程序的知识【前面三天】

环境搭建【掌握】

安装ide(hbx)

找到官网,下载.zip文件。 一定要解压,双击.exe文件。注意:

  • 下载依赖的时候一直卡着,或者报网络错误
    • 以管理员的方式运行hbx
  • 开发的时候我可以同时编译成小程序、h5
    • 尽量不要多开,只开一端。 你可以一天中,一直让其运行在h5。这一天完了之后,再运行到小程序看一看。

创建项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-US73nVk2-1687444119367)(img\1.创建项目.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z3JHznVx-1687444119369)(img\2.创建项目.png)]

运行项目(多端)

将项目运行到浏览器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J41X3kmx-1687444119371)(img\3.运行到浏览器.png)]

运行过程中可能会有插件下载,运行成功之后有一个地址:(http://localhost:8080), 使用浏览器访问该网址即可

将项目运行到小程序

  • 运行 —》 运行到小程序

  • 第一次需要你配置微信开发者工具目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6OibCTba-1687444119373)(img\5.配置微信开发者工具目录.png)]

  • 需要你开启微信开发者工具服务端口

    • 设置—》 安全设置 —》 服务端口

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-psXwDCEX-1687444119376)(img\6.开启开发者工具服务.png)]

目录结构

角色: 应用 页面 组件

  • App.vue 代表整个应用

    • 这里面没有template,即使你写了template也不会生效
  • pages: 页面就放在这里

    • uni-app怎么才算一个页面: 一定要注册在pages.json下的pages
  • components: 组件,一定要注意,组件不能注册到pages.json下

  • pages.json

    • 项目的配置文件:可以配置项目的路由,配置项目的窗口
    • 官方链接
  • index.html: 给h5用的

  • main.js: 入口文件

    • 当你运行项目的时候,首先就会执行次文件(有点类似于webpack的入口,或者vue项目的main.js)

    • 核心功能:创建一个Vue实例,并挂载

      import App from './App'
      
      
      // 引入Vue
      import Vue from 'vue'
      Vue.config.productionTip = false
      App.mpType = 'app'
      
      // new一个vue的应用
      const app = new Vue({
        ...App
      })
      // 挂载应用
      app.$mount()
      
  • manifest.json 配置文件

    • 配置app的图表
    • 配置微信小程序的appid
  • unpackage: 编译之后的代码

条件编译

main.js下有一些奇怪的代码

// #ifndef VUE3

// #endif

这个代码是条件编译,uni-app是一套代码编译成多个平台,所以很多时候要考虑兼容问题。 就有以下场景:

  • 有一段代码:我想它在H5平台下生效,在其他平台不生效?
  • 有一段代码:我希望它仅仅在微信小程序下生效

这些场景就需要条件编译来做

练习: 头部在微信小程序中有,在h5中没有

  • 想办法找到去掉头部的配置(一段配置)
  • 让这段配置在H5里面生效,其他平台不生效
"globalStyle": {
		// #ifdef H5
		"navigationStyle": "custom",
		// #endif
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},

页面

命名规范

  • index.vue
  • index-xx.vue

创建页面

就是一个.vue文件,一般放在pages里面。

  • template -》 wxml
  • script -> js
  • style -> wxss

页面配置

{
    "path": "pages/index/index",
        "style": {
            "navigationBarTitleText": "uni-app"
        }
}

page.json pages里面进行页面的个性化配置。 此处的style会编译到页面.json中去。

页面的生命周期

官网链接

  • 创建
  • 更新
  • 卸载
  • 其他

页面也是一个.vue文件,所以created 这一套生命周期也是可以用的。 但是不建议大家在页面里面使用vue这一套生命周期。

组件化开发

组件的命名规范

  • son test (不规范的,easycom不起作用)
  • Son/Son.vue SubSon/SubSon.vue 【规范】
  • sub-son/sub-son.vue 【规范】

创建组件

创建普通组件(vue项目,创建一个组件,引入 注册 使用)

全局组件

  • 创建一个组件

  • 要将次组件注册成为全局组件

  • 其他地方使用次组件,直接使用即可

    import Child from './components/Child.vue'
    Vue.component('child', Child)
    

创建满足easycom的组件【新规范】:你只要按照uni-app这个规范创建组件, 就会省略掉引入、注册,直接使用。

  • 组件一定要在:components
  • 组件一定要用一个文件夹包起来
  • 组件的名字一定要和上一步的文件夹名一致

组件的生命周期(vue)

就是vue的那一套

  • created
  • mounted
  • updated

页面的生命周期在这里是不适用的!

事件绑定

原生微信小程序绑定事件

冒泡的控制

  • 可以冒泡
    • bindtap bind:tap
  • 不可以冒泡
    • catch

事件绑定(wxml)

<view bind:tap="函数名" data-name="xfdsdf" ></view>

// 事件传参 (页面.js)
函数名(e) {
   // 参数在e里面 
}

不需要传参

<button @click="sendData">给父组件数据</button>



methods: {
    sendData(e) {
        // e就是事件对象
    }
}

需要传参(不需要事件对象)

<button @click="sendData('1w', '一条烟')">给父组件数据</button>



methods: {
    sendData(money, smoke) {

    }
}

需要传参(需要事件对象)

<button @click="sendData('1w', '一条烟', $event)">给父组件数据</button>


methods: {
    sendData(money, smoke, e) {
	
    }
}

整体的代码

<template>
	<view>
		<button @click="handle1">不需要传参的绑定</button>
		<button @click="handle2">获取event对象</button>
		<button @click="handle3(12, `abc`)">获取多个参数</button>
		<button @click="handle4(12, `abc`, $event)">获取多个参数+事件对象</button>
	</view>
</template>

<script>
	export default {
		methods: {
			handle1() {
				console.log('不需要参数')
			},
			handle2(e) {
				console.log(e, '事件对象')
			},
			handle3(num, str) {
				console.log(num, str)
			},
			handle4(num,str, e) {
				console.log(num, str, e)
			}
		}
	}
</script>

组件通信-子父传值

父传子

<child name="张三" :age="24"></child>

props: ['name', 'age'],

子传父

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-foyiqT8l-1687444119377)(img\7.子传父.png)]

组件通信-插槽

vue提供的内容分发的机制。通俗一点:就是父组件把一段html(wxml)传给子组件

匿名(最简单的)

<child>
	<button>按钮</button>    
</child>

父组件给子组件(child)发送了一个button

// 子组件接收父组件发送过来的button
<template>
    <view>
    	// 占位	
    	<slot></slot>
    </view>
</template>

匿名插槽是由名字,名字叫:default。可以不写

具名

在这里插入图片描述
在这里插入图片描述

!

作用域插槽

作用: 让插槽内容访问子组件的数据
在这里插入图片描述
在这里插入图片描述

组件通信-跨组件通信

中央事件总线

uni-app中的中央事件总线比vue项目更加简单

  • 发送方
    • 拿到bus
    • emit
  • 接收方
    • 拿到bus
    • on

在实际工作中中央事件中线,不怎么用。使你的代码走向未知,代码会非常混乱。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0bzSCC3G-1687444119381)(img\11.uni-app的中央事件总线.png)]

乱传的另外几个方法【掌握】

  • $once (只订阅一次)

  • $off

    • 取消某一个事件的所有订阅

      uni.$off('事件名')
      
      
    • 取消某一个事件下的某一个订阅

      const 函数 = () => {}
      
      uni.$on('事件名', 函数)
      
      uni.$off('事件名', 函数)
      
      

vuex【重点】

vuex的特点

  • 集中式(你的数据在项目中,放入了一个文件夹)的管理整个项目的状态(项目的一些共享的数据)
  • 项目的组件可以无视层级从vuex的仓库中获取数据
  • 数据一旦改变,依赖于这个数据的组件就会更新页面

uni-app中怎么引入vuex【vue一样】

  • 创建一个仓库

    • store/index.js --》 创建一个仓库并导出
    import Vuex from 'vuex'
    import Vue from 'vue'
    
    // Vue要use一下Vuex
    // 给每一个组件注入一个$store
    Vue.use(Vuex)
    
    export default new Vuex.Store({
    	state: {
    		name: '1114班级'
    	},
    	mutations: {},
    	getters: {},
    	actions: {},
    	modules: {}
    })
    
    
    
  • 将这个仓库注入到vue应用中

    • main.js中注入 new Vue

      import store from '@/store'
      const app = new Vue({
        ...App,
        // 
        store
      })
      
      
  • 测试:将数据显示到页面上

    {{ name }}  
    
    computed: {
        name() {
            return this.$store.state.name
        }
    }
    
    

uni-app的api

请求方法

页面跳转【小程序】

页面通信

定位

  • 授权,在manifest.json下mp-weixin

    "mp-weixin" : {
            "appid" : "wx3373d91b06ee348f",
            "setting" : {
                "urlCheck" : false
            },
            "usingComponents" : true,
    		"permission": {
    		    "scope.userLocation": {
    		      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    		    }
    		},
    		"requiredPrivateInfos": [
    			"getLocation"
    		]
        }
    
    

扫码

会自己生成一个二维码

  • 可以使用代码生成
  • 借助线上的网址(草料二维码)

使用小程序扫描二维码

  • 使用uniapp提供的api

  • api调用摄像头,扫描二维码

  • 得到二维码的数据,告诉uniapp

练手

首页

  • 创建一个首页
  • 获取个人信息【选做】

加油

  • 点击首页的一键加油,跳转到加油站页面(新的页面)
    • 跳转api: https://uniapp.dcloud.net.cn/api/router.html#
  • 拿到经纬度
    • 调用接口: 示例: http://129.211.169.131:6368/getShellList?point=106.63043,29.71798
    • 得到加油站的列表:渲染到页面上

积分商城

  • 接口: http://129.211.169.131:6368/getFractionShop

  • 点击首页的积分商城,跳转到商城页面

  • 调用一个接口,得到商品数据

  • 然后渲染

  • 要求:下拉刷新做一下

扫码:

  • 会自己创建一个二维码
    • 内容:(一段字符串,可以是一个地址)
    • 字符串:打印一下
    • 地址:打开这个地址
  • 扫码二维码把二维码的信息打印出来即可
  • 扫描出来之后发现是一个地址,请在小程序内部打开这个地址 【选做】
    • 提示:借助一个组件: web-view, 类似于iframe

作业讲解

promise.all的用法如下:【面试官】

Promise.all([p1,p2,p3,p4]).then(res => {
    // 全部的promise都成功之后进入这个then
}).catch(err => {
    // 但凡有一个primise失败都进入catch
})

场景:发起100个请求?99个都成功了!其中给一个失败了,就要进入catch!怎么优化

const p1 = new Promise((resove, reject) => {
            setTimeout(() => {
                resove(1)
            }, 500)
        })

        const p2 = new Promise((resove, reject) => {
            setTimeout(() => {
                resove(2)
            }, 200)
        })

        const p3 = new Promise((resove, reject) => {
            setTimeout(() => {
                reject('500')
            }, 200)
        }).catch(err => {
            return Promise.resolve(err)
        })

        // 2020的新方法【最佳实践】
        Promise.allSettled([p1,p2,p3]).then(res => {
            console.log(res)
        })

        // 2020之前的用法
        Promise.all([p1,p2,p3]).then(res => {
            // [1,2,undefined]
            console.log(res)
        }).catch(err => {
            console.log(err)
        })

思考题

  • 自己手写一个简易版本的发布订阅,uni(emit on)

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

2014-01-07 2014-01-09 2014-01-11 2014-01-13 2014-01-15 2014-01-17 2014-01-19 2014-01-21 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/32944.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解析vcruntime140.dll文件,缺失了要怎么去修复?

在计算机的世界中&#xff0c;vcruntime140.dll是一个重要的动态链接库文件。然而&#xff0c;有时候这个文件可能会引发一系列问题&#xff0c;影响应用程序的正常运行。如果你缺少了vcruntime140.dll&#xff0c;那么你的程序就会打不开&#xff0c;今天我们一起来聊聊vcrunt…

鸟类识别Python,基于TensorFlow卷积神经网络【实战项目】

一、介绍 鸟类识别系统&#xff0c;使用Python作为主要开发语言&#xff0c;基于深度学习TensorFlow框架&#xff0c;搭建卷积神经网络算法。并通过对数据集进行训练&#xff0c;最后得到一个识别精度较高的模型。并基于Django框架&#xff0c;开发网页端操作平台&#xff0c;…

Linux Ubuntu man文档的图文安装教程

文章目录 前言man文档的起源man文档的安装man文档的使用总结 前言 当提及"man文档"时&#xff0c;通常是指Unix和类Unix系统中的手册页&#xff08;man page&#xff09;&#xff0c;因为Linux是在Unix的基础上发展而来的操作系统&#xff0c;所以我们的Linux也有ma…

IIS安装localhost显示下载,urlrewrite设置

1.取消ftp服务勾选 2. ping localhost ping 127.0.0.1 如果显示 &#xff1a;&#xff1a;1 则需要禁用ipv6 在注册表 找到并单击下面的注册表子项&#xff1a; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\ 双击“DisabledComponents”以修…

【机器学习】sklearn数据集的使用,数据集的获取和划分

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 sklearn数据集 二、安装sklearn二、获取数据集三、…

从电源 LED 读取智能手机的秘密?

研究人员设计了一种新的攻击方法&#xff0c;通过记录读卡器或智能手机打开时的电源 LED&#xff0c;使用 iPhone 摄像头或商业监控系统恢复存储在智能卡和智能手机中的加密密钥。 众所周知&#xff0c;这是一种侧信道攻击。 通过密切监视功耗、声音、电磁辐射或执行操作所需…

STC单片机存储器介绍和使用

STC单片机存储器介绍和使用 🌿STC15F2K60S2系列内部结构框图 🌿STC12C5A60S2系列内部结构框图 📑程序存储器(ROM/Flash) 🔖STC单片机ROM容量大小可以根据其型号和命名规则了解到。 🌿STC15

WiSA Technologies开始接受WiSA E多声道音频开发套件的预订

美国俄勒冈州比弗顿市 — 2023年6月13日 — 为智能设备和下一代家庭娱乐系统提供沉浸式无线声效技术的领先供应商WiSA Technologies股份有限公司&#xff08;NASDAQ股票代码&#xff1a;WISA&#xff09;宣布&#xff1a;该公司现在正在接受其WiSA E开发套件的预订。WiSA E使用…

【深度学习】6-1 卷积神经网络 - 卷积层

卷积神经网络(Convolutional Neural Network&#xff0c;CNN)。 CNN 被用于图像识别、语音识别等各种场合&#xff0c;在图像识别的比赛中&#xff0c;基于深度学习的方法几乎都以 CNN 为基础。 首先&#xff0c;来看一下 CNN 的网络结构&#xff0c;了解 CNN 的大致框架。CNN…

macOS编译开源全景拼接库OpenPano

1. 准备工具 clang与cmake 如果要处理png文件要下载安装libjpeg 安装相当依赖: brew install gnu-sed brew install libjpeg brew install eigen brew install libomp2.克隆源码 git clone --recursive https://github.com/ppwwyyxx/OpenPano.git 3.编译 mkdir build cd …

力扣 404. 左叶子之和

题目来源&#xff1a;https://leetcode.cn/problems/sum-of-left-leaves/description/ C题解1&#xff1a;递归法&#xff0c;前序遍历。 1. 确定输入参数&#xff1a;当前节点&#xff0c;左叶子的和&#xff1b; 2. 确定终止条件&#xff1a;空节点时返回&#xff1b; 3. …

Java的Stream流详细讲解

一.Stream 是什么 Stream是Java 8新增的重要特性, 它提供函数式编程支持并允许以管道方式操作集合. 流操作会遍历数据源, 使用管道式操作处理数据后生成结果集合, 这个过程通常不会对数据源造成影响。 ​ 同时stream不是一种数据结构&#xff0c;它只是某种数据源的一个视图&…

用Python写了一个下载网站所有内容的软件,可见即可下

目录标题 前言效果展示环境介绍:代码实战获取数据获取视频采集弹幕采集评论 GUI部分尾语 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 今天我们分享一个用Python写下载视频弹幕评论的代码。 顺便把这些写成GUI&#xff0c;把这些功能放到一起让朋友用起来更方便~ 效果…

Debezium系列之:深入理解tinyint(n)

Debezium系列之:深入理解tinyint 一、背景二、相关技术博客三、查看表的ddl四、深入理解tinyint(n)五、创建表六、插入数据七、查看topic数据八、总结一、背景 数据库修改了字段类型为tinyint,希望采集的时候能够转化为boolean类型,数据库字段类型如下图所示: 在设置了conv…

new Vue后整个的流程

文章目录 new Vue后整个的流程Vue.js 创建应用程序流程概述使用 new Vue() 创建Vue 实例流程概述 new Vue后整个的流程 new Vue({el: #app,render: h > h(App),data() {return {message: hello vue}} }).$mount(#app)Vue.js 创建应用程序流程概述 在使用 Vue.js 创建一个应…

8.OpenCV-识别身份证号码(Python)

需求描述&#xff1a; 通过OpenCV识别身份证照片上的身份证号码&#xff08;仅识别身份证号码&#xff09; 实现思路&#xff1a; 1.将身份证号中的0,1,2,3,4,5,6,7,8,9作为模板&#xff0c;与身份证照片中的身份证号码区域进行模板匹配。 2.先要制作一个身份证号码模板&am…

RabbitMQ Exchange类型和工作模式介绍

RabbitMQ Exchange类型和工作模式介绍 一RabbitMQ Exchange类型1.1.Fanout1.2.Direct1.3.Topic1.4.Headers 二 RabbitMQ 工作模式介绍2.1.work工作模式(资源的竞争)2.2.publish/subscribe发布订阅(共享资源)2.3.routing路由模式应用--direct交换器 2.4.topic 主题模式(路由模式…

CSDN个性化推荐系统-负反馈测试

文章目录 前言一、uc不感兴趣标签过滤测试1.uc不感兴趣标签获取(uc_unlike_tag_list)1.1个人中心界面1.2从标签中可以发现什么&#xff1f;1.3与研发确认点1.4设计开发1.5接口获取结果 2.推荐流文章标签获取(tag_list)2.1部分代码2.2基本标签校验2.3基本标签校验结果 3.推荐流u…

华为云专家出品《深入理解边缘计算》电子书上线

华为开发者大会PaaS生态电子书推荐&#xff0c;助你成为了不起的开发者&#xff01; 什么是边缘计算&#xff1f;边缘计算的应用场景有哪些&#xff1f; 华为云出品《深入理解边缘计算》电子书上线 带你系统理解云、边、端协同的相关原理 了解开源项目的源码分析流程 学成能…

Linux--在当前路径下创建目录/文件夹指令:mkdir

语法&#xff1a; mkdir [选项] 文件名 功能&#xff1a; 在当前目录下创建一个名为 “文件名”的目录 常用选项&#xff1a; -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些不存在的目录&#xff0c;即一次可以建立…