首页 > 科技未来 > 内容

时隔三年,中兴通讯终于明确要做智能家居

发布于:2024-06-18 编辑:匿名 来源:网络

雷锋网出版社:这篇文章是关于程序员作者博卡君的。

雷锋网已获得作者授权发布。

未经授权禁止转载!微信应用号(小程序,应用号的新名称)终于来了!目前还处于内测阶段,微信只邀请了部分企业参与内测。

大家一定关心申请账户的最终形式会是什么样子?如何将服务号改造成小程序?我们暂时用一个简单的第三方工具的例子来演示一下开发过程。

该公司的项目是保密的,不能共享代码或屏幕截图。

博卡君一边加班一边偷偷给大家写教程。

感谢 Rolodex 团队提供了执行此手术的服务号码。

OK,为了让大家尽快看到这个教程,博卡君注定要熬夜了!今晚开始更新,希望明天一早发布第一篇教程!录音开始!看看需要多少天才能完成转变!前言 在开始开发应用账号之前,我们先来看看官方的小程序教程!以下内容来自微信官方小程序开发指南。

本文档将带您一步一步创建微信小程序,您可以在手机上体验小程序的实际效果。

该小程序的首页会显示欢迎信息和当前用户的微信头像。

点击头像即可在新打开的页面查看当前小程序的启动日志。

1.获取微信小程序的AppID。

首先,我们需要有一个帐户。

如果您可以看到此文档,则我们应该已邀请您并为您创建了一个帐户。

请注意,服务帐号或订阅帐号的AppID不能直接使用。

使用提供的账号登录,您可以在网站“设置”-“开发者设置”中查看微信小程序的AppID。

注:如果我们注册时没有使用绑定的管理员微信号,请在手机上尝试使用此小程序。

那么我们还需要操作“绑定开发者”。

即在“用户身份-开发者”模块中,绑定体验小程序所需的微信ID。

本教程默认使用管理员微信号注册账号和体验。

2、创建项目需要使用开发者工具完成小程序创建和代码编辑。

开发者工具安装完成后,打开并使用微信扫描二维码登录。

选择创建“项目”,填写上面获取到的AppID,设置一个本地项目名称(不是小程序名称),如“我的” First Project”,选择本地文件夹作为代码存放目录,点击“New Project”即可。

为了方便初学者了解微信小程序的基本代码结构,在创建过程中,如果选择的本地文件夹为空文件夹,开发者工具会提示是否需要创建快速启动项目。

选择“是”,开发者工具会帮我们在开发目录下生成一个简单的demo。

项目创建成功后,我们可以点击项目进入,看到完整的开发者工具界面。

点击左侧导航。

我们可以在“编辑”中查看和编辑我们的代码,并在“调试”中测试代码。

模拟小程序在微信客户端的效果。

在“项目”中,您可以将其发送到手机上预览实际效果。

3. 编写代码并点击开发者工具左侧导航中的“编辑”。

我们可以看到这个项目已经初始化并包含一些简单的代码文件。

最关键、最本质的是app.js、app.json和app.wxss。

其中.js后缀是脚本文件,.json后缀是配置文件,.wxss后缀是样式表文件。

微信小程序会读取这些文件并生成小程序实例。

下面我们简单了解一下这三个文件的作用,方便从头开始修改和开发自己的微信小程序。

app.js是小程序的脚本代码。

我们可以监控和处理小程序的生命周期函数,并在这个文件中声明全局变量。

调用MINA提供的丰富的API,例如本例中的同步存储、同步读取本地数据。

//app.jsApp({ onLaunch: function () { // 调用API从本地缓存获取数据 var log = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx. setStorageSync('logs', logs) }, getUserInfo:function(cb){ var that = this; if(this.globalData.userInfo){ typeof cb == "function" && cb(this.globalData.userInfo) }else{ // 调用登录接口 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { that.globalData.userInfo = res.userInfo; typeof cb == "function" && c b(that .globalData.userInfo) ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? globalData 在这个文件中,我们可以配置小程序由哪些页面组成,配置小程序窗口背景颜色,配置导航栏样式,配置默认标题,注意不能加注释。

添加到此文件中。

