小程序开发文档说明(小程序 开发文档)

小程序开发 4990
本篇文章给大家谈谈小程序开发文档说明,以及小程序 开发文档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 微信小程序开发手册(配置和视图层) 官网: 微信小程序的优势: 一是微信有海量用户,而且粘性很高,在微信里开发产品更容易触达用户; 二是推广app 或公众号的成本太高。 三是开发适配成本低。 四是容易小规模试错,然后快速迭代。

本篇文章给大家谈谈小程序开发文档说明,以及小程序 开发文档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信小程序开发手册(配置和视图层)

官网:

微信小程序的优势:

一是微信有海量用户,而且粘性很高,在微信里开发产品更容易触达用户;

二是推广app 或公众号的成本太高。

三是开发适配成本低。

四是容易小规模试错,然后快速迭代。

五是跨平台。

登陆成功:

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。 普通快速启动项目 里边的 app.json 配置.

字段的含义

这里的 page.json 其实用来表示页面目录下的 page.json 这类和小程序页面相关的配置。

开发者可以独立定义每个页面的一些属性,如顶部颜色、是否允许下拉刷新等等。

页面的配置只能设置 app.json 中部分 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合 基础组件 、 事件系统 ,可以构建出页面的结构。

.wxml文件下

.js文件Page模块下

不要直接写 checked="false",其计算结果是一个字符串

ps:花括号和引号之间如果有空格,将最终被解析成为字符串.

项的变量名默认为 item wx:for-item 可以指定数组当前元素的变量名

下标变量名默认为 index wx:for-index 可以指定数组当前下标的变量名

渲染一个包含多节点的结构块 block最终不会变成真正的dom元素

配合 wx:for 使用,用于提高效率。建议写上。

类似 wx:if

频繁切换 用 hidden

不常使用 用 wx:if

微信小程序怎么开发

微信版本升级后,打开微信,点击底部的“发现”这个菜单项,就会发现升级后的“发现”菜单里,增加了“小程序”这样一个功能。

2.点击打开小程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周边的小程序。

下面的小程序列表可以看到的是我们之前打开过的一些小程序,如果有自己觉得很好用的小程序就可以点击左上角,添加到我的小程序里面。

3.微信小程序还有具有搜索功能,打开搜索页面可以输入想要找的小程序。

如何快速开发个微信小程序

无论是前端开发,还是后端开发,时间长了,你总会能总结出它的一些规律的,对于前端开发主要就两条,页面展现,逻辑处理。如果是全流程开发的话,那就是,如何创建项目,页面如何实现,数据获取和逻辑处理如何实现,如何打包上线。移动端或者前端,基本开发流程就这个四个步骤。所以在在前端方面去学习新一门开发技术,只要你解决了这四个问题,那一切就OK了,下面我就讲一下,我在学习微信小程序开发,如何用这四步法快速上手开发的

学习一门新技术先看下它的开发文档 小程序介绍

然后呢就是开始一些准备的步骤,微信公众平台提供我们开发管理的功能 微信工作平台

账号注册

小程序信息配置

请看 小程序开发步骤

小程序项目的创建

到此第一个问题我们就算完成了,接下来解决小程序界面如何搭建。

然后最重要的,微信提供自己的开发者工具,不需要用chrome什么调试, 微信开发者工具 提供wxapi的调用测试能力,这些在chrome里面是测试不了的

框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。

将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。

WXML(WeiXin Markup language) 用于描述页面的结构。

WXS(WeiXin Script) 是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。

WXSS(WeiXin Style Sheet) 用于描述页面的样式。

小程序的页面是由wxml 和wxss这两个文件来实现的,wxml结构如何写请参考 微信小程序组件

wxss是负责样式控制的,基本类似于css,支持flex布局,所以要想上手构建微信小程序的界面,最好要熟悉html ,css.

还有最重要的就是生命周期了

//index.js

