Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >保姆级教程:写出自己的移动应用和小程序(篇四)

保姆级教程:写出自己的移动应用和小程序(篇四)

原创
作者头像
火爆的小茶壶
发布于 2022-08-16 08:18:08
发布于 2022-08-16 08:18:08
1.8K00
代码可运行
举报
文章被收录于专栏:前端专区前端专区
运行总次数:0
代码可运行

本系列的上一篇文章我们主要学习了如何在自己的 iOSAndroid 应用中引入第三方 SDK。随着引入 SDK 文章结束,关于应用开发入门系列的文章也就结束了。今天,我们开始学习小程序的开发入门,看看如何在小程序中写出属于自己的 Hello World。

一、什么是 FinClip 小程序

我们平时接触最多的可能是微信小程序,例如大家比较常用的微信乘车码、肯德基自助点单、顺丰速运、腾讯文档等小程序。其体积小、用完即走、有着媲美原生 App 体验的同时,也给大家的生活工作提供了很大便利。这源于小程序提供了一个简单、高效的应用开发框架、丰富的组件及 API,帮助开发者在 App 中开发具有原生体验的服务。

那么 FinClip 小程序与微信小程序之间有什么关系呢?简单来讲,FinClip 小程序是与微信小程序类似的技术平台,兼容微信小程序语法及常用 API,同时也可以为 App 提供构建自有小程序生态的能力。FinClip 小程序技术可以为您在应用中集成一套自有小程序平台,或者在已经集成 FinClip 小程序的平台中发布自研小程序。

本文将作为抛砖引玉,从小程序开发者角度来介绍小程序基本目录结构、使用语法,和在 FinClip 平台如何快速开发、上传一个简单小程序。更加详细的组件及 API 支持、SDK 集成方法等可以参考 FinClip 小程序文档中心。

二、申请小程序

首先访问 FinClip 小程序官网,注册并登录小程序管理后台,分别进入小程序管理 → 我的小程序 → 新增小程序,在填写小程序名称等基础信息后确定创建。

FinClip 首页

三、下载开发工具 FIDE

访问这个链接,下载并安装与当前系统对应版本的 IDE

四、展示小程序

完成 IDE 下载安装后打开 FIDE,添加或创建本地小程序工程,在 FIDE 中各流程如下图所示:

FIDE 首页

新建小程序截图

FIDE 中各部分截图

在开始编辑小程序代码之前,先来熟悉一下小程序的各种结构与配置说明吧。

1. 小程序目录结构

这是小程序最基本的目录结构,所有的小程序项目都是这个结构,在上面不断添加其他内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
|- app.json
|- app.js
|- pages
   |- index
      |- index.fxml
      |- index.js

这个结构分成两层:描述整体程序的顶层 App 脚本,以及描述各个页面的 page 脚本。

2. 项目配置文件 app.json

顶层的 app.json 文件用于整个项目的配置,对于所有页面都有效。

app.json 中有几个重要属性:

属性

类型

必填

描述

pages

string[]

页面路径列表

window

Object

全局的默认窗口表现

tabBar

Object

底部/顶部 tab 栏的表现

debug

boolean

是否开启 debug 模式,默认关闭

subpackages

Object[]

分包结构配置

usingComponents

Object

全局自定义组件配置

如何定义这些属性呢?示例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "pages":[
    "pages/index/index"
  ],
  "window":{
    "backgroundTextStyle":"light", // 下拉 loading 的样式,仅支持 dark / light
    "navigationBarBackgroundColor": "#fff",  // 导航栏的颜色
    "navigationBarTitleText": "首页", // 导航栏的文字,默认为空。
    "navigationBarTextStyle": "black" // 导航栏的文字颜色,只支持black(黑色)或white(白色),默认为white。
  },
  "debug": true
}

3. 小程序初始化文件 app.js

这个文件用于对整个小程序进行初始化。

app.js 文件只需要执行一个函数 App({/* 参数 */}),主要参数如下表,参数均可选。

属性

类型

描述

触发时机

onLaunch

Function

生命周期回调—监听小程序初始化

小程序初始化完成时触发(全局只触发一次)

onShow

Function

生命周期回调—监听小程序显示

小程序启动,或从后台进入前台显示时触发

onHide

Function

生命周期回调—监听小程序隐藏

小程序从前台进入后台时触发

onError

Function

错误监听函数

当小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息

onPageNotFound

Function

页面不存在监听函数

小程序要打开的页面不存在时触发,会带上页面信息回调该函数

其他

不限制

开发者可自由添加任意的 function 或数据到 Object 参数中,用this 可访问

