微信小程序
开发→开发管理→开发设置→appid
保存appid
wx5eead10d319cc63c
开发→开发者工具→开发者工具→下载→根据系统下载稳定版
最后进行安装→登陆→点加号新建项目→填写appid→不适用云服务→新建
3.小程序配置
都删除了
在根目录app.json(pages是表示多少页面,此页面不允许注释,pages里面项目路径在外新建时候会自动添加)
输入以下文字
{
"pages": [
"pages/index/index"
]
}
新建pages文件夹,在pages新建index文件夹,保存然后鼠标右键新建page会新建四个文件
wxml(写html), wxss(写css)
text标签相当于span标签,view相当于div标签
创建一个app.js才可以预览
├── app.js
├── app.json
└── pages
└── index
├── index.js
├── index.json
├── index.wxml
└── index.wxss
全局和页面配置→官网文档
3.1全局配置
小程序根目录下的 app.json
文件用来对微信小程序进行全局配置。文件内容为一个 JSON 对象,有以下属性:
配置项
属性 | 类型 | 必填 | 描述 | 最低版本 |
---|---|---|---|---|
entryPagePath | string | 否 | 小程序默认启动首页 | |
pages | string[] | 是 | 页面路径列表 | |
window | Object | 否 | 全局的默认窗口表现 | |
tabBar | Object | 否 | 底部 tab 栏的表现 |
|
networkTimeout | Object | 否 | 网络超时时间 | |
debug | boolean | 否 | 是否开启 debug 模式,默认关闭 | |
functionalPages | boolean | 否 | 是否启用插件功能页,默认关闭 | 2.1.0 |
subpackages | Object[] | 否 | 分包结构配置 | 1.7.3 |
workers | string | 否 | Worker 代码放置的目录 |
1.9.90 |
requiredBackgroundModes | string[] | 否 | 需要在后台使用的能力,如「音乐播放」 | |
plugins | Object | 否 | 使用到的插件 | 1.9.6 |
preloadRule | Object | 否 | 分包预下载规则 | 2.3.0 |
resizable | boolean | 否 | PC 小程序是否支持用户任意改变窗口大小(包括最大化窗口);iPad 小程序是否支持屏幕旋转。默认关闭 | 2.3.0 |
usingComponents | Object | 否 | 全局自定义组件配置 | 开发者工具 1.02.1810190 |
permission | Object | 否 | 小程序接口权限相关设置 | 微信客户端 7.0.0 |
sitemapLocation | string | 是 | 指明 sitemap.json 的位置 | |
style | string | 否 | 指定使用升级后的weui样式 | 2.8.0 |
useExtendedLib | Object | 否 | 指定需要引用的扩展库 | 2.2.1 |
entranceDeclare | Object | 否 | 微信消息用小程序打开 | 微信客户端7.0.9 |
darkmode | boolean | 否 | 小程序支持 DarkMode | 2.11.0 |
themeLocation | string | 否 | 指明 theme.json 的位置,darkmode为true为必填 | 开发者工具 1.03.2004271 |
lazyCodeLoading | string | 否 | 配置自定义组件代码按需注入 | 2.11.1 |
singlePage | Object | 否 | 单页模式相关配置 | 2.12.0 |
配置顶部:全局配置→window
app.json
添加内容
"window":{
"navigationBarBackgroundColor":"#FFDAB9",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "yys"
}
最终
{
"pages": [
"pages/index/index"
],
"window":{
"navigationBarBackgroundColor":"#FFDAB9",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "yys"
}
}
3.2.页面配置
每一个小程序页面也可以使用 .json
文件来对本页面的窗口表现进行配置。页面中配置项在当前页面会覆盖 app.json
的 window
中相同的配置项。文件内容为一个 JSON 对象,有以下属性:
配置项
属性 | 类型 | 默认值 | 描述 | 最低版本 |
---|---|---|---|---|
navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000 |
|
navigationBarTextStyle | string | white | 导航栏标题颜色,仅支持 black / white |
|
navigationBarTitleText | string | 导航栏标题文字内容 | ||
navigationStyle | string | default | 导航栏样式,仅支持以下值:default 默认样式custom 自定义导航栏,只保留右上角胶囊按钮。参见注 1。 |
iOS/Android 微信客户端 7.0.0,Windows 微信客户端不支持 |
backgroundColor | HexColor | #ffffff | 窗口的背景色 | |
backgroundTextStyle | string | dark | 下拉 loading 的样式,仅支持 dark / light |
|
backgroundColorTop | string | #ffffff | 顶部窗口的背景色,仅 iOS 支持 | 微信客户端 6.5.16 |
backgroundColorBottom | string | #ffffff | 底部窗口的背景色,仅 iOS 支持 | 微信客户端 6.5.16 |
enablePullDownRefresh | boolean | false | 是否开启当前页面下拉刷新。 详见 Page.onPullDownRefresh |
|
onReachBottomDistance | number | 50 | 页面上拉触底事件触发时距页面底部距离,单位为px。 详见 Page.onReachBottom |
|
pageOrientation | string | portrait | 屏幕旋转设置,支持 auto / portrait / landscape 详见 响应显示区域变化 |
2.4.0 (auto) / 2.5.0 (landscape) |
disableScroll | boolean | false | 设置为 true 则页面整体不能上下滚动。只在页面配置中有效,无法在 app.json 中设置 |
|
usingComponents | Object | 否 | 页面自定义组件配置 | 1.6.3 |
initialRenderingCache | string | 页面初始渲染缓存配置 | 2.11.1 | |
style | string | default | 启用新版的组件样式 | 2.10.2 |
singlePage | Object | 否 | 单页模式相关配置 | 2.12.0 |
页面配置中只能设置
app.json
中window
对应的配置项,以决定本页面的窗口表现,所以无需写window
这个属性。
- 注 1:关于
navigationStyle
- iOS/Android 客户端 7.0.0 以下版本,
navigationStyle
只在app.json
中生效。 - iOS/Android 客户端 6.7.2 版本开始,
navigationStyle: custom
对 web-view 组件无效 - 开启 custom 后,低版本客户端需要做好兼容。开发者工具基础库版本切到 1.7.0(不代表最低版本,只供调试用)可方便切到旧视觉
- Windows 客户端 3.0 及以上版本,为了给用户提供更符合桌面软件的使用体验,统一了小程序窗口的导航栏,
navigationStyle: custom
不再生效
- iOS/Android 客户端 7.0.0 以下版本,
配置tabBar导航:全局配置→tabBar(这个home也要学上面在pages里面新建)
app.json
添加部分代码
"tabBar": {
"selectedColor": "#d4237a",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "static/tabbar/3.png",
"selectedIconPath": "static/tabbar/4.png"
},
{
"pagePath": "pages/home/home",
"text": "我的",
"iconPath": "static/tabbar/1.png",
"selectedIconPath": "static/tabbar/2.png"
}
]
}
全部代码
{
"pages": [
"pages/index/index",
"pages/home/home"
],
"window": {
"navigationBarBackgroundColor": "#FFDAB9",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "yys"
},
"tabBar": {
"selectedColor": "#d4237a",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "static/tabbar/3.png",
"selectedIconPath": "static/tabbar/4.png"
},
{
"pagePath": "pages/home/home",
"text": "我的",
"iconPath": "static/tabbar/1.png",
"selectedIconPath": "static/tabbar/2.png"
}
]
}
}
iconPath 设置图标
不支持ico格式
selectedColor:tab得颜色
tab最少2个,最多5个
3.3 组件(标签)
3.3.1 text
类似span
3.3.2 view
容器,类似于div标签
3.3.3 image
图片标签
3.4 样式
3.4.1 像素
- px
- rpx:会自动适应各种手机
pages\index\index.wxml
<view class="menu">
<image src="/static/y.png"></image>
<text>精品</text>
<image src="/static/y.png"></image>
<text>精品</text>
<image src="/static/y.png"></image>
<text>精品</text>
</view>
pages\index\index.wxss
.menu{
height: 1000rpx;
display: flex;
/* column在竖直方向排列,row在水平方向 */
flex-direction: column;
/* 元素主轴方向排列:flex-start/center/around/space-beteen */
justify-content: space-around;
/* 元素副轴方向排列*/
align-items: center;
/*圆角图片*/
border-radius: 50rpx;
}
5.1 对标签绑定事件
pages\index\index.wxml
<view bindtap="clickMe" data-nid="123" data-name="yys">点我跳转</view>
js事件,放在page对象里面才可以:
pages\index\index.js
Page({
// 点击绑定事件
clickMe:function(e){
// 获取点击后data-nid的值
var nid = e.currentTarget.dataset.nid;
console.log(nid);
}
})
5.2 跳转
注意跳转的路径要新建文件(非tabbar页面):
pages\index\index.js
// 跳转
wx.navigateTo({
url: '/pages/redirect/redirect?id=' + nid,
})
跳转页面要接收参数,可以在onload方法种接收
pages\index\index.js
Page({
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
}
})
1.3 通过标签跳转
pages\index\index.wxml
<navigator url="/pages/redirect/redirect?id=666" >navigator跳转</navigator>
新建一个bind文件夹
指定的文件编译:普通编译:右边选择添加编译模式→选择bind路径
模式名称 |
pages/bind/bind |
启动页面 |
pages/bind/bind |
点 确定
pages\bind\bind.wxml
<text>数据绑定</text>
<view>数据:{{message}}</view>
<button bindtap="changeDate">点击修改数据</button>
pages\bind\bind.js
data: {
message:"yys"
},
changeDate:function(){
// 获取数据
console.log(this.data.message)
// 修改数据
this.setData({message: "yys good"})
},
js里面message会传到前端页面,serDate可以修改前后端数据
指定的文件编译:普通编译:右边选择添加编译模式→选择bind路径
1.方法一
pages\bind\bind.wxml
<view>当前用户名为:{{name}}</view>
<view>当前头像为<image src="{{path}}" style="height:200rpx;width:200rpx"></image></view>
<view bindtap="getUsername">获取当前用户名</view>
pages\bind\bind.js
// 数据绑定
data: {
"name":"",
"path":"/static/default.png"
}
getUsername:function(){
var that = this;
//调取用户接口,获取当前用户的信息
wx.getUserInfo({
//调取成功后触发
success: function(res){
console.log("success", res.userInfo.nickName);
that.setData({
name: res.userInfo.nickName,
path: res.userInfo.avatarUrl
});
},
//调取失败后触发
fail:function(res){
console.log("fail", res.userInfo)
}
})
}
2.方法二(官方推荐botton方式):
pages\login\login.wxml
<view>当前用户名为:{{name}}</view>
<view>当前头像为<image src="{{path}}" style="height:200rpx;width:200rpx"></image></view>
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">获取信息button</button>
pages\login\login.js
data: {
"name":"",
"path":"/static/default.png"
}
bindGetUserInfo:function(){
// 打开配置,手动授权
wx.openSetting({ });
var that = this;
//调取用户接口,获取当前用户的信息
wx.getUserInfo({
//调取成功后触发
success: function(res){
console.log("success", res.userInfo.nickName);
that.setData({
name: res.userInfo.nickName,
path: res.userInfo.avatarUrl
});
},
//调取失败后触发
fail:function(res){
console.log("fail", res.userInfo)
}
})
}
pages\login\login.wxml
<view bindtap="getlocalpath">{{localPath}}</view>
pages\login\login.js
data: {
"localPath": "请选择位置"
}
getlocalpath:function(){
var that = this;
console.log("获取用户地址");
wx.chooseLocation({
success: function(res){
console.log(res);
that.setData({localPath:res.address})
},
fail:function(){
console.log(res);
}
})
},
新建一个goods文件夹和page
pages\goods\goods.js
<view>商品列表</view>
<view>
<view wx:for="{{datalist}}">{{index}}-{{item}}</view>
</view>
pages\goods\goods.wxml
data: {
datalist:['苹果','香蕉', '梨']
},
本文作者: 永生
本文链接: https://yys.zone/detail/?id=212
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
发表评论
评论列表 (0 条评论)
暂无评论,快来抢沙发吧!