Page({

  data: {

    text: "This is page data."

  },

  onLoad: function(options) {

    // 页面创建时执行

  },

  onShow: function() {

    // 页面出现在前台时执行

  },

  onReady: function() {

    // 页面首次渲染完毕时执行

  },

  onHide: function() {

    // 页面从前台变为后台时执行

  },

  onUnload: function() {

    // 页面销毁时执行

  },

  onPullDownRefresh: function() {

    // 触发下拉刷新时执行

  },

  onReachBottom: function() {

    // 页面触底时执行

  },

  onShareAppMessage: function () {

    // 页面被用户分享时执行

  },

  onPageScroll: function() {

    // 页面滚动时执行

  },

  onResize: function() {

    // 页面尺寸变化时执行

  },

  onTabItemTap(item) {

    // tab 点击时执行

    console.log(item.index)

    console.log(item.pagePath)

    console.log(item.text)

  },

  // 事件响应函数

  viewTap: function() {

    this.setData({

      text: 'Set some data for updating view.'

    }, function() {

      // this is setData callback

    })

  },

  // 自由数据

  customData: {

    hi: 'MINA'

  }

})

微信提供的界面组件很多,没必要一下子全学会,会用一两个就行,其他的遇到需要的时候现查先做,这样又节约学习时间,又能够加深理解。到此第二个问题我们解决了,下面看第三个问题,数据逻辑如何处理。

数据定义

数据展现

逻辑处理是通过js文件来操作的

一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击、获取用户的位置等等。在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作。

view{{ msg }}/view

button bindtap="clickMe"点击我/button

点击 button 按钮的时候,我们希望把界面上 msg 显示成 "Hello World",于是我们在 button 上声明一个属性: bindtap ,在 JS 文件里边声明了 clickMe 方法来响应这次点击操作:

Page({

  clickMe: function() {

    this.setData({ msg: "Hello World" })

  }

})

响应用户的操作就是这么简单,更详细的事件可以参考文档  WXML - 事件  。

此外你还可以在 JS 中调用小程序提供的丰富的 API,利用这些 API 可以很方便的调起微信提供的能力,例如获取用户信息、本地存储、微信支付等。在前边的 QuickStart 例子中,在 pages/index/index.js 就调用了 wx.getUserInfo 获取微信用户的头像和昵称,最后通过 setData 把获取到的信息显示到界面上。更多 API 可以参考文档  小程序的API  。

现在几乎每个应用都需要从后端获取数据,那么小程序如何获取呢,当然是通过网路操作了。我们封装了小程序的网络操作

const app = getApp()

const request = (url, options) = {

  return new Promise((resolve, reject) = {

    wx.request({

      url: `${app.globalData.host}${url}`,

      method: options.method,

      data: options.method === 'GET' ? options.data : JSON.stringify(options.data),

      header: {

        'Content-Type': 'application/json; charset=UTF-8'

        // 'x-token': 'x-token'  // 看自己是否需要

      },

      success(request) {

        if (request.data.error_code === 0) {

          resolve(request.data)

        } else {

          reject(request.data)

        }

      },

      fail(error) {

        reject(error.data)

      }

    })

  })

}

const gets = (url, options = {}) = {

  return request(url, { method: 'GET', data: options })

}

const post = (url, options) = {

  return request(url, { method: 'POST', data: options })

}

const put = (url, options) = {

  return request(url, { method: 'PUT', data: options })

}

// 不能声明DELETE(关键字)

const remove = (url, options) = {

  return request(url, { method: 'DELETE', data: options })

}

module.exports = {

  gets,

  post,

  put,

  remove

}

如何使用请看下图

数据获取

数据展现如下图

数据展现

到此,第三个问题我们就解决的了下面看第四个问题。

小程序发布文档说明

小程序发布步骤

到此四个问题都解决了。

总结:本文内容是很简单的,借用了大部分官方文档,其实本文目的不是教你学小程序开发,而是分享一下在学习一项新事物我的方法和思路,互联网技术变化是很快的,我觉得一个人的能力,不仅仅是你技术有多好,你要明白技术是用来干什么的,技术是用来解决现实生活中的问题的,一个好的程序员,不是技术能力,而是解决问题的能力,解决问题不可能只用一种技术,这就要求你的学习能力要强,针对不同的问题,使用不同的技术,哪怕使用的技术你不熟悉,但它是解决问题最好的方法,那就要求你有快速学习并解决问题的能力。

