微信小程序:
app.js:小程序的入口,全局变量以及获取用户信息都存放在这里。
app.json:界面的路径(会自动生成),tarBar在这里定义。
app.wxss:类似与css,全局的样式我们一般写在这里。
utils:一些工具js存放在这里。
pages:详细界面部署在这里面。
images:存放图片。
关于app.js:在这里面我主要使用这几个接口:wx.login()=>这里有成功和失败两种结果:success:res=>{}和fail:res=>{}但是我只写了成功的情况。
登录成功后:微信会返回我们一个code(res.code)我们开始获取用户信息,也就是wx.getUserInfo({})这个接口,在首次加载小程序的时候用户会弹出
是否授权的弹窗,也就是是否允许我们获取该用户的信息
(微信小程序一直秉承在不获取用户信息的情况下,让用户去体验小程序,但是个别企业或者接口的需求会产生必要的用户信息,这时候微信也不得不让
客户自己选择让个人信息可被获取),在我的项目里面,点赞和评论都需要个人信息,但是查看文章,听资讯,获取智能产品的最新信息这些无需用户授权
即可看到(我们很乐意自己的产品和文章被所有人看到的前提下)
所以会出现下面两种情况了:
①:我们成功的获取到用户信息:即success:res=>{
//业务逻辑
wx.request({
url:
method:
data:{//POST请求
}
success:res=>{
//保存自己的全局变量或者其他的业务需求
}
})
}
②:我们没有获取到用户信息: 也就是fail:res=>{
wx.showModal({
title: '提示',
content: '您点击了拒绝授权,部分功能无法体验。。',
success: function (res) {
console.log('用户点击确定')
//这个是用于当客户进行一些需要我们客户信息的操作时候,判断依据
//比如每次点赞的时候我都判断一些UserInfoFail是否为true,是的话说明用户没授权,那我们就弹出授权框让其授权
//如何授权下面会说到
getApp().globalData.UserInfoFail = true;
}
})
}
授权:
//虽然小程序定义是C/S,但是不可操作dom标签元素,每次页面渲染我们都需要setData一下。
if(app.globalData.UserInfoFail){
this.setData({
show:true
})
return false;
}
else{
return true;
}
show也就是弹出提示框让该用户授权:接口:wx.openSetting({})
关于点赞:
对于一些请求,我们尽量不要在等请求返回结果时候再对数据操作(既同步),尽量异步,也就是你发送你的请求
我点赞的效果跟点赞数的变化,不等你请求返回后才变化,那样会太慢(返回结果有时候需要十几二十几秒,你让客户等这么久才
给他出现一个点赞的效果?)。
关于js,时刻记住小程序执行代码是一个异步的过程,例子(发表留言附带图片的时候,在上传图片到oss的时候,我们应该在图片
完全上传后并且返回给我们路径的时候才能发表留言啊,虽然界面上图片显示出来了,但是不代表请求已经返回路径信息了,这个
时候我们虽然让客户发表留言,但是我们自己需要处理这个问题,就是客户点击发表,我们不能干扰,但是加载的时候,我们必须
要等图片路径完全返回回来)
小程序中:上传图片的实质是单张上传,多张的时候,for循环。
一些数据要用全局变量保存:域名,某些固定的字段,等等,防止我们更换域名的时候,一个一个页面的去修改这些东西。
目前微信小程序中只支持“视频源文件代码” 如果需要添加自己拍的视频。还是要把视频上传到优酷、腾讯这类的视频网站上,然后通过查看源代码并添加到小程序中 来实现。
更多文章请关注公众号:每天学Java。想获得更多最新面试提醒请进入小程序:每天学Java
公众号二维码: 小程序二维码: