APICloud App开发上手经验分享之模块调用

简介: 今天来分享一下如何使用模块。APICloud提供了很多方便好用的模块,只要学习自己想要使用的模块的文档,然后调用模块就可以使用了。

继上次简单分享了使用APICloud开发App的全流程后,今天来分享一下如何使用模块。APICloud提供了很多方便好用的模块,只要学习自己想要使用的模块的文档,然后调用模块就可以使用了。使用模块可以大大减少自己需要写的代码量,而且对于新手来说,在自己开发经验不足的情况下,也许并不能胜任一些功能的开发,这时候使用模块就可以让自己的App也拥有这些功能了,看到自己的APP也具有了丰富的功能会比较有成就感,不会使我们的学习感到枯燥,也不容易感觉学习太难而因此止步。

这篇文章使用了一个简单的免费模块PersonalCenter,首先我们打开APICloud官网的控制台创建一个项目,创建项目的方法相信大家都已经熟悉了,这里就不再赘述。创建好项目之后,点击上方导航栏的模块Store,然后搜索个人信息,之后就看到了PersonalCenter模块。点进去之后再点立即使用,然后选择自己的应用就好了,一定要选择自己现在要开发的项目,不要选错哦。

点进去之后再点立即使用,然后选择自己的应用就好了,一定要选择自己现在要开发的项目,不要选错哦。模块添加成功之后,我们返回来这个页面,点击下面的小字“查看模块文档”,把这个文档一直开着,一会回来还会用到。模块文档里面详细介绍了这个模块的用法。

之后我们就可以创建证书,编译自定义Loader了,这次我们依然选择Android版,具体操作相信大家已经会了,如果有不了解的朋友可以看一下上篇文章:

把下载好的自定义Loader拖入逍遥模拟器安装好,打开我们的开发工具APICloud Studio3,把项目用WIFI同步到模拟器后,我们进行一个设置,点击开发工具左下角的齿轮,然后点击设置,在设置界面里点击扩展。然后勾选Auto Sync这个选项,这样我们每次保存后,项目就会自动同步到模拟器中,更改完代码后不用再每次都手动的进行同步了,非常方便的小功能。


在使用模块之前,我们找到入口页面main.html的apiready = function ()方法,把里面的内容清空。这个方法里面的属性内容就是最初页面上显示的那些属性,我们把里面的属性内容清空,之后把body里的Hello APP删除或者注释一下,然后保存。现在发现模拟器中的应用已经是空白了。


然后我们找到刚才的模块文档,可以看到这个模块分别有六个方法,分别是打开、更新、关闭、设置选中按钮、显示和隐藏。

我们先试着使用一下open方法,open方法中介绍了许多属性,这时我们为了快速展现成果,先不管这些属性是什么,直接往下看,找到open方法下面的事例代码,直接用事例代码来做一个演示。


这时我们把文档中open方法下方的示例代码粘贴进这个方法里,一定要找准哦。粘贴进来之后我们可以鼠标右键,点击格式化文档,让代码看着条理更清楚一些。再次强调一下是粘贴到main.html页面的apiready = function ()方法中的大括号里。


示例代码

var personalCenter = api.require('personalCenter');

var btnArray = [{

   'bgImg': 'widget://res/personalCenter/personal_btn_nor.png',

   'selectedImg': 'widget://res/personalCenter/personal_btn_sele.png',

   'lightImg': 'widget://res/personalCenter/personal_btn_light.png',

   'title': '好友',

   'count': '5'

}, {

   'bgImg': 'widget://res/personalCenter/personal_btn_nor.png',

   'selectedImg': 'widget://res/personalCenter/personal_btn_sele.png',

   'lightImg': 'widget://res/personalCenter/personal_btn_light.png',

   'title': '回贴',

   'count': '240'

}, {

   'bgImg': 'widget://res/personalCenter/personal_btn_nor.png',

   'selectedImg': 'widget://res/personalCenter/personal_btn_sele.png',

   'lightImg': 'widget://res/personalCenter/personal_btn_light.png',

   'title': '主题',

   'count': '27'

}];