学习一项新技术,我们要先抓住主线,把流程搞通了,以后再在工作中慢慢的熟悉和丰富对它细节的一些认知,所以学一项东西前多问自己几个问题,我学什么,我为什么学,我怎么学,等。先思考后学习,一定会让你事半功倍。

对于怎么学习微信小程序开发,我问了自己上面的四个问题,每个问题,我只需要了解大体内容,四个问题都解决了,然后整个流程也就通了,以后也就是慢慢的对每个问题内容的细节慢慢的熟悉和了解了,其实花了不到一下午的时间,我就搞出了一个简单的demo出来了,了解的内容基本已经覆盖微信小程序日常开发80%的内容了。以上就是我的一点学习心得。

最后 小程序Demo

Demo截图

首页

我的

点击我的任意条目,数据是从第三方聚合平台提供的api获取的

最后目前有很多的多端开发框架,背景大多是都是因为小程序开发的盛行

其他还有很多例如

阿里的rax

我们自己的ditto

PRD:「FITLIFE」小程序产品需求文档(用户端)

笔者通过产品概况、产品结构、业务流程图、全局说明、功能性需求、非功能性需求分析等模块,系统输出这一份关于“FITLIFE”小程序用户端的产品需求文档。

Hi~最近在对自己参与过的项目进行总结,希望可以和大家分享学习交流。输出内容是检视自己的方式,所以我就来吸取经验了。

通过研读各位优秀作者的精品,我学习到了不少知识。此次,以实际工作中遇到的情况作为案例,我将从0至1的产品中抽取重点模块进行分享。

为了阅读体验,我将尽量简化常规化的环节,本次采用AXURE梳理PRD——利用AXURE动态面板和内联框架,制作文档导航,提高浏览人员的阅读效率。

一、概述

1. 产品介绍

2. 文档修订记录

将重点模块添加对应的跳转链接,方便浏览人员迅速定位内容。

版本号规则:小数点后为当前版本的小更新,小数点前为大版本更新。

修订属性:新增、修改、删除

二、产品结构

1. 信息结构图

2. 功能结构图

由于完整结构图展开占很大的篇幅并且看不清楚,为了阅读体验,对结构图部分收缩。完整版结构图可在AXURE中查看。

三、业务流程图

建议将流程图统一整理至表格中,做成链接跳转形式,实现快速查阅。为了顺畅的需求阅读体验,将各自的流程图放在之后的需求描述部分中展示。

四、全局说明

1. 名词术语说明

2. 权限弹窗

3. 时间距离规范

3.1 时间规范

3.2 距离规范

4. 异常情况

4.1 网络异常

手机网络连接异常,小程序弹窗提示如下:

4.2 用户状态说明

五、功能性需求说明

良好的需求阅读体验需要保证阅读过程是顺畅的。

在这部分,首先列出【需求清单】,总览这次需求涉及的模块及简要信息。紧接着,按照【需求模块】-【流程图】-【原型页面流转】-【原型需求拆解】的叙述逻辑去完成各个模块的需求说明。

1. 需求池需求清单

1.1 需求管理池

需求类型:新增需求、需求调整、功能优化、BUG修复、UI优化

系统:涉及到的系统及模块

需求说明:简述需求

优先级判断:重要紧急、重要但不紧急、紧急但不重要、既不紧急也不重要(ps:我们要经常关注重要但不紧急的任务进度,避免重要紧急任务扎堆出现。)

1.2 需求清单

对需求管理池评估筛选后,将需求模块、对应功能、需求优先级、完成情况统一整理到表格中。同样的,这里将模块名称做成链接格式,快速查阅对应的需求模块。

优先级规范:p1、p2......数字越小代表优先级越高。

2. 新用户首页模块

2.1 新用户登录流程图

2.2 新用户登录原型(点击查看大图)

2.3 首页

3. 预约团课模块

3.1 团课预约流程图

3.2 团课预约页面流转

3.2 课程列表页

3.3 课程详情页

3.4 预约课程页

4. 预约私教模块

4.1 私教预约流程图

4.2 私教预约页面流转

4.3 私教列表页

4.4 私教详情页

4.5 私教预约页

5 购卡模块

5.1 购卡流程图

5.2 购卡页面流程

