作者 anyv
1 个管道 的构建 通过 耗费 0 秒

4

... ... @@ -210,6 +210,70 @@ class SalesmangoodsController extends WeChatBaseController{
}
/**
* 上传图片
*/
public function savePicture(){
$type = "image";
$access_token=$this->getAccessToken();
$filepath = $_POST['mediaId'];//文件的绝对路径
$filedata = array (
"media" =>$filepath
);
$url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$access_token."&type=".$type;
$result = https_request($url,$filedata);
return $result;
}
function https_request($url,$data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
public function getAccessToken() {
// access_token 应该全局存储与更新
// 获取数据库中的access_token
$token = Db::name('token') -> where('id',1) -> find();
// accessToken过期或不存在时
if($token['time'] + $token['expiresIn'] < time() || $token['accessToken'] == NULL){
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="."wxdf34ec2179e19b9a"."&secret="."133ced06db2a45843ab52abc691ee82d";
// 微信返回的信息
$returnData = json_decode($this->httpGet($url));
// 组装数据
$resData['accessToken'] = $returnData->access_token;
$resData['expiresIn'] = $returnData->expires_in;
$resData['time'] = time();
// 把数据存进数据库
Db::name('token') -> where('id',1) -> update($resData);
$res = $resData;
}else{
$res = $token;
}
return $res;
}
private function httpGet($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt($curl, CURLOPT_TIMEOUT, 500 );
curl_setopt($curl, CURLOPT_URL, $url );
$res = curl_exec($curl);
curl_close($curl);
return $res;
}
... ...
... ... @@ -301,26 +301,25 @@
sourceType: ['album', 'camera'], // 指定来源是相册还是相机,默认都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
// var img_size = $(this).get(0).files[0].size;
$('#img20').attr("src",localIds);
$(".log_six_pictyre_img").addClass("log_six_pictyre_imgs");
$(".log_six_pictyre_title").addClass("log_six_pictyre_titles");
/* wx.uploadImage({
wx.uploadImage({
localId: localIds.toString(), // 需要上传的图片的ID,由chooseImage接口获得
isShowProgressTips: 1, // 进度提示
success: function (res) {
var mediaId = res.serverId; // 返回图片的服务器端ID,即mediaId
//将获取到的 mediaId 传入后台 方法savePicture
/!*$.post(path+"/getImage/savePicture",{"mediaId":mediaId,"tmp":"填写证件的正反面参数"},function(res){
$.post("{:url('Salesmangoods/savePicture')}",{"mediaId":mediaId,"tmp":"填写证件的正反面参数"},function(res){
//填写你自己的业务逻辑
});*!/
alert(res);
});
alert(res);
},
fail: function (res) {
alertModal('图片上传失败,请重试');
}
});*/
});
}
});
... ...