var count = 382;

var y = 44;

personalCenter.open({

   'y': y,

   'imgPath': 'widget://res/personalCenter/d7d1d308fe165b984c09728e7118e9f1.jpg',

   'placeholderImg': 'widget://res/common/placeHolder.png',

   'userName': 'APICloud',

   'count': count,

   'modButton': {

       'bgImg': 'widget://res/personalCenter/mod_normal.png',

       'lightImg': 'widget://res/personalCenter/mod_click.png'

   },

   fixedOn: api.frameName,

   'btnArray': btnArray

}, function(ret, err) {

   /* 头像修改按钮. */

   if (btnArray.length === ret.click) {

       api.confirm({

           title: '聊天盒子',

           msg: '您想要从哪里选取图片 ?',

           buttons: ['优雅自拍', '相册收藏', '取消']

       }, function(ret, err) {

           var sourceType = 'album';

           if (3 == ret.buttonIndex) { // 取消

               return;

           }

           if (1 == ret.buttonIndex) { // 打开相机

               sourceType = 'camera';

           }

           api.getPicture({

               sourceType: sourceType,

               encodingType: 'png',

               mediaValue: 'pic'

           }, function(ret, err) {

               if (ret) {

                   personalCenter.updateValue({

                       imgPath: ret.data,

                       count: count

                   });

               }

           });

       });

       return;

   }

   var msg;

   /* 修改按钮. */

   if (btnArray.length + 1 == ret.click) {

       msg = '您没有修改权限!';

   }

   if (btnArray.length + 2 == ret.click) {

       msg = '您没有设置权限!'

   }

   if (btnArray.length == ret.click) {

       btn = btnArray[ret.click];

       msg = btn.title + ' 数量为 ' + btn.count

   }

   api.toast({

       msg: msg,

       duration: 1000,

       location: 'top'

   });

});


保存一下自动同步,可以看到模拟器中应用出现了这个界面,界面的大体轮廓出来了,但是并没有图片,这是因为代码中的图片我们本地里并没有,我们需要给代码里加一张我们本地的图片。


这时我们就要返回到前面了解一下open方法里面的属性了。我们看到三个bgImg属性都是修改按钮的背景图片,并不是总体的背景图片地址,继续往下找,在open方法的事例代码中看到了imgPath这个属性,想必这个就是总体的图片地址了。我们把它替换成本地的图片,首先找一张图片复制到左侧文件列表中的image中,这时再修改图片路径:

替换前:

替换后(我的图片名称是center):

保存一下,这次我们的应用就有背景图片了。

简单的更换了一下背景图片,头像也换了,可以看到这个模块的背景图片是模糊化之后的头像图片。这时在图片和顶部之间有一定的空白,应该要把模块整体向上平移一些,在文档中找到管理位置的属性,是y值。现在代码中的y值为44,把y值改成0,再保存一下,空白就没有了。

现在代码中的y值为44,把y值改成0,再保存一下,空白就没有了。

模块基本的样貌已经具备了,我们再了解一下其他的功能,界面上的所有都是可以改的,下面的好友栏、回帖栏、主题栏,他们各自可以设置各自的背景图片,还有字体大小,字体颜色,字体内容等等。数值现在是固定写死的,如果我们后面学习了后端知识,也可以做到数据的交互。头像图片下面的文字也可以更改内容、大小与颜色。

体验完了界面布局,接下来我们看一下左上角的修改按钮或右上角的设置按钮,我们点击左上角的修改按钮,会弹出您没有修改权限。点击右上角的设置按钮,会弹出您没有设置权限。我们看一下修改按钮部分的代码,为什么会弹出这个提示。

这段代码的意思是当我们点击按钮后的返回值如果是btnArray这个数组的长度+1,那么就提示您没有修改权限。如果点击按钮后的返回值如果是btnArray这个数组的长度+2,那么就提示您没有设置权限。