示例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
App({
  onLaunch() {
    // 展示本地存储能力
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  globalData: {
    userInfo: null
  }
})

4. 页面文件 index.js

页面 js 文件负责初始化页面实例,配置当前页面的行为属性。

同样,页面 js 文件只需要执行一个函数 Page({/* 参数 */}),主要参数如下表,参数均可选。

属性

类型

描述

data

Object

页面的初始数据

onLoad

Function

生命周期回调—页面加载时触发

onShow

Function

生命周期回调—监听页面显示

onReady

Function

生命周期回调—监听页面初次渲染完成

onHide

Function

生命周期回调—监听页面隐藏

onUnload

Function

生命周期回调—监听页面卸载

onPullDownRefresh

Function

触发下拉刷新时执行

onReachBottom

Function

页面触底时执行

onShareAppMessage

Function

转发

onPageScroll

Function

页面滚动触发事件的处理函数

onTabItemTap

Function

当前是 tab 页时,点击 tab 时触发

其他

Any

开发者可以添加任意的函数或数据到 Object 参数中,在本页面的函数中用 this 可以访问

示例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  data: {
    motto: 'Hello World'
  },
  onLoad() {
    
  }
})

5. 页面文件 index.fxml

页面 fxml 文件用于描述小程序的页面,类似 HTML 语言。

示例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view class="container">
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

上面的代码用到了两个标签:和。

标签表示一个区块,用于跟其他区块分隔,类似 HTML 语言的

标签。 表示一段行内文本,类似于 HTML 语言的 标签,多个 标签之间不会产生分行。其中给每个标签设置的 class 类也类似于 HTML 中的 class。

五、预览小程序

首先我们需要下载 FinClip App,你可以打开官网或者扫描下面的二维码。

下载完毕后,使用第二步注册的 FinClip 开发者账号登陆 FIDE 和 FinClip App

同时支持账密或短信登录

点击预览按钮生成小程序二维码,然后使用 FinClip App 扫码体验即可。

点击这里的预览

打开 FinClip App 后,点击右上角即可扫码预览

六、上传小程序

上传小程序的流程比较简单,点击上传按钮,选择第二步创建的小程序 ID,输入版本号及版本说明即可。

点击顶部的上传按钮

输入对应的版本号和发布说明

最终会看到上传成功的提示

此时再次进入 FinClip 小程序管理后台,找到新创建的小程序进入详情页,新增审核版,选择最新上传的小程序版本提交审核。待审核通过后可以上架该版本,点击展示线上版二维码可使用 FinClip App 扫码体验。

选择对应的小程序,查看详情

点击此处新增审核

选择对应的小程序版本

提交后会看到审核提交的提示

审核通过,可以点击这里进行版本上架

点击上架后就会出现在这里

七、小程序的开发 tips

在开发小程序的过程中,还有很多开发者须知的小技巧,我们也在这里做一并的汇总讲解。

1. 如何在 FinClip App 中打开 vconsole

只需要在小程序的 app.json 中添加字段: "debug": true 即可

添加即可

2. 如何在 FIDE 中使用小程序自定义 API 功能

自定义 API 主要有以下 2 个使用场景:

  1. 自定义 API 调试 Mock
  2. H5 调用的原生API Mock

在默认情况下,IDE 对于自定义的 API 会默认返回 Fail: 未实现该 API ,而一些小程序业务流程可能会依赖自定义 API。

所以 IDE 对于客户提供 API Mock 的机制,可以自定义 SDK 返回的结果,这样便可以在 IDE中 走通业务这些业务流程。

基础用法

入口在右下角调试面板中的 Mock 标签

先点击 Mock 再点击加号

1.原生小程序内使用自定义 API 规则示例

自定义 API,在小程序根目录 FinClipConf.js 文件配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
module.exports = {
  extApi:[
    { //普通交互API
      name: 'customEvent', //扩展api名 该api必须Native方实现了
      params: { //扩展api 的参数格式,可以只列必须的属性
        url: ''
      }
    }
  ]
}

在小程序中运行 ft.customEvent,可以取到 Mock 结果:

2. web-view 中使用自定义 API 规则示例

在 H5 页面中引入桥接 js-sdk 文件后,即可调用下面的注册的方法了。

HTML 内调用注册的方法示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.FinChatJSBridge.invoke('customEvent', {url:'getLocation'}, (result) => {
    console.log(result)
});

本期教程讲解了基于 FinClip进行小程序开发与调试,上传的全部流程介绍。

