hbuilder的获取头像以及位置

news2024/9/24 21:20:13

条件编译

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
// 初始化vue应用
const app = new Vue({
  ...App
})
// 挂载vue应用
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif
  • #ifndef
  • #endif

官方链接

场景:一套代码兼容到各个平台,每个平台有差异。 就会出现这种情况: 有一段代码在某一个平台生效,其他平台就不生效

document.getElementById('test')

以上代码在h5能正常运行,但是在小程序中会报错.

应用

app.vue就是一个应用(小程序的壳子)。

注意: app.vue没有template,你写了也不会生效

  • style: 注入全局的样式
  • script:
    • 应用的生命周期

页面

通常页面放在pages下,一定要在pages.json中进行注册,才算是一个页面。

命名

pages
 - index
  - index.vue
 - homeA
	- homeA.vue
  - home-a
	- home-a.vue

创建

右键pages,创建页面,生成页面,并且能够把页面注册到pages.json中。

配置

在pages.json中的路由对每一个页面进行单独的配置。

官方文档

页面生命周期

官网地址

  • onLoad 同小程序的 类似与vue的created
    • 发起网络请求
    • 接收页面参数
  • onShow 、 onHide (类似于: keep-alive 包裹的组件多了两个生命周期: 失活,激活)
  • onPullDownRefresh: 下拉刷新
  • onReachBottom: 触底加载

页面也有vue的那一套生命周期,建议不要混着用,就用官网这一套

组件

分类

  • 内置的组件

    • uni-app帮我们写好的,直接使用即可
  • 第三方组件

    • ui框架的组件
  • 自己开发的组件

    • 引入 注册 使用
  • 全局的组件

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

    在main.js中进行注册

  • easyCom 组件

    • 链接

组件的生命周期

组件通信

  • 父子通信【给vue2完全相同】
  • 兄弟之间通信
    • 乱传 【有点变化】
    • vuex【同vue2】

乱传(vue2)

  • 初始化一个$bus,挂载vue的原型上

    Vue.protoType.$bus = new Vue()
    
    
    this.$bus
    
  • 发送方

    • 拿到$bus
    • b u s . bus. bus.emit(‘自定义事件的名字’, 发送的数据)
  • 接收方

    • 拿到$bus
    • b u s . bus. bus.on(‘自定义事件的名字’, 数据 => {})

uni-app的乱传

  • 发送方
    • uni.$emit(‘test’, ‘数据’)
  • 接收方
    • uni.$on(‘test’, data => { })

uni-app中集成vuex

  • 创建一个仓库

    • 创建store/index.js 在这里进行仓库的创建和配置
  • 配置仓库

    • 数据(state)

    • mutation

    • action

    • getters

    • modules

      // 创建一个仓库并导出   
      import vuex from 'vuex'
      import Vue from 'vue'
      
      // this.$store  
      Vue.use(vuex)
      
      // new 一个store
      
      export default new vuex.Store({
      	strict: true,
      	state: {
      		name: 'uni-app',
      		age: 24
      	},
      	mutations: {
      		M_name(state, payload) {
      			state.name = payload
      		}
      	}
      })
      
  • 将仓库注入到vue应用, main.js new Vue的使用给其配置一个store

    import store from './store'
    
    new Vue({
        ...App,
        store
    })
    
  • 组件从仓库中获取值【计算属性】

    computed: {
        // name() {
        // 	return this.$store.state.name
        // },
        // age() {
        // 	return this.$store.state.age
        // }
        ...mapState(['name', 'age'])
    },
    
  • 组件更改仓库中的值

    methods: {
        ...mapMutations(['M_name']),
            changeName() {
            // 不要这样做,仓库中如果开启了严格模式,会报错
            // this.$store.state.name = '李四'
            // 提交一个mutation
            // this.$store.commit('M_name', '李四')
            this.M_name('李四')
        }
    }
    

应用:

App.vue。 没有template。 有自己的一套生命周期

页面

  • 在pages.json 下的 pages注册
  • 通常在pages下
  • 有两套生命周期
    • onLoad …
    • vue的那一套: created …
    • 注意点: 不要用vue的那一套

组件

  • easycom规范的组件

    • components/组件名称/组件名称.vue

      // 
      export default {
      name: '组件名称'
      }
      

      直接使用即可。

  • 生命周期(同vue2)

  • 通信方式

    • 子父(vue2)
    • 乱传(中央事件总线)
      • 比vue2更加的简单。
      • 缺点:不好维护。分散
    • vuex集中管理项目的数据(共享的数据)
      • 集中式管理数据。
      • 组件可以无视层级从仓库中获取数据
      • 仓库中数据发生变化,响应的组件更新

部分API介绍

定位

位置是一个比较敏感信息。手机

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

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

这是头像获取
在这里插入图片描述
这是位置获取
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pet Detection System (PDS)

宠物医院检验设备物联系统

PHP原生类

什么是php原生类 原生类就是php内置类&#xff0c;不用定义php自带的类&#xff0c;即不需要在当前脚本写出&#xff0c;但也可以实例化的类 我们可以通过脚本找一下php原生类 <?php $classes get_declared_classes(); foreach ($classes as $class) {$methods get_clas…

c++中const修饰成员函数的问题

问题引入&#xff1a; 看下面这一段代码&#xff1a; class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;}void Print(){cout << "Print()" << endl;cout << "year:" << _year <&…

利用hfish反控境外攻击源主机

导师给了7个网络安全课题选题&#xff0c;本想和他聊了下思路&#xff0c;他一挥手让我先做出点东西再来聊就把我打发走了…… 正好前段时间阿里云到校做推广&#xff0c;用优惠卷薅了一台云服务器&#xff0c;装了hfish先看下情况 没想到才装上没两天数据库就爆了&#xff0…

