IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Niushop APP端头像上传问题 -> 正文阅读

[JavaScript知识库]Niushop APP端头像上传问题

这几天修改niusop,遇到niushop APP端头像无法上传问题,以下是解决方案;

niushop版本 4.1.12

后台修改:

1. /app/api/controller/Member.php中

modifyheadimg()方法 修改成:


    /**
     * 修改会员头像
     * @return string
     */
    public function modifyheadimg()
    {
        $token = $this->checkToken();
        if ($token['code'] < 0) return $this->response($token);
        $headimg      = isset($this->params['headimg']) ? $this->params['headimg'] : '';
        // var_dump($headimg);die;
        $member_model = new MemberModel();
     // $res          = $member_model->editMember(['headimg' => $headimg], [['member_id', '=', $token['data']['member_id'], ['site_id', '=', $this->site_id]]]);
      $res   = $member_model->editimg(    $headimg ,  $token['data']['member_id']);
      return $this->response($res);
      
      
    }

模型路径:app/model/member/Member.php中? 记得要清除一下缓存,不然需要重新登录,改头像才能生效

新增方法:

    
    //修改头像新增代码
       public function editimg($img, $member_id)
        {
        
        $res=   Db::name('member')
            ->where('member_id', $member_id)
            ->update(['headimg' => $img]);
            
               Cache::clear();    //清除缓存
          
          if (is_dir('runtime/schema')) {  //清除缓存
                        rmdirs("schema");
                    }  


         return $this->success($res);        
        
        }


    //修改头像新增代码结束

前端修改思路:

H5的环境下,图片路径直接变Base64编码了,直接拿着可以用,但是在APP端 不会直接变Base64编码,需要转换一下,不然不会上传成功。

具体如下:

路径:@/components/img-cropping/cropping.vue

修改内容400行左右:

(上部分是指,如果在H5环境下 怎么怎么样,下边是非H5环境下怎么怎么样,)

	// #ifndef MP-ALIPAY
			uni.canvasToTempFilePath(
				{
					x: x,
					y: y,
					width: width,
					height: height,
					destWidth: expWidth,
					destHeight: expHeight,
					canvasId: 'avatar-canvas',
					fileType: this.fType,
					quality: this.qlty,
					success: r => {
							console.log(",,,1111111111,,,,",JSON.stringify(r));
						r = r.tempFilePath;
						// #ifdef H5
						this.btop(r).then(r => {
							console.log(",,,2222222,,,,",this.base64);
							this.$emit('upload', {
								avatar: this.imgSrc,
								path: r,
								index: this.indx,
								data: this.rtn,
								base64: this.base64 || null
							});
							return;
						});
						// #endif
						
						// #ifndef H5
						     const savedFilePath = r 
						        const path = plus.io.convertLocalFileSystemURL(savedFilePath) //绝对路径
						        const fileReader = new plus.io.FileReader()
						        fileReader.readAsDataURL(path)
						        fileReader.onloadend = (res) => { //读取文件成功完成的回调函数
						            //console.log(".................",res.target.result) //输出base64内容
						          this.$emit('upload', {
						          	avatar: this.imgSrc,
						          	path: res.target.result,
						          	index: this.indx,
						          	data: this.rtn,
						          	base64: res.target.result || null
						          });
								} 
						// #endif
					},

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:16:14  更:2022-04-01 23:18:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:35:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码