欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序上傳帖子的實例代碼(含有文字圖片的微信驗證)

 更新時間:2020年07月11日 08:57:41   作者:子楓Eric  
這篇文章主要介紹了小程序上傳帖子(含有文字圖片的微信驗證)的實例代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

public.js

var graceJS = require('../../utils/grace.js');
import { config } from '../../config.js'
Page({

 /**
 * 頁面的初始數(shù)據(jù)
 */
 data: {
 imglist: [],
 title:'',
 content:'',

 },

 delImg(e) {
 let index = e.currentTarget.dataset.index;
 let array = [];
 console.log(index);
 for (var i = 0; i < this.data.imglist.length; i++) {
  if (i !== index) {
  array.push(this.data.imglist[i])
  }
 }
 console.log(array);
 this.setData({
  imglist: array,
 })
 },

 upimg() {
 let that = this
 var url = config.api_base_url + "upload_pic"
 wx.chooseImage({
  count: 1,
  sizeType: ['original', 'compressed'],
  sourceType: ['album', 'camera'],
  success(res) {
  const tempFilePaths = res.tempFilePaths;
  wx.showLoading({
   title: '上傳中',
  })
  wx.uploadFile({
   url,
   filePath: tempFilePaths[0],
   name: 'file',
   success(res) {
   console.log(res.data);
   wx.hideLoading()
   if (res.data == '0') {
    graceJS.msg('上傳失敗');
   }else{
    console.log(res.data)
    if (res.data.indexOf("非法圖片")>=0){
    graceJS.msg(res.data);
    } else {
    graceJS.msg("上傳成功");
    var array = that.data.imglist.concat(res.data)
    that.setData({
     imglist: array,
    })
    }
   }
   
   }
  })

  }
 })
 },
 zf_title:function(e){
 this.setData({
  title: e.detail.value
 })
 },
 zf_content: function (e) {
 this.setData({
  content: e.detail.value
 })
 },
 tj_info: function (event){
 var that = this;
 console.log("event", event)
 var title = this.data.title;
 var content = this.data.content;
 console.log(title)
 console.log(content)
 var imglist = that.data.imglist;
 var uid = wx.getStorageSync('user').id
 if (!title && !content) {
  graceJS.msg("請?zhí)顚懲暾?);
 } else {
  //寫入數(shù)據(jù)庫
  if (uid != undefined) {
  graceJS.post(
   config.api_base_url + 'tiezi_add',
   {title:title, content:content,uid:uid,imglist:imglist}, 
   'json',
   {}, // 此處 {} 代表不設(shè)置 header 數(shù)據(jù)
   function(res){
   if (res.result == 1) {
    graceJS.msg(res.msg);
    setTimeout(()=>{
    graceJS.navigate('../discover/discover','switchTab');
    },2000)
   }else{
    graceJS.msg(res.msg);
   }
   }
  );
  }else{
  graceJS.msg("用戶ID獲取失敗");
  }
  
 }
 },

 /**
 * 生命周期函數(shù)--監(jiān)聽頁面加載
 */
 onLoad: function (options) {

 },

 /**
 * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
 */
 onReady: function () {

 },

 /**
 * 生命周期函數(shù)--監(jiān)聽頁面顯示
 */
 onShow: function () {

 },

 /**
 * 生命周期函數(shù)--監(jiān)聽頁面隱藏
 */
 onHide: function () {

 },

 /**
 * 生命周期函數(shù)--監(jiān)聽頁面卸載
 */
 onUnload: function () {

 },

 /**
 * 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作
 */
 onPullDownRefresh: function () {

 },

 /**
 * 頁面上拉觸底事件的處理函數(shù)
 */
 onReachBottom: function () {

 },

 /**
 * 用戶點擊右上角分享
 */
 onShareAppMessage: function () {

 }
})

publish.wxml

<!--pages/publish/publish.wxml-->
<view>
 <form > 
		<view class="publish_a">
			<view class="publish_a1">
				<view class="publish_a1_a">
					<input type="text" name="title" bindinput="zf_title" placeholder="輸入標(biāo)題" />
				</view>
				<view class="publish_a1_b">
					<textarea name="content" bindinput="zf_content" placeholder="輸入內(nèi)容文字"></textarea>
				</view>
				<view class="publish_a1_c">
					<view class="publish_a1_c1" >
						<image src="../../img/127.png" bindtap="upimg"></image>
					</view>
					<view class="publish_a1_c2">
						<view wx:for="{{imglist}}" bindtap="delImg" data-index="{{index}}">
							<image src="{{item}}" ></image>
							<text>X</text>
						</view>
					</view>
				</view>
			</view>
		</view>
 	<view class="publish_b" bind:tap="tj_info">發(fā)布帖子</view>
	</form>
</view>

publish.wxss

/* pages/publish/publish.wxss */
page{
	padding-bottom: 120rpx;
}
.publish_a{
	padding: 20rpx;
}
.publish_a1{
	background-color: #f5f2f4;
	padding: 20rpx;
}
.publish_a1_a input{
	width: 100%;
	height: 80rpx;
	line-height: 80rpx;
	font-size: 28rpx;
	font-weight: bold;
}
.publish_a1_b textarea{
	width: 100%;
	font-size: 28rpx;
}
.publish_a1_c1{
	margin-bottom: 20rpx;
}
.publish_a1_c1 image{
	display: block;
	width: 200rpx;
	height: 200rpx;
}
.publish_a1_c2{
	display: flex;
	flex-wrap: wrap;
}
.publish_a1_c2 view{
	position: relative;
	width: 200rpx;
	height: 200rpx;
	margin-right: 20rpx;
	margin-bottom: 20rpx;
}
.publish_a1_c2 image{
	display: block;
	width: 100%;
	height: 100%;
}
.publish_a1_c2 text{
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 40rpx;
	height: 40rpx;
	text-align: center;
	line-height: 40rpx;
	font-size: 26rpx;
	color: #fff;
	background-color: rgba(0,0,0,0.3);
}

.zf_btn{
 width: 500px;
}
.publish_b{
	position: fixed;
	left: 0;
	bottom: 0;
	/* width: 100%; */
	background-color: #a67f4a;
	line-height: 100rpx;
	text-align: center;
	color: #fff;
	font-size: 30rpx;
	min-width: 380px;
 width: 100%;
 padding: 0;
 margin: 0;
}

tp

引入
use EasyWeChat\Factory;

public function __construct ( Request $request = null )
 {
  $this->config = [
   'app_id' => 'wx4**********fd45a65',
   'secret' => '082dec1****5b93d286c093e01',
   'response_type' => 'array',
   'log' => [
    'level' => 'debug',
    'file' => __DIR__.'/log/wechat.log',
   ],
  ];
  $this->uid = '';
 }

public function tiezi_add(){
  $data = input('post.');
  if($data['imglist']!=[]){
   foreach ($data['imglist'] as $k => $vo) {
    $data['imglist'][$k] = trim($vo);
   }
   $data['album'] = trim(implode(',', $data['imglist']));
  }
  unset($data['imglist']);

  $data['cid'] = 17;
  $data['status'] = 1;
  $data['sort'] = 0;
  $data['ctime'] = time();
  if(!isset($data['album'])){
   return jserror('至少上傳一張圖片 ');
  } 
  //驗證
 		$miniProgram = Factory::miniProgram($this->config);
 		$result = $miniProgram->content_security->checkText($data['content']);
 		$result2 = $miniProgram->content_security->checkText($data['title']);
 		if($result['errcode']!='0'){
 			return jserror('含有非法關(guān)鍵詞');
 		}
 		if($result2['errcode']!='0'){
 			return jserror('含有非法關(guān)鍵詞');
 		}

  //保存
  $res = Db::name('post')->insert($data);
  if($res){
   return jssuccess('發(fā)布成功');
  }else{
   return jserror('發(fā)布失敗');
  }
 }
 
public function upload_pic(){
  $file = request()->file('file');
  $info = $file->validate(['ext'=>config()['web']['file_ext']])->move('./public/upload/admin/file');
  $getSaveName = str_replace('\\', '/', $info->getSaveName());//win下反斜杠替換成斜杠
  $msg = 'http://'.$_SERVER['SERVER_NAME'].'/public/upload/admin/file/'.$getSaveName;
   if(is_file('./public/upload/admin/file/'.$getSaveName)){
   //驗證圖片
   $miniProgram = Factory::miniProgram($this->config);
   $result = $miniProgram->content_security->checkImage('./public/upload/admin/file/'.$getSaveName);
   if($result['errcode']!='0'){
    return '非法圖片';
   }else{
    return $msg;
   }
   ################
  }else{
   return '0';
  }
  
 }

到此這篇關(guān)于小程序上傳帖子(含有文字圖片的微信驗證)的文章就介紹到這了,更多相關(guān)小程序上傳帖子內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript實現(xiàn)分頁效果

    JavaScript實現(xiàn)分頁效果

    本文主要介紹了JavaScript實現(xiàn)分頁效果的示例代碼。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 微信小程序?qū)崿F(xiàn)點擊出現(xiàn)彈窗

    微信小程序?qū)崿F(xiàn)點擊出現(xiàn)彈窗

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)點擊出現(xiàn)彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • jsPDF導(dǎo)出PDF寬大于高異常處理

    jsPDF導(dǎo)出PDF寬大于高異常處理

    這篇文章主要為大家介紹了jsPDF導(dǎo)出PDF寬大于高異常處理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • uniapp使用Vant-weapp的最新方法教程

    uniapp使用Vant-weapp的最新方法教程

    Vant?Weapp是有贊前端團(tuán)隊開源的一套小程序UI組件庫,助力開發(fā)者快速搭建小程序應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于uniapp使用Vant-weapp的最新方法教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • JavaScript之RegExp_動力節(jié)點Java學(xué)院整理

    JavaScript之RegExp_動力節(jié)點Java學(xué)院整理

    正則表達(dá)式是一種用來匹配字符串的強(qiáng)有力的武器。它的設(shè)計思想是用一種描述性的語言來給字符串定義一個規(guī)則,凡是符合規(guī)則的字符串,我們就認(rèn)為它“匹配”了,否則,該字符串就是不合法的
    2017-06-06
  • JS正則表達(dá)式之非捕獲分組用法實例分析

    JS正則表達(dá)式之非捕獲分組用法實例分析

    這篇文章主要介紹了JS正則表達(dá)式之非捕獲分組用法,結(jié)合實例形式詳細(xì)分析了正則表達(dá)式中非捕獲分組的概念、功能、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-12-12
  • js最實用string(字符串)類型的使用及截取與拼接詳解

    js最實用string(字符串)類型的使用及截取與拼接詳解

    這篇文章主要介紹了js string使用截取與拼接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • js實現(xiàn)獲取最新本周周一開始的日期(單周日歷卡)

    js實現(xiàn)獲取最新本周周一開始的日期(單周日歷卡)

    這篇文章主要為大家介紹了js實現(xiàn)獲取最新本周周一開始的日期(單周日歷卡)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 將HTML格式的String轉(zhuǎn)化為HTMLElement的實現(xiàn)方法

    將HTML格式的String轉(zhuǎn)化為HTMLElement的實現(xiàn)方法

    本節(jié)主要介紹了將HTML格式的String轉(zhuǎn)化為HTMLElement的實現(xiàn)方法,需要的朋友可以參考下
    2014-08-08
  • 解決微信二次分享不顯示摘要和圖片的問題

    解決微信二次分享不顯示摘要和圖片的問題

    下面小編就為大家?guī)硪黄鉀Q微信二次分享不顯示摘要和圖片的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論