CDN安全面临的问题及防御架构

CDN安全 SQL注入攻击&#xff08;各开发小组针对密码和权限的管理&#xff0c;和云安全部门的漏洞扫描和渗透测试&#xff09; Web Server的安全&#xff08;运营商和云安全部门或者漏洞纰漏第三方定期发布漏洞报告修复&#xff0c;例如&#xff1a;nginx版本号和nginx resol…

MuMu模拟器运行一段时间后Device.Present耗时突然上升

1&#xff09;MuMu模拟器运行一段时间后Device.Present耗时突然上升 2&#xff09;​如何在运行过程中获得温度信息 3&#xff09;Input System鼠标更换主按键的Bug 4&#xff09;如何禁止Unity向https://config.uca.cloud.unity3d.com发送设备信息 这是第347篇UWA技术知识分享…

手把手写教学C#写一个串口接收助手

C#上位机 文章目录 C#上位机[TOC](文章目录) C#一个简单串口助手创建工程&#xff1a;一、控件的设置1.显示TextBOX2.选项框comboBOX3.标签label4.按键button 二、组件的设置1.添加定时器time组件2.添加串口组件serialPort 三、代码部分总结 C#一个简单串口助手 实现简单的串口…

12_Vue3中的其它变化

1. 全局 API 的转移 2.其它改变

SpringBoot整合Mybatis(开启驼峰映射、分页)

目录 Mybatis的简单使用 依赖 项目结构 父pom文件 pom文件 配置文件 实体类 controller mapper xml 结果 mybatis开启驼峰映射 方式一&#xff1a; 方式二&#xff1a; 方式三&#xff1a; 方式四&#xff1a; MyBatis结合PageHelper进行分页 父pom文件 pom文…

Linux命令200例:df用于显示文件系统的磁盘空间使用情况

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

发现 SaaS 专业服务的潜力,实现优质的客户支持

您正拥有优秀的产品或服务、引人注目的网站和不断增长的客户群&#xff0c;一切都很顺利&#xff0c;但有一件事让您夜不能寐&#xff1a;客户支持&#xff01;您想为客户提供一流的服务&#xff0c;但您发现教整个团队怎样以让每个客户都满意的方式处理客户查询&#xff0c;还…

分享一个RS触发器的趣味介绍

这段时间看到一个对触发器比较有意思的介绍&#xff0c;记录一下 他是用两个或非门和一个灯泡进行举例的&#xff0c;如下图 初始状态下&#xff0c;灯泡熄灭&#xff0c;且两个开关都属于断开状态 先将蓝色或非门的开关闭合&#xff0c;红色或非门开关继续保持断开&#xff…

prometheus部署

一、前言 Prometheus 是一个开源的系统监控和警报工具&#xff0c;用于收集、存储和查询时间序列数据。它旨在提供高效的多维数据收集和查询功能&#xff0c;帮助用户监控其应用程序和基础设施的性能&#xff0c;并在出现问题时触发警报&#xff0c;总来得说prometheus是用来收…

用3dmax制作软包床模型的方法

3dmax是最常用的三维动画制作软件之一&#xff0c;通过建模、添加材质&#xff0c;贴图、渲染等流程&#xff0c;才能制作出一张逼真的图。所以想学3dmax的话&#xff0c;还是要找一些专业的教程&#xff0c;学习起来才能事半功倍。 用3dmax制作软包床模型的方法 软包床是能够…

【从零开始学习JAVA | 第四十三篇】UDP的三种通信方式

目录 前言&#xff1a; UDP三种通信方式&#xff1a; 单播&#xff1a; 组播&#xff1a; 广播&#xff1a; 三种通信方式的应用场景&#xff1a; 总结&#xff1a; 前言&#xff1a; 在我们初学网络编程的时候&#xff0c;我们就介绍过两个极其重要的协议&#xff0…

Python之特殊属性、对象的浅拷贝和深拷贝

一、特殊属性 Python对象中包含了很多双下划线开始和结束的属性&#xff0c;这些是特殊属性&#xff0c;有特殊用法。这里我们列出常见的特殊属性&#xff1a; 特殊属性含义obj.__dict__对象的属性字典obj.__class__对象所属的类class.__bases__表示类的父类(多继承时&#x…

solidworks(2)

记得选择双向

【100天精通python】Day26:文件和IO操作_文件指针的定位与移动,序列化与反序列化

目录 专栏导读 1 文件的基本操作 1.1 参考 1.2 获取文件属性&#xff1a; 2 定位和移动文件指针 3 序列化和反序列化 3.1 序列化与反序列化概述 3.2JSON序列化与反序列化 JSON序列化&#xff1a; JSON反序列化&#xff1a; 3.3 pickle 序列化与反序列化 pickle 序列…

CTF REVERSE练习之病毒分析

首先介绍两个知识点&#xff0c;在后面的实验中运用到的。 1、7Zip 7-Zip 是一款开源软件。我们可以在任何一台计算机上使用 7-Zip &#xff0c;包括用在商业用途的计算机。7-Zip 适用于 Windows 7 / Vista / XP / 2008 / 2003 / 2000 / NT / ME / 98。并且有面向 Mac OS X、…

开发中常用的数据库日志都长啥样呢?

目录 常见日志级别 数据库日志 Undo log 逻辑日志 redolog binlog 慢查询日志 AOF 文本文件 RDB 二进制文件 常见日志级别 DEBUG&#xff1a;用于详细记录应用程序的运行过程&#xff0c;如变量值、执行流程等。DEBUG级别的日志通常用于开发和调试过程中&#xff0c;以…