• 微信小程序开发入门 —— Hello World


    3.1 微信开发者工具

    前往 开发者工具下载页面 (https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html),根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看 《开发者工具介绍》(https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html) 。

    打开小程序开发者工具,用微信扫码登录开发者工具,准备开发你的第一个小程序吧!

    enter image description here

    3.2 第一行代码

    新建项目选择小程序项目,选择代码存放的硬盘路径,填入刚刚申请到的小程序的 AppID,给你的项目起一个好听的名字,最后,点击 “创建项目” (注意: 你要选择一个空的目录才会有这个选项),点击确定,你就得到了你的第一个小程序了,点击顶部菜单编译就可以在微信开发者工具中预览你的第一个小程序。

    enter image description here

    这是开发者工具自动生成HelloWorld演示程序,接下来我们来看一下它的主要代码并预览一下这个小程序的效果。

    index.wxml

     1 <view class="container">
     2   <view class="userinfo">
     3     <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
     4     <block wx:else>
     5       <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
     6       <text class="userinfo-nickname">{{userInfo.nickName}}</text>
     7     </block>
     8   </view>
     9   <view class="usermotto">
    10     <text class="user-motto">{{motto}}</text>
    11   </view>
    12 </view>

    有没有很熟悉?貌似html?

    可以这样理解,在wxml中的view可以理解为html中的div,代码中的“wx:if”用来做逻辑判断,如果wx:if内的值成立就渲染并显示,否则不进行渲染显示。

    你可以像写网页一样写小程序,只不过换成了wxml的标签规范,多写写也就熟悉了。

    index.js

     1 //获取应用实例
     2 const app = getApp()
     3 
     4 Page({
     5   data: {
     6     motto: 'Hello World',
     7     userInfo: {},
     8     hasUserInfo: false,
     9     canIUse: wx.canIUse('button.open-type.getUserInfo')
    10   },
    11   //事件处理函数
    12   bindViewTap: function() {
    13     wx.navigateTo({
    14       url: '../logs/logs'
    15     })
    16   },
    17   onLoad: function () {
    18     if (app.globalData.userInfo) {
    19       this.setData({
    20         userInfo: app.globalData.userInfo,
    21         hasUserInfo: true
    22       })
    23     } else if (this.data.canIUse){
    24       // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
    25       // 所以此处加入 callback 以防止这种情况
    26       app.userInfoReadyCallback = res => {
    27         this.setData({
    28           userInfo: res.userInfo,
    29           hasUserInfo: true
    30         })
    31       }
    32     } else {
    33       // 在没有 open-type=getUserInfo 版本的兼容处理
    34       wx.getUserInfo({
    35         success: res => {
    36           app.globalData.userInfo = res.userInfo
    37           this.setData({
    38             userInfo: res.userInfo,
    39             hasUserInfo: true
    40           })
    41         }
    42       })
    43     }
    44   },
    45   getUserInfo: function(e) {
    46     console.log(e)
    47     app.globalData.userInfo = e.detail.userInfo
    48     this.setData({
    49       userInfo: e.detail.userInfo,
    50       hasUserInfo: true
    51     })
    52   }
    53 })

    js还是那个js,原来怎样写现在还怎样写。你可以多了解一下微信小程序的几个关键的生命周期函数。

    下图说明了页面 Page 实例的生命周期。

    enter image description here

    预览效果

    enter image description here

    点击工具上的编译按钮,可以在工具的左侧模拟器界面看到这个小程序的表现,也可以点击预览按钮,通过微信的扫一扫在手机上体验你的第一个小程序。

    通过这个章节,你已经成功创建了你的第一个小程序,并且在微信客户端上体验到它流畅的表现。

  • 相关阅读:
    Laravel $request添加数据或数据修改
    PHP 生成随机字符串
    MySQL 的日期类型有5个,分别是: date、time、year、datetime、timestamp。
    Windows10系统PHP开发环境配置
    yii 分页查询
    win10系统 安装好composer后 cmd 命令行下输入composer提示不是内部或外部的命令,也不是可执行的程序或批处理文件
    MySQL锁机制&&PHP锁机制,应用在哪些场景中呢?
    linux 自总结常用命令(centos系统)
    HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?
    怎么在vi和vim上查找字符串
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14172762.html
Copyright © 2020-2023  润新知