精华内容
下载资源
问答
  • show}}" hover-class="none">Click Me</button> </view> </view> </page-container> 样式 page{ color: #333333; background-color: #ddd; } .item{ background-color: #ffffff; margin: 20rpx; padding: 20rpx; ...
    1. js 逻辑层处理
     data: {
        list: [{
            id: 20,
            info: '你稍等会覅四idfh斯蒂芬和i速发货i收到回复i收到回复isdfhi是否hi收到发hi收到覅但是'
          },
          {
            id: 21,
            info: '你稍等会覅四idfh斯蒂芬和i速发货i收到回复i收到回复isdfhi是否hi收到发hi收到覅但是'
          },
          {
            id: 22,
            info: '你稍等会覅四idfh斯蒂芬和i速发货i收到回复i收到回复isdfhi是否hi收到发hi收到覅但是'
          },
          {
            id: 23,
            info: '你稍等会覅四idfh斯蒂芬和i速发货i收到回复i收到回复isdfhi是否hi收到发hi收到覅但是'
          },
          {
            id: 24,
            info: '你稍等会覅四idfh斯蒂芬和i速发货i收到回复i收到回复isdfhi是否hi收到发hi收到覅但是'
          },
          {
            id: 25,
            info: '你稍等会覅四idfh斯蒂芬和i速发货i收到回复i收到回复isdfhi是否hi收到发hi收到覅但是'
          }
        ],
        position: 'center',
        duration: 300,
        show: false,
        overlay: false,
        contact:{},
      },
      showNext(e) {
        const index = e.currentTarget.dataset.index
        this.setData({
          show: true,
          contact: this.data.list[index]
        })
      },
    
      showPrev() {
        this.setData({
          show: false
        })
      },
    
      onBeforeEnter(res) {
        console.log(res)
      },
      onEnter(res) {
        console.log(res)
      },
      onAfterEnter(res) {
        console.log(res)
      },
      onBeforeLeave(res) {
        console.log(res)
      },
      onLeave(res) {
        console.log(res)
      },
      onAfterLeave(res) {
        console.log(res)
      },
    
    1. 布局
    <view wx:for="{{list}}" wx:key="*this">
      <view class="item" bindtap="showNext" data-index='{{index}}'>
        <share-element duration='300' transform='{{true}}'>
          <view>{{item.id}}</view>
          <view> {{item.info}}</view>
        </share-element>
      </view>
    </view>
    
    <page-container
    	show="{{show}}"
    	overlay="{{overlay}}"
    	close-on-slide-down
      duration="{{duration}}"
      position="{{position}}"
      bindbeforeenter="onBeforeEnter"
      bindenter="onEnter"
      bindafterenter="onAfterEnter"
      bindbeforeleave="onBeforeLeave"
      bindleave="onLeave"
      bindafterleave="onAfterLeave"
      bindclickoverlay="onClickOverlay"
      custom-style='background-color:#f1f1f1;'
    >
    	<view class="screen screen2">
    		<view class="contact">
    			<view class="paragraph {{show ? 'enter' : ''}}">
          	{{contact.id}}
            {{contact.info}}
    			</view>
    			<button class="screen2-button" bindtap="showPrev" hidden="{{!show}}" hover-class="none">Click Me</button>
    		</view>
    	</view>
    </page-container>
    
    1. 样式
    page{
      color: #333333;
      background-color: #ddd;
    }
    .item{
      background-color: #ffffff;
      margin: 20rpx;
      padding: 20rpx;
      box-sizing: border-box;
      box-shadow: 0 8px 17px rgba(0, 0, 0, .2);
    }
    button {
      border: 0 solid #0010ae;
      background-color: #1f2afe;
      color: #fff;
      font-size: 120%;
      padding: 8px 16px;
      outline-width: 0;
      -webkit-appearance: none;
      box-shadow: 0 8px 17px rgba(0, 0, 0, 0.2);
    }
    .paragraph{
      padding: 20rpx;
    }
    .paragraph {
      -webkit-transition: transform ease-in-out 300ms;
      transition: transform ease-in-out 300ms;
      -webkit-transform: scale(0.6);
      transform: scale(0.6);
    }
    
    .enter.paragraph {
      transform: none;
    }
    
    展开全文
  • 前端与移动开发----微信小程序----小程序(一)

    千次阅读 多人点赞 2021-04-17 09:50:28
    微信小程序

    微信小程序第一天

    1. 什么是小程序

    1.1 小程序的概念

    小程序是一种不需要下载、安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也实现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载

    在这里插入图片描述

    1. 特点:无需下载(并非不下载,而是小程序体积非常小,用户感知不到下载的过程 打开任意一个小程序(2MB))、无需卸载
    2. 理念:用完即走(让用户在短时间内完成某件操作,用户离开小程序即可,并不需要关注小程序本身)
    3. 入口:扫一扫、搜一下、群聊……
    1.2 小程序产生的目的

    拦截用户流量入口,今后,用户每天的大多数应用需求,都可以从微信小程序中获得

    2. 小程序与普通网页开发以及APP的区别

    1. 运行环境不同

      • 网页 运行在 浏览器环境
      • 小程序 运行在 微信环境
      • App 运行在 手机操作系统
    2. API 不同

      • 由于运行环境的不同,所以小程序中,无法调用 DOM 和 BOM 的 API
      • 但是,在小程序中可以调用微信环境提供的各种 API,例如:
        • 微信支付
        • 微信扫码
        • 地理定位
      • App 的 API 是手机操作系统给提供
    3. 开发模式不同

      • 网页的开发模式:代码编辑器 + 浏览器
      • 小程序拥有自己的一套标准开发模式
        • 申请小程序开发账号
        • 安装小程序开发者工具
        • 创建和配置并开发小程序项目
        • 在开发者工具中对代码进行上线
      • App 开发模式需要调用 IOSAndroid 的组件库

    3. 小程序开发的流程

    参考网址:微信公众平台

    1. 注册:在微信公众平台注册小程序,完成注册后可以同步进行信息完善和开发

      • 在实际开发中,注册通常由运营、产品经理、项目经理进行注册
      • 并不是前端程序员来进行注册
    2. 小程序信息完善:填写小程序基本信息,包括名称、头像、介绍及服务范围等

      • 在实际开发中,完善小程序的基本信息,通常是由运营、项目经理、产品经理进行完善
      • 前端程序员不要更改这些的基本信息
    3. 开发小程序:完成小程序开发者绑定、开发信息配置后,开发者可下载开发者工具、参考开发文档进行小程序的开发和调试

      • 前端程序员主要战场
      • 在实际开发中,开发一个小程序,首先需要将自己的微信号给相关的负责人绑定到注册的小程序中,才能够进行开发
      • 下载开发者工具
      • 参考开发文档进行小程序的开发
    4. 提交审核和发布:完成小程序开发后,提交代码至微信团队审核,审核通过后即可发布(公测期间不能发布)

      • 在实际开发中,小程序的发布和上线,可能是前端程序员或者相关的负责人进行发布和上线
      • 开发好项目以后,需要确认是否是由前端进行上线

    4. 注册小程序开发账号的流程

    需要在微信公众平台注册小程序账号

    微信公众平台:微信公众号平台

    微信公众号实际上分为 4 类:订阅号(就是咱们平台聊天时候说的公众号)、服务号、小程序、企业微信

    1. 点击注册按钮

      使用浏览器打开 微信公众平台 网址,点击右上角的 “立即注册” 即可进入到小程序开发账号的注册流程

    在这里插入图片描述

    1. 选择注册的帐号类型

    在这里插入图片描述

    1. 填写账号信息

      • 邮箱不能被个人微信绑定

    1. 邮箱激活

    在这里插入图片描述

    1. 点击链接激活账号

    在这里插入图片描述

    1. 选择主体类型

    在这里插入图片描述

    1. 主体登记信息

    在这里插入图片描述

    1. 注册完毕

    5. 获取小程序 AppID

    相当于小程序在微信中的“身份证”,有了 AppID ,微信客户端才能确定小程序“身份”,并使用微信提供的高级接口

    • 用来创建小程序项目
    • 调用一些高级的接口

    6. 微信开发者工具

    6.1 安装微信开发者工具
    1. 了解微信开发者工具

      微信开发者工具是官方推荐使用的小程序开发工具,它提供的主要功能如下:

      • 快速创建小程序项目
      • 代码的查看和编辑
      • 对小程序功能进行调试
      • 小程序的预览和发布
    2. 下载并安装微信开发者工具

      • 推荐下载和安装最新的稳定版 Stable Build 的微信开发者工具
      • 微信开发者工具下载地址
      • 安装方式: 下一步 --> 下一步
    6.2 扫码登录到微信开发者工具

    在这里插入图片描述

    在这里插入图片描述

    6.3 设置外观和代理
    1. 为什么需要代理设置 ?

      • 因为部分同学可能电脑安装了网络加速器或者翻墙工具,导致网络不稳定
      • 为了防止加速器造成网络的不稳定,所以推荐代理设置为 不使用任何代理

    在这里插入图片描述

    在这里插入图片描述

    6.4 演示新建小程序的步骤
    1. 点击 + 号,新建项目

      在这里插入图片描述

    2. 填写项目信息

    6.5 预览小程序的两种方式
    1. 在模拟器上查看项目效果

    2. 在真机上预览项目效果

    6.6 开发者工具主界面的 5 个组成部分
    1. 主界面的 5 个组成部分,从上到下,到左到右,依次是

      • 菜单栏
      • 工具栏
      • 模拟器
      • 代码编辑区
      • 调试区

    7. 小程序项目的构成

    7.1 小程序目录的构成
    1. pages 用来存放所有小程序的页面
    2. utils 用来存放工具性质的模块(例如:格式化时间的自定义模块)
    3. app.js 小程序项目的入口文件 — main.js
    4. app.json 小程序项目的全局配置文件
    5. app.wxss 小程序项目的全局样式文件
    6. project.config.json 项目的配置文件
    7. sitemap.json 用来配置小程序及其页面是够允许被微信索引 – SEO – 搜索引擎优化

    在这里插入图片描述

    • json 文件在小程序中是配置文件
      • 不能写注释
      • 键和值都必须是双引号
      • 不能出现多余的逗号
    7.2 小程序页面的组成部分

    vue 单文件组件:3 个部分:template 、script、style

    小程序官方建议把所有的 小程序页面,都存放在 pages 目录中,每个页面以单独的文件夹存在

    其中,每个页面 由 4 个基本文件 组成,他们分别是:

    1. .js 文件 – 页面的脚本文件,存放页面的数据、事件处理函数、生命周期等
    2. .json 文件 – 当前页面的配置文件,配置页面的外观、表现等
    3. .wxml 文件 – 页面的模板结构文件
    4. .wxss 文件 – 当前页面的样式表文件

    在这里插入图片描述

    7.3 认识小程序中的 4 种配置文件

    JSON 是一种数据格式,在实际开发中,JSON 总是以配置文件的形式出现。小程序项目也不例外,通过不同的 .json 配置文件,可以对小程序项目进行不同级别的配置。小程序项目中有 4 中 json 文件,分别是:

    1. 项目根目录中的 app.json 配置文件 ★★★★★
    2. 项目根目录中的 project.config.json 配置文件
    3. 项目根目录中的 sitemap.json 配置文件
    4. 每个页面文件夹中的 .json 配置文件 ★★★★★

    在这里插入图片描述

    7.4 app.json 文件

    app.json 是当前小程序的全局配置,包括了小程序的所有页面路径窗口外观界面表现底部 tab 等, Demo 项目里面的 app.json 配置内容如下:

    • 全局配置文件就是指配置好以后,能够影响到每一个页面
    • 所有页面路径

    在这里插入图片描述

    简单了解下这 4 个配置项的作用:

    1. pages:用来记录当前小程序所有页面的路径
    2. window:全局定义小程序所有页面的背景色、文件颜色等
    3. style:全局定义小程序组件所使用的样式版本
      • 微信小程序是运行到微信内部的
      • 样式风格和微信是一致的
      • 微信主要样式风格会发生改变,小程序也会随之发生改变
      • 这时候就产生了样式版本的概念
    4. sitemapLocation:用来指明 sitemap.json 的位置
    7.5 project.config.json 文件

    project.config.json 是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置,例如:

    1. setting 中保存了编译相关的配置
    2. projectname 中保存的是项目名称
    3. appid 中保存的是小程序的账号 ID
    7.6 sitemap.json 文件

    在实际开发中,这个文件,默认就可以

    如果需要进行配置,需要按照运营的要求,进行文件的配置

    微信现已开放小程序内搜索,效果类似于 PC 网页的 SEO (搜索引擎优化),sitemap.json 用来配置小程序页面是否允许微信搜索

    当开发者允许微信搜索时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。

    在这里插入图片描述

    注意: sitemap 的索引提示是默认开启的,如需要关闭 sitemap 的索引提示,可在小程序项目配置文件 project.config.jsonsetting 中配置字段 checkSiteMapfalse

    7.7 页面的 .json 配置文件

    小程序中的每一个页面,可以使用 .json 文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖 app.json 中的 window 中的配置项

    在这里插入图片描述

    7.8 新建小程序页面
    1. pages 文件中右键 新建文件夹 -- home,在 home 文件夹右键 新建 home -- 输入 hoome
      • 官方推荐文件夹名称和页面的名称一致,方便后期的维护
      • 新建页面组件的时候,不需要输入后缀名
    2. app.json --> pages 中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件
    3. 对 pages 目录下页面的删除或者新增都需要在 app.json 文件的 pages 数组中进行新增或删除

    在这里插入图片描述

    7.9 设置首页的两个方式
    1. 调整 app.json --> pages 数组中页面路径的前后顺序,即可修改项目的首页,小程序会把排在第一位的页面,当作项目首页进行渲染

    在这里插入图片描述

    1. app.jsonpages 同级,配置一个新的节点 entryPagePath 节点,传入需要设置为首页的路径即可
      • 最终小程序项目的首页,以 entryPagePath 节点设置的为准

    在这里插入图片描述

    7.10 WXML 的概念以及和 HTML 之间的区别
    1. 什么是 WXML

      WXMLWeiXin Markup Language)是框架设计的一套标签语言(组件),用来构建小程序页面的结构,其作用类似于网页开发中的 HTML

    2. WXMLHTML 的区别

      • 标签名称不同

        • HTMLdiv、p、span、img
        • WXMLview、text、image、navigator
      • 属性节点不同

        • <a href="#">超链接</a>
        • <navigator url="/pages/home/home"></navigator>
      • 提供了类似于 Vue 中的模板语法

        • 数据绑定 – 插值表达式
        • 列表渲染 – wx:for – v-for
        • 条件渲染 – wx:if – v-if
    7.11 WXSS 的概念以及和 CSS 之间的区别
    1. 什么是 WXSS

      • WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式
      • 类似于网页开发中的 CSS
    2. WXSSCSS 之间的区别

      • 新增了 rpx 自适应尺寸单位

        • CSS 中需要手动进行像素单位换算,例如 rem
        • WXSS 在底层支持新的尺寸单位 rpx,在不同大小的屏幕上小程序会自动进行换算
      • 提供了全局的样式和局部样式

        • 项目根目录中的 app.wxss 会作用于所有小程序页面
        • 局部页面的 .wxss 样式仅对当前页面生效
      • WXSS 仅支持部分 CSS 选择器

        • 重点使用 class 选择器

        • .class 和 #id

        • element

        • 并集选择器和后代选择器

        • ::after 和 ::before 等伪类选择器

    7.12 小程序中 JS 文件的三大分类

    一个项目仅仅提供页面的展示是不够的,在小程序中,我们通过 .js 文件来处理用户的操作,例如:响应用户的点击、获取用户的位置等等

    小程序中的 JS 文件分类三大类,分别是:

    1. app.js

      • 整个小程序项目的入口文件,通过调用 App() 函数 来启动整个小程序
    2. 页面的 .js 文件

      • 页面的入口文件,通过调用 Page() 函数来创建小程序页面,并运行小程序页面
    3. 普通的 .js 文件

      • 普通的功能模块文件,用来封装公共的函数或属性供页面使用

    8. 宿主环境

    8.1 了解宿主环境的概念

    宿主环境指的是 程序运行所必须的依赖环境,例如:

    1. Android 系统和 IOS 系统是两个不同的宿主环境
    2. 安卓版的微信 App 是不能在 IOS 环境下运行的。所以 Android 是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的

    在这里插入图片描述

    8.2 小程序的宿主环境
    1. 小程序的宿主环境

      微信是小程序的宿主环境,如图所示:

    在这里插入图片描述

    小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如:微信扫码、微信支付、微信登录、地理定位 等等

    1. 小程序宿主环境包含的内容
      • 通信模型
      • 运行机制
      • 组件 – “标签”
      • API – “方法”
    8.3 小程序的通信主体

    小程序中通信的主体是 渲染层逻辑层,其中:

    1. WXML 模板和 WXSS 样式工作在渲染层
    2. JS 脚本工作在逻辑层

    在这里插入图片描述

    8.4 小程序的通信模型

    小程序中的通信模型分为两个部分

    1. 渲染层逻辑层 之间的通信

      • 由微信客户端进行转发
    2. 逻辑层第三方服务器 之间的通信

      • 由微信客户端进行转发

    在这里插入图片描述

    8.5 运行机制
    1. 小程序启动的过程

      • 把小程序的代码包下载到本地
      • 解析 app.json 全局配置文件
      • 执行 app.js 小程序入口文件,调用 App() 创建小程序实例
      • 渲染小程序首页
      • 小程序启动完成
    2. 页面渲染的过程

      • 加载解析页面的 .json 配置文件
      • 加载页面的 .wxml 模板和 .wxss 样式
      • 执行页面的 .js 文件,调用 Page() 创建页面实例
      • 页面渲染完成

    9. 小程序中的组件

    9.1 了解常用的视图容器组件
    1. 小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构,官方把小程序的组件分为了 9 大类,分别是:

       ① 视图容器    ② 基础内容   ③ 表单组件   ④ 导航组件  ⑤ 媒体组件
      
       ⑥ map 地图组件  ⑦  canvas 画布组件  ⑧ 开发能力  ⑨ 无障碍访问
      
    2. 常用的视图容器类组件

      • view 组件

        • 普通视图区域
        • 类似于 HTML 中的 div ,是一个块级元素
        • 常用来实现页面的布局效果
      • scroll-view 组件

        • 可滚动的视图区域
        • 常用来实现滚动列表效果
      • swiperswiper-item 组件

        • 轮播图容器组件和轮播图 item 组件
    9.2 view 组件的基本使用

    view 类似于 div ,一般主要用来布局

    实现如图的 Flex 横向布局效果:

    在这里插入图片描述

    <view class="container">
      <view>A</view>
      <view>B</view>
      <view>C</view>
    </view>
    
    
    .container {
      display: flex;
      justify-content: space-around;
    }
    
    .container view{
      width: 100px;
      height: 100px;
      text-align: center;
      line-height: 100px;
    }
    
    .container view:nth-child(1) {
      background-color: lightgreen;
    }
    
    .container view:nth-child(2) {
      background-color: lightskyblue;
    }
    
    .container view:nth-child(3) {
      background-color: lightcoral;
    }
    
    
    
    9.3 scroll-view 组件的基本使用

    在这里插入图片描述

    <!-- scroll-x 属性:允许横向滚动 -->
    <!-- scroll-y 属性:允许纵向滚动 -->
    <!-- 注意:使用竖向滚动时,必须给 scroll-view 一个固定的高度 -->
    <scroll-view class="container" scroll-y>
      <view>A</view>
      <view>B</view>
      <view>C</view>
    </scroll-view>
    
    
    .container {
      width: 100px;
      height: 120px;
    }
    
    .container view{
      width: 100px;
      height: 100px;
      text-align: center;
      line-height: 100px;
    }
    
    .container view:nth-child(1) {
      background-color: lightgreen;
    }
    
    .container view:nth-child(2) {
      background-color: lightskyblue;
    }
    
    .container view:nth-child(3) {
      background-color: lightcoral;
    }
    
    
    9.4 swiper 和 swiper-item 的基本使用

    在这里插入图片描述

    <!-- 轮播图区域 -->
    <!-- indicator-dots 属性:显示面板指示点 -->
    <swiper indicator-dots class="swiper-container">
      <!-- 第一项 -->
      <swiper-item>
        <view class="item">A</view>
      </swiper-item>
      <!-- 第二项 -->
      <swiper-item>
        <view class="item">B</view>
      </swiper-item>
      <!-- 第三项 -->
      <swiper-item>
        <view class="item">C</view>
      </swiper-item>
    </swiper>
    
    .swiper-container {
      /* 轮播图容器的高度 */
      height: 150px;
    }
    
    .item{
      height: 100%;
      line-height: 150px;
      text-align: center;
    }
    
    swiper-item:nth-child(1) .item{
      background-color: lightgreen;
    }
    
    swiper-item:nth-child(2) .item{
      background-color: lightskyblue;
    }
    
    swiper-item:nth-child(3) .item{
      background-color: lightcoral;
    }
    
    
    9.5 swiper 组件的常用属性
    属性类型默认值说明
    indicator-dotsbooleanfalse是否显示面板指示点
    indicator-colorcolorrgba(0, 0, 0, .3)指示点颜色
    indicator-active-colorcolor#000000当前选中的指示点颜色
    autoplaybooleanfalse是否自动切换
    intervalnumber5000自动切换时间间隔
    circularbooleanfalse是否采用衔接滑动
    9.6 text 和 rich-text 组件
    1. 常用的基础内容组件

      • text 组件

        • 文本组件
        • 类似于 HTML 中的 span 标签,是一个行内元素
      • rich-text 组件 (v-html)

        • 富文本组件
        • 支持把 HTML 字符串渲染为 WXML 结构
        • 富文本编辑器,生成 HTML字符串然后保存到数据中,如果 HTML 字符串需要渲染到小程序中
        • 小程序不支持 HTML,就使用 rich-text 将 HTML 字符串进行解析和渲染
    2. text 组件的基本使用

      • 通过 text 组件的 selectable 属性,实现长按选中文本内容的效果
      <!-- 常用的基础内容组件 text 和 rich-text 的用法 -->
      <view>
        手机号支持长按选中效果
        <text selectable>18222222222</text>
      </view>
      
    3. rich-text 组件的基本使用

      • 通过 rich-text 组件的 nodes 属性节点,把 HTML 字符串渲染为对应的 UI 结构
      <!-- 应用场景 -->
      <rich-text nodes="<h4 style='color: red'>rich-text组件</h4>"></rich-text>
      
    9.7 button 按钮组件
    1. 常用的其他组件

      • button

        • 按钮组件
        • 功能比 HTML 中的 button 按钮丰富
        • 通过 open-type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)
    2. button 按钮的基本使用

      属性名类型默认值说明
      sizeStringdefault按钮的大小
      typeStringdefault按钮的样式类型
      plainBooleanfalse按钮是否镂空,背景色透明
      disabledBooleanfalse是否禁用
      loadingBooleanfalse名称是否带 loading t图标
    <view>~~~ 通过 type 指定按钮类型 ~~~</view>
    
    <button>默认按钮</button>
    <button type="primary">主色调按钮</button>
    <button type="warn">警告按钮</button>
    
    <view>~~~ size="mini" 小尺寸按钮 ~~~</view>
    
    <button size="mini">默认按钮</button>
    <button size="mini" type="primary">主色调按钮</button>
    <button size="mini" type="warn">警告按钮</button>
    
    <view>~~~ plain 镂空效果 ~~~</view>
    
    <button plain size="mini">默认按钮</button>
    <button plain size="mini" type="primary">主色调按钮</button>
    <button plain size="mini" type="warn">警告按钮</button>
    
    
    9.8 image 图片组件
    1. image 组件的基本使用

      • src – 支持本地和网络上的图片
      • mode – 指定图片的裁剪、缩放的模式
      <!-- 1. 空图片 -->
      <image></image>
      
      <!-- 2. 使用 src 指向图片路径 -->
      <image src="/images/ha.jpg"></image>
      
      
      image {
        border: 1px solid red;
      }
      
    2. image 组件的 mode 属性

      image 组件的 mode 属性用来指定图片的裁剪和缩放模式。常用的 mode 属性值如下:

      mode 值说明
      scaleToFill默认值,缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
      aspectFit缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
      aspectFill缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
      widthFix缩放模式,宽度不变,高度自动变化,保持原图宽高比不变,这里的宽度是指 image 宽度,不在是默认值
      heightFix缩放模式,高度不变,宽度自动变化,保持原图宽高比不变,这里的高度是指 image 高度,不在是默认值
    9.9 小程序 API 的 3 大分类

    小程序中的 API 是宿主环境提供的,通过这些丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。小程序官方把 API 分为如下 3 大类:

    1. 事件监听 API

      • 特点:以 on 开头的 API 用来监听某个事件是否触发
      • 举例:wx.onWindowResize(function callback)
    2. 同步 API

      • 特点1:以 Sync 结尾的 API 都是同步 API
      • 特点2:同步 API 的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常
      • 举 例:wx.setStorageSync(‘key’, value) 向本地存储中写入内容
    3. 异步 API

      • 特点:类似于 jQuery 中的 $.ajax(options) 函数,需要通过 success、fail、complete 接收调用结果

      • 举例:wx.request() 发起网络数据请求,通过 success 回调函数接收数据

      • 小程序中,大多数的 API 都是异步 API

    10. 协同工作(成员管理)

    10.1 了解权限管理需求、组织结构、开发流程
    1. 了解权限管理需求

      • 在中大型的公司中,人员的分工非常仔细:同一个小程序项目,一般会有不同的岗位、不同角色的员工同时参与设计与开发
      • 此时出于管理需要,我们迫切需要对不同的岗位、不同的角色的员工的权限进行边界的划分,使他们能够高效的进行协同开发
    2. 了解项目成员的组织结构

      在这里插入图片描述

    3. 小程序的开发流程

      在这里插入图片描述

    10.2 了解小程序成员管理的两个方面

    小程序成员管理体现在 管理员 对小程序 项目成员体验成员 的管理:

    1. 项目成员

      • 表示参与小程序开发、运营的成员
      • 可登陆小程序管理后台(微信公众平台)
      • 管理员可以添加、删除项目成员,并设置项目成员的角色
    2. 体验成员

      • 表示参与小程序内测体验的成员
      • 可使用体验版小程序,但不属于项目成员
      • 管理员及项目成员均可添加、删除体验成员
    10.3 开发者的权限说明
    1. 不同项目成员对应的权限

      • 项目成员分为三个角色: 运营成员、开发人员、数据分析者

      在这里插入图片描述

    2. 开发者的权限说明

      • 开发者权限:可使用小程序开发者工具及对小程序的功能进行代码管理
      • 体验者权限:可使用体验版小程序
      • 登录权限:可登录小程序的后台管理,无需要管理员确认
      • 开发设置:设置小程序服务器域名、消息推送及扫描普通链接二维码打开小程序
      • 腾讯云管理:云开发相关设置
    10.4 了解如何添加项目成员和体验成员

    11. 小程序的发布

    11.1 了解小程序的版本阶段
    1. 软件开发过程中,根据时间节点的不同,会产出不同的软件版本

      • 开发版本:开发者编写代码的同时,对项目代码进行自测
      • 体验版本:直到程序达到一个稳定可靠,可体验的状态时,开发者把体验版本给到产品经理和测试人员进行体验测试
      • 正式版本:最后修复完程序的 bug 后,发布正式版供外部用户使用
    2. 小程序的版本

      在这里插入图片描述

    审核是微信官方进行审核,审核周期一般是 3 ~ 7 天

    11.2 了解小程序发布上线的主要步骤
    1. 小程序发布上线 的整体步骤

      一个小程序的发布上线,一般要经过 上传代码 --> 提交审核 --> 发布 这三个步骤

    2. 上传代码

      • 点击开发者工具顶部工具栏中的“上传”按钮
      • 填写版本号以及项目备注

    3. 在后台查看上传之后的版本

      登录小程序管理后台 --> 管理 --> 版本管理 --> 开发版本,即可查看刚才提交上传的版本

    4. 提交审核

      • 为什么需要提交审核

        • 为了保证小程序的质量,以及符合相关的规范,小程序的发布是需要经过腾讯官方审核的
      • 提交审核的方式

        • 在开发版本的列表中,点击 提交审核 按钮之后,按照页面提示填写相关的信息,就能把小程序提交到腾讯官方进行审核
    5. 发布

      审核通过之后,管理员的微信中会收到小程序通过审核的通知,此时在审核版本的列表中,点击 发布 按钮之后,即可把 审核通过 的版本发布为 线上版本,供所有小程序用户访问和使用

    11.3 基于小程序码进行推广
    1. 相对于普通二维码来说,小程序码的优势如下:

      • 在样式上更具有辨识度和视觉冲击力
      • 能够更加清晰的树立小程序的品牌形象
      • 可以帮助开发者、商家更好的推广小程序
    2. 获取小程序码的 5 个步骤:

      登录小程序管理后台 --> 设置 --> 基本设置 --> 基本信息 --> 小程序码及线下物料下载

    11.4 查看小程序的运营数据
    1. 小程序后台 查看

      • 登录小程序管理后台
      • 点击侧边栏的 “统计”
      • 点击相应的 tab 可以看到相关的数据
    2. 使用 小程序数据助手 查看

      • 打开微信
      • 搜索 “小程序数据助手”
      • 查看已发布的小程序相关的数据

    如有不足,请多指教,
    未完待续,持续更新!
    大家一起进步!

    展开全文
  • -仅展示本周推荐电影 -如何快速调试新增页面 -公共样式表app.wxss ...Page({}) weekly.json { "usingComponents": {} } weekly.wxml <view> <text>本周推荐</text> <image src='.

    -仅展示本周推荐电影

    -如何快速调试新增页面

    -公共样式表app.wxss

    -配置weekly页的标题

     

    pages下新建weekly文件夹

    里面有weekly文件四个,后缀分别js,json,wxml,wxss

    weekly.js

    Page({})

    weekly.json

    {
      "usingComponents": {}
    }

    weekly.wxml

    <view>
      <text>本周推荐</text>
      <image src='/images/Adobe.png'></image>
      <text>教父</text>
      <text>点评:最精彩的剧本,最真实的黑帮电影。</text>
    </view>

    每一个用户可能访问到的页面,都需要在前局配置中来登记他的访问路径。

    app.json

    {
      "pages": [
        "pages/weekly/weekly",
        "pages/about/about"
      ]
    }

    weekly.wxml

    <view class='container'>
      <text>本周推荐</text>
      <image src='/images/Adobe.png'></image>
      <text>教父</text>
      <text>点评:最精彩的剧本,最真实的黑帮电影。</text>
    </view>

    weekly.wxss

    .container {
      background-color: #eee;
      height:100vh;
    
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      align-items:center;
    }

    weekly.json

    {
      "usingComponents": {},
      "navigationBarTitleText": "每周推荐"
    }

     

    展开全文
  • 微信小程序---高德地图API

    万次阅读 2018-11-29 10:16:16
    本文章介绍微信小程序调用高德地图API的过程,使用高德定位功能做演示。 微信小程序目前支持百度地图、高德地图、腾讯地图。用法都基本一致,简单说一下他们的区别,高德地图精度应该是最准确的,毕竟本来就是做...
    本文章介绍微信小程序调用高德地图API的过程,使用高德定位功能做演示。
    

    微信小程序目前支持百度地图、高德地图、腾讯地图。用法可以说是基本完全一样,本文章以高德为例,简单说一下他们的区别,高德地图精度应该是最准确的,毕竟本来就是做地图出生的。百度地图的精度目前较高德而言,还是要稍稍欠缺一点,但是他的附近商家那些要比高德好一点。而关于腾讯地图,暂时来说还是只能表示呵呵,希望越来越好吧。
    1.既然本章是介绍微信小程序如何使用高德地图API,那么第一件事肯定是进入高德地图开放平台(https://lbs.amap.com/)。此处需要注册,登录。
    2.完成登陆后,进入控制台,在左边侧边栏里点击 应用管理->我的应用-> 创建新应用,会生成一个key,这个key在后面将会用到。记住绑定服务选择 微信小程序
    3.登录微信开发者平台,在服务器域名设置里将高德地图的域名设置好
    在这里插入图片描述
    4.在你的项目中新建一个目录libs,将amap-wx.js文件放入此目录里(amap-wx.js下载地址:https://lbs.amap.com/api/wx/download,解压出来会有两个文件,此处只需要一个),结果如下:
    在这里插入图片描述
    5.在libs目录下创建配置文件config.js,写入第二步获取的key,例如
    在这里插入图片描述

    高德api配置到这儿就结束了,以下是我调用高德实现定位的demo

    JS部分:

    var amapFile = require('../../libs/amap-wx.js');  //引入高德js
    var config = require('../../libs/config.js');      //引用我们的配置文件
    Page({
      data: {
        markers: [],
        latitude: '',
        longitude: '',
        textData: {}
      },
      onLoad: function () {
        var that = this;
        var key = config.Config.key;
        var myAmapFun = new amapFile.AMapWX({ key: key });
        myAmapFun.getRegeo({
          iconPath: "../../img/marker.png",
          iconWidth: 22,
          iconHeight: 32,
          success: function (data) {
            console.log(data);
            var marker = [{
              id: data[0].id,
              latitude: data[0].latitude,
              longitude: data[0].longitude,
              iconPath: data[0].iconPath,
              width: data[0].width,
              height: data[0].height
            }]
            that.setData({
              markers: marker
            });
            that.setData({
              latitude: data[0].latitude
            });
            that.setData({
              longitude: data[0].longitude
            });
            that.setData({
              textData: {
                name: data[0].name,
                desc: data[0].desc
              }
            })
          },
          fail: function (info) {
            // wx.showModal({title:info.errMsg})
          }
        })
      }
    })
    

    WXML部分:

    <view class="map_container">
      <map class="map" id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="16" markers="{{markers}}"></map>  
    </view>
    <view class="map_text">
        <text class="h1">{{textData.name}}</text>
        <text>{{textData.desc}}</text>
    </view>
    

    WXSS部分:

    .map_container{
      position: absolute;
      top: 0;
      bottom: 80px;
      left: 0;
      right: 0;
    }
    .map{
      width: 100%;
      height: 100%;
    }
    .map_text{
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0px;
      height: 80px;
      background: #fff;
      padding: 0 15px;
    }
    text{
      margin: 5px 0;
      display: block;
      font-size:12px;
    }
    .h1{
      margin: 15px 0;
      font-size:15px;
    }
    

    此页面大概长这样:
    在这里插入图片描述

    PS:
    高德地图官方开发指南地址 https://lbs.amap.com/api/wx/guide/create-project/config-project
    我的小程序demo地址 https://github.com/Yxiaogg/vioShopstar star star

    展开全文
  • 微信小程序----map组件实现解析经纬度 声明 bug: 页脚的详细地址在真机测试是会出现不显示问题? 造成原因:在小程序map组件的同一区域,map组件的视图层比普通的...
  • 微信小程序---ECharts

    千次阅读 热门讨论 2018-04-12 10:14:08
    小程序中使用ECharts 动态加载数据 多个图表首先需要引入,下载地址 ecomfe/echarts-for-weixin 只需要拷贝这一个文件夹就OK了 放在你项目合适的位置,在使用的页面json进行配置,允许使用组件 ec-canvas ;...
  • 微信小程序–倒放音频的实现 注:灵感来源与玩法参考:https://www.bilibili.com/video/av76976000 设计思路: 1.微信小程序端:使用微信开发者工具实现微信小程序端的展示及交互的设计: 1.1包括小程序的展示页面...
  • 微信小程序---model弹窗:&lt;model&gt;&lt;/model&gt;标签 微信小程序修改checkbox和radio的样式 tabBar  json 的 pages 数组中排第一个的页面必须是 tabbar 的第一个标签的主页 请注意switch...
  • 微信小程序----map组件实现检索【定位位置】周边的POI 声明 bug: 页面顶部分类【汽车服务、汽车销售等】列表和页脚的详细地址在真机测试是会出现不显示问题? 造成原因...
  • view class="container"> <view class="big"> <view class="middle"></view> <view class="small"></view> </view> </view> wxss page { margin : 0; padding...
  • 效果图 <!--pages/pmd/pmd.wxml-->...view class="container-out"> <view class="circle" wx:for="{{circleList}}" wx:key="" style="top:{{item.topCircle}}rpx;left:{{item.leftCircle}}rpx;backgro...
  • 微信小程序 -- 左上角的页面返回拦截 前题:最近遇到了一个问题,小程序需要在返回上一页之前判断当前页面是否做了数据操作,如果是则弹出弹窗提示,要是放以前还真不好做,因为小程序官方压根就没提供点击左上角...
  • ECharts 和微信小程序官方团队合作,提供了 ECharts 的微信小程序版本。开发者可以通过熟悉的 ECharts 配置方式,快速开发图表,满足各种可视化需求。 体验示例小程序 在微信中扫描下面的二维码即可体验 ECharts ...
  • view id="container"> <view id="sun"></view> <view class="orbit" id="earth-orbit"> <view class="globe" id="earth"> <view class="orbit" id="moon-orbit"> <...
  • 微信小程序---简易计算器

    千次阅读 2018-12-10 15:37:53
    view class='container'&gt; &lt;view class='screen'&gt;{{first}}&lt;/view&gt; &lt;view class='screen'&gt;{{op}}&lt;/view&gt; &lt;view class='s...
  • view class="container"> <view class="loader"> <view style="--i:1;--color:#FD79A8"></view> <view style="--i:2;--color:#0984E3"></view> <view style="--i:3;--co
  • 微信小程序---登录页面

    千次阅读 2018-05-04 10:11:02
    开发微信小程序,代码构成是由JSON配置、WXML模板、WXSS样式、JS逻辑交互组成。一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击、获取用户的位置等等。在小程序里边,我们就通过编写 JS 脚本...
  • view class="loader-container"> <view class="loader one"></view> </view> index.wxss page { background-color: #333; display: flex; justify-content: center; align-items: center...
  • 微信小程序----手势图案锁屏

    千次阅读 2018-01-09 16:45:33
    DEMO下载 ...container&amp;quot;&amp;gt; view class=&amp;quot;reset&amp;quot; bindtap=&amp;quot;resetPwd&amp;quot;&amp;gt;重置密码view&amp;gt; view c
  • 微信小程序--拟物态

    2021-01-26 14:17:28
    view class="container"> <view class="card"> <view class="imgBx"> <view class="fab fa-js fa-6x"></view> </view> <view class="content"> <view c
  • 微信小程序----map组件实现(高德地图API实现wx.chooseLocation(OBJECT)) 声明 bug: 页面搜索返回的列表在真机测试是会出现不显示问题? 造成原因:在小程序map组件...
  • 微信小程序---问卷调查

    千次阅读 2020-01-08 23:34:43
    //index.js const app = getApp() var arr = new Array() ...Page({ data: { name: '', age: '', currentID: ' ', answer: arr }, ForName: function(e) { this.setData({ name: e.det...
  • view class="container"> <view class="remind-box" wx:if="{{remind}}"> </view> <block wx:else> <image class="title" src="../images/hh4.png"></image> <view class=...
  • 使用微信内置地图查看位置wx.openLocation(Object object) 1、官方文档 wx.openLocation(Object object)官方文档 2、wxml <!--pages/test/test.wxml--> <text>pages/test/test.wxml</text> <...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,740
精华内容 2,296
关键字:

微信小程序page-container

微信小程序 订阅