注册微信小程序

news2024/11/26 20:34:22

文章目录

  • 1. 项目结构
  • 2. 页面组成
  • 3. json配置文件
  • 4. 认识页面
  • 5. WXML
  • 6. WXSS
  • 7. js文件
  • 8. 宿主环境
  • 9. 组件
  • 10. API
  • 11. 协同工作与发布

跟公众号平台不共用一个账号,需要用其它邮箱另行注册,填写身份证信息(姓名、身份证号码),下载 微信开发者工具

1. 项目结构

  1. pages:存放所有小程序的页面
  2. utisl:存在工具性质的模块
  3. app.js:程序入口文件
  4. app.json:全局配置文件
  5. app.wxss:全局样式文件
  6. sitemap.json:配置是否运行被微信索引

img

2. 页面组成

img

3. json配置文件

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

小程序项目中有4种json配置文件,分别是:

  1. 项目根目录中的app.json配置文件

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

    "pages":[
        "pages/index/index",
        "pages/logs/logs"
    ],
    "window":{
        "backgroundTextStyle":"light",
        "navigationBarBackgroundColor":"#fff"
        "navigationBarTitleText":"WeChat",
        "navigationBarTextStyle":"black"
    },
    'style":"v2",
    "sitemapLocation":"sitemap.json"
    

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

    1. pages:用来记录当前小程序所有页面的路径
    2. window:全局定义小程序所有页面的背景色、文字颜色等
    3. style:全局定义小程序组件所使用的样式版本
    4. sitemapLocation:用来指明sitemap,json的位置
  2. 项目根目录中的project.config.json配置文件

    {
      "appid": "wx107ced89ec191979",
      "compileType": "miniprogram",
      "libVersion": "2.27.1",
      "packOptions": {
        "ignore": [],
        "include": []
      },
      "setting": {
        "coverView": true,
        "es6": true,
        "postcss": true,
        "minified": true,
        "enhance": true,
        "showShadowRootInWxmlPanel": true,
        "packNpmRelationList": [],
        "babelSetting": {
          "ignore": [],
          "disablePlugins": [],
          "outputPath": ""
        },
        "minifyWXSS": true
      },
      "condition": {},
      "editorSetting": {
        "tabIndent": "insertSpaces",
        "tabSize": 2
      }
    }
    

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

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

    微信现已开放小程序内搜索,效果类似于PC网页的SE0。sitemap.json文件用来配置小程序页面是否允许
    微信索引。

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

  4. 每个页面文件夹中的.json配置文件

    小程序中的每一个页面,可以使用.json文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖
    app.json的window中相同的配置项。例如下面的主页titlebar就是绿色的

    // app.json
    "window":{
        "backgroundTextStyle":"light",
        "navigationBarBackgroundColor":#fff",
        "navigationBarTitleText":"WeChat",
        "navigationBarTextStyle":"black"
    },
    "style":"v2",
    "sitemapLocation":"sitemap.json"
    
    // index.json
    {
      "usingComponents": {},
      "navigationBarBackgroundColor": "#00b26a"
    }
    

4. 认识页面

新建页面

只需要在 app.json->pages 中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件
如图所示:

img

修改项目首页

只需要调整 app.json->pages 数组中页面路径的前后顺序,即可修改项目的首页。小程序会把排在第一位的页
面,当作项目首页进行渲染

// app.json  现在首页是 list
"pages": [
      "pages/list/list",
      "pages/index/index",
      "pages/logs/logs"
    ],

5. WXML

WXML和HTML的区别

  1. 标签名称不同

    • HTML (div,span,img,a)
    • WXML (view,text,image,navigator)
  2. 属性节点不同

    <!--html-->
    <a href="#">xxx</a>
    
    <!--wxml-->
    <navigator url="#">xxx</navigator>
    
  3. 提供了类似于Vue中的模板语法

    • 数据绑定
    • 列表渲染
    • 条件渲染

6. WXSS

WXSS和CSS的区别

  1. 新增了rpx尺寸单位

    • CSS中需要手动进行像素单位换算,例如rem
    • WXSS在底层支持新的尺寸单位px,在不同大小的屏幕上小程序会自动进行换算

    WXSS(WeiXin Style Sheets)是一套样式语言,用于美化WXML的组件样式,类似于网页开发中的CSS。

    WXSS具有CSS大部分特性,同时,WXSS还对CSS进行了扩充以及修改,以适应微信小程序的开发。

    wxss扩展的特性:

    • rpx尺寸单位:rpx(responsive pixel)是微信小程序独有的,用来解决屏适配的尺寸单位。

    • rpx的实现原理非常简单:鉴于不同设备屏幕的大小不同,为了实现屏幕的自动适配,rpx把所有设备的屏幕,在宽度上等分为750份(即:当前屏幕的总宽度为750rpx)。

  2. 提供了全局的样式和局部样式

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

    • .class和id
    • element
    • 并集选择器、后代选择器
    • :after和:before等伪类选择器

