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 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 发布朋友圈 -> 正文阅读

[移动开发]发布朋友圈

<view>
<form bindsubmit="formAdd">
<l-input label="标题"  name="title" placeholder="请输入标题"  />
<l-input label="文章"  name="text" placeholder="说点什么"/>  
请选择上传文件
<l-image-picker count="9" name="file" bind:linchange="onChangeTap" bind:linremove="remove" />
<l-input label="位置" value="{{location}}" name="address" bindtap="map" 
disabled="{{true}}" placeholder="请选择位置"/>

        <checkbox-group bindchange="checkboxChange">
          <label class="weui-cell weui-check__label" wx:for="{{items}}" wx:key="{{item.value}}">
            <view class="weui-cell__hd">
              <checkbox value="{{item.value}}" name="states" checked="{{item.checked}}"/>
              {{item.name}}
            </view>
          </label>
        </checkbox-group>
<button type="default" form-type="submit">发布信息</button>
</form>
</view>
 data: {
    items: [
      {value: '小记', name: '小记'},
      {value: '爱情', name: '爱情'},
      {value: '友情', name: '友情'},
      {value: '亲情', name: '亲情'},
      {value: '生活', name: '生活'}
    ],
    arr :[],
    path : [],
  },
  checkboxChange(e) {
    const items = this.data.items
    const values = e.detail.value
    for (let i = 0, lenI = items.length; i < lenI; ++i) {
      items[i].checked = false
      for (let j = 0, lenJ = values.length; j < lenJ; ++j) {
        if (items[i].value === values[j]) {
          items[i].checked = true
          break
        }
      }
    }
    this.setData({
      items
    })
  },
  map(e){
    var that = this
    wx.chooseLocation({
      success:res=>{
        var location = res.address+res.name
        that.setData({
           location:location,
           latitude:res.latitude,
           longitude:res.longitude
        })
      }
    })
  },
  formAdd:function(e){
    let add = e.detail.value
    let _token =wx.getStorageSync('token');
    let arr = this.data.arr;
     console.log(add);
     wx.request({
       url: 'http://www.transfer.com/api/diaryAdd',
       method:'POST',
       header:{Authorization:`Bearer ${_token}`},
       data:{add,arr},
       success:res=>{
         if(res.data.code == 202){
             wx.showToast({
               title: '添加失败',
             })
         }else{
            wx.showToast({
            title: '添加成功',
            duration: 1000,
            success: function () {
              wx.switchTab({
                 url: '/pages/index/index'
              })
           }
         })
         }
       }
     })
   },
   //文件上传
  onChangeTap(ret){
    //最新上传的图片
    let imgUrl = ret.detail.current
    //循环添加图片
    imgUrl.map(function(v,k){
      wx.uploadFile({
        filePath: v,
        name: 'file',
        url: 'http://www.transfer.com/api/fileapi',
        success:res=>{
          console.log(res)
        }
      })
    })
  },
  checkboxChange(e)
  {
     console.log(e.detail.value);
     let arr = e.detail.value;
     this.setData({
       arr
     })
  },

添加接口

    public function diaryAdd(Request $request)
    {
        $res = Validator::make($request['add'],[
            'title'=>'required',
            'text'=>'required',
            'address'=>'required',
            'states'=>'required',
        ],[
            'title.required'=>'标题不能为空',
            'text.required'=>'内容不能为空',
            'address.required'=>'地址不能为空',
            'states.required'=>'标签不能为空',
        ]);
        if ($res->fails()) {
            return ['code'=>202,'data'=>'','msg'=>$res->errors()];
        }
        $data = $request['add'];
        $arr = $request['arr'];
        $data['file'] = implode("#",$data['file']);
        $data['states'] = implode(',',$arr);
        
        //添加用户入库
        $userModel = Diary::create($data);
        if($userModel){
            return ['code'=>200,'msg'=>'发布成功','data'=>''];
        }else{
            return ['code'=>400,'msg'=>'发布失败','data'=>''];
        }
    }

文件云存储接口

 public function fileapi(Request $request)
    {
        $pathName = $request->file('file')->getPathname();
        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
        $accessKeyId = "LTAI5tR7SrAkrCBVV1NjUV9m";
        $accessKeySecret = "7QoMZhXuGQAi4l2lFydaBez76ES9Ko";
        // Endpoint以杭州为例,其它Region请按实际情况填写。
        $endpoint = "http://oss-cn-shanghai.aliyuncs.com";
        // 存储空间名称
        $bucket= "lizichen";
        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg

        $fileName = md5(time() . $pathName . rand(1111,999999));
        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg
        $object = date('Y-m-d',time()) . '/' .$fileName . '.png';
        $content = file_get_contents($pathName);

        try {
            $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
            $ossClient->putObject($bucket, $object, $content);
        } catch (OssException $e) {
            print $e->getMessage();
        }
    }

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 12:02:02  更:2021-09-03 12:02:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 5:40:37-

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