5.3 购买储值卡页面

6. 我的模块(个人中心)

6.1 个人页面

6.2 修改资料

6.3 我的卡包

6.4 我的课程包

6.5 我的优惠券

6.6 富文本页面

六、非功能性需求

非功能性需求,是比较容易忽视的部分,往往和性能、安全挂钩,影响着产品的稳定性与安全性。

以下仅仅是例子,具体方案需要根据业务情况和产品特性与相关人员深入沟通。

1. 性能需求

响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。

并发用户数:同时承载正常使用系统功能的用户数量。

与性能相关的数据指标还有QPS(每秒响应请求数)、TPS(每秒处理的事务数)等。

性能需求这部分仅仅是举个例子,具体情况和数据方案,需要和相关人员深入沟通。

2. 可用性需求

避免用户高频点击无反馈的情况。

为用户提供反馈渠道。

保持文案与组件的一致性。

3. 数据统计需求

产品初期需要一定基础的数据提供支持,因此,除了小程序官方数据统计平台,再接入第三方统计平台,统计以下事件的数据及路径转化率。

七、思考总结

1. 内容细节

流程图和页面流转图要整齐统一,实在太多信息,建议用子流程模块和多页面分述解决。见过很多像“蜘蛛网”一样的图,阅读体验比较糟糕。

尽量让用户不用点开大图就能看清内容,本篇部分页面流转图和页面需求也难免遇到这类问题。

异常逻辑和toast弹窗等细节需要加强把控,本篇这部分还是有所欠缺。

2. 高保真or低保真?

低保真线框图:重点在于功能、结构、流程的梳理,利用简单的框架和元素,省时省力;但细节相对高保真没这么完善,可能会有一定的沟通成本。

高保真:针对于高层领导及投资人等,进行产品概念演示,视觉效果好,细节相对完善;相当于是一个产品的demo,但修改成本较高。

原型交互做的很酷炫,证明你对工具非常熟练。但如果为了做交互花费了大量的时间,就得考虑时间成本值不值得。如果能够用简单的注释和跳转,清晰表达交互逻辑,会不会省时省力一些?

具体情况具体分析,比如,你做了很多交互,开发做漏了会说:“没写清楚啊,我怎么知道哪里可以点击呢?”

因此,我的习惯是做简单的“交互逻辑+交互注释”,尽量避免复杂且耗时耗力的交互。

当然,重要核心的交互逻辑,绘制出来比文字说明更容易理解。这时候,如果有现成的组件就套用,如果没有,就采用“图+文字+口述”的方式表达清楚。

3. WORD?AXURE?

需求文档用什么工具写比较好?

这是我见过比较多的产品话题讨论之一——有用WORD的,有用AXURE的,还有用墨刀、石墨文档等等......

我曾经请教过两位分别使用WORD和AXURE撰写需求文档的朋友,他们是这样的看法:

WORD选手:

用word写,形式更规范。

结构大纲清晰,细节到位。

洋洋洒洒几十页,满足感杠杠滴。

AXURE选手:

用AXURE写,图+标注+交互,更直观地表达产品需求,阅读更顺畅。

预览方便,支持上传云端同步。

WORD写了也没人有耐心看,这个世界很浮躁啊。

我的看法:

需求文档是帮助传达及沟通需求的工具,讲究的是“可读性”。所以,在选择采用什么方式之前,需要和团队沟通达成共识,即什么样的方式能给到他们更好的阅读体验。

我在实际工作中,采用的是AXURE,整理需求与线框图后与团队沟通,实现需求快速流转更新。但我会选择再用WORD梳理一遍,利用文字梳理大纲结构,整理产品逻辑和需求,能够发现某些疏漏的环节,完善产品细节。因此,用WORD写,是一个良好的查漏补缺的手段,是检视自身逻辑的过程。

最后,由于篇幅关系,本次分享只展示了部分内容,完整预览请在以下链接查阅。

预览链接:

希望自己能坚持输出内容,定期复盘,与优秀的你们碰撞更棒的想法,共同进步~

小程序开发文档说明的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于小程序 开发文档、小程序开发文档说明的信息别忘了在本站进行查找喔。

扫码二维码