{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": " WeChat", "navigationBarTextStyle":"black" }}app.wxss 是整个小程序的通用样式表。

我们可以直接在页面组件的class属性上使用app.wxss中声明的样式规则。

/**app.wxss**/.container { 高度: %;显示:柔性;弹性方向:列;对齐项目:居中; justify-content:空间之间;填充:rpx 0;框大小:边框-box;}4。

创建页面 在本教程中,我们有两个页面,索引页面和日志页面,分别是欢迎页面和小程序启动日志显示页面。

它们都在页面目录中。

微信小程序中每个页面的【路径+页面名称】需要写在app.json的pages中,pages中的第一个页面就是小程序的首页。

每个小程序页面由同一路径下四个不同的同名后缀文件组成,如:index.js、index.wxml、index.wxss、index.json。

.js 后缀的文件是脚本文件,.json 后缀的文件是配置文件,.wxss 后缀的文件是样式表文件,.wxml 后缀的文件是页面结构文件。

index.wxml 是页面的结构文件: {{userInfo.nickName}} {{motto}} 在本例中, 、 、 用于构建页面结构、绑定数据和交互处理功能。

index.js是页面的脚本文件。

在这个文件中,我们可以监控和处理页面的生命周期函数、获取小程序实例、声明和处理数据、响应页面交互事件等。

//index.js// 获取应用实例 var app = getApp()Page({ data: { motto: 'Hello World', userInfo: {} }, // 事件处理 function bindViewTap: function() { wx.navigateTo ( { url: '../logs/logs' }) }, onLoad: function () { console.log('onLoad') var that = this // 调用应用实例方法获取全局数据 app.getUserInfo(function (userInfo ){????????? // 更新数据?????? that.setData({????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????index.wxss??????????? ?列对齐;} .userinfo-avatar { 宽度:rpx;高度:rpx;边距:20rpx; } .userinfo-nickname { color: #aaa;} .usermotto { margin- top: px;} 页面的样式表是可选的 当存在页面样式表时,页面样式表中的样式规则将层叠在页面样式表中。

app.wxss中的样式规则如果不指定页面的样式表,也可以直接使用页面结构文件中app.wxss中指定的样式规则。

index.json 是页面配置文件:页面配置文件不是必需的。

当有页面配置文件时,页面中的配置项会覆盖app.json中窗口中的相同配置项。

如果没有指定页面配置文件,页面会直接使用app.json中的默认配置。

日志的页面结构{{index + 1}}。

{{log}} 日志页面使用控制标签来组织代码,使用wx:for-items绑定日志数据,并将日志数据循环到节点//logs中。

jsvar util = require('../../utils/util.js')Page({ data: { 日志: [] }, onLoad: function () { this.setData({ 日志: (wx.getStorageSync(' log') || []).map(function (log) { return util.formatTime(new Date(log)) }) }) }}) 运行结果如下: 5、选择左侧菜单栏移动预览开发者工具“项目”,点击“预览”,扫描二维码即可在微信客户端体验。

目前预览和上传功能尚未开放,需要等待微信下次官方更新。

可以看到,微信官方提供的开发指南非常简单,很多细节、代码和功能都没有清晰地展示出来,现在是博卡君展现实力的时候了!开发教程正式开始!第一章:准备 做好准备很重要。

开发微信应用账号需要提前从微信官网(weixin.qq.com)下载开发者工具。

1.下载最新的微信开发者工具。

打开后,你会看到这样的界面: 2. 点击“New web+”项目,出现如下界面: 3. 请注意本页各内容的AppID:按照官方说明填写。

Appname:项目最外层文件夹的名称。

如果将其命名为“ABC”,则后续所有项目内容都将保存在“/ABC/...”目录中。

本地开发目录:项目本地存放的目录。

注意:再次强调,如果您与团队成员一起开发此项目,建议您使用相同的目录名和本地目录,以保证协作开发的统一。

如果您之前有过项目,导入过程与上面类似,不再赘述。

4、所有准备工作完成后,点击“新建项目”按钮,在弹出的框中点击“确定”。

5、如上图所示,此时微信开发者工具已经自动为您构建了一个初始的演示项目,其中包含了微信应用项目所需的基本内容和框架结构。

点击项目名称(图中的“卡片”)进入项目,可以看到整个项目的基本结构: 第二章:项目结构 微信目前拥有非常庞大的用户群。

微信公众号推出后,大家都知道它的受欢迎程度,正如你所看到的,它也带动了h5的快速发展。

随着公众号业务的需求越来越复杂,申请号的到来恰逢其时。

阅读一两遍文档后,我们团队发现它为开发者提供的方式也在发生全面的变化,从操作DOM到操作数据。

基于微信提供的桥接工具,公众号实现了很多h5应用难以实现的功能,有点类似于混合开发。

与混合开发不同的是,微信的开放接口更加严谨,结构上必须使用它为我们提供的组件。

这里无法使用外部框架和插件,因此开发人员与操作 DOM 完全分离,开发思维发生了很大变化。

工欲善其事,必先利其器。

了解其核心功能,首先了解其整个运行流程非常重要。

生命周期: 在index.js中: 在开发者工具控制台可以看到: 在首页控制台可以看到顺序是App Launch-->App Show-->onload-->onShow-->onReady。

首先是整个app的启动和显示。

可以在app.js中配置app的启动,然后是各个页面的加载、显示等。

可以想象,这里可以处理很多事情,比如装箱子等等。

路由:路由一直是项目开发的核心点。

其实微信这里很少介绍路由。

可以看到微信在路由方面封装得很好,还提供了三种跳转方式。

wx.navigateTo(OBJECT):保留当前页面并跳转到应用程序中的某个页面。

使用wx.navigateBack返回到原始页面。

wx.redirectTo(OBJECT):关闭当前页面并跳转到应用程序内的某个页面。

wx.navigateBack():关闭当前页面,返回上一页。

这三个基本就够了。

微信在路由方面封装得很好。

开发者根本不需要配置路由。

很多框架往往都有非常繁琐的路由配置。

组件:这次微信在组件提供方面也非常全面,基本满足了项目需求,所以开发速度很快。

开发前可以仔细浏览几遍,开发效率会非常好。

其他:基本上无法使用任何外部框架和插件。

即使是原生的 js 插件也很难用,因为以前我们的 js 插件基本都是以操作 dom 的形式存在的,而这次微信应用号的结构是不允许操作任何 DOM 的,甚至不支持我们习惯使用的动态设置的rem.js。

这次微信还提供了WebSocket,可以直接用来聊天。

有很大的发展空间。

与公众号相比,我们发现开发应用数量已组件化、结构化、多样化。

新世界总是充满惊喜,还有更多彩蛋等待着大家去发现。

接下来让我们开始编写一些简单的代码! 1. 找到项目文件夹并将其导入到编辑器中。

在这里,我使用了 Sublime Text 编辑器。

您可以根据自己的开发习惯选择自己喜欢的编辑器。

2.接下来,您需要根据您的项目内容调整项目结构。

示例工程中,“card_course”目录主要包含“tabBar”页面以及应用程序的一些配置文件。

3. 示例项目的“tabBar”是五个菜单按钮: 4. 找到“app.json”文件来配置这五个菜单。

在代码行中找到“tabBar”:可以根据实际项目需要进行更改。

其中:“Color”为底部字体颜色,“selectedColor”为切换到的页面高亮颜色,“borderStyle”为切换菜单上方的栏。

线条的颜色,“backgroundColor”是底部菜单栏的背景颜色。

文字描述比较抽象。

建议您一一调试,查看效果,加深印象。

“列表”下的代码顺序必须按顺序排列,不能随意更改。

在“pagePath”后面的文件名中,隐藏了“.wxml”后缀。

这是微信开发代码人性化的一面——帮助你节省编写代码的时间,而且不需要频繁声明文件后缀。

“iconPath”是未显示页面的图标路径。

这两个路径可以直接网络图标。

“selectedIconPath”是当前显示页面上突出显示的图标的路径。

它可以被删除。

删除后,图标默认显示为“iconPath”。

“文本”是页面标题,也可以删除。

去掉后就只显示图标了。

如果只删除其中一个,该位置就会被占用。

注意:微信的底部菜单最多支持五列(五个图标),因此在设计微信应用的 UI 和基本结构时,必须提前考虑菜单栏的布局。

顺便说一句:我们的团队目前有两组人从事设计,三组人同时从事编码。

根据微信给出的设计指导,设计师绘制样图,我们根据样图编写UI部分,这样效率更高。

相对较高,不需要等待UI完全绘制完成。

双方可以同步! 5、根据上面的代码规则,我准备好了示例项目的基本结构供大家参考: 6、“Json”文件配置完成后,“card_course”的基本结构如上图所示。

任何不需要的子集都可以使用暂时删除丢失的子集,您将需要主动创建它们。

删除子集时,记得检查“app.json”中的相关内容是否也被删除。

注意:我个人建议在新建“wxml”文件时,也一起创建对应的“js”和“wxss”文件,因为微信应用号的配置特点是,当解析一个“wxml”文件时,就会在同一个目录下找到“js”和“wxss”同名文件,所以需要及时在“app.json”中预先配置“js”文件。

编写“wxml”时,按照微信应用号提供的接口编码即可。

大多数都是以前的“div”,但我们现在用的是“view”。

当需要使用其他子集时,可以根据微信提供的接口进行选择。

使用“class”名称来设置样式,“id”名称在这里基本没有用处。

主要操作数据,而不是“dom”。

7、以上是示例项目主页的“wxml”编码。

从图中可以看出,实现一个页面的代码量非常少。

8.“Wxss”文件是导入的样式文件。

您也可以直接在其中编写样式。

示例中使用的是引入方法: 9.修改代码并刷新后,可以看到没有背景的“view”标签直接变成了粉色。

注意:修改“wxml”和“wxss”下的内容后,可以直接用F5刷新查看效果。

如果修改了“js”,需要点击重启按钮才能看到效果。

10.另外,公共样式可以直接在“app.wxss”中引用。

11、“app.json”文件的“page”中需要预先配置“Js”文件。

为了理清项目结构,我在示例项目中与“index”主页同级目录下创建了另外四个页面文件,如下: 经过上述步骤,案例中的五个底部菜单全部配置完毕。

雷锋网注:本文由博卡君授权雷锋网发表。

时隔三年,中兴通讯终于明确要做智能家居

如需转载,请联系原文作者并注明作者及出处。

内容不得删除。

时隔三年,中兴通讯终于明确要做智能家居

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 一家号称“真相帝”的公司,一个DEMO就能估值2亿

    一家号称“真相帝”的公司,一个DEMO就能估值2亿

    今天刀哥要说的公司,相当具有颠覆性。 他们做的商业调查大数据产品经常刷爆朋友圈。 很多企业在注册商标的时候,都想把能想到的名字都注册一遍。 比如,网友发现老干妈一次性注册了老干娘、神老马、老阿姨等商标……抢注各种商标也是如此。 毁三观,比如有一家历史上名字最长

    06-17

  • iPad mini将为谁“复活”?

    iPad mini将为谁“复活”?

    “即使只是换处理器,也不必要求全面屏。 ”作为多年iPad mini老用户的小志如实说道。 ▲ iPad mini 第五代(年份型号) 其实他用的是“最新”的 iPad mini 第五代(以下简称“iPad mini 5”),但为什么叫“老款”呢?仅仅因为iPad mini 5是2017年发布的,现在已经快三年了。

    06-21

  • MemVerge获1900万美元战略投资,推动数据中心“大内存计算”趋势

    MemVerge获1900万美元战略投资,推动数据中心“大内存计算”趋势

    雷锋网5月12日报道,MemVerge今日宣布完成英特尔等战略投资者1万美元融资、思科、NetApp 和 SK 海力士。 投资者方面,该公司此前的投资者高榕 Capital、Glory Ventures、Jerusalem Venture Partners、LDV、Lightspeed Venture Partners和Northern Light Venture Partners也参

    06-18

  • 全场景互动CEM服务商“小易数智”完成数千万元天使轮融资

    全场景互动CEM服务商“小易数智”完成数千万元天使轮融资

    据投资界(ID:pedaily)7月13日消息,近日,全场景互动CEM服务提供商“小医数智”宣布完成数千万元天使轮融资,由深创投领投,国宏嘉信资本跟投,青通资本跟投。 小蚁数智创始人&CEO宋博表示,本轮融资将主要用于SaaS产研团队的扩充、武汉产研基地的建设以及北京本地市场和

    06-18

  • 《知行合一》已完成近千万元天使轮融资

    《知行合一》已完成近千万元天使轮融资

    《知行合一》近日完成近千万元天使轮融资。 本轮融资由天使投资人黄建个人投资完成。 本次融资所筹资金将主要用于人才储备和补充流动资金。 智行合一成立于2019年10月,是一家总部位于广东珠海、专注于为失能、半失能老年人提供医养结合的服务型企业。 服务范围涵盖老年慢性

    06-17

  • 汽车智能科技公司“美嘉科技”完成超亿美元融资

    汽车智能科技公司“美嘉科技”完成超亿美元融资

    36氪独家获悉,汽车智能科技公司“美嘉科技”近期完成超亿美元融资,领投由超越资本。 湾区共同家园发展基金及南山资本、红点中国、山航资本等老股东也参与投资。 泰合之都充当专属财务顾问。 美嘉科技CEO庄莉透露,本轮融资发生得很快。 该项目于去年12月底启动,今年3月竣工

    06-18

  • 外资资管巨头蜂拥而至

    外资资管巨头蜂拥而至

    10月以来,上海迎来了包括负责人在内的多家知名外资金融机构的到访。 10月19日,上海市地方金融监管局局长周小全会见摩根士丹利投资管理亚洲区首席运营官、摩根士丹利基金管理(中国)有限公司首席运营官托德科尔特曼一行。 10月16日,周小全会见法国农业信贷银行(中国)有限

    06-17

  • 外媒:TikTok讨论不出售美国业务的解决方案

    外媒:TikTok讨论不出售美国业务的解决方案

    当地时间9月10日,据《华尔街日报》报道,TikTok母公司字节跳动正在与美国政府讨论可能的解决方案,以避免TikTok广受欢迎的应用程序短视频正在出售其全部美国业务。 自从中国政府采取措施加大TikTok向微软等美国科技公司巨头出售业务的难度以来,围绕TikTok不出售的讨论就变得

    06-18

  • 集成电路芯片开发商“中科瀚天下”获3000万元C轮融资

    集成电路芯片开发商“中科瀚天下”获3000万元C轮融资

    据投资界11月19日消息,集成电路芯片开发商“中科瀚天下”于今年8月完成万元C轮融资,同心企业、浑璞投资、南京科芯为新股东。 据了解,中科瀚天下成立于2007年,是一家集成电路芯片开发商。 主要从事射频/模拟集成电路和SoC系统集成电路的开发,以及应用解决方案的研究、开

    06-17

  • “易小象”完成Pre-A轮融资,南开大学创新基金注资

    “易小象”完成Pre-A轮融资,南开大学创新基金注资

    据6月10日消息,在线少儿象棋教育公司“易小象”近日完成Pre-A轮融资,获南开大学创新基金注资。 本轮融资之前,公司还获得了北塔资本的天使轮投资。 本轮资金将主要用于产品技术开发、人才引进和教学服务质量提升。 “玩小象”成立于2007年,专注于4-12岁儿童的象棋启蒙教育

    06-17

  • 20亿元专精特新(金华)母基金在金华启动

    20亿元专精特新(金华)母基金在金华启动

    据投资界(ID:pedaily)消息,3月28日下午,浙江省专精特新(金华)基金基金协议签字仪式在金华举行。 继浙江省科技创新专项基金(二期)之后,又一省级“四”专项资金落户金华。 浙江省专精特新(金华)母基金注册在金华市,总规模20亿元。 由浙江省产业基金、金华市产业基

    06-17

  • 天下无贼反信息诈骗联盟升维  大数据构筑新防御体系

    天下无贼反信息诈骗联盟升维 大数据构筑新防御体系

    天下无贼反信息诈骗联盟 升维大数据构筑新防御体系 2020年1月14日,全国首个反信息诈骗联盟——天下无贼反信息诈骗联盟召开新闻发布会,庆祝其成立深圳周年庆。 大会以“大数据天网,新系统防御”为主题,发布了《反信息诈骗大数据报告》(以下简称《报告》),首次对欺诈产业

    06-18