xiaoyantongxue
html

<l-form name="goods" l-form-btn-class="l-form-btn-class" bind:linsubmit="submit"
>
    <l-form-item label="商品分类:"rules="{{goods.goods_type}}" name="goods_type">
        <l-input id="goods_type"  hide-label show-row="{{false}}"/>
    </l-form-item>

    <l-form-item label="商品属性:" roles="{{goods.goods_attr}}" name="goods_attr">
        <l-input id="goods_attr"  hide-label show-row="{{false}}"/>
    </l-form-item>

    <l-form-item label="标题:" name="goods_name" roles="{{goods.goods_name}}">
        <l-input id="goods_name"  hide-label show-row="{{false}}"/>
    </l-form-item>

    <l-form-item label="商品描述:" name="desc" roles="{{goods_name}}">
        <l-textarea border="{{false}}" roles="{{desc}}" id="desc" value="{{desc}}" />
    </l-form-item>
    <l-image-picker size="4" bind:linchange="onChangeTap" />
    <view slot="submit">
        <l-button>提交</l-button>
    <iew>
    <view slot="reset">
        <l-button type="default" plain>重置</l-button>
    <view>
</l-form>
js

  Page({

  /**
   * 页面的初始数据
   */
  data: {
    TimeID: -1,
    goods_img:[],
    goods:{
      goods_type:{
        required: true,
        message: \'分类不能为空\',
        trigger: \'change\'
      }
    }
    
   },

  onChangeTap(e){
    let that=this
    let token=wx.getStorageSync(\'token\')
    e.detail.current.map(filePath=>{
      wx.uploadFile({
        filePath: filePath,
        name: \'file\',
        // url: \'http://www.zy.com/api/upfile\',
        url: `${http}upfile`,
        header:{token},
        success:res=>{
          let json=JSON.parse(res.data)
//文件追加数组
          this.data.goods_img.push(json.data)
          console.log(json.data);
        }
      })
    })
  },

  submit(event){
    console.log();
    if (!event.detail.isValidate) {
      return false
    }
      let desc=event.detail.desc
      let goods_attr=event.detail.values.goods_attr
      let goods_name=event.detail.values.goods_name
      let goods_type=event.detail.values.goods_type
      let goods_img=this.data.goods_img
      let token=wx.getStorageSync(\'token\')
      wx.request({
        url: `${http}goods`,
        data:{desc,goods_attr,goods_name,goods_type,goods_img},
        method:"POST",
        header: {
          \'content-type\': \'application/json\', // 默认值
          token
        },
        success:res=>{
          console.log(res);
          if (res.data.code == 200) {
            wx.showToast({
              title: \'添加成功\',
            })
          }else{
            wx.showToast({
              title: \'添加失败\',
            })
          }
        },
        fail:ret=>{
          wx.showToast({
            title: \'系统错误\',
          })
        }
      })
  },

laravel 控制器代码:

  public function upload(Request $request)
    {
        DB::beginTransaction();
        $file = $request->file(\'file\');
//        百度云检测图片
        $res=(new BaiDuCkeck())->imageAudit($file);
            try {
                $res=Oss::oss($file);
                DB::commit();
//                返回上传之阿里云oss的图片链接
                return [\'code\'=>200,\'msg\'=>\'ok\',\'data\'=>$res];
            }catch (\Exception $exception){
                DB::rollBack();
                return [\'code\'=>500,\'msg\'=>$exception->getMessage(),\'data\'=>[]];
            }

效果图:

 方式2 :简单实现

wxml

<l-form name="goods" l-form-btn-class="l-form-btn-class" bind:linsubmit="submit"
>
<view>
  <l-image-picker size="4" bind:linchange="onChangeTap" />
</view>
<view slot="submit">
        <l-button>提交</l-button>
    </view>
</l-form>

wx.json

{
  "usingComponents": {
    "l-image-picker":"/miniprogram_npm/lin-ui/image-picker",
    "l-form":"/miniprogram_npm/lin-ui/form"
  }
}

wx.js

// liu ui 图片上传
    onChangeTap(evt) {
        evt.detail.current.map(filePath => {
            wx.uploadFile({
                filePath: filePath,
                name: \'file\',
                url: \'http://www.yan.com/exam20/image\',
                header: { 
                    \'Content-Type\': \'multipart/form-data\'
                  },
                success: res => {
          
                    let json = JSON.parse(res.data)
                    //文件追加数组
                     this.data.goods_img.push(json.data)
            
                }

            })


        });
     
    },

    submit(evt) {
        // 获取到文件传输的值
        let goods_img=this.data.goods_img
        // 将值添加入库即可
       
    
    },

laravel控制器:

/**
     * 接受微信小程序端传过来的图片
     */
    public function image(Request $request){
        $imgUrl=$request->file(\'file\')->getPathname();
        //        验证图片链接
        $res=BaiduService::imageCheck($imgUrl);
        if ($res){
            //       阿里云文件上传
            $result=OssImageServerice::ossImage($imgUrl);
            return response()->json([\'code\'=>200,\'message\'=>\'文件检测结果合规,文件已经上传至阿里云服务器\',\'data\'=>$result]);
        }else{
            return response()->json([\'code\'=>500,\'message\'=>\'文件不合规,上传失败\',\'data\'=>\'\']);
        }

     

    }

 

分类:

技术点:

相关文章:

  • 2021-07-21
  • 2021-04-26
  • 2021-12-26
  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-23
  • 2022-12-23
  • 2021-12-13
  • 2021-12-23
  • 2021-11-19
  • 2022-12-23
相关资源
相似解决方案