分类归档

网站开发

FWQ
小程序
微信公众号/小程序怎么跳转外链?方法介绍
公众号/小程序怎么跳转外链?下面本篇文章给大家介绍一下微信公众号/小程序跳转外链的方法,希望对大家有所帮助! 这个问题我们从公众号可以跳转哪些连接说起,从公众号跳转有如下几种分类 公众号 本公众号文章跳转本公众号其他文章,不必多说,微信公众号后台编辑图文时已经支持; 小程序 同上,也是直接支持的; 「服务号」第三方链接方案(外部链接) 支持外链的条件 在公众号编辑页面就会看到操作项: 「订阅号」第三方链接方案(外部链接) 以GrowingIO官网,知乎,微博,抖音为例进行测试 方案一:二维码跳转外链 方法:在公众号文章中插入一张准备好的二维码,用户查看文章并长按识别二维码; 效果:GrowingIO官网,知乎,微博,可以直接打开链接地址;抖音,需要将地址复制到浏览器打开; 方案二:“阅读原文” 跳转外链 这个方案只是另外一种形式,和方案一的跳转效果相同; 方案三:“网页”小程序web-view(社区方案) 在公众号中插入“网页”小程序,小程序使用web-view展示,具体如下: 第一步:搜索小程序 第二步:编辑路径 测试结果: 知乎,官网能打开,但是比较慢,且部分图片空白,且有的点击交互无反应; 抖音,微博无法打开,显示白屏; 不支持在 Docs 外粘贴 block…
2024-11-25 阅读全文 →
FWQ
CMS教程
dedeCMS怎么使用arclist标签调用自定义字段
怎么使用arclist标签调用自定义字段? 本文实例讲述了dedeCMS使用arclist标签调用自定义字段的方法。分享给大家供大家参考。具体分析如下: 推荐学习: 其实方法非常的简单我们只要使用addfields就可以实现增加自定自段了,不过有一点需要注意的是如果你在在后面加的我们需要把底层给选中,否则是可能调用不到字段的. 语法代码如下: 代码如下: {dede:arclist addfields='附加字段1,附加字段2,附加字段3' row='8' channelid='自定义模型id号'}  [field:textlink /] [field:附加字段1/] [field:附加字段2/]<p>实例代码如下:</p><p>代码如下:</p><pre class="brush:php;toolbar:false">{dede:arclist flag='c' typeid='23' channelid='1' addfields='tpic2' limit='0,8'}  <div>  <a>  @@##@@  </a>  </div>  {/dede:arclist} 登录后复制 要求: 1、指定 channelid 属性 2、指定要获得的字段 addfields=’字段1,字段’ 3、必须选择  使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择),这个可以用来做普通的文字类型,如果要是图片的类型的话会出现.代码如下: 代码如下: {dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}  这明显不是我们想要的,这个时候我们弄一个自定函数,代码如下: <p>function GetOneImgUrl($img,$ftype=1){  if($img  ''){ //var articleUrl = https://www.jb51.net …
2024-11-25 阅读全文 →
FWQ
小程序
微信公众平台开发微信支付报关接口
本文介绍微信支付下的报关接口的开发过程。微信报关是用于商户提交海关需要的订单信息。  一、报关接口API 接口地址 https://api.mch.weixin.qq.com/cgi-bin/mch/customs/customdeclareorder 登录后复制 是否需要证书 不需要。 请求方式:post 数据格式:xml 签名方式:MD5 注意:商户订单号金额以支付系统记录的为准,无需上传,如有子订单号则必须上传子订单应付金额、物流费、商品价格(应付金额=物流费+商品价格)。 字段名 变量名 必填 类型 示例值 说明 签名 sign 是 String(32) C380BEC2BFD727A4B6845133519F3AD6 签名,详见签名生成算法 公众账号ID appid 是 String(32) wxd678efh567hg6787…
2024-11-25 阅读全文 →
FWQ
CMS教程
phpcms实现移动端和电脑端不同模板
实现移动端和电脑端不同模板 1、首先打开phpcms/libs/functions/global.func.php,在文件最后面加一个isMobile()方法,用来判断是否是手机端打开  function isMobile() {   // 如果有HTTP_X_WAP_PROFILE则一定是移动设备   if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {     return true;   }   // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息   if (isset($_SERVER['HTTP_VIA'])) {     // 找不到为flase,否则为true     return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;   }   // 脑残法,判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信   if (isset($_SERVER['HTTP_USER_AGENT'])) {     $clientkeywords = array('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile','MicroMessenger');     // 从HTTP_USER_AGENT中查找手机浏览器的关键字     if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {       return true;     }   }   // 协议法,因为有可能不准确,放到最后判断   if (isset ($_SERVER['HTTP_ACCEPT'])) {     // 如果只支持wml并且不支持html那一定是移动设备     // 如果支持wml和html但是wml在html之前则是移动设备     if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) &amp;&amp; (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') <p>2、然后打开phpcms/modules/content/index.php,有三个地方要改的</p><p>a)找到首页的init方法,在最后加载模板的时候,做一个判断,如果是手机端打开就加载手机端模板,如果是电脑端打开就加载电脑端模板</p><p>大概在31行找到:</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/7fc7563c4182" style="text-decoration: underline…
2024-11-25 阅读全文 →
FWQ
CMS教程
使用 Node.js 和 Redis 探索 Bloom Filter 的魅力
在正确的用例中,布隆过滤器看起来就像魔法。这是一个大胆的说法,但在本教程中,我们将探讨这种奇怪的数据结构、如何最好地使用它,以及一些使用 Redis 和 Node.js 的实际示例。 布隆过滤器是一种概率性、单向数据结构。在这种情况下,“过滤器”一词可能会令人困惑;过滤器意味着它是一个活跃的事物,一个动词,但将它视为存储,一个名词可能更容易。使用简单的布隆过滤器,您可以做两件事: 添加一个项目。 检查之前是否未添加过某个项目。 这些是需要理解的重要限制 – 您无法删除项目,也无法在布隆过滤器中列出项目。此外,您无法确定过去是否已将某个项目添加到过滤器中。这就是布隆过滤器的概率性质发挥作用的地方——误报是可能的,但误报则不然。如果过滤器设置正确,误报的可能性会非常小。 存在布隆过滤器的变体,它们添加了其他功能,例如删除或缩放,但它们也增加了复杂性和限制。在继续了解变体之前,首先了解简单的布隆过滤器非常重要。本文仅介绍简单的布隆过滤器。 有了这些限制,您可以获得许多好处:固定大小、基于哈希的加密和快速查找。 当您设置布隆过滤器时,您需要为其指定一个大小。此大小是固定的,因此如果过滤器中有一项或十亿项,它永远不会增长超过指定的大小。当您向过滤器添加更多项目时,误报的可能性就会增加。如果您指定了较小的过滤器,则与使用较大的过滤器相比,误报率会增加得更快。 布隆过滤器建立在单向散列的概念之上。与正确存储密码非常相似,布隆过滤器使用哈希算法来确定传入其中的项目的唯一标识符。哈希本质上是无法逆转的,并且由看似随机的字符串表示。因此,如果有人获得了布隆过滤器的访问权限,它不会直接泄露任何内容。 最后,布隆过滤器速度很快。与其他方法相比,该操作涉及的比较次数要少得多,并且可以轻松存储在内存中,从而防止影响性能的数据库命中。 现在您已经了解了布隆过滤器的限制和优点,让我们来看看可以使用它们的一些情况。 设置 我们将使用 Redis 和 Node.js 来说明 Bloom 过滤器。 Redis 是 Bloom…
2024-11-25 阅读全文 →
FWQ
小程序
多个页面传参通信在微信小程序中的实现
刚接触微信小程序,对里面的语法和还不怎么了解,最近正在努力学习中,下面这篇文章主要给大家介绍了微信小程序中多个页面传参通信的相关资料,是最近学习的一个内容总结,需要的朋友可以参考借鉴,下面来一起看看吧。 前言 微信小程序越来越火,不少公司都在将原生代码转为微信小程序代码。在开发过程中,由于微信小程序wx.navigateBack方法并不支持返回传参,导致一些页面,尤其是从列表页面跳入详情页,用户在详情页改变了,返回后无论是否刷新页面,体验都不是很好。在中,我们一般采用setresult方法来返回参数,或者直接使用rxjava或者eventbus框架来解决此类问题。 业务分析 此类需求大概意思是:A页面进入B页面,B页面返回并给A。 探索之路 刚开始我想采用一个比较偷懒的方法,利用微信的wx.setStorage在B页面存储,返回A页面,在onshow方法里调用wx.getStorage读取缓存来实现此功能。但是想想解决方式过于投机取巧,也会给日后维护带来大量隐患。随后我在网上找到获取前一个page的方法,也可以实现此功能,部分代码如下: var pages = getCurrentPages(); var currPage = pages[pages.length - 1]; //当前页面 var prevPage = pages[pages.length - 2]; //上一个页面 //直接调用上一个页面的setData()方法,把数据存到上一个页面中去 prevPage.setData({  mdata:1  }) 登录后复制 仔细想了下,代码也不是很,因为进B页面的入口可能是多个,这样会导致获取的page出错。 本来是没招了,突然想到微信小程序支持js,然后就找了个轻量级的js库,而且是,是我想要的类型。于是,好戏开始了 onfire.js介绍 onfire.js 是一个很简单的分发的库(仅仅 0.9kb),简洁实用。 可以用于: 简单的事件分发; 在 / vue.js / angular…
2024-11-25 阅读全文 →
FWQ
CMS教程
WordPress中的rel=”noopener”是什么?
下面由/” target=”_blank”>wordpress教程栏目给大家介绍rel=”noopener”是什么?希望对需要的朋友有所帮助! 最近,一位读者问:WordPress中的rel=”noopener”是什么?如果您选择在新窗口中打开链接,则WordPress会将此属性添加到您的链接中。在本文中,我们将解释WordPress中的rel=”noopener”以及它如何影响您的网站。 什么是Word中的rel=”noopener”? rel=”noopener”是一个HTML属性,添加到所有选择在新浏览器选项卡中打开的WordPress链接。它还伴随着rel=”noreferrer”属性。此功能是在WordPress中引入的,用于解决可被恶意网站利用的安全漏洞。 有一些JavaScript功能允许新选项卡控制其引用窗口。如果您链接到受恶意代码影响的外部网站,则该网站可以使用window.opener JavaScript属性更改原始页面(您的网站)以窃取信息并传播恶意代码。 添加rel=”noopener”会阻止新标签利用此JavaScript功能。同样,rel=”noreferrer”属性可防止将引用者信息传递给新选项卡。 WordPress始终保持领先地位,以帮助提高网站安全性。当您添加链接并选择“在新标签页中打开”时,WordPress会将rel=”noopener”和rel=”noreferrer”添加到链接代码中。 WordPress生成的HTML代码如下所示: demo link 如何rel=”noopener”影响你的WordPress SEO? 即使rel=noopener”属性提高了WordPress的安全性,一些用户也希望避免使用它,因为他们认为这会影响他们的WordPress SEO。 那只是一个神话。 它对您的WordPress网站的SEO排名或整体WordPress表现没有影响。 noopener与nofollow之间有什么区别? 很容易将rel=”noopener”与rel=”nofollow”混合起来。它们是完全分开的。 noopener属性可以防止您的网站被跨站点黑客攻击并提高WordPress的安全性。 另一方面,nofollow属性可以防止您的网站将SEO链接排名传递给链接的网站。 在您的网站上关注链接时,搜索引擎会查找并考虑nofollow属性。但是,他们不会考虑noopener标签。 默认情况下,WordPress不允许您向外部链接添加nofollow。如果你想在WordPress中添加nofollow,那么你需要使用一个插件。有关详细信息,请参阅我们的文章,了解如何向WordPress中的链接添加标题和nofollow。 rel=noreferrer”会影响WordPress中的联盟链接吗? rel=noreferrer”不会影响WordPress中的联盟链接。一些用户认为这样做是因为rel =”noreferrer”阻止将引用者信息传递给新选项卡。 但是,大多数联盟计划会为您提供具有您的联属会员ID的唯一网址。这意味着您的会员ID将作为URL参数传递给其他要跟踪的网站。…
2024-11-25 阅读全文 →
FWQ
小程序
PHP实现微信网页授权开发的步骤
这篇文章主要为大家分享了php实现开发教程,开发者可以通过授权后获取用户的基本信息,感兴趣的小伙伴们可以参考一下 微信网页授权是服务号才有的高级功能,开发者可以通过授权后获取用户的基本信息;在此之前,想要获取消息信息只能在用户和公众号交互时根据openid获取用户信息;而微信网页授权可在不需要消息交互,也不需要关注的情况下获取用户的基本信息。 微信网页授权时通过OAuth2.0完成的,整个过程分为三步: 用户授权,获取code; 根据code获取access_token【可通过refresh_token刷新获取较长有效期】 立即学习“”; 通过access_token和openid获取用户信息 对微信网页授权过程做了简单封装:  <?php /** * 微信授权相关接口 */ class Wechat { //高级功能-》开发者模式-》获取 private $app_id = 'xxx'; private $app_secret = 'xxxxxxx'; /** * 获取微信授权链接…
2024-11-25 阅读全文 →
FWQ
小程序
详解android微信支付实例代码
这篇文章主要为大家详细介绍了源码,具有一定的实用性和参考价值,感兴趣的小伙伴们可以参考一下 本文为大家分享了android微信支付源码,供大家参考,具体内容如下 参数配置 public static final String APP_ID ; /** 在微信开放平台注册app,微信给分配的id **/ public static final String MCH_ID; /** 申请开通微信支付,成功后微信会给你发一封邮件,给你分配一个商户平台账号,在资料里有商户ID **/ public static final String API_KEY; /** 在微信发给你的那封邮件里,给你分配的微信商户平台账号,在里面设置一个api_key **/…
2024-11-25 阅读全文 →
FWQ
小程序
小程序开发之语音搜索(SUSE版)实例
直接调用微信小程序录音接口,然后上传到服务器,百度语音的接口是识别不了这种格式的文件,那么问题来了 一、如何转码?ffmpeg? 二、如何在PHP中使用? 本文将要解决这两个问题。 用到的第三方工具: 1、百度语音 2、silk文件格式转换 一、转码silk文件格式 传送门在此:github.com/kn007/silk-v3-decoder 需要注意的是: 1、首先要安装- ffmpeg,具体安装方法请自行百度,如果要转码成MP3格式,请记得启用libmp3lame 即 –enable-libmp3lame 2、如果在使用silk-v3-decoder 过程中提示转码失败,请自行添加ffmpeg到环境变量或者修改converter.sh,如下所示,建议后者,因为通过PHP执行shell脚本是不读环境变量的 二、如何在PHP中使用 有了上面的神器之后,妈妈再也不用担心语音识别问题了。 目前采用thinkPHP 5作为服务端系统,在小程序端把文件上传到后台,TP5已有文件上传功能的封装,具体上传代码不细说; 我们只需要读取上传的文件,通过shell命令进行转码,然后把转码后的文件发送给百度语音接口即可得到语音识别结果。 需要注意如下几点: 1、其中php执行转码的代码如下 $real_file即为转码后的音频文件的绝对地址,建议转换成WAV格式,amr格式转换不成功,原因未知。 2、调用百度语音接口格式设置 需要设置音频格式为WAV,码率为16000或者8000,如图所示: 三、总结 小程序语音接口和公众号的语音接口不一样,公众号语音接口返回的是amr格式,小程序的是silk格式,是Skype开源的一个网络音频格式,通过传送门中的工具即可转码,转码工具先是转成pcm格式文件,然后转成指定格式,其实pcm这种格式百度语音已经可以识别,有需要的童鞋可以修改converter.sh脚本。…
2024-11-25 阅读全文 →