第一章 微信小程序概述

1.1认识微信小程序

微信(WeChat)是腾讯公司于2011年1月推出的一款为智能终端提供即时通信服务的应用程序。

微信小程序是由腾讯公司推出的一种基于微信平台的轻量级应用程序。用户可以在微信内直接打开使用,无需下载安装,具有快速加载速度和便捷的用户体验。微信小程序可以提供各种功能和服务,包括社交互动、在线购物、生活服务、新闻阅读等。用户可以通过微信搜索、扫描二维码、朋友分享等方式进入小程序,方便快捷。微信小程序已经成为微信生态系统中重要的组成部分,为用户提供了丰富多样的应用体验。

小程序的特征:

小程序嵌入微信之中,不需要下载安装外部应用,用户通过扫描二维码和搜索相关功能的关键词即可使用,具备无需安装,触手可及,用完即走,无须卸载的特性。

1.无需安装

2.触手可及

3.用完即走

4.无需卸载

小程序应用场景的特点:

1简单的业务逻辑

2低频度的使用场景

1.2微信小程序开发流程

微信小程序开发流程如下:

第1步,在微信公众平台上注册小程序账号;第2步,下载开发者工具进行编码;第3步,通过开发者工具提交代码,待通过审核后既可以发布。

注册微信小程序开发者账号:

  1. 访问微信公众平台开发者注册页面:微信公众平台
  2. 点击页面右上角的“注册”按钮,填写注册信息,包括邮箱、手机号码等。
  3. 完成注册后,登录微信公众平台,进入小程序管理页面。
  4. 在小程序管理页面,点击“开发”选项,然后点击“开发设置”,即可查看自己的开发者ID(AppID)。

安装微信开发者工具:

  1. 在浏览器中打开微信开发者工具官方网站:微信开发者工具下载地址与更新日志 | 微信开放文档
  2. 根据您的操作系统选择合适的版本进行下载,如Windows、Mac OS等。
  3. 下载完成后,双击安装程序进行安装。
  4. 安装完成后,打开微信开发者工具,登录您的微信开发者账号,即可开始使用。

    1.3第一个项目代码:

  5. {
      "usingComponents": {
        "navigation-bar": "/components/navigation-bar/navigation-bar"
      }
    }
    // index.ts
    // 获取应用实例
    const app = getApp<IAppOption>()
    const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
    
    Component({
      data: {
        motto: 'Hello World',
        userInfo: {
          avatarUrl: defaultAvatarUrl,
          nickName: '',
        },
        hasUserInfo: false,
        canIUseGetUserProfile: wx.canIUse('getUserProfile'),
        canIUseNicknameComp: wx.canIUse('input.type.nickname'),
      },
      methods: {
        // 事件处理函数
        bindViewTap() {
          wx.navigateTo({
            url: '../logs/logs',
          })
        },
        onChooseAvatar(e: any) {
          const { avatarUrl } = e.detail
          const { nickName } = this.data.userInfo
          this.setData({
            "userInfo.avatarUrl": avatarUrl,
            hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
          })
        },
        onInputChange(e: any) {
          const nickName = e.detail.value
          const { avatarUrl } = this.data.userInfo
          this.setData({
            "userInfo.nickName": nickName,
            hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
          })
        },
        getUserProfile() {
          // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
          wx.getUserProfile({
            desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
            success: (res) => {
              console.log(res)
              this.setData({
                userInfo: res.userInfo,
                hasUserInfo: true
              })
            }
          })
        },
      },
    })
    
    // index.ts
    // 获取应用实例
    const app = getApp<IAppOption>()
    const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
    
    Component({
      data: {
        motto: 'Hello World',
        userInfo: {
          avatarUrl: defaultAvatarUrl,
          nickName: '',
        },
        hasUserInfo: false,
        canIUseGetUserProfile: wx.canIUse('getUserProfile'),
        canIUseNicknameComp: wx.canIUse('input.type.nickname'),
      },
      methods: {
        // 事件处理函数
        bindViewTap() {
          wx.navigateTo({
            url: '../logs/logs',
          })
        },
        onChooseAvatar(e: any) {
          const { avatarUrl } = e.detail
          const { nickName } = this.data.userInfo
          this.setData({
            "userInfo.avatarUrl": avatarUrl,
            hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
          })
        },
        onInputChange(e: any) {
          const nickName = e.detail.value
          const { avatarUrl } = this.data.userInfo
          this.setData({
            "userInfo.nickName": nickName,
            hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
          })
        },
        getUserProfile() {
          // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
          wx.getUserProfile({
            desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
            success: (res) => {
              console.log(res)
              this.setData({
                userInfo: res.userInfo,
                hasUserInfo: true
              })
            }
          })
        },
      },
    })
    
    /**index.wxss**/
    page {
      height: 100vh;
      display: flex;
      flex-direction: column;
    }
    .scrollarea {
      flex: 1;
      overflow-y: hidden;
    }
    
    .userinfo {
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #aaa;
      width: 80%;
    }
    
    .userinfo-avatar {
      overflow: hidden;
      width: 128rpx;
      height: 128rpx;
      margin: 20rpx;
      border-radius: 50%;
    }
    
    .usermotto {
      margin-top: 200px;
    }
    
    .avatar-wrapper {
      padding: 0;
      width: 56px !important;
      border-radius: 8px;
      margin-top: 40px;
      margin-bottom: 40px;
    }
    
    .avatar {
      display: block;
      width: 56px;
      height: 56px;
    }
    
    .nickname-wrapper {
      display: flex;
      width: 100%;
      padding: 16px;
      box-sizing: border-box;
      border-top: .5px solid rgba(0, 0, 0, 0.1);
      border-bottom: .5px solid rgba(0, 0, 0, 0.1);
      color: black;
    }
    
    .nickname-label {
      width: 105px;
    }
    
    .nickname-input {
      flex: 1;
    }
    

    代码执行结果:

 1.4微信小程序开发者工具界面功能介绍

工具栏

模拟区

目录文件区

编辑区

调试区

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值