7. js文件

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

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

  1. app.js:是整个小程序项目的入口文件,通过调用App()函数来启动整个小程序
  2. 页面的.js:是页面的入口文件,通过调用Page()函数来创建并运行页面
  3. 普通的.js:是普通的功能模块文件,用来封装公共的函数或属性供页面使用

8. 宿主环境

宿主环境(host environment)指的是程序运行所必须的依赖环境。例如:
Android系统和iOS系统是两个不同的宿主环境。安卓版的微信App是不能在iOS环境下运行的,所以,
Android是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的!

微信小程序的宿主环境是微信

  1. 通信的主体

    小程序中通信的主体是渲染层和逻辑层,其中:WXML模板和WXSS样式工作在渲染层、JS脚本工作在逻辑层

    渲染层和逻辑层之间的通信:由微信客户端进行转发

    逻辑层和第三方服务器之间的通信:由微信客户端进行转发img

  2. 运行机制

    启动流程

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

    页面加载

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

9. 组件

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

  1. 视图容器

    view:类似div

    scroll-view:滚动列表

    swiper/swiper-item:轮播图

  2. 基础内容

    text:类似 span

    rich-text:富文本,可以将html字符串渲染到wxml

  3. 表单组件

  4. 导航组件

  5. 媒体组

  6. map地图组件

  7. canvas画布组件

  8. 开放能

  9. 无障碍访问

10. API

小程序官方把API分为了如下3大类:

  1. 事件监听API:

    特点:以on开头,用来监听某些事件的触发

    举例: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回调函数接收数据

11. 协同工作与发布

版本管理:开发版本—> 审核版本 --> 线上版本

推广:小程序码及线下物料下载

运营:统计(后台)、小程序数据助手(手机微信)

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

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

相关文章

[附源码]Node.js计算机毕业设计电商后台管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

我妈眼中我的房间

ONE This is Me in My room as a teenager according to My Mother. 在我老妈眼里&#xff0c;这就是十几岁待在房间里的我。 ✨ 评论区 1️⃣ It’s all true. 这都是真的。 2️⃣ As a father - yep that’s you. 作为一个父亲&#xff0c;没错就是你。 3️⃣ Looking…

基于C语言开发(控制台)通讯录管理程序【100010030】

通讯录程序设计 一、课程设计题目与要求 题目 &#xff1a;通讯录管理程序 1. 问题描述 ​ 编写一个简单的通讯录管理程序。通讯录记录有姓名&#xff0c;地址(省、市(县)、街道)&#xff0c;电话号码&#xff0c;邮政编码等四项。 2. 基本要求 程序应提供的基本基本管理…

Biotin-PEG-Pyrene,Pyrene-PEG-Biotin,芘丁酸-PEG-生物素peg化芘衍生物

聚乙二醇化芘衍生物之Pyrene-PEG-Biotin&#xff08;Biotin-PEG-Pyrene&#xff09;&#xff0c;其化学试剂的中文名为芘丁酸-聚乙二醇-生物素&#xff0c;此试剂可用于碳纳米管和石墨烯表面功能化。它所属分类为Biotin PEG Pyrene PEG。 peg试剂的分子量均可定制&#xff0c;…

机器学习实战教程(二):决策树基础篇

一、决策树 决策树是什么&#xff1f;决策树(decision tree)是一种基本的分类与回归方法。举个通俗易懂的例子&#xff0c;如下图所示的流程图就是一个决策树&#xff0c;长方形代表判断模块(decision block)&#xff0c;椭圆形成代表终止模块(terminating block)&#xff0c;表…

简单架构演变过程概图

单一应用就是一个jar包或者war包丢到tomcat等服务器上运行,耦合度很高,前后不分离,就是一整个应用 演变成 MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就…

1567_AURIX_TC275_电源管理_待机模式

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 进入待机模式前需要有序关闭各个模块以避免出现大的电流突变&#xff1b;之后&#xff0c;所有额度外设以及相关的中断全都关闭以避免异常唤醒&#xff1b;进入待机模式的过程中会有系统时…

JS中一个方法同时发送两个ajax请求出现报错问题的解决方法

目录 1、背景介绍 2、分析原因 3、解决办法 1、背景介绍 在实现前端显示后端数据时遇到这样一个问题&#xff1a;在js同一个方法中调用2个ajax&#xff0c;其中ajax1与ajax2之间没有联系&#xff0c;但是为了看效果需要同时请求数据显示&#xff0c;运行程序却报错&#xff0c;…

