微信小程序入门

创建一个入门程序

这是index.vxml代码

javascript 复制代码
<!--index.wxml-->
<navigation-bar title="Weixin" back="{{false}}" color="black" background="#FFF"></navigation-bar>
<view class="container" >
  <view>
    {{msg}}
  </view>
  <view>
  <button bindtap="getUserInfo" type="primary">获取用户信息</button>
  昵称:{{nickName}}
  <image style="width: 100px; height: 100px;" src="{{url}}" mode=""/>
  </view>
  <view>
    <button bind:tap="wxLogin" type="warn">微信登录</button>
    授权码:{{code}}
  </view>

  <view>
    <button bind:tap="sendRequest" type="default">发送请求</button>
  </view>

</view>

这是index.js

javascript 复制代码
// index.js
Page({
    data:{
      msg:'hello word',
      nickName:'',
      url:'',
      code:''
    },
    //获取微信用户的头像和昵称
    getUserInfo(){
      wx.getUserProfile({
        desc: '获取用户信息',
        success:(res) =>{
          console.log(res.userInfo)
          //为数据赋值
          this.setData({
            nickName:res.userInfo.nickName,
            url:res.userInfo.avatarUrl
          })
        }
      })

    },

    //微信登录,获取微信登录的授权码
    wxLogin(){
      wx.login({
        success: (res) => {
          console.log(res.code)
          this.setData({
            code:res.code
          })
          
        },
      })

    },

    //发送请求
    sendRequest(){
      wx.request({
        url: 'http://localhost:8080/user/shop/status',
        method:'GET',
        success:(res)=>{
          console.log(res.data)
        }
      })

    }
})

这段代码是一个微信小程序页面的逻辑部分,使用了微信小程序的API来实现用户信息的获取、微信登录授权以及发送网络请求的功能。下面是对每个函数和关键点的详细解释:

1. Page 函数

Page 是微信小程序中定义页面的核心函数,它接收一个对象作为参数,这个对象包含了页面的初始数据、生命周期函数、事件处理函数等。

2. data 对象

Page 函数的参数对象中,data 属性用于存储页面的初始数据。在这个例子中,data 包含了四个字段:msg(显示信息,但拼写错误应为 hello world)、nickName(用于存储用户的昵称)、url(用于存储用户的头像URL)、code(用于存储微信登录的授权码)。

3. getUserInfo 函数

这个函数用于获取微信用户的头像和昵称。它调用了微信小程序的 wx.getUserProfile API,该API需要用户授权后才能获取到用户信息。在成功回调中,通过 console.log(res.userInfo) 打印了用户信息,并使用 this.setData 方法更新了页面数据中的 nickNameurl 字段。

4. wxLogin 函数

这个函数用于实现微信登录,获取微信登录的授权码。它调用了 wx.login API,该API会返回一个登录凭证(code)。这个 code 是后续发起请求时用于换取 session_keyopenid 等敏感信息的关键。在成功回调中,通过 console.log(res.code) 打印了授权码,并使用 this.setData 方法更新了页面数据中的 code 字段。

5. sendRequest 函数

这个函数用于发送网络请求。它调用了 wx.request API,向指定的URL(在这个例子中是 'http://localhost:8080/user/shop/status')发送GET请求。这个URL应该是你的后端服务地址,用于处理一些业务逻辑。在成功回调中,通过 console.log(res.data) 打印了服务器返回的数据。

注意事项

  • msg 字段的拼写错误(hello word 应为 hello world)可能会影响页面上的显示。
  • wx.getUserProfile API 需要用户主动触发才能调用,通常放在按钮的点击事件处理函数中。
  • 发送网络请求时,确保后端服务已正确部署并可访问,且URL、请求方法(GET/POST等)及请求参数等符合后端要求。
  • 微信小程序的网络安全和隐私政策要求严格,确保在获取用户信息时遵循相关法规和用户授权。
  • 本地测试时(如使用 'http://localhost:8080' 作为请求URL),需要确保微信开发者工具已配置允许访问本地服务器。在生产环境中,应使用HTTPS协议以确保数据传输的安全性。
相关推荐
万岳科技系统开发5 小时前
外卖配送系统开发中的核心模块拆解与技术选型思路
小程序·开源
低代码布道师13 小时前
教培管家第11讲:班级管理——教务系统的“集成枢纽”
低代码·小程序·云开发
数字游民952714 小时前
小程序上新,猜对了么更新110组素材
人工智能·ai·小程序·ai绘画·自媒体·数字游民9527
小小王app小程序开发17 小时前
盲盒随机赏小程序核心玩法拆解与运营逻辑分析
大数据·小程序
说私域17 小时前
AI智能名片链动2+1模式小程序在消费者商家全链路互动中的应用研究
大数据·人工智能·小程序·流量运营·私域运营
不爱学习小趴菜17 小时前
uniapp微信小程序无法屏蔽右上角胶囊按钮(...)问题解决方案
微信小程序·小程序·uni-app
StarChainTech18 小时前
打造火爆的线上推币机APP:一站式合规娱乐解决方案
大数据·人工智能·物联网·小程序·娱乐·软件需求·共享经济
plmm烟酒僧18 小时前
《微信小程序demo开发》第一部分-编写页面逻辑
javascript·微信小程序·小程序·html·微信开发者工具·小程序开发
2501_9160088918 小时前
iOS 开发助手工具,设备信息查看、运行日志、文件管理等方面
android·ios·小程序·https·uni-app·iphone·webview
Stara051119 小时前
微信小程序配置与导航深度指南—全局/页面配置解析与高效传参策略V1.2
javascript·微信小程序·html·模块化开发·页面导航·wxs脚本·小程序api