我们在前面找一下btnArray这个数组,数组的长度是3,所以当返回值是4的时候,就会执行第一个if语句中的代码了,当返回值是5的时候,就会执行第二个个if语句中的代码。

然后我们在回调函数function大括号里的第一行加一句代码,把ret对象转换为 JSON 字符串,就可以看出来按钮和代码的对应关系了。这里涉及到一点JSON的知识,如果不太懂的话,大家之后可以去了解一下。

再保存一下,我们点击修改,这时弹出的是click4,,我们可以看出来点击修改按钮确实会执行第一个if语句中的代码,因为判断条件是ret对象的值是4。同样的,点击设置会弹出click5的提示。

看到这里我们就明白了,如果我们想要继续做一个修改或者设置的页面,只需要在此if语句里再调用一个列表页面的模块就好了,把它当做我们的修改页面。两个模块组合起来用,不需要自己写代码,只需要改一改现成的模块代码就好了,怎么样,非常方便吧,大家之后可以去试一试呀。这里我给大家推荐UIListView模块,是一个列表模块,拥有左滑的交互功能,也是免费模块中很好用的一个。

文章简单的介绍了一下PersonalCenter模块的open函数,大家也可以体验一下模块中的其他函数,熟练之后就可以多添加几个实用的模块,进行模块之间的组合和交互了。另外我们也可以从模块的代码中学习一些开发的知识点和交互逻辑,如果直接拿成品APP模板的源码来学习比较吃力的话,不如先从一个简单的模块入手,对我们的学习也是非常有帮助的。今天的介绍就到此结束了,希望大家学习进步,早日成为开发高手。

更多APICloud模块,请访问:https://www.apicloud.com/modulestore

目录
相关文章
|
1天前
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
3月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
868 1
|
2天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
3天前
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
|
19天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
142 18
|
15天前
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
40 5
|
15天前
|
移动开发 安全 搜索推荐
圈子社交系统APP,同城本地圈子论坛开发,让身边的人沟通更加紧密
圈子社交系统APP是一款基于社交网络的移动应用,用户可创建、加入和管理兴趣圈子。主要功能包括:动态分享与交流、实时聊天、会员体系与身份认证、活动策划等。该APP注重个性化定制、社交关系深化、隐私安全及跨平台互联,提供丰富的社交体验。
|
18天前
鸿蒙语言开发 几十套鸿蒙ArkTs app毕业设计及课程作业
鸿蒙语言开发 几十套鸿蒙ArkTs app毕业设计及课程作业
26 1
|
26天前
|
JSON 缓存 前端开发
HarmonyOS NEXT 5.0鸿蒙开发一套影院APP(附带源码)
本项目基于HarmonyOS NEXT 5.0开发了一款影院应用程序,主要实现了电影和影院信息的展示功能。应用包括首页、电影列表、影院列表等模块。首页包含轮播图与正在热映及即将上映的电影切换显示;电影列表模块通过API获取电影数据并以网格形式展示,用户可以查看电影详情;影院列表则允许用户选择城市后查看对应影院信息,并支持城市选择弹窗。此外,项目中还集成了Axios用于网络请求,并进行了二次封装以简化接口调用流程,同时添加了请求和响应拦截器来处理通用逻辑。整体代码结构清晰,使用了组件化开发方式,便于维护和扩展。 该简介概括了提供的内容,但请注意实际开发中还需考虑UI优化、性能提升等方面的工作。
91 11
|
24天前
|
前端开发 数据库 UED
uniapp开发,前后端分离的陪玩系统优势,陪玩app功能特点,线上聊天线下陪玩,只要4800
前后端分离的陪玩系统将前端(用户界面)和后端(服务器逻辑)分开开发,前者负责页面渲染与用户交互,后者处理数据并提供接口。该架构提高开发效率、优化用户体验、增强可扩展性和稳定性,降低维护成本,提升安全性。玩家可发布陪玩需求,陪玩人员发布服务信息,支持在线聊天、预约及线下陪玩功能,满足多样化需求。[演示链接](https://www.51duoke.cn/games/?id=7)

热门文章

最新文章