马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1app.js
每个小程序都需要在 app.js 中调用 App 方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。
- App({
- /**
- * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
- */
- onLaunch: function () {
- console.log('初始化');
- },
- /**
- * 当小程序启动,或从后台进入前台显示,会触发 onShow
- */
- onShow: function (options) {
- console.log('页面回来了');
- },
- /**
- * 当小程序从前台进入后台,会触发 onHide
- */
- onHide: function () {
- console.log('页面离开了');
- },
- /**
- * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
- */
- onError: function (msg) {
-
- },
- //全局属性在所有页面下都可以获取
- globalData:{
- name:'weixin'
- }
- })
复制代码 全局属性怎么在别的页面获取呢?
- //在.js文件中获取
- const app=getApp()
- console.log(app.globalData.name);
复制代码 在.js中的data和vue一样,放一些响应是数据,那怎么修改呢?
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- name:'老师'
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- setTimeout(() => {
- //修改数据
- this.setData(
- {
- name:"王五"
- }
- )
- }, 3000);
- }
- }
复制代码 2数组遍历
微信的数组遍历和vue有点区别
- data: {
- name:'老师',
- books:["三国演义","水浒传","西游记"]
- },
复制代码- <view wx:for="{{books}}">
- 书名:{{item}} --{{index}}
- </view>
复制代码 wx:for中不用写item和index,默认就存在。当然我们也可以改名
3 变乱
- click(event){
- //获取参数
- console.log(event.currentTarget.dataset.myname);
- }
复制代码 4 获取和设置用户头像和昵称
参考文档:开放本领 / 用户信息 / 获取头像昵称 (qq.com)
.wxml
- <!-- 获取用户头像 -->
- <button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
- <image class="avatar" src="{{avatarUrl}}" mode="aspectFit"></image>
- </button>
- <!-- 获取用户昵称 -->
- <view class="inp" wx:if="{{nickName.length===0}}">
- <input type="nickname" class="weui-input" placeholder="请输入昵称" bindblur="changeNickName"/>
- </view>
- <view wx:else style="text-align: center; margin-top: 50rpx;" >
- 您的昵称为:{{nickName}}
- </view>
复制代码 .js
- const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
- Page({
- data: {
- avatarUrl: defaultAvatarUrl,
- nickName:''
- },
- onChooseAvatar(e) {
- const { avatarUrl } = e.detail
- this.setData({
- avatarUrl,
- })
- },
- changeNickName(e){
- const {value} =e.detail
- this.setData({
- nickName:value
- })
-
- }
- })
复制代码 .wxss
- /* pages/demo/demo.wxss */
- .avatar-wrapper{
- width: 200rpx;
- box-sizing: border-box;
- background-color: #fff;
- }
- .avatar{
- width: 200rpx;
- height: 200rpx;
- border-radius: 100rpx;
- box-sizing: border-box;
- }
- .weui-input{
- margin:0 auto;
- border: 2rpx solid rgb(131, 130, 130);
- width: 400rpx;
- height: 60rpx;
-
- }
复制代码 5小程序登录
参考文档:小程序登录 / 小程序登录 (qq.com)
.js
- //登录
- goLogin(){
- wx.login({
- success: (res) => {
-
- wx.request({
- url: 'http://93vjpu.natappfree.cc/user/user/login',
- data:{
- code: res.code
- },
- method:"POST",
- success(res){
- //获取后端返回的token
- console.log(res.data.data.token);
- }
- })
- },
- })
- }
复制代码 后端参考:苍穹外卖
6小程序文件上传
- <button bindtap="upload">选择并上传文件</button>
复制代码- //文件上传
- upload(){
- wx.chooseMedia({
- success(res){
- console.log(res);
- wx.uploadFile({
- url:'http://localhost:8082/user/user/upload',
- name: 'file',
- method:"POST",
- header:{
- 'content-type':'multipart/form-data'
- },
- filePath:res.tempFiles[0].tempFilePath,
- success(res){
- console.log(res);
- },
- })
- }
- })
- }
复制代码 后端
- @PostMapping("upload")
- public Result<String> upload(MultipartFile file){
- log.info("文件上传:{}",file.getOriginalFilename());
- return Result.success();
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |