×

微信自定义分享php代码下载

微信自定义分享php代码下载(微信分享源码)

admin admin 发表于2023-03-28 01:23:09 浏览54 评论0

抢沙发发表评论

本文目录一览:

微信分享到朋友圈中的按钮点击在php代码和输出页面代码怎么写

下面是代码(相关参数请自行修改):

function WeiXinShareBtn() {

if (typeof WeixinJSBridge == "undefined") {

alert("xxxxxxxxxxxxxxxxxxx,通过微信分享文章 ");

} else {

WeixinJSBridge.invoke('shareTimeline', {

"title": "xxx",

"link": "",

"desc": "xxxxxxxx",

"img_url": "assets/images/apple-touch-icon.png"

});

}

}

新版微信公众平台在哪里下载wx_sample.php

?php

echo ' web-root = '.$_SERVER['DOCUMENT_ROOT'].'br';

echo ' current-file = '.__FILE__.'br';

echo ' current-dir = '.dirname(__FILE__).'br';

echo ' http-root = '.$_SERVER['HTTP_HOST'].'br';

echo ' web-position = '.$_SERVER['PHP_SELF'].'br';

$file='c:/webroot/index.php';

echo ' file-position = '.$file.'br';

$fileWebAddress='http://'.str_replace($_SERVER['DOCUMENT_ROOT'],$_SERVER['HTTP_HOST'],$file);

echo ' file-web-position = '.$fileWebAddress.'br';

?

如何在DISCUZ论坛引入微信JSSDK与分享功能

首先在公众号管理后台“公众号设置”的“功能设置”里填写JS接口安全域名,域名需要通过ICP备案,没有备案域名可以用SAE、BAE等平台。自定义分享功能需要通过微信认证才能使用,没有认证的可以跟关系好的朋友借用权限,在他的JS接口安全域名设置这里填上你的域名和共享同一个开发者ID。没有认证微信号的,可参考文章末尾的办法。-微信自定义分享php代码下载

2、下载官方示例代码:jssdk-php.zip

下载后解压,然后在DZ根目录新建一个文件夹命名为jssdk 把解压得到的jssdk.php直接上传到刚建设好的文件夹中。

3、修改header.htm模板文件

在DZ模板文件header.htm中添加如下代码

求教微信分享朋友圈功能开发,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即可(里面不用写代码)publicclassWXEntryActivityextendscn.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包含的字段:isAppSharetextimagePathimageUrldescriptiontitletarget_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代码下载

怎么使用微信JSSDK的自定义分享功能

登录你的微信平台,点击“公众号设置”。

2

点击“功能设置”,然后点击“设置”。

3

设置JS接口安全域名。这里填写的是一级域名,不带www和http。最多可以设置三个域名。设置完后点击确定。(多说一句,相比以前的分享没有任何域名限制,这里设置安全域名,目的是为了当发现此公众平台发现诱导分享行为时,可以根据此域名追溯到所有分享出去的链接,以及通过这些链接增加的粉丝。这样,微信就可以牢牢控制了你的微信平台,一旦发现违规,让分享链接失效,删除掉诱导行为增加的粉丝,是瞬间就可以完成的。因此,微信平台的开发者,一定要合理来使用分享功能,不要因小失大。等到你的微信平台被封,估计哭都来不及)-微信自定义分享php代码下载

4

在开发者中心中获取你的AppID和AppSecret,接下来在获取令牌时,需要这两个信息。

5

获取令牌。在服务器端完成,代码如下:

function wx_get_token() {

$token = S('access_token');

if (!$token) {

$res = file_get_contents(';appid=' .'你的AppID'.'secret=' .'你的AppSecret');

$res = json_decode($res, true);

$token = $res['access_token'];

// 注意:这里需要将获取到的token缓存起来(或写到数据库中)

// 不能频繁的访问,每日有次数限制

// 通过此接口返回的token的有效期目前为2小时。令牌失效后,JS-SDK也就不能用了。

// 因此,这里将token值缓存1小时,比2小时小。缓存失效后,再从接口获取新的token,这样

// 就可以避免token失效。

// S()是ThinkPhp的缓存函数,如果使用的是不ThinkPhp框架,可以使用你的缓存函数,或使用数据库来保存。

S('access_token', $token, 3600);

}

return $token;

}

注意:返回的access_token长度至少要留够512字节。接口返回值:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

{"access_token":"vdlThyTfyB0N5eMoi3n_aMFMKPuwkE0MgyGf_0h0fpzL8p_hsdUX8VGxz5oSXuq5dM69lxP9wBwN9Yzg-0kVHY33BykRC0YXZZZ-WdxEic4","expires_in":7200}-微信自定义分享php代码下载

6

获取jsapi的ticket。jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。

function wx_get_jsapi_ticket(){

$ticket = "";

do{

$ticket = S('wx_ticket');

if (!empty($ticket)) {

break;

}

$token = S('access_token');

if (empty($token)){

wx_get_token();

}

$token = S('access_token');

if (empty($token)) {

logErr("get access token error.");

break;

}

$url2 = sprintf(";type=jsapi",

$token);

$res = file_get_contents($url2);

$res = json_decode($res, true);

$ticket = $res['ticket'];

// 注意:这里需要将获取到的ticket缓存起来(或写到数据库中)

// ticket和token一样,不能频繁的访问接口来获取,在每次获取后,我们把它保存起来。

S('wx_ticket', $ticket, 3600);

}while(0);

return $ticket;

}

接口返回值:

{"errcode":0,"errmsg":"ok","ticket":"sM4AOVdWfPE4DxkXGEs8VMKv7FMCPm-I98-klC6SO3Q3AwzxqljYWtzTCxIH9hDOXZCo9cgfHI6kwbe_YWtOQg","expires_in":7200}-微信自定义分享php代码下载

7

签名,将jsapi_ticket、noncestr、timestamp、分享的url按字母顺序连接起来,进行sha1签名。

noncestr是你设置的任意字符串。

timestamp为时间戳。

$timestamp = time();

$wxnonceStr = "任意字符串";

$wxticket = wx_get_jsapi_ticket();

$wxOri = sprintf("jsapi_ticket=%snoncestr=%s×tamp=%surl=%s",

$wxticket, $wxnonceStr, $timestamp,

'要分享的url(从http开始,如果有参数,包含参数)'

);

$wxSha1 = sha1($wxOri);

END

步骤2 添加JS代码

生成签名后,就可以使用js代码了。在你的html中,进行如下设置即可。

script type="text/javascript" src=""/script

script type="text/javascript"

// 微信配置

wx.config({

debug: false,

appId: "你的AppID",

timestamp: '上一步生成的时间戳',

nonceStr: '上一步中的字符串',

signature: '上一步生成的签名',

jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 功能列表,我们要使用JS-SDK的什么功能

});

// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在 页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready 函数中。-微信自定义分享php代码下载

wx.ready(function(){

// 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口

wx.onMenuShareTimeline({

title: '分享标题', // 分享标题

link:"分享的url,以http或https开头",

imgUrl: "分享图标的url,以http或https开头" // 分享图标

});

// 获取“分享给朋友”按钮点击状态及自定义分享内容接口

wx.onMenuShareAppMessage({

title: '分享标题', // 分享标题

desc: "分享描述", // 分享描述

link:"分享的url,以http或https开头",

imgUrl: "分享图标的url,以http或https开头", // 分享图标

type: 'link', // 分享类型,music、video或link,不填默认为link

});

});

/script