微信小程序开发-1(原生)-基本的使用结构、方法、流程

// 小程序与普通网页开发的区别
// 1. 运行环境不同(网页运行在浏览器;小程序运行在微信)
// 2. api 不同(由于运行环境不同,小程序中无法调用 DOM 和BOM 的API,但是小程序中可以调用微信环境提供的各种API,例如:地理定位,扫码,支付..)
// 3. 开发模式不同(网页开发模式:浏览器+代码编辑器;小程序有自己的一套标准开发模式:申请小程序开发账号+安装小程序开发者工具+创建和配置小程序项目)

注册微信小程序账号(官网:https://mp.weixin.qq.com/)
1. 进入官网点击立即注册,进入注册流程

 2. 选择账号类型



 3. 填写账号信息

 

4. 注册并登陆后获取小程序APPId

 

 

5. 下载并安装微信开发者工具(推荐下载安装最新的稳定版,官网:https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html),使用微信扫描登录,功能如下:

5-1. 快速创建小程序项目

5-2. 代码的查看和编辑

5-3. 对小程序功能进行调试

5-4. 小程序的预览和发布

 

6. 创建小程序项目

7. 创建后可点击编译查看左侧模拟器中的页面效果(也可以点击预览,扫描二维码在手机上查看真机效果)

8. 主页面5个组成部分

 

 

 

// 1. 菜单栏
// 1-1.  帮助--开发文档(可以打开官网查找对应api 组件使用规范)
// 1-2.  设置--通用设置(对项目的外观和快捷键设置)
// 1-3.  工具--构建npm

// 2. 工具栏(对应按键可以控制对应的显示和隐藏,以及编译和预览,以及最右侧的详情中可以查看项目的具体信息本地信息和项目配置)

// 3. 模拟器
// 3-1. 顶部可以选择机型和显示比例
// 3-2. 底部可以看到当前页面的路径(或选择查看其它信息)

// 4. 代码编辑区(左侧目录树,右侧代码主体区)
// 4-1. 项目代码结构:
// pages    用来存放所有小程序的页面(官方建议将所有小程序页面都存放在pages 目录中,每个业务页面以单独的文件夹存在,例如:pages/index 文件夹为index页面,pages/log 文件夹为log 页面)
// pages 下的每个单独的目录文件夹下都有(js,json,wxml,wxss 四种格式的文件),也就是一个微信小程序的页面是有这四种文件共同组成的
// .js 文件(页面的脚本文件,存放页面的数据、事件处理函数等)
// .json 文件(当前页面的配置文件,配置窗口的外观、表现等)
// .wxml 文件(页面的模板结构文件)
// .wxss 文件(当前页面的样式表文件,用来写样式)

// utils    用来存放工具性质的模块(例如:格式化事件的自定义模块)
// app.js    小程序项目的入口文件
// app.json    小程序项目的全局配置文件
// app.wxss    小程序项目的全局样式文件
// project.config.json    项目的配置文件
// sitemap.json    用来配置小程序及其页面是否允许被微信索引

// 5. 调试区

utils目录例:

 

 

 

下面来具体说下项目里几种文件的作用:

小程序中的 json 文件

// json 配置文件的作用

// json 是一种数据格式,实际开发中,json 总是以配置文件的形式出现,小程序项目中也不例外,通过不同的 .json 配置文件,可以对小程序项目进行不同级别的配置
// 小程序项目中有4中json 配置文件:
// 1. 项目根目录中的 app.json 配置文件
// 2. 项目根目录中的project.config.json 配置文件
// 3. 项目根目录中的sitemap.json 配置文件
// 4. 每个页面文件夹中的 .json 配置文件

// 1. app.json 文件(当前小程序的全局配置,包括了小程序的所有页面路径、窗口外观、界面表现、底部tab 等)

{
  "pages": [    // pages 用来记录当前小程序所有页面的路径
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window": {   // window 全局定义小程序所有页面的背景色,文字颜色
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black"
  },
  "style": "v2",   // style 全局定义小程序组件所使用的样式版本(现在这个配置是使用新版,如果想使用旧版样式就直接删掉这个就可以)
  "sitemapLocation": "sitemap.json",   // 用来指明 sitemap.json 的位置
  "lazyCodeLoading": "requiredComponents"   //目前仅支持值requiredComponents,代表开启小程序 [ 按需注入 ] 特性
}

// 2. project.config.json 文件(项目配置文件,用来记录我们对小程序开发工具所做的个性化配置),例如:
// setting 中保存了编译相关的配置
// projectname 中保存的是项目名称
// appid 保存的是小程序的账号 ID

// 3. sitemap.json 文件(微信现已开放小程序内搜索,效果类似 PC 网页的 SEO ,sitemap.json 文件用来配置小程序页面是否允许微信索引)
// 当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引,当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中
// rules 配置索引搜索,page:‘*’ 就表示所有的页面通过这个alone 代表都允许被微信来进行索引(如果不允许索引搜索,将alone 改成 disallow)
// 这里插入一个小知识:sitemap 的索引提示是默认开启的,如需关闭sitemap 的索引提示,可在小程序项目配置文件 project.config.json 的 setting 中配置字段 checkSiteMap 为false(没有的话就自己补全即可)

// 4. 页面的 .json 文件(对本页面的窗口外观进行配置,页面中的配置项会覆盖 app.json 的 window 中相同的配置项,如果页面的配置和全局的发生了冲突,会以页面的为准)

 

创建小程序页面(在app.json/pages 中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件,例:

 

 

 注意:修改项目首页(只需要调整 app.json/pages 数组中页面路径的前后顺序,即可修改项目的首页,小程序会把排在第一位的页面当做首页进行渲染)

 

 

小程序中WXML(WeiXin Markup Language) :是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的 HTML,两者的区别如下:

1. 标签名称不同

     HTML(div,soan,ing,a)

     WXML(view,text,image,navigator)

2. 属性节点不同

    <a href="#">超链接</a>

    <navigator url=“/pages/home/home”></navigator>

3. 提供了类似于 vue 中的模板语法

    数据绑定

    列表渲染

    条件渲染

 

 

小程序中 WXSS(WeiXin Style Sheets):是一套样式语言,用于描述 WXML 的组件样式,类似于网页开发中的css,两者的区别如下:

1. 新增了 rpx 尺寸单位

    css 中需要手动进行像素单位换算,例如rem

    wxss 在底层支持新的尺寸单位 rpx ,在不同大小的屏幕上小程序会自动进行换算

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

    项目根目录中的app.wsss 会作用于所有小程序页面

    局部页面的 .wxss 样式仅对当前页面生效

3. WXSS 仅支持部分 CSS 选择器

    .class 和 #id

    element

    并集选择器、后代选择器

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

 

 

小程序中 .js 文件的分类:

1. app.js  是整个小程序项目的入口文件,通过调用 App() 函数来启用整个小程序

2. 页面的 .js 文件  是页面的入口文件,通过调用 Page() 函数来创建并运行页面

3. 普通的 .js 文件(例如utils/utils..js)  是普通的功能模块文件,用来封装公共的函数或属性供页面使用

 

 

接下来介绍下小程序的宿主环境

宿主环境(host environment)指的是程序运行所必须的依赖环境。例如:

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

 

 

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

 

 

 小程序宿主环境包含的内容(也就是收手机微信给小程序的正常运行提了以下四个支持):

1. 通信模型

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

    1-2. 小程序的通讯模型分为两部分:

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

           1-2-2. 逻辑层 和 第三方任务器 之间的通信:由微信客户端进行转发

2. 运行机制

    2-1. 小程序启动的过程:

           2-1-1. 把小程序的代码包下载到本地,

           2-1-2. 解析app.json 全局配置文件,

           2-1-3. 执行app.js 小程序入口文件,调用App()创建小程序实例,

           2-1-4. 渲染小程序首页,

           2-1-5. 小程序启动完成

     2-2. 页面渲染的过程:

           2-2-1. 加载解析页面的 .json 配置文件

      2-2-2. 加载页面的 .wxml 模板 和 .wxss 样式

           2-2-3. 执行页面的 .js 文件,调用Page() 创建页面实例

           2-2-4. 页面渲染完成

3. 组件

 3-1. 小程序中组件的分类(小程序中的组件也是宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构)

    3-2. 官方把小程序的组件分为了9大类(前四个最常用):视图容器、基础内容、表单组件、导航组件、媒体组件、map地图组件、canvas画布组件、开放能力、无障碍访问

    3-3. 常用的视图容器类组件:

           3-3-1. view (普通视图区域,类似于HTML 中的 div 是一个块级元素,常用来实现页面的布局效果)

           3-3-2. scroll-view(可滚动的视图区域,常用来实现滚动列表效果)

                     属性 scroll-y 表示开启纵向(或者横向的滚动效果))

                     开启横向要给固定的宽,开启纵向要给固定的高 

           3-3-3. swiper 和 swiper-item (轮播图容器组件 和 轮播图item 组件)

                      属性 indicator-dots(Boolean类型,默认值false,是否显示面板指示点)

                      属性 indicator-color(color类型,默认值rgba(0,0,0,.3),指示点的颜色)

                      属性 indicator-active-color(color类型,默认值#000000,当前选中的指示点的颜色)

                      属性 autoplay(Boolean类型,默认值false,轮播图是否自动切换)

                      属性 interval(number类型,默认是5000,自动切换的间隔时间)

                      属性 circular(Boolean类型,默认是false,是否采用衔接滑动)

    3-4. 常用的基础内容组件:

           3-4-1. text(文本组件,类似于HTML 中的span 标签,是一个行内元素)

                     属性 selectable(实现长按选中文本内容效果,注意只有在text总才有这个效果,要通过真机才能体验效果)

                     属性 nodes(把HTML 字符串渲染为对应的UI 结构)

           3-4-2. rich-text(富文本组件,支持把HTML 字符串渲染为WXML 机构)

    3-5. 其他常用组件:

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

                     3-5-1-1. 属性type,size,plain(和html中的大体一致)

           3-5-2. image(图片组件,image 组件默认宽度约300px高度约240px)

                     3-5-2-1. image 组件的 mode 属性用来指定图片的裁剪和缩放模式,常用的mode属性值如下:

                                   scaleToFill(默认值)缩放模式,不保持纵横比缩放图片,使用图片的宽高完全拉伸至填满 image 元素

                                   aspectFit(缩放模式)保持纵横比缩放图片,使图片的长边能完全显示出来,也就是说,可以完整的将图片显示出来

                                   aspectFill(缩放模式)保持纵横比缩放图片,只保证图片的短边能完全显示出来,也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取

                                   widthFix(缩放模式)宽度不变,高度自动变化,保持原图宽高比不变

                                   heightFix(缩放模式)高度不变,宽度自动变化,保持原图宽高比不变                     

           3-5-3. navigator(页面导航组件,类似于HTML 中的a 连接(往下翻专门详解))

4. API(小程序中的API 是由宿主环境提供的,通过这些丰富的小程序 API ,开发者可以方便的调用微信提供的能力,例如:获取用户信息,本地存储,支付功能等...)

    4-1. 官方把小程序 API 分了如下3大类:

           4-1-1. 事件监听API

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

                     例如:wx.onWindowResize(function callback) 监听窗口尺寸变化的事件

           4-1-2. 同步API

                      特点1:以 sync 结尾的 API 都是同步API

                      特点2:同步API 的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常

                      例如:wx.setStorageSync('key','value')向本地存储中写入内容

           4-1-3. 异步API

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

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

 

 

下面介绍下项目中的协同工作和发布管理:

权限管理需求(同一个小程序项目,一般有多人参与设计开发,对不同角色和岗位人员进行权限划分)

 

 小程序的开发流程:

 

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

1. 项目成员:

    表示参与小程序开发、运营的成员

    可登陆小程序管理后台

    管理员可以添加、删除项目成员,并设置项目成员的角色

2. 体验成员:

    表示参与小程序内侧体验的成员

    可使用体验版小程序,但不属于项目成员

    管理员及项目成员均可添加、删除体验成员

不同项目成员对应的权限:

 

 开发者的权限说明:

1. 开发者权限:可使用小程序开发者工具及对小程序的功能进行代码开发

2. 体验者权限:可使用体验版小程序

3. 登录权限:可登录小程序管理后台,无需管理员确认

4. 开发设置:设置小程序服务器域名、消息推送及扫描普通链接二维码打开小程序

5. 腾讯云管理:云开发相关设置

添加项目成员 和 体验成员:

 

小程序的版本(开发过程中,根据时间节点不同,会产出不同的软件版本):

1. 开发者编写代码的同时,对项目代码进行自测(开发版本)

2. 知道程序达到一个稳定可体验的状态时,开发者把体验版本给到产品经理和测试人员进行体验测试

3. 最后修复完程序的Bug 后,发布正式版本供外部用户使用

 

 小程序发布上线的整体步骤:上传代码 ==》提交审核 ==》发布   这三个步骤

1. 上传代码(点击开发者工具顶部工具栏中的 上传 按钮,填写版本号以及项目备注)

 

 2. 在后台查看上传之后的版本(登录小程序管理后台 ==》管理 ==》版本管理 ==》开发版本,即可查看刚才提交上传的版本了)

 

 接下来基于这个开发版本提交审核,审核的目的是为了保证小程序的质量,以及符合先关的规范,所以小程序的发布是需要经过腾讯官方审核的。

小程序发布上线后可以对小程序进行推广,主要有普通二维码和小程序码两种方式,相对于普通二维码,小程序码的优势如下:

1. 在样式上更具辨识度和视觉冲击力

2. 能够更加清晰的树立小程序的品牌形象

3. 可以帮助开发者更好的推广小程序

如何获取小程序码:

登录小程序管理后台 ==》设置 ==》节本设置 ==》基本信息填写 ==》小程序码及线下物料下载

如何查看小程序运营数据的两种方式:

1. 在‘小程序后台’查看:

    登录小程序管理后台 ==》点击侧边栏的‘统计’ ==》点击响应的tab 可以看到相关的数据分析  

2. 使用‘小程序数据助手’查看:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2022-05-14 14:59  一名小学生呀  阅读(1375)  评论(0编辑  收藏  举报

导航