php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 725|回复: 0

小程序开发攻略

[复制链接]

2871

主题

2881

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7283
贡献
0
注册时间
2021-4-14
最后登录
2024-9-19
在线时间
715 小时
QQ
发表于 2022-2-3 10:26:09 | 显示全部楼层 |阅读模式
前言
近期了解了公众号,公众号可以设置关联小程序跳转,因此我编写了一个简单的小程序,做一个简单的攻略笔记。

包括设置与使用数据的方法、小程序绑定事件传参的方法,小程序异步请求方法及注意事项,公众号自定义菜单绑定小程序路径内容介绍。

微信开发者工具
下载链接:微信开发者工具
创建小程序
个人名义创建小程序必须要邮箱,一个邮箱只能绑定一个公众号或者一个小程序,挺麻烦的,因此可能需要准备很多个邮箱。
进入微信公众平台以未绑定邮箱注册一个小程序,获得小程序id。
打开微信开发者工具,创建项目,输入对应id,模板我选择的是js基础模板。
image.png
基础页面
页面组成
页面在pages中,一个页面有四部分组成。
.wxml与html相仿,但是标签用法存在不同。
.wcss就是普通的css写法,可以添加类,在wxml中使用。
.json是一些配置信息,比如"navigationBarTitleText"可以配置小程序上方显示的页面名称。
.js就是脚本代码,生命周期在基础模板中都有,常用的onLoad可以在进入页面加载时执行。
image.png
创建页面
可以在pages中新建一个文件夹,名字起为页面名。
右击文件夹,新建page。
image.png
注意删除页面时,要记得去根目录的app.json中pages属性把对应的页面路径删除。
image.png
数据的设置与使用
从js到wxml
数据的处理一般在js文件中,js是一个Page包裹着一个对象,数据状态data有点类似react的state,对象属性data中可以设置初始值,同时生命周期也在该对象中。
image.png
设置data默认值使用this.setData,也类似react中的this.setState。
  this.setData({ show: true })

页面获取时使用{{}}中间的值就可以识别data中的变量,用法非常丰富,总结起来就是可以当成字符串在你任何想要的地方使用

可以直接在文本使用
<view>
   注意信息时效性!更新于{{result.updatetime}}
</view>

可以在元素样式中使用
<view style="color: {{type===item.value?'red':''}};">
     
</view>
可以在元素属性中使用
<image src="{{ result.photo }}"/>
从wxml到js
页面与脚本交互,小程序的点击事件是bindtap,后面绑定方法名,方法名在js文件设置,与data属性同级。
image.png
小程序绑定方法名时不能直接传递参数,必须要通过设置属性比如data-xxx。
//错误
<view bindtap="changeType({{item.value}})"></view>
//正确
<view bindtap="changeType" data-value="{{item.value}}"></view>
获取参数时,可以通过event.currentTarget.dataset.xxx获取,xxx与设置属性时对应。
changeType: function (event) {
this.setData({ type: event.currentTarget.dataset.value })
}
数据请求
微信小程序请求不支持fetch,可以使用wx.request,比如在onLoad中加载初始数据。
因为回调中无法正确识别this指向,因此我们得在内部声明一下_this。
[mw_shl_code=applescript,true]onLoad: function () {
  const _this = this
  wx.request({
    url: 'https://xxxx.com/xxxx',
    method: 'GET',
    data: {},
    success: function success(res) {
      _this.setData({ data: res.data })
    },
    fail: function fail() {

    },
    complete: function complete() {
    }
  });
},
[/mw_shl_code]
注意,请求的必须是域名且是备案过的,否则上线的小程序是用不了的,我们还需要在小程序开发管理-开发设置-服务器域名中设置request白名单。
image.png
公众号自定义菜单绑定小程序
绑定时需要一个备用图文,发表一下即可。
另外注意,配置的路径为小程序页面路径,比如pages/index/index

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-9-20 00:29 , Processed in 0.193106 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表