方維分享系統,很強大全面,可改動很多東西,但由於很多東西都是他們公司自己開發的,後期再加新功能的話會很難,大嬸級別的可能能看懂,不確定他們公司允不允許用做二次開發的商業用途。你可以在本地安裝試試看,網上有系統說明文檔可以下載,照著說明文檔安裝就可以了。
❷ 微信分享到朋友圈,怎麼自定義分享的標題,圖片,內容
<script type="text/javascript">
var tit = $('#wx-title').val(); //標題
var img = $('#wx-img').val(); //圖片
var con = $('#wx-con').val(); //簡介
var link = $('#wx-link').val(); //鏈接
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
// 發送給好友
WeixinJSBridge.on('menu:share:appmessage', function (argv) {
WeixinJSBridge.invoke('sendAppMessage', {
"appid": "123",
"img_url": img,
"img_width": "160",
"img_height": "160",
"link": link,
"desc": con,
"title": tit
}, function (res) {
_report('send_msg', res.err_msg);
})
});
// 分享到朋友圈
WeixinJSBridge.on('menu:share:timeline', function (argv) {
WeixinJSBridge.invoke('shareTimeline', {
"img_url": img,
"img_width": "160",
"img_height": "160",
"link": link,
"desc": con,
"title": tit
}, function (res) {
_report('timeline', res.err_msg);
});
});
}, false)
</script>
把這一段復制到你的網頁里,就好了,不過只能在微信內置瀏覽器里生效。
❸ thinkphp項目如何自定義微信分享描述內容
自定義微信分享描述內容跟thinkphp無關的。你的公眾號要用分享許可權,不然是無法自定義 的。
❹ 求教微信分享朋友圈功能開發,php
申請應用AppKey申請方法:訪問友推網站後台,登錄後進入應用列表,添加需要集成友推組件的App,如下圖,添加成功後可獲取應用的AppKey。如何把app分享到微信2申請社交平台appkey集成前您需要為您的應用在各大社交網站的開放平台申請賬號並通過審核,否則只能調用系統的分享菜單,無法跟蹤分享的回調事件及統計平台如何把app分享到微信3引用youtui庫項目將youtui-lib項目庫和應用工程放在同一個目錄下在PackageExplorer中右鍵點擊工程的根目錄,選擇Properties(屬性),然後點擊,在android選項點擊Add添加youtui-lib如何把app分享到微信4注冊需要分享的平台1.配置各分享平台key,該配置文件為youtui_sdk.xml,配置完放入工程的assets文件夾。2.如果需要分享到哪個平台就將該平台的Enable屬性設置為true.3.如果需要將某個平台排列到前面,只需要改變它在youtui_sdk.xml文件中的位置即可。5各平台需要注意的事項:新浪微博:新浪微博需要驗證應用簽名,請一定要在新浪開放平台管理中心應用信息->基本信息->Android簽名包名信息配置該信息每次包名變化或者使用的.keystore變化都會導致應用簽名變化,請重新到新浪微博開放平台設置。運行Demo時如果重新編譯,因為使用的.keystore文件變化也會導致應用簽名變化,導致Demo新浪微博分享無法正常工作,請運行Demo時使用Demo工程包中提供的debug.keystore替換C:\Users\Administrator.android中的debug.keystore文件微信和朋友圈:微信和朋友圈也需要驗證應用簽名,請在微信開放平台管理中心修改應用->開發信息配置。QQ和QQ空間:QQ和QQ空間使用的是騰訊開放平台api,請在騰訊開放平台申請賬號和注冊應用,請不要使用QQ互聯(用於網站賬號登錄)的配置,雖然都是騰訊的,但是兩個平台並不通用,除了需要在youtui_sdk.xml配置信息,還需要在manifest文件中的android:scheme中的tencent後的一串數字換成自己應用的appid。最後一行配置說明:選用調用系統分享菜單功能在AndroidManifest.xml注冊許可權在AndroidManifest.xml注冊需要的Activity微信和朋友圈回調設置如果需要分享微信和朋友圈,必需建一個應用包名+.wxapi的包,在該包下建WXEntryActivity.java,將該類繼承cn.bidaround.youtui.wxapi.WXEntryActivity即可(裡面不用寫代碼).bidaround.youtui.wxapi.WXEntryActivity{}如圖:(將com.xingxinglangtuoche替換成你應用的package名,微信回調會使用到)如何把app分享到微信初始化友推開發者請在自己的程序開始,最好是在MainActivity的onCreate方法調用YtTemplate.init(this)初始化友推sdk,這樣友推sdk才能進行後續調用(否則分享等操作會出現空指針異常),例如:protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);YtTemplate.init(this);/初始化友推/initView();}應用退出時:在您項目的出口Activity的onDestroy方法的第一行插入下面的代碼YtTemplate.release(this);此方法用於釋放內存,統計用戶使用情況,一旦調用了release,就必須重新調用init才能使用友推的功能,否則會出現空指針異常;創建ShareData實例,調用該實例的set方法設置需要分享的數據:創建ShareData實例,調用該實例的set方法設置自己需要分享的數據,關於該實例具體內容見下文,如果只是分享應用則只需要設置setIsAppShare(true)就可以分享應用在友推後台填寫的信息和下載鏈接。ShareData包含的欄位:_url判斷是否為分享應用待分享的文字,簡訊要小於70個字元,微博要小於140個字元,如果需要分享鏈接,最好將鏈接url放在最後待分享的本地圖片地址,分享圖片的話需要在本地和網路圖片中選一,如果都有則優先分享本地圖片待分享網路圖片url,分享圖片的話需要在本地和網路圖片中選一,如果都有則優先分享本地圖片待分享內容的描述待分享內容的標題待分享內容的跳轉鏈接通過創建該類實例,調用實例的set方法設置這些參數,例如:ShareDatashareData=newShareData();shareData.isAppShare=false;//設置為true則分享的信息從友推後台填寫的應用信息中讀取,可動態更新,後面的值不用設置。shareData.setDescription("友推積分組件");shareData.setTitle("友推分享");shareData.setText("通過友推積分組件,開發者幾行代碼就可以為應用添加分享送積分功能,並提供詳盡的後台統計數據,除了本身具備的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,");shareData.setTarget_url("");shareData.setImageUrl("");shareData.setImagePath("");各個平台分享數據的限制和注意事項:因為各個平台的分享限制,請分享時盡量分享圖片+鏈接,依靠鏈接來了解信息1)微信朋友圈微信分享為linkcard形式,超出的文字部分不會顯示2)新浪微博很低版本的新浪微博不支持發多類型微博,進行圖文分享時只會分享圖片,新浪微博分享消息最長為140字3)QQ、QQ空間QQ分享的消息最長40字,分享的標題最長30字,多餘的部分將被忽略,description將被忽略QQ空間分享的消息最長200字,分享的標題最長600字,多餘的部分將被忽略,description將被忽略4)騰訊微博只有image(imagePath或imageUrl)和text被分享,其他欄位忽略,騰訊微博分享消息最長為140字5)人人網只有image(imagePath或imageUrl)和text被分享,其他欄位忽略6)簡訊只有text被分享,其他欄位忽略7)郵件只有text被分享,其他欄位忽略如何把app分享到微信調用友推分享推薦組件為應用添加一個分享推薦按鈕,如:如何把app分享到微信在分享按鈕事件中調用youtui的組件即可,示例代碼:publicvoidonClick(Viewv){if(v.getId()==R.id.popup_bt){/調用友推分享推薦組件,YouTuiViewType類的常量為分享樣式參數,目前支持白色列表和黑色網格兩種//創建分享的模板,第一個參數為activity,第二個參數為分享窗口樣式,第三個參數為是否需要積分/YtTemplateblackTemp=newYtTemplate(this,YouTuiViewType.BLACK_POPUP,false);//黑色網格樣式不需要積分活動/YtTemplateblackTemp=newYtTemplate(this,YouTuiViewType.WHITE_LIST,ture);///白色列表樣式需要積分活動ShareDatashareData=newShareData();shareData.isAppShare=false;//設置為true則分享的信息從友推後台填寫的應用信息中讀取,可動態更新後面的值不用設置。shareData.setDescription("友推積分組件");shareData.setTitle("友推分享");shareData.setText("通過友推積分組件,開發者幾行代碼就可以為應用添加分享送積分功能,並提供詳盡的後台統計數據,除了本身具備的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,快來試試吧");shareData.setTarget_url("");shareData.setImageUrl("");shareData.setImagePath("");blackTemp.setShareData(shareData);//設置默認的分享數據;shareData設置參看4.6//**如果要為某個平台設置不一樣的分享信息。則單獨設置*///blackTemp.addData(YtPlatform.PLATFORM_QQ,shareData);//調出分享窗口blackTemp.show();//如果需要自定義分享事件,可以創建監聽事件,然後在回調中處理YtShareListenerlistener1=newYtShareListener(){@OverridepublicvoidonSuccess(ErrorInfoarg0){}@OverridepublicvoidonPreShare(){}@OverridepublicvoidonError(ErrorInfoarg0){}@OverridepublicvoidonCancel(){}};//給新浪微博添加分享監聽blackTemp.addListener(YtPlatform.PLATFORM_SINAWEIBO,listener1);//給QQ添加分享監聽//blackTemp.addListener(YtPlatform.PLATFORM_QQ,listener2);}
❺ PHP 微信分享 自定義內容
方式1:用自己公眾號的sdk去實現分享;
方式2:用js藉助uc瀏覽器的方式分享:
方法一,直接進微信開發者中心有介面,河具體實現方式:方式二如下:
<html>
<body>
<script src="jquery.min.js"></script>
<h4>測試微信分享功能(僅在手機版UC瀏覽器下有效)</h4>
<input type="button" class="btnShareFriends" style='margin: 20px auto; width: 100%;height:50px;' value='分享給微信好友'> </input>
<br/>
<input type="button" class="btnWeixinShare" style='margin: 20px auto; width: 100%;height:50px;' value='分享到微信朋友圈'> </input>
<script type="TEXT/javascript">
$(function () {
if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))) {
if (window.location.href.indexOf("?mobile") < 0) {
//判斷是手機端訪問
if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
//判斷是UC瀏覽器
if (typeof (ucweb) != "undefined") {
$(".btnShareFriends").click(function () {
var Browser = new Object();
Browser.ios = /iphone/.test(Browser.userAgent); //判斷ios系統
var title = "測試分享到朋友圈";
var img = "";
var url = location.href;
if (Browser.ios) {
ucbrowser.web_share(title, img, url, 'kWeixin', '', '@39yst', '');
} else {
ucweb.startRequest("shell.page_share", [title, img, url, 'WechatFriends', '', '', '']);
}
});
$(".btnWeixinShare").click(function () {
var Browser = new Object();
Browser.ios = /iphone/.test(Browser.userAgent); //判斷ios系統
var title = "測試分享到朋友圈";
var img = "";
var url = location.href;
if (Browser.ios) {
ucbrowser.web_share(title, img, url, 'kWeixinFriend', '', '@39yst', '');
} else {
ucweb.startRequest("shell.page_share", [title, img, url, 'WechatTimeline', '', '', '']);
}
});
}
} else {
alert("請使用手機UC瀏覽器測試");
}
} else {
alert("請使用手機訪問測試");
}
}
});
</script>
</body>
</html>
這個需要注意uc只支持uc瀏覽器
❻ 如何控制微信分享網頁時,展示的標題,描述和圖片
你這個情況可以用微信分享卡片鏈接自定義工具來做。就是展示的標題,描述和圖片可以完全自定義,自己想展示啥就展示啥:
完全按照我們填寫的內容來展示的
我想你要的應該就是這種吧?!如果是麻煩採納哦。
哦,對了。這種自定義鏈接內容工具我以前用「wetool」的,但是因為他們下架不能用了。然後改用「微尚書」的,你也可以試試,還蠻不錯的。
❼ 網站在微信中分享,怎麼實現自定義的標題,描述和小圖標
分享必須是認證了的公眾號。
2.必須有大於300*300的圖片。才會顯示。
3.授權ip 需要填寫
4.js安全域名需要設置
5.公眾號管理中必須綁定成功,測試自定義菜單能正常發布
6.頁面內容較大,在瀏覽器沒有載入完全網頁內容後就點擊了分享。
可以從以上幾個方面處理,一般前4個弄好後就可以了
❽ php微信上傳永久圖片素材求代碼
您好,這樣的:
//素材
const MEDIA_FOREVER_UPLOAD_URL = '/material/add_material?';
const MEDIA_FOREVER_NEWS_UPLOAD_URL = '/material/add_news?';
const MEDIA_FOREVER_NEWS_UPDATE_URL = '/material/update_news?';
const MEDIA_FOREVER_GET_URL = '/material/get_material?';
const MEDIA_FOREVER_DEL_URL = '/material/del_material?';
const MEDIA_FOREVER_COUNT_URL = '/material/get_materialcount?';
const MEDIA_FOREVER_BATCHGET_URL = '/material/batchget_material?';
/**
* 上傳臨時素材,有效期為3天(認證後的訂閱號可用)
* 注意:上傳大文件時可能需要先調用 set_time_limit(0) 避免超時
* 注意:數組的鍵值任意,但文件名前必須加@,使用單引號以避免本地路徑斜杠被轉義
* 注意:臨時素材的media_id是可復用的!
* @param array $data {"media":'@Path\filename.jpg'}
* @param type 類型:圖片:image 語音:voice 視頻:video 縮略圖:thumb
* @return boolean|array
*/
public function uploadMedia($data, $type){
if (!$this->access_token && !$this->checkAuth()) return false;
//原先的上傳多媒體文件介面使用 self::UPLOAD_MEDIA_URL 前綴
$result = $this->http_post(self::API_URL_PREFIX.self::MEDIA_UPLOAD_URL.'access_token='.$this->access_token.'&type='.$type,$data,true);
if ($result)
{
$json = json_decode($result,true);
if (!$json || !empty($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return $json;
}
return false;
}
/**
* 獲取臨時素材(認證後的訂閱號可用)
* @param string $media_id 媒體文件id
* @param boolean $is_video 是否為視頻文件,默認為否
* @return raw data
*/
public function getMedia($media_id,$is_video=false){
if (!$this->access_token && !$this->checkAuth()) return false;
//原先的上傳多媒體文件介面使用 self::UPLOAD_MEDIA_URL 前綴
//如果要獲取的素材是視頻文件時,不能使用https協議,必須更換成http協議
$url_prefix = $is_video?str_replace('https','http',self::API_URL_PREFIX):self::API_URL_PREFIX;
$result = $this->http_get($url_prefix.self::MEDIA_GET_URL.'access_token='.$this->access_token.'&media_id='.$media_id);
if ($result)
{
if (is_string($result)) {
$json = json_decode($result,true);
if (isset($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
}
return $result;
}
return false;
}
/**
* 上傳永久素材(認證後的訂閱號可用)
* 新增的永久素材也可以在公眾平台官網素材管理模塊中看到
* 注意:上傳大文件時可能需要先調用 set_time_limit(0) 避免超時
* 注意:數組的鍵值任意,但文件名前必須加@,使用單引號以避免本地路徑斜杠被轉義
* @param array $data {"media":'@Path\filename.jpg'}
* @param type 類型:圖片:image 語音:voice 視頻:video 縮略圖:thumb
* @param boolean $is_video 是否為視頻文件,默認為否
* @param array $video_info 視頻信息數組,非視頻素材不需要提供 array('title'=>'視頻標題','introction'=>'描述')
* @return boolean|array
*/
public function uploadForeverMedia($data, $type,$is_video=false,$video_info=array()){
if (!$this->access_token && !$this->checkAuth()) return false;
//#TODO 暫不確定此介面是否需要讓視頻文件走http協議
//如果要獲取的素材是視頻文件時,不能使用https協議,必須更換成http協議
//$url_prefix = $is_video?str_replace('https','http',self::API_URL_PREFIX):self::API_URL_PREFIX;
//當上傳視頻文件時,附加視頻文件信息
if ($is_video) $data['description'] = self::json_encode($video_info);
$result = $this->http_post(self::API_URL_PREFIX.self::MEDIA_FOREVER_UPLOAD_URL.'access_token='.$this->access_token.'&type='.$type,$data,true);
if ($result)
{
$json = json_decode($result,true);
if (!$json || !empty($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return $json;
}
return false;
}
/**
* 上傳永久圖文素材(認證後的訂閱號可用)
* 新增的永久素材也可以在公眾平台官網素材管理模塊中看到
* @param array $data 消息結構{"articles":[{...}]}
* @return boolean|array
*/
public function uploadForeverArticles($data){
if (!$this->access_token && !$this->checkAuth()) return false;
$result = $this->http_post(self::API_URL_PREFIX.self::MEDIA_FOREVER_NEWS_UPLOAD_URL.'access_token='.$this->access_token,self::json_encode($data));
if ($result)
{
$json = json_decode($result,true);
if (!$json || !empty($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return $json;
}
return false;
}
/**
* 修改永久圖文素材(認證後的訂閱號可用)
* 永久素材也可以在公眾平台官網素材管理模塊中看到
* @param string $media_id 圖文素材id
* @param array $data 消息結構{"articles":[{...}]}
* @param int $index 更新的文章在圖文素材的位置,第一篇為0,僅多圖文使用
* @return boolean|array
*/
public function updateForeverArticles($media_id,$data,$index=0){
if (!$this->access_token && !$this->checkAuth()) return false;
if (!isset($data['media_id'])) $data['media_id'] = $media_id;
if (!isset($data['index'])) $data['index'] = $index;
$result = $this->http_post(self::API_URL_PREFIX.self::MEDIA_FOREVER_NEWS_UPDATE_URL.'access_token='.$this->access_token,self::json_encode($data));
if ($result)
{
$json = json_decode($result,true);
if (!$json || !empty($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return $json;
}
return false;
}
/**
* 獲取永久素材(認證後的訂閱號可用)
* 返回圖文消息數組或二進制數據,失敗返回false
* @param string $media_id 媒體文件id
* @param boolean $is_video 是否為視頻文件,默認為否
* @return boolean|array|raw data
*/
public function getForeverMedia($media_id,$is_video=false){
if (!$this->access_token && !$this->checkAuth()) return false;
$data = array('media_id' => $media_id);
//#TODO 暫不確定此介面是否需要讓視頻文件走http協議
//如果要獲取的素材是視頻文件時,不能使用https協議,必須更換成http協議
//$url_prefix = $is_video?str_replace('https','http',self::API_URL_PREFIX):self::API_URL_PREFIX;
$result = $this->http_post(self::API_URL_PREFIX.self::MEDIA_FOREVER_GET_URL.'access_token='.$this->access_token,self::json_encode($data));
if ($result)
{
if (is_string($result)) {
$json = json_decode($result,true);
if (isset($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return $json;
}
return $result;
}
return false;
}
/**
* 刪除永久素材(認證後的訂閱號可用)
* @param string $media_id 媒體文件id
* @return boolean
*/
public function delForeverMedia($media_id){
if (!$this->access_token && !$this->checkAuth()) return false;
$data = array('media_id' => $media_id);
$result = $this->http_post(self::API_URL_PREFIX.self::MEDIA_FOREVER_DEL_URL.'access_token='.$this->access_token,self::json_encode($data));
if ($result)
{
$json = json_decode($result,true);
if (!$json || !empty($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return true;
}
return false;
}
/**
* 獲取永久素材列表(認證後的訂閱號可用)
* @param string $type 素材的類型,圖片(image)、視頻(video)、語音 (voice)、圖文(news)
* @param int $offset 全部素材的偏移位置,0表示從第一個素材
* @param int $count 返回素材的數量,取值在1到20之間
* @return boolean|array
* 返回數組格式:
* array(
* 'total_count'=>0, //該類型的素材的總數
* 'item_count'=>0, //本次調用獲取的素材的數量
* 'item'=>array() //素材列表數組,內容定義請參考官方文檔
* )
*/
public function getForeverList($type,$offset,$count){
if (!$this->access_token && !$this->checkAuth()) return false;
$data = array(
'type' => $type,
'offset' => $offset,
'count' => $count,
);
$result = $this->http_post(self::API_URL_PREFIX.self::MEDIA_FOREVER_BATCHGET_URL.'access_token='.$this->access_token,self::json_encode($data));
if ($result)
{
$json = json_decode($result,true);
if (isset($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return $json;
}
return false;
}
/**
* 獲取永久素材總數(認證後的訂閱號可用)
* @return boolean|array
* 返回數組格式:
* array(
* 'voice_count'=>0, //語音總數量
* 'video_count'=>0, //視頻總數量
* 'image_count'=>0, //圖片總數量
* 'news_count'=>0 //圖文總數量
* )
*/
public function getForeverCount(){
if (!$this->access_token && !$this->checkAuth()) return false;
$result = $this->http_get(self::API_URL_PREFIX.self::MEDIA_FOREVER_COUNT_URL.'access_token='.$this->access_token);
if ($result)
{
$json = json_decode($result,true);
if (isset($json['errcode'])) {
$this->errCode = $json['errcode'];
$this->errMsg = $json['errmsg'];
return false;
}
return $json;
}
return false;
}
❾ 關於微信公眾平台訂閱號 自定義菜單 php 代碼的問題
demo中有這個簡單的案例,只需要執行一次就可以創建了,
參考這里:http://mp.weixin.qq.com/wiki/index.php?title=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E5%88%9B%E5%BB%BA%E6%8E%A5%E5%8F%A3
❿ 微信分享到朋友圈中的按鈕點擊在php代碼和輸出頁面代碼怎麼寫
下面是代碼(相關參數請自行修改):
function WeiXinShareBtn() {
if (typeof WeixinJSBridge == "undefined") {
alert("xxxxxxxxxxxxxxxxxxx,通過微信分享文章 ");
} else {
WeixinJSBridge.invoke('shareTimeline', {
"title": "xxx",
"link": "http://www.36kr.com",
"desc": "xxxxxxxx",
"img_url": "assets/images/apple-touch-icon.png"
});
}
}