在下一期的文章中,我们将会一起聊聊如何编辑小程序的 CSS 样式与服务调用的相关信息,敬请期待。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
保姆级教程:写出自己的移动应用和小程序(篇五)
在上期文章中,我们主要聊了聊如何写出一个简单的小程序。既然聊到了编写小程序,那不得不提的就是如何编写其中的 CSS 样式内容,一起来看看吧。
火爆的小茶壶
2022/08/17
5610
保姆级教程:写出自己的移动应用和小程序(篇五)
如何在小程序中引入自有 API?
自定义 API,顾名思义为开发者为满足自身需求而自己创建的一个 API。那么自己创建的这个 API 能起到什么效果和作用呢。
海岛船长加西亚
2022/03/24
8570
2019-面向小白的微信小程序-视频教学-基础
微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用
万少
2025/02/08
2190
2019-面向小白的微信小程序-视频教学-基础
小程序的生命周期【小程序专题8】
页面加载时,data 将会以JSON字符串的形式由逻辑层传至渲染层,因此data中的数据必须是可以转成JSON的类型:字符串,数字,布尔值,对象,数组。
徐建国
2021/12/08
7310
小程序的生命周期【小程序专题8】
如何在FinClip中开发小程序插件?
​在上一期“如何使用小程序插件”的分享中有提到,在FinClip中开发者可以像开发小程序一样开发一个插件,而开发出来的插件,既可以提供给自己的团队使用,也可以公开出来供其他开发者使用。在插件发布之后 FinClip 会托管插件代码,其他小程序调用时,上传的插件代码会随小程序一起下载运行。
海岛船长加西亚
2022/10/25
1.2K0
微信小程序的生命周期学习笔记-应用篇
在我们学习微信小程序的过程当中,我们会参考很多资料。在这些资料中,我们经常能够看到“生命周期”四个字,在前面的课程中也提到过。在这里做一个说明。
面向对象思考
2020/07/21
8940
微信小程序的生命周期学习笔记-应用篇
微信小程序开发入门篇
本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。 开发准备工作 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的“
xiangzhihong
2018/02/05
1.4K0
微信小程序开发入门篇
怎么开发一个简单的小程序_微信小程序编写教程
微信小程序开发文档链接为:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html,如下图:
全栈程序员站长
2022/09/30
3.1K0
怎么开发一个简单的小程序_微信小程序编写教程
【愚公系列】2022年02月 微信小程序-页面生命周期
注册小程序中的一个页面。接受一个 Object 类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。
愚公搬代码
2022/12/01
5510
微信小程序开发入门教程
微信小程序开发文档链接为:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html,如下图:
全栈程序员站长
2022/09/06
2.1K0
微信小程序开发入门教程
手把手系列:小程序插件的开发与引用
在小程序开发中为了提升小程序的功能丰富度和用户体验,以及避免重复造轮子,特别是在实现一些通用功能(如地图定位、支付接口等)时,我们往往需要通过小程序插件来提高开发效率。目前我司的 app 中是通过嵌入第三方SDK来实现小程序运行的,我们发现该技术平台中是具备直接开发小程序插件的能力的,本期就给大家分享一下如何在第三方平台中开发小程序插件,以便于业务模块可以复用。
海岛船长加西亚
2024/07/10
2300
NOW 直播和微信小程序那些事
根据文章内容总结为摘要总结。
腾讯IVWEB团队
2017/05/09
9.4K2
小程序 Tip | 基础概述
每个子目录中保存着一个页面的相关文件 —— 通常是4种不同扩展名的文件, 分别是页面中的逻辑文件、页面结构文件、样式表文件、配置文件; 为了减少开发时的配置项,框架特别约定描述页面的这4个文件必须具备相同的路径和文件名;
凌川江雪
2022/01/20
9720
小程序 Tip | 基础概述
微信小程序开发指引
官方文档教程1:http://bcoder.cn/wxopen/ 官方文档教程2:http://bing.aliaii.com/wxopen/  本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志。下载源码 1. 获取微信小程序的 AppID 如果你是收邀请的开发者,我们会提供一个帐号,利用提供的帐号,登录 https://mp.weixin.qq.com ,就可以在网站的
用户1220053
2018/02/09
1.7K0
微信小程序开发指引
保姆级教程:写出自己的移动应用和小程序(篇一)
工欲善其事必先利其器,一个 Mac 设备必不可少( iMac、MacBook皆可),接下来下载最新版本的 Xcode 作为 iOS 开发的IDE(Integrated Development Environment ,集成开发环境,就是编辑、编译、链接、调试统统包含的一揽子开发环境,移动开发的 IDE 一般还会包含移动设备的模拟器)。
火爆的小茶壶
2022/07/26
1.1K0
保姆级教程:写出自己的移动应用和小程序(篇一)
简单编写小程序的 CSS 样式教程
我们在完成了小程序的内容编辑后,就需要对样式骨架进行调节与调优,才能写出最符合用户体验的样式内容。
金牌打杂仔
2022/01/05
2.2K0
微信小程序入门文档下载_小程序开发教程全集免费
最新一版的微信开发者工具,把微信公众号的调试开发工作也集成了进去,可以更换开发模式。
全栈程序员站长
2022/09/20
11K0
微信小程序入门文档下载_小程序开发教程全集免费
二、小程序框架
小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。
天蝎座的程序媛
2023/10/17
3570
二、小程序框架
微信小程序开发思路
小程序还没有完全开放,不能真实体验,但通过文档和开发工具,可以了解到他的开发思路 下面就介绍下小程序的开发方式,希望能帮助有兴趣的朋友对整体思路有个快速了解 整体结构 默认示例项目的目录结构 从后缀名
dys
2018/04/04
2.7K0
微信小程序开发思路
微信小程序函数处理之保姆级讲解
在使用Page()构造器注册页面时,需要使用生命周期函数,包括onLoad()页面加载时生命周期函数、onShow()页面显示时生命周期函数、onReady()页面初次渲染完成时生命周期函数、onHide()页面隐藏生命周期函数和onUnload()页面卸载生命周期函数。
淼学派对
2022/11/20
1.1K0
微信小程序函数处理之保姆级讲解
相关推荐
保姆级教程:写出自己的移动应用和小程序(篇五)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验