精华内容
下载资源
问答
  • 微信小程序头像怎么改
    2021-02-12 02:37:11

    获取用户头像e68a84e8a2ad62616964757a686964616f31333436316336

    图片模板

    图片合成

    一、获取用户头像

    制作自定义头像的第一步就是先选择图片。在【海豚趣图】的交互设计中,用户有三种选择图片的方式:微信头像、本地相册和相机拍摄。获取用户头像的产品设计如下图所示:

    1、由于微信官方不再支持通过 wx.getUserInfo 接口来获取用户信息,我们必须通过使用 button 组件并将 open-type 指定为 getUserInfo 类型来获取或展示用户信息。

    为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。

    上图中弹出底部菜单的交互方式无法通过 wx.showActionSheet 来实现(因为该接口只能指定字符串文本,不能使用 button, navigator 等组件)。

    因此,只能通过自定义 actionSheet 组件来实现以上功能。

    mmp-action-sheet 组件

    以下是 mmp-action-sheet 组件的代码。

    index.wxml

    { {closeText}}

    2、通过 slot 在 action-sheet 中插入自定义的内容,比如 button、navigator 等。

    index.wxss

    .mask{  position: fixed;  top: 0;  left: 0;  width:100%;  height: 100%;  background: rgba(0, 0, 0, 0.5);  z-index: 999;

    更多相关内容
  • 微信小程序上传头像后对图片进行裁剪的功能,这是必要的核心代码,放在组件文件夹中就可以使用
  • 本文介绍了微信小程序如何获取用户头像和昵称,分享给大家,具体如下: 代码user.wxml: <image class=avatar src='{{userInfo.avatarUrl}}'></image> <view class=nickname>{{userInfo.nickName}} user.js ...
  • 微信小程序头像上传

    2022-04-23 22:49:00
    changeavatar() { wx.chooseImage({ count: 1, success:(res)=> { const tempFilePaths = res.tempFilePaths wx.uploadFile({ url: 'https://showme2.myhope..
     changeavatar() {
            wx.chooseImage({
                count: 1,
                success:(res)=> {
                    const tempFilePaths = res.tempFilePaths
                    wx.uploadFile({
                        
                        url: 'https://showme2.myhope365.com/api/system/user/profile/update/avatar/nos',
                        filePath: tempFilePaths[0],
                        name: 'avatarfile',
                        header:{
                            "cookie": wx.getStorageSync("cookie") || ""
                        },
                        success:(res)=>{
                            const data = res.data
                            //do something
                            // 请求个人数据
                            getUserInfo().then(res=>{
                                app.globalData.userInfo = res.data.data
                                app.globalData.isLogin = true
                                this.setData({
                                    userInfo: res.data.data,
                                    isLogin: true
                            }) 
                    })
                }
            })
            wx.chooseImage({
    
            })
            wx.uploadFile({
                filePath: 'https://showme2.myhope365.com/api/system/user/profile/update/avatar/nos',
    
            })
        }
        })
     },

    展开全文
  • 找到对应文件,并导入小程序中 文件中核心模块 4. 页面中使用 //wxml <import src="../../we-cropper/we-cropper.wxml"/> // 导入模板 <view class="cropper-wrapper"> <template is="we-...
    1. 下载文件所需文件
         https://github.com/we-plugin/we-cropper
    
    1. 找到对应文件,并导入小程序中
      在这里插入图片描述
    2. 文件中核心模块

    在这里插入图片描述
    4. 页面中使用

    //wxml
    
    <import src="../../we-cropper/we-cropper.wxml"/>   //  导入模板
    <view class="cropper-wrapper">
      <template is="we-cropper" data="{{...cropperOpt}}"/>   //  导入模板
      <view class="cropper-buttons">
        <view
          class="upload btn"
          bindtap="uploadTap">
          上传图片
        </view>
        <view
          class="getCropperImage btn"
          bindtap="getCropperImage">
          生成图片
        </view>
      </view>
    </view>
    
    
    //js
    import WeCropper from '../../we-cropper/we-cropper.js'
    const device = wx.getSystemInfoSync()
    const width = device.windowWidth
    const height = device.windowHeight - 50
    Page({
      data: {
        cropperOpt: {
          id: 'cropper',
          targetId: 'targetCropper',
          pixelRatio: device.pixelRatio,
          width,
          height,
          scale: 2.5,
          zoom: 8,
          cut: {
            x: (width - 300) / 2,
            y: (height - 300) / 2,
            width: 300,
            height: 300
          },
          boundStyle: {
            mask: 'rgba(0,0,0,0.8)',
            lineWidth: 1
          }
        }
      },
      touchStart (e) {
        this.cropper.touchStart(e)
      },
      touchMove (e) {
        this.cropper.touchMove(e)
      },
      touchEnd (e) {
        this.cropper.touchEnd(e)
      },
      getCropperImage () {
        this.cropper.getCropperImage(function (path, err) {
          if (err) {
            wx.showModal({
              title: '温馨提示',
              content: err.message
            })
          } else {
            wx.previewImage({
              current: '', // 当前显示图片的 http 链接
              urls: [path] // 需要预览的图片 http 链接列表
            })
          }
        })
      },
      uploadTap () {
        const self = this
    
        wx.chooseImage({
          count: 1, // 默认9
          sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
          sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
          success (res) {
            const src = res.tempFilePaths[0]
            //  获取裁剪图片资源后,给data添加src属性及其值
    
            self.cropper.pushOrign(src)
          }
        })
      },
      onLoad (option) {
        const { cropperOpt } = this.data
    
        // cropperOpt.boundStyle.color = config.getThemeColor()
    
        this.setData({ cropperOpt })
    
        if (option.src) {
          cropperOpt.src = option.src
          this.cropper = new WeCropper(cropperOpt)
            .on('ready', (ctx) => {
              console.log(`wecropper is ready for work!`)
            })
            .on('beforeImageLoad', (ctx) => {
              console.log(`before picture loaded, i can do something`)
              console.log(`current canvas context:`, ctx)
              wx.showToast({
                title: '上传中',
                icon: 'loading',
                duration: 20000
              })
            })
            .on('imageLoad', (ctx) => {
              console.log(`picture loaded`)
              console.log(`current canvas context:`, ctx)
              wx.hideToast()
            })
            .on('beforeDraw', (ctx, instance) => {
              console.log(`before canvas draw,i can do something`)
              console.log(`current canvas context:`, ctx)
            })
        }
      }
    })
    
    // wxss
    .cropper{
        position: absolute;
        top: 0;
        left: 0;
    }
    
    .cropper-buttons{
        background-
        color: rgba(0, 0, 0, 0.95);
    }
    
    .btn{
        height: 30px;
        line-height: 30px;
        padding: 0 24rpx;
        border-radius: 2px;
        color: #ffffff;
    }
    .cropper-wrapper{
        position: relative;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        justify-content: center;
        height: 100%;
        background-color: #e5e5e5;
    }
    
    .cropper-buttons{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50px;
        padding: 0 20rpx;
        box-sizing: border-box;
        line-height: 50px;
    }
    
    .cropper-buttons .upload, .cropper-buttons .getCropperImage{
        text-align: center;
    }
    page{
        -webkit-user-select: none;
        user-select: none;
        width: 100%;
        height: 100%;
        background-color: #f8f8f8;
        font-family: Arial, Helvetica, sans-serif;
        overflow-x: hidden;
    }
    
    .flex{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    展开全文
  • 添加头像微信小程序 功能 选择当前头像或本地图片进行合成 自动支持任意数量的头像框模版 支持对头像原图进行缩放操作 自定义 修改小程序项目信息 将index.js中const urls中内容替换相框图片的url 将index.wxml中...
  • 参照 这篇文章中的思路实现了头像裁剪。 在 pages/constant.js 中可以修改裁剪框尺寸,支持矩形。 在微信开发者工具中预览效果。 实现时需要注意的问题 movable-view 的 damping 需要设得很大,比如 1000 ,否则...
  • 该源码是本人亲测“可用可搭建” ,文件附视频安装教程和文字安装教程 这是一个纯头像微信小程序 除了头像没有其他功能 头像种类繁多,功能简单实用 支持流量主模式收入 另外,小程序不需要服务器和域名
  • 工具类微信小程序源码,整套源码,可以直接搭建使用。如果会基础的小程序开发,可以进行修改,增删,以及页面的制作学习。
  • 主要介绍了Thinkphp5微信小程序获取用户信息接口的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
  • 给大家带来一款以2022虎年为主的一款头像制作小程序源码 内包含了虎年虎娃框,2022元旦新年框,国旗框,国庆几种分类 每一种分类都包含了多种模板制作 虎娃的小编个人感觉那个卡通也是挺可爱的! 另外整个小程序的...
  • 2.如果每次进入小程序使用wx.getUserInfo()获取头像后再更新数据,如果你的评论内容多了,评论里保存的头像链接每次都更新将会拖慢运行速度,而且操作起来非常麻烦 3.评论里的用户头像需要不会过期可以一直显示,...

    之前做的项目需要保存用户头像,需要解决的问题有以下
    1.如果使用open-data里的数据则只能用于给当前用户展示自己的头像,无法用于评论区给全部用户显示头像
    2.如果每次进入小程序使用wx.getUserInfo()获取头像后再更新数据,如果你的评论内容多了,评论里保存的头像链接每次都更新将会拖慢运行速度,而且操作起来非常麻烦
    3.评论里的用户头像需要不会过期可以一直显示,即使用户换了头像也仍然有效
    4.如果不获取微信头像,用户进入小程序还需要提交一个图片做完头像非常繁琐

    我的解决办法是在用户第一进入小程序的时候使用wx.getUserInfo()获取用户头像数据,然后将用户头像的url转换为图片格式保存在服务器,再将服务器的图片url保存再用户数据里,这样即使用户换了头像图片链接也不会失效,再提供更换头像功能就解决了。下面上代码

    getUserInfo(e){
          var that =this
          this.setData({getinfo: false})
          wx.getSetting({
            success:function(res){
              if(res.authSetting['scope.userInfo']){
                wx.getUserInfo({
                  success:function(res2){
                    var avatarUrl = res2.userInfo.avatarUrl
                    wx.getImageInfo({
                      src: avatarUrl,
                      success:function(res3){
                        var filePath = res3.path
                        var cloudPath = 'avatar/' + new Date().getTime() + that.data.openid + res3.path.match(/\.[^.]+?$/)[0]
                          wx.cloud.uploadFile({
                            cloudPath,
                            filePath,
                            complete: res4 => {
                              db.collection('user').doc(that.data.openid)
                              .update({
                                data:{
                                  avatarUrl:res4.fileID
                                }
                              }).then(res=>{
                                wx.redirectTo({
                                  url: '../login/login',
                                })
                              })
                            } 
                          })
                      }
                    })
                  }
                })
              }
            }
          })
        },
    

    这里的代码写的很不好,有回调地狱,但是当时的确为了解决这个问题想了很久,就很急着实现了,但是大概的方法就是这样,我使用的是微信小程序云开发。我在用户第一次进入小程序的时候弹出一个授权框,如果授权了就获得头像,如果没有拒绝了就无法打开个人页面,如果打开个人页面会弹出授权框,拒绝就返回首页,接受就能浏览。

    如果还有什么好的解决方法希望大家在评论区告诉我,如果这个思路可以解决你的问题不妨给我点个赞吧!

    展开全文
  • Uni-app 微信小程序头像上传

    千次阅读 2020-05-25 06:46:25
    需求是想将图片转为base64格式后上传服务器,经多方查找,找到了微信提供的Api方法 wx.getFileSystemManager()。 wx.getFileSystemManager wx.FileSystemManager.readFile() 方法可以提供的本地文件路径、读取本地...
  • 微信头像制作小程序源码.rar
  • 微信小程序头像圆角

    千次阅读 2019-02-22 15:05:36
    参考链接:https://www.jianshu.com/p/a314a74288fc 以后有时间整理!!!
  • 微信小程序 头像的居中显示

    万次阅读 2018-05-22 17:44:04
    现在头像改了,改成不用询问用户权限的 &lt;!--wxml--&gt; &lt;!-- 如果只是展示用户头像昵称,可以使用 &lt;open-data /&gt; 组件 --&gt; &lt;open-data type="userAvatarUrl&...
  • 国庆之前,更新了「柒留言」小程序加国旗头像的小功能,但是头像模糊这个坑我在发布新版之前还没解决。 一直以为是代码出了问题,各种搜索,巧的是正好也有类似的答案,然后我就被带进锅里了,弄了半天还是模糊,...
  • 主要介绍了使用express获取微信小程序二维码小记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 微信小程序剪切头像功能,二维码功能,页面只有一个,方便做数据处理,并进行了图片压缩转换,最后转为base64,直接post到服务器处理即可 用到的几个关键api wx.canvasToTempFilePath wx.chooseImage wx....
  • 【已测】微信小程序手机动态壁纸头像小程序(带流量主)源码 不需要域名服务器,直接添加合法域名,上传发布就能使用。下边是我在开发工具 实测的图片,正常显示,下载功能正常,提示的advertisement错误是微信流量...
  • 一款高性能的微信小程序图片裁剪插件 image-cropperimage-cropper-master.zip
  • 小程序微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。同时提供一系列工具帮助开发者快速接入并完成小程序开发。关于如何注册配置就不多言了,本文主要还...
  • 微信小程序头像叠加循环渲染

    千次阅读 热门讨论 2018-11-05 21:48:04
    首先来看看效果图 通过动态控制图片偏移量来实现效果(transform:translateX); 此案例相对简单,这里就不详细说了直接看代码 index.wxml ... wx:key style='transform:translateX({{-index*30}}rpx)'&...
  • 直接从项目里面拿出来的代码,附带了很多其他代码可供参考,都是亲测测试通过的。里面还附带了php后端代码文件。
  • 粉色 UI微信小程序源码云开发版,背景图、头像、壁纸小程序源码,带流量主功能。 云开发小程序源码无需服务器和域名即可搭建小程序另外还带有流量主功能,微信平台注册小程序就可以了。 这套粉色 UI 非常的好看,...
  • getUserProfile(e){ wx.getUserProfile({ desc:'使用户得到更好的体验', success:(res)=>{ console.log("获取用户信息成功",res) ...letuser=res.userInfo ...wx.setStorageSync('user',user) ...
  • 本文以一个简单的小例子,简述在微信小程序开发中左右布局功能的实现方式,主要涉及scroll-view ,列表数据绑定,及简单样式等内容,仅供学习分享使用。 概述 在微信小程序开发中,左右分栏(左边显示分类,右边显示...
  • 从抽奖转盘的图中我们可以看出,抽奖转盘由外圆、扇面抽奖选项、抽奖按钮组成,其中外圆不难实现,大家在处理微信小程序头像的时候估计都已经用过了,那就是利用border-radius:50%来将一个正方形变成圆,这是外圆...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,279
精华内容 6,111
关键字:

微信小程序头像

微信小程序 订阅