java计算机毕业设计ssm影城在线售票及票房数据分析系统8b9a0(附源码、数据库)

java计算机毕业设计ssm影城在线售票及票房数据分析系统8b9a0&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都…

Simulink基础【1】-弹簧-阻尼模型的常微分方程求解

Simulink基础【1】-弹簧-阻尼模型的常微分方程求解0. Simulink模块是什么&#xff1f;能干什么&#xff1f;1. 弹簧阻尼模型简介1.1 受常力的弹簧阻尼模型1.2 动力学方程2. simulink模型构建2.1 Simulink基础模块使用2.2 结果可视化后记0. Simulink模块是什么&#xff1f;能干什…

基于微信小程序旅游管理系统-计算机毕业设计

项目介绍 随着互联网的趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己的信息推广出去&#xff0c;最好方式就是建立自己的平台信息&#xff0c;并对其进行管理&#xff0c;随着现在智能手机的普及&#xff0c;人们对于智能手机里面的应用旅游服务软件也在不断的使用…

区块链溯源的应用四大领域

目前基于区块链溯源的应用案例可以分为4大领域&#xff1a;食药畜牧、知识产权、数字凭证和供应链。 1、在食药畜牧领域中&#xff0c;区块链溯源将全流程的关键业务数据上链&#xff0c;做到信息公开透明&#xff1b;将链上链下相结合&#xff0c;确保信息真实性和品质可控&a…

[1.2.0新功能系列:二] Apache Doris 1.2.0 JDBC外表 及 Mutil Catalog

JDBC 外表 JDBC External Table Of Doris 提供了Doris通过数据库访问的标准接口(JDBC)来访问外部表&#xff0c;外部表省去了繁琐的数据导入工作&#xff0c;也省去了之前ODBC繁杂的驱动安装部署及版本匹配问题&#xff0c;兼容性更好&#xff0c;操作更简单&#xff0c;让Dor…

【猿如意】如意如意随我心意快快显灵—markdown笔记来啦

文章目录「猿如意介绍」「猿如意安装」【基于Windows环境安装】「markdown笔记简介」「markdown笔记功能介绍」「markdown笔记通过猿如意下载安装步骤及说明」「markdown笔记使用感受」&#x1f3a8;猿如意官网&#xff1a;猿如意-程序员的如意兵器,工具代码,一搜就有 &#x1…

HbuilderX连接手机模拟器实战记录

下载HBuliderX 点击进入HBuilderX 的官网,建议下载开发版. 下载模拟器 这里使用逍遥模拟器,官方下载地址 HBuilder中配置逍遥模拟器 1.工具–设置–运行配置中添加逍遥模拟器安装目录以及端口号,默认端口号:21503 2.adb.exe配置环境变量 adb.exe一般在HbuilderX目录中&…

苹果电脑ntfs如何打开硬盘?苹果电脑读写ntfs

众所周知&#xff0c;在Mac电脑上面是不能够正常使用NTFS设备的&#xff0c;只能够读取上面的文件内容&#xff0c;但是想要进行删除、编辑、复制等操作是无法实现的&#xff0c;苹果电脑ntfs如何打开硬盘&#xff1f;在本文中&#xff0c;小编给大家介绍了两种让Mac正常使用NT…

C# 属性 索引

一 使用属性、索引的示例 1 使用属性button1.Text ① button1.Text“说你好”; 含义相当于button1.SetText(“说你好”); ② string sbutton1.Text; 2 使用属性string s“abcde” ① 求出长度&#xff1a;s.Length&#xff1b; 含义上相当于s.GetLength(); 3 使用索引 str…

Android Material Design之TextInputLayout,TextInputEditText(十四)

效果图 资源引入 implementation com.google.android.material:material:1.4.0属性 TextInputLayout 属性描述android:id控件idandroid:layout_width控件长度android:layout_height控件高度app:boxBackgroundColor控件背景颜色app:boxBackgroundMode控件模式app:boxStrokeCol…

mysql数据库扩容中的平滑扩容

数据库扩容的过程中&#xff0c;如果想要持续对外提供服务&#xff0c;保证服务的可用性&#xff0c;平滑扩容方案是最好的选择。 平滑扩容就是将数据库数量扩容成原来的2倍&#xff0c;比如&#xff1a;由2个数据库扩容到4个数据库&#xff0c;具体步骤如下&#xff1a; &…

Java#36(网络编程)

目录 网络通信基本模式 1.Client-Server(CS)​编辑 2.Browser-Server(BS)​编辑 一.网络通信的三要素 1.IP地址: 设备在网络中的地址, 是唯一的标识 2.端口: 应用程序在设备中的唯一的标识 3.协议: 数据在网络中传输的规则, 常见的协议有UDP协议和TCP协议 UDP通信 1.D…