关于微信:抖音分享卡片跳转到微信制作方法抖音引流至微信

摘要橙子建站是抖音推出的一个疾速生成网页的工具,生成的网页能够用于流动推广、表单信息收集等,个别是用于在抖音外部广告推广应用。是以链接的模式存在。 橙子建站的链接是 https://www.chengzijianzhan.com/tetris/page/xxx 相似于这样的页面,这个域名是属于抖音APP外部白名单域名,所以能够在抖音失常跳转。 即能够利用橙子建站的特点去制作一个页面,这个页面疏导跳转到其它链接。 制作方法登录 巨量引擎:https://business.oceanengine.com/进入工作台->资产->素材治理->橙子落地页 新建橙子落地页,抉择一个账户 进入橙子建站的官网,应用空白模板 进入编辑器,开始制作你的网页 例如你能够拖一个按钮组件进去。 设置跳转链接,粘贴一个内部跳转到微信小程序的链接即可。 公布预览 分享抖音本人创立一个群,粘贴链接,点开,右上角分享进来,就是一张卡片了。卡片点进去就能够疏导跳转到微信。 作者TANKING

September 22, 2023 · 1 min · jiezi

关于微信:DEBUG记录weixinjavamp启动时出现找不到-xxxx的问题

背景把微信扫码登录的性能从一个我的项目迁徙到另一个我的项目中,框架SpringBoot,应用开源我的项目weixin-java-mp <!--微信公众号 SDK--><dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>4.4.0</version></dependency>在相干代码粘贴好之后,启动时呈现: Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'districtServiceImpl': Unsatisfied dependency expressed through field 'webUserService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webUserServiceImpl' defined in file [/Users/lyx/code/smart-community/api/target/classes/club/yunzhi/smartcommunity/service/WebUserServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'weChatMpService': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: me/chanjar/weixin/common/api/WxMessageInMemoryDuplicateCheckerSingleton为了便于观看,曾经进行手动换行,剖析报错信息得悉,呈现依赖注入问题,异样类型:java.lang.NoClassDefFoundError districtServiceImpl -> webUserService -> weChatMpService -> WxMessageInMemoryDuplicateCheckerSingleton失败 ...

February 16, 2023 · 1 min · jiezi

关于微信:一行代码实现微信消息推送

一行代码实现微信音讯推送 介绍通过调用一个简略的接口,将要推送的音讯提交后,您将在微信收到推送的音讯,简略快捷能够利用的场景设施高低线,量化交易,网站布告,服务器异样信息推送,网页更新揭示等各种可想到的推送无需任何注册,只须要关注公众号【一封传话】,即可及时收到推送的音讯。 应用办法请应用谷歌浏览器或者360、搜狗浏览器拜访https://www.phprm.com/push/h5/无需注册,间接微信扫码关注登入即可创立口令揭示,取得该通道的口令触发网址复制粘贴网址到浏览器上回车拜访即可触发让你的好友扫码该通道的订阅二维码订阅该揭示后,你和好友都能同时收到揭示 按上图所示,首先点击网页底部“新建”按钮,而后点击“口令揭示”,你会看到新建页面的蓝色按钮: 创立口令揭示 间接点“确定”按钮就创立好了,会主动跳转到预览页面,点击“复制网址”,先尝试到浏览器地址栏去粘贴、回车后,你的微信就会收到推送内容。 点击确定后将跳转到预览页面 如果你的好友也想收到同样的推送,你能够点“邀请好友”让他扫码关注即可。 复制网址,发送到电脑端浏览器上粘贴回车 如果备注内容太长,能够点“查看详情” 查看残缺内容(反对Markdown渲染)。 文本框阐明题目:对应head字段,长度200个字符串长度以内。注释,对应body字段,反对超长文本,50000个字符长度以内。 上面用一行代码实现推送: <?phpecho file_get_contents("https://www.phprm.com/services/push/trigger/4d2dac865118761a14d10d7d3afe7c35?head=".urlencode("这是题目")."&body=".urlencode("这是长内容"));?> Tips:手机端也反对在线测试,找到上图手机端截图里的“显示更多” 开掘更多彩蛋性能。 参考: http://push.phprm.com/ http://push.phprm.com/doc/#/p/send https://segmentfault.com/a/1190000043416820 https://www.phprm.com/push/h5/

February 13, 2023 · 1 min · jiezi

关于微信:一封传话推送工具API文档

一封传话推送工具API文档 前言【一封传话】是一款聚合推送工具,提供微信公众号、飞书、钉钉、企业微信群机器人、企微告诉利用、邮件、自定义Webhook音讯推送API。次要API只有一个,必传参数也只有一个,因而没有应用门槛,如果不想去查问是否推送胜利,只看音讯推送接口即可。 音讯推送接口申请地址:https://www.phprm.com/service...申请URL上的xxxxxxxxxxxxxxxx, 是您创立音讯通道的通道码申请形式:GET倡议对参数进行urlencode编码, POST形式申请头,Content-Type: application/json参数名称是否必填默认值阐明head是无音讯题目, 长度200以内body否无音讯内容, 长度50000以内, 反对markdown格局, 请参考markdown语法delayMilliseconds否0提早推送毫秒数, 最大不超过45天url否无不填将应用官网网址进行预览, 填写后将跳转到自定义网址, 例如: https://weibo.comGET申请形式样例: https://www.phprm.com/services/push/send/xxxxxxxxxxxxxxxx?head=默认题目&body=默认内容音讯推送接口响应内容样例: { "code": 0, "message": "申请胜利", "data": { "messageIdList": [ "1195026147680247809" ] }}参数阐明仅head参数必传,长度200个字符长度以内。 如果有提早推送的需要,能够试试delayMilliseconds,如果有按年月日周期推送的需要,能够查看挪动端官网。 如果您传递了url参数能够应用您集体博客或者公司网页进行预览音讯,也能够应用markdown语法在body参数中嵌入网址。 body参数反对Markdown语法和emoji表情,挪动端渲染成果很棒,例如布告类型音讯的markdown模板如下: # [点击查看布告](https://www.phprm.com/push/h5/)邀请好友关注推送公众号【一封传话】。![](https://www.phprm.com/push/h5/static/image/h5.png)[收费布告推送H5页面](https://www.phprm.com/push/h5/)[PC推送官网文档: http://push.phprm.com/doc/#/](http://push.phprm.com/doc/#/)代码参考<?phpecho file_get_contents("https://www.phprm.com/services/push/trigger/4d2dac865118761a14d10d7d3afe7c35?head=".urlencode("Markdown测试")."&body=".urlencode("# [点击查看布告](https://www.phprm.com/push/h5/)邀请好友关注推送公众号【一封传话】。![](https://www.phprm.com/push/h5/static/image/h5.png)[收费布告推送H5页面:https://www.phprm.com/push/h5/](https://www.phprm.com/push/h5/)[PC推送官网文档: http://push.phprm.com/doc/#/](http://push.phprm.com/doc/#/)"));?>实际上只有一行代码, 只是为了渲染出如下成果(手机端体验最佳)才应用Markdown字符串作为body的参数: Tips:传递url参数将主动跳转您集体/公司的网页,未传递url参数时【一封传话】将为您渲染Markdown图文预览页面。 在线调试与日志Tips:官网首页反对在线测试,无需编写任何代码即可推送到微信上。 音讯查问接口申请地址:https://www.phprm.com/service...申请URL上的xxxxxxxxxxxxxxxx, 是您创立音讯通道的通道码申请形式:?messageIds=1205957302260228096。如果有多个音讯ID请应用英文,分隔传参。参数名称是否必填默认值阐明messageIds是无最多反对5个音讯ID查问GET申请形式样例: https://www.phprm.com/services/push/sendMessageResult/xxxxxxxxxxxxxxxx?messageIds=1205957302260228096,1205957305749889024音讯查问接口响应内容样例: { "code": 0, "message": "申请胜利", "data": { "1205957302260228096": { "messageId": "1205957302260228096", "pushTypeDesc": "官网邮件", "pushCount": 1, "viewCount": "0", "triggerTimeList": ["2023-02-10 19:23:46"], "handleTimeList": ["2023-02-10 19:23:49"], "readTimeList": [null], "handleCodeList": ["0"], "handleMsgList": [null] }, "1205957305749889024": { "messageId": "1205957305749889024", "pushTypeDesc": "微信公众号", "pushCount": 1, "viewCount": "0", "triggerTimeList": ["2023-02-10 19:23:47"], "handleTimeList": ["2023-02-10 19:23:48"], "readTimeList": [null], "handleCodeList": ["0"], "handleMsgList": [null] } }}在线查问音讯推送状况Tips:官网首页点击发送按钮后会主动填充到查问参数框,如果是从日志页面复制的音讯ID也能够到这里查问。 ...

February 13, 2023 · 1 min · jiezi

关于微信:国民级应用微信是如何防止崩溃的

导读 | 微信作为月活过10亿的国民级利用,常常面临非凡节点音讯量暴增的问题,服务很容易呈现过载。但微信的服务始终比较稳定,是如何做到的呢?本文邀请到了腾讯WXG后开开发工程师alexccdong以微信 2018 年发表于Socc会议上的文章《Overload Control for Scaling Wechat Microservices》 为根底,介绍微信大规模微服务的过载爱护策略,其中很多办法很有借鉴意义。欢送持续浏览。 过载爱护基本概念1)什么是服务过载?服务过载就是服务的申请量超过服务所能接受的最大值,从而导致服务器负载过高,响应提早加大。用户侧体现就是无奈加载或者加载迟缓。这会引起用户进一步的重试,服务始终在解决过来的有效申请,导致无效申请跌 0,甚至导致整个零碎产生雪崩。 2)为什么会产生服务过载?互联网天生就会有突发流量。秒杀、抢购、突发大事件、节日甚至歹意攻打等,都会造成服务接受平时数倍的压力。微博经常出现某明星官宣结婚或者离婚导致服务器解体的场景,这就是服务过载。 3)过载爱护的益处晋升用户体验、保障服务质量。在产生突发流量时依然可能提供一部分服务能力,而不是整个零碎瘫痪,零碎瘫痪就意味着用户散失、口碑变差、夫妻吵架甚至威逼生命安全(例如提供医疗资源协调服务的app)。 微信中的过载场景微信采纳的是微服务。微服务采纳对立的 RPC 框架搭建一个个独立的服务,服务之间相互调用,实现各种各样的性能,这也是古代服务的根本架构。毕竟谁也不想看到本人朋友圈崩掉导致聊天性能也无奈失常应用。 微信的服务是分三层:接入服务、逻辑服务、根底服务。大多数服务属于逻辑服务,接入服务如登录、发消息、领取服务,每日申请量在 10 亿-100 亿之间,入口协定触发对逻辑服务和根底服务更多的申请,外围服务每秒要解决上亿次的申请。 在大规模微服务场景下,过载会变得比较复杂。如果是单体服务,一个事件只用一个申请。但微服务下,一个事件可能要申请很多的服务,任何一个服务过载失败,就会造成其余的申请都是有效的。如下图所示: 比方在一个转账服务下,须要查问别离两者的卡号,再查问 A 时胜利了,但查问B失败,对于查卡号这个事件就算失败了,比方查问成功率只有 50%,那对于查问两者卡号这个成功率只有 50% * 50% = 25% 了,一个事件调用的服务次数越多,那成功率就会越低。 如何判断过载通常判断过载能够应用吞吐量、提早、CPU 使用率、丢包率、待处理申请数、申请处理事件等等。微信应用在申请在队列中的均匀等待时间作为判断规范,就是从申请达到,到开始解决的工夫。 为啥不应用响应工夫?因为响应工夫是跟服务相干的,很多微服务是链式调用,响应工夫是不可控的,也是无奈标准化的,很难作为一个对立的判断根据。 那为什么不应用 CPU 负载作为判断规范呢?因为 CPU 负载高不代表服务过载,一个服务申请解决及时,CPU 处于高位反而是比拟良好的体现。实际上 CPU 负载高,监控服务是会告警进去,然而并不会间接进入过载解决流程。 腾讯微服务默认的超时工夫是 500ms,通过计算每秒或每 2000 个申请的均匀等待时间是否超过 20ms,判断是否过载,这个 20ms 是依据微信后盾 5 年摸索进去的门槛值。 采纳均匀等待时间还有一个益处是这个是独立于服务的,能够利用于任何场景,而不必关联于业务,能够间接在框架上进行革新。 当均匀等待时间大于 20ms 时,以肯定的降速因子过滤调局部申请。如果判断均匀等待时间小于 20ms,则以肯定的速率晋升通过率。个别采纳快降慢升的策略,避免大的服务稳定。整个策略相当于一个负反馈电路。 过载爱护策略一旦检测到服务过载,须要依照肯定的策略对申请进行过滤。后面剖析过,对于链式调用的微服务场景,随机抛弃申请会导致整体服务的成功率很低。所以申请是依照优先级进行管制的, 优先级低的申请会优先抛弃。 1)业务优先级 ...

January 11, 2023 · 1 min · jiezi

关于微信:抖音火爆的早安推送在线版无需搭建代码配置即可推送

抖音火爆的早安推送在线版,无需搭建代码,简略配置即可给可爱的他/她定时推送音讯了只需通过简略的配置,无需本人搭建代码环境,申请各种api,甚至放弃电脑程序开机等。配置实现后,即可实现每天定时配送。传送门 配置教程配置微信公众号参考文章注册微信小程序:集体微信公众号注册流程注册微信公众号。进入微信公众平台测试号找到测试号信息到早安推送首页,新增推送进入后抉择公众号推送,填写推送名称和每日推送工夫将微信公共号上的appID和appsecret填入表单,保留即可 配置音讯模板依据本人的需要,抉择须要的模板控件配置模板,填写模板须要配置的内容,比方:天气模板须要填写所在城市。配置对应文字的色彩,色彩匹配模式有两种,一种是关键字(如天气控件,只是设置城市的色彩),一种是全副文本(如天气控件,设置了整句话的色彩)。微信公众号推送的状况,如果有设置表情,色彩匹配将会出问题,如果须要设置表情,那举荐设置文字为默认的彩色即可,如果须要设置自定义色彩,那么倡议去掉后面的表情符号,这样色彩匹配能力失常设置背景色彩(留神:背景色彩只有邮件推送无效,公众号无奈设置。)模板配置好后,点击复制微信模板内容按钮,失去微信模板内容,而后去微信公众号新增测试模板在微信公众平台新增测试模板,模板题目自定义,模板内容粘贴刚刚点击复制微信模板内容的内容即可。失去模板id填入模板id文本框内即可 配置推送用户在微信公众平台取得二维码,截图给那个他(她)扫码关注。对方扫码关注后,在二维码左边用户列表能够找到他(她)的微信号,复制微信号,即可失去推送的用户微信号通过下面的配置后,根本就能够了接下来能够进入推送配置信息列表,点击音讯推送进入音讯推送的配置能够持续编辑,或者测试推送,查看推送记录 音讯推送配置外面,能够看到音讯推送列表,这里配置的就是每天推送须要推送的记录 如果设置为禁用,就不会每天推送推送记录能够查看每天推送状况,以及是否推送胜利。测试推送能够间接及时推送信息 反对推送工夫自定义,反对邮件和公众号两种推送形式反对自定义推送工夫,想什么时候给敬爱的他\她推送就什么时候推送,反对邮件和公众号推送,邮件推送无需配置公众号相干信息,配置接管的用户邮箱即可。邮件配置可参考:邮箱配置进行配置 增加生日日期计算新增或者编辑用户的时候加上生日工夫即可 抖音火爆的早安推送在线版,常见问题解决推送后果查看形式进入推送配置界面找到对应的推送工作,进入推送记录推送后果页面,查看推送后果音讯没有收到,问题解决问题一:推送后果中存在 invalid appsecret 字样这个问题次要是用户配置的secret配置谬误导致,须要到测试号信息中失去appsecret并从新编辑公众号信息。填写正确的appsecret。 批改形式进入我的公众号界面点击编辑进入编辑页面后,填入新的正确的appsercet保留即可。 问题二:推送后果中存在 invalid template_id 字样呈现这个字段次要起因是填写音讯模板id不正确。须要到公众平台从新获取模板id,具体参考图片,复制图片外面的标红的模板id英文文字。 批改形式进入早安推送首页,找到模板信息页面点击进入找到须要批改的模板,点击编辑获取新的模板后,填入模板id字段,保留即可。 问题三:推送后果中存在 invalid openid 字样呈现这个字段次要起因是填写用户微信号不正确。须要到公众平台从新获取用户微信号字段,具体参考图片,复制图片外面的标红的微信号英文文字。 批改形式进入早安推送首页,点击用户信息进入找到须要编辑的用户,点击编辑获取新的用户微信号后,填入微信号字段,保留即可。 实现上述步骤后,能够从新推送问题征询邮箱:1319723770@qq.com公众号:coder大咖,回复:早安推送 即可理解最近动静

December 27, 2022 · 1 min · jiezi

关于微信:关于视频号主页实现一键添加个人微信功能的思路

很多小伙伴私信说想要在视频号外面搁置增加集体微信的按钮,然而很遗憾的通知大家,想要实现这个性能是有条件的,就是须要视频号是企业认证的,个体户或企业都能够。集体视频号不能够,就算是已认证的集体号也不能够,反正一句话就是蓝v的视频号就对了。 解释一下为什么只有蓝v的视频号才能够实现这个性能,因为在视频号助手后盾,只有蓝v视频号才有配置服务菜单的选项。如果登录后盾没有的话也不奇怪,阐明你这个视频号不是蓝v认证的。而后聊一下实现思路,如果你急须要私域转化,本人又有开发能力,能够按这个思路来实现,那就很香了。 思路很简略,就是借助小程序来做跳板,在你开发好的小程序外面单拎一个页面进去,搁置集体微信号二维码。当初反对在小程序外面长按辨认一般二维码,不再须要像以前那样还要借助webview组件来跳转业务域名的形式来实现,省事的可不是一点点。 切记,这个小程序须要和视频号同主体,而后到视频号助手后盾去配置服务菜单,菜单类型抉择小程序、菜单名称随你的意填写,小程序AppID就写你已开发好的那个小程序的AppID,页面门路填写你搁置集体微信号二维码的那个页面门路,不要放错咯,保留即可。 之前有小伙伴须要这个性能,让我给他开发,早就安顿好了。所以如果你没有开发能力,也能够实现在本人视频号外面一键增加集体微信的性能。 山水有相逢,来日皆可期,谢谢浏览,咱们再会 我手中的金箍棒,上能通天,下能探海 上一篇:支付宝小程序模板开发,帮助商家一键创立小程序

December 20, 2022 · 1 min · jiezi

关于微信:视频号主页添加微信私域流量管理系统

对于视频号主页实现一键增加集体微信的性能,之前写过一篇相干的文章,能够查看【视频号主页,实现一键增加集体微信性能,留客更不便,真香】。比起增加企业微信,能够间接增加集体微信当然更不便,更适宜大部分人的需要。于是就花工夫马上动工,【视频号私域流量管理系统】横空出世。该零碎也可实现在视频号主页一键关注与视频号非关联的公众号。文末可查看实现成果。 实现视频号主页增加集体微信,转化私域流量,积淀用户,从而实现当前的更多转化。 增加信息,包含,商户图标、营业执照、企业代码类型、企业代码、企业名称、联系电话、法人微信、法人姓名、微信二维码、公众号二维码。 如果你曾经有小程序了,则能够间接应用已有的小程序。如果没有,能够一键注册小程序,通过这个性能注册的小程序是已认证的,也就是说能够免300元认证费哦。 应用已有的小程序或者通过零碎注册的小程序,应用商户受权性能,实现一键受权。 增加服务类目,须要把【生存服务 > 百货/超市/便利店】增加为服务类目。 设置服务器域名,须要设置服务器域名。 设置业务域名,须要设置业务域名。 须要设置用户隐衷爱护指引。 上传代码,抉择模板库代码上传。 如果想事后体验成果,则须要在成员治理将体验者微信号绑定为体验者。 而后就能够获取体验二维码,能够抉择是增加微信或者关注公众号,用已绑定体验者的微信号扫码体验。 体验没有问题后,就能够提交代码审核。 提交代码审核后,能够查看审核状态,小程序管理员也能够收到审核后果告诉。 如果有问题还能够将正在审核中的版本撤回。 当审核通过后,就能够公布小程序为线上版本。 如果有问题还能够将已公布的版本回退。 当小程序公布上线后,能够获取线上小程序码,每个人都能够拜访。 重点来了,复制小程序appId、复制小程序页面门路。 而后到视频号治理后盾,设置-服务菜单,创立服务菜单。菜单类型抉择小程序,菜单名称和菜单图标看本人情绪填写,最好有针对性。 实现的成果如下,在视频号主页,点击刚刚设置的服务菜单,【客服微信】,就会跳转到含有集体微信号的小程序页面。 长按二维码,会拉起增加微信的操作自动识别微信号。至此,视频号主页,一键增加集体微信性能已实现。 视频号私域流量管理系统 山水有相逢,来日皆可期,谢谢浏览,咱们再会 我手中的金箍棒,上能通天,下能探海 上一篇:视频号主页,实现一键增加集体微信性能,留客更不便,真香

October 23, 2022 · 1 min · jiezi

关于微信:视频号主页实现一键添加个人微信功能留客更方便真香

视频号倒退到当初,性能十分的多,和微信生态的联合也是十分丰盛。 在视频号主页搁置增加微信的按钮,其实微信曾经反对了,只不过只反对企业微信,不反对集体微信,那怎么办,只能本人实现了。 实现这个性能之前,须要开发一个小程序,在小程序外面内嵌你的集体微信二维码,能够长按辨认进去的哦。 而后到视频号治理后盾,设置-服务菜单,创立服务菜单。菜单类型抉择小程序,菜单名称和菜单图标看本人情绪填写,最好有针对性。 最重要的是小程序AppId和页面门路,小程序AppId填写你开发好的那个内嵌集体微信二维码的小程序AppId,页面门路就是含有集体微信二维码的小程序门路,用来跳转。 实现的成果如下,在视频号主页,点击刚刚设置的服务菜单,【客服微信】,就会跳转到含有集体微信号的小程序页面。 长按二维码,会拉起增加微信的操作自动识别微信号。至此,视频号主页,一键增加集体微信性能已实现,很香吧。 视频号主页,实现一键增加集体微信性能,留客更不便,真香 山水有相逢,来日皆可期,谢谢浏览,咱们再会 我手中的金箍棒,上能通天,下能探海 上一篇:电商收付通,商户进件,上传身份证、营业执照自动识别相干信息

October 1, 2022 · 1 min · jiezi

关于微信:微信小程序开发总结

微信小程序开发总结1. 框架比照小程序原生 厂商:小程序官网 小程序原生uni-app 厂商:DCloud uni-appWePY 厂商:腾讯(最早开源的小程序框架) WePYmpvue 厂商:美团 mpvueTaro 厂商:京东 Taro 小程序开发框架比照(wepy/mpvue/uni-app/taro)小程序框架比照(Taro VS uni-app)强烈推荐:小程序罕用的6款框架总结小程序框架:WePY/mpvue/uni-app/Taro 2. 开发筹备公众号平台小程序开发工具下载地址微信公众平台接口测试帐号申请小程序公众号(曾经认证过的服务号),曾经备案过的域名(https),装置小程序开发工具 留神:肯定要是服务号3. 小程序代码构造.json 后缀的 JSON 配置文件.wxml 后缀的 WXML 模板文件.wxss 后缀的 WXSS 款式文件.js 后缀的 JS 脚本逻辑文件 app.json示例配置 { "pages": [ "pages/index/index", "pages/logs/index" ], "window": { "navigationBarTitleText": "Demo" }, "tabBar": { "list": [ { "pagePath": "pages/index/index", "text": "首页" }, { "pagePath": "pages/logs/logs", "text": "日志" } ] }, "networkTimeout": { "request": 10000, "downloadFile": 10000 }, "debug": true,}全局配置 ...

September 14, 2022 · 3 min · jiezi

关于微信:ShareSDK-iOS端微信如何获取authcode值

从4.2.0版本咱们减少了获取code的接口如果用户只是须要失去code值,而后本人到服务端获取到用户信息作解决,不想通过咱们接口获取用户信息的话,能够这样调用,先初始化 /** ShareSDK 平台注册办法 @param importHandler 用于设置各平台注册信息,也可在mob治理后盾进行注册 */+ (void)registPlatforms:(void(^)(SSDKRegister *platformsRegister))importHandler;/** 设置微信(微信好友,微信朋友圈、微信珍藏)利用信息 @param appId 利用标识 @param appSecret 利用密钥 @param universalLink 利用深度连贯 */- (void)setupWeChatWithAppId:(NSString *)appId appSecret:(NSString *)appSecret universalLink:(NSString *)universalLink;示例代码 #import <ShareSDK/ShareSDK.h>[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) { //微信初始化里的appsecret要为nil [platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:nil universalLink:@"https://70imc.share2dlink.com/"];}];而后调用这些办法 /** 在用户不心愿裸露微信appSecret状况下,能够设置此block,传入token持续申请用户信息 @param operation 申请authToken业务 */+ (void)setRequestAuthTokenOperation:(SSDKRequestTokenOperation)operation;示例代码 #import <ShareSDK/ShareSDK.h>#import <WechatConnector/WechatConnector.h>[WeChatConnector setRequestAuthTokenOperation:^(NSString *authCode, void (^getUserinfo)(NSString *uid, NSString *token)) { NSLog(@"%@",authCode);}];//先执行auth办法,咱们外部会判断,如果appsecret为nil,就会判断执行setRequestAuthTokenOperation /** 受权 @param platformType 平台类型 @param settings 受权设置,承受scopes属性设置,如新浪微博关注官网微博:@{@"scopes" : @[@"follow_app_official_microblog"]},相似“follow_app_official_microblog”这些字段是各个社交平台提供的。QQ平台如设置二维码受权,增加字段为QQAuthType:@{@"QQAuthType":@1}, 0为网页账号密码登录受权 @param stateChangedHandler 受权状态变更回调解决 @return 会话id */+ (SSDKSession *)authorize:(SSDKPlatformType)platformType settings:(NSDictionary *)settings onStateChanged:(SSDKAuthorizeStateChangedHandler)stateChangedHandler;示例代码 ...

September 6, 2022 · 1 min · jiezi

关于微信:基于-xbot-实现微信关键词自动回复

基于 xbot 实现微信关键词主动回复 我的项目链接https://github.com/xbot-org/d... 应用先配置好 xbot 的配置如下,并运行 CALLBACK_URL=http://127.0.0.1:5678SECRET=xxxPORT=5557clone 代码 git clone https://github.com/xbot-org/demo_keyword_reply.gitcd demo_keyword_reply运行此服务 php -S localhost:5678 效果图 代码代码很简略,这里贴一下 <?php$jsonString = file_get_contents("php://input");$msg = json_decode($jsonString, true);switch ($msg['type']) { case 'MT_RECV_TEXT_MSG': if ($msg['data']['msg'] == 'ping') { sendText($msg['data']['from_wxid'], 'pong'); } elseif ($msg['data']['msg'] == '123') { sendText($msg['data']['from_wxid'], '456'); }}echo '{}';function sendText($wxid, $content) { post(json_encode([ 'client_id' => 1, 'is_sync' => 1, 'data' => [ 'to_wxid' => $wxid, 'content' => $content, ], 'type' => 'MT_SEND_TEXTMSG', ]));}function post($data) { $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-Type: application/json', 'content' => $data ) ); $context = stream_context_create($opts); file_get_contents('http://127.0.0.1:5557', false, $context);}xbot 文档https://www.apifox.cn/apidoc/... ...

September 1, 2022 · 1 min · jiezi

关于微信:微信团队分享微信后台在海量并发请求下是如何做到不崩溃的

本文援用了文章“月活 12.8 亿的微信是如何避免解体的?”和论文“Overload Control for Scaling WeChat Microservices”的内容,有大量改变、优化和订正。 1、引言微信是一款国民级的即时通讯IM利用,月活用户早就超过10亿,而且常常过年过节会遇到聊天音讯量暴增的状况,服务是很容易呈现过载的,但事实是微信的后盾服务始终比较稳定,那么他们是怎么做到的呢? 本文以微信发表的论文《Overload Control for Scaling Wechat Microservices》 为根底(论文PDF原文下载见文末附件),分享了微信基于大规模微服务架构的后盾过载管控和爱护策略,以及微信依据IM业务特点的一些独特的架构设计做法,其中很多办法很有借鉴意义,值得一读。 (本文已同步公布于:http://www.52im.net/thread-39...) 2、微信所面临的并发压力截止论文《Overload Control for Scaling Wechat Microservices》发表前,微信后端有超过3000多个服务(包含即时聊天、社交关系、挪动领取和第三方受权等),占用20000多台机器(随着微信的宽泛遍及,这些数字仍在一直减少)。 面向前端申请的入口服务每天须要解决10亿到100亿级别的申请,而每个这样的申请还会触发更多外部的关联服务,从整体来看,微信后端须要每秒解决数亿个申请。 随着微信的一直倒退,这些服务子系统始终在疾速进行更新迭代。以2018 年的3月到5月为例,在短短的两个月工夫里,微信的各服务子系统均匀每天产生近千次的变更,运维压力可想而之。 另外:微信每天申请量的散布很不均匀,高峰期申请量能达到平时的3倍。而在非凡日子里(比方过年的时候),高峰期的流量能飙升到平时的10倍。有时敌人圈里有什么刷屏的流动,流量必定也会突增。由此可见,微信后端系统的并发压力相当之大。 而且:微信后端的这些服务所处的环境也是一直变动的,包含硬件故障、代码bug、零碎变更等,都会导致服务可接受的容量动态变化。 3、微信的后端服务架构微信后端采纳的也是微服务架构。说是微服务,其实我了解就是采纳对立的 RPC 框架搭建的一个个独立的服务,服务之间相互调用,实现各种各样的性能,这也是古代服务的根本架构。毕竟谁也不心愿看到我朋友圈崩了,导致跟我聊天也不行了,这也是微信的典型益处。 微信后端的微服务架构个别分为3层: 如上图所示,这3层服务别离是: 1)“入口跳板”服务(接管内部申请的前端服务);2)“共享跳板”服务(中间层协调服务);3)“根底服务”(不再向其余服务发出请求的服务,也就是充当申请的接收器)。 微信后端的大多数服务属于“共享跳板”服务,“入口跳板”服务比方登录、发送聊天音讯、领取服务等。“根底服务”也就是日常最好了解的这些信息数据接口类,比方账户数据、个人信息、好友/联系人信息等。 依照微信后端服务的申请量(每日在十亿到百亿之间),入口协定触发对“共享跳板”服务和“根底服务”更多的申请,外围服务每秒要解决上亿次的申请,也就是不言而喻的了。 4、什么是过载爱护1)什么是服务过载? 服务过载就是服务的申请量超过服务所能接受的最大值,从而导致服务器负载过高,响应提早加大。 用户侧体现就是无奈加载或者加载迟缓,这会引起用户进一步的重试,服务始终在解决过来的有效申请,导致无效申请跌 0,甚至导致整个零碎产生雪崩。 2)为什么会产生服务过载? 互联网天生就会有突发流量、秒杀、抢购、突发大事件、节日甚至歹意攻打等,都会造成服务接受平时数倍的压力,比方微博经常出现某明星官宣结婚或者离婚导致服务器解体的场景,这就是服务过载。 3)过载爱护的益处 过载爱护次要是为了晋升用户体验,保障服务质量,在产生突发流量时依然可能提供一部分服务能力,而不是整个零碎瘫痪。 零碎瘫痪就意味着用户散失、口碑变差、夫妻吵架,甚至威逼生命安全(如果腾讯文档解体,这个文档正好用于救灾)。 而微信团队在面对这种量级的高并发申请挑战,做法是精细化的服务过载管制。咱们持续往下学习。 5、微信面临的过载控制技术挑战过载管制对于大规模在线应用程序来说至关重要,这些应用程序须要在不可预测的负载激增的状况下实现 24×7 服务可用性。 传统的过载管制机制是为具备大量服务组件、绝对狭隘的“前门”和一般依赖关系的零碎而设计的。 而微信这种古代即时通讯im利用的全时在线服务个性,在架构和依赖性方面正变得越来越简单,远远超出了传统过载管制的设计指标。 这些技术痛点包含: 1)因为发送到微信后端的服务申请没有繁多的入口点,因而传统的全局入口点(网关)集中负载监控办法并不实用;2)特定申请的服务调用图可能依赖于特定于申请的数据和服务参数,即便对于雷同类型的申请也是如此(因而,当特定服务呈现过载时,很难确定应该限度哪些类型的申请以缓解这种状况);3)过多的申请停止节约了计算资源,并因为高提早而影响了用户体验;4)因为服务的调用链极其简单,而且在一直演变,导致无效的跨服务协调的保护老本和零碎开销过高。 因为一个服务可能会向它所依赖的服务收回多个申请,并且还可能向多个后端服务发出请求,因而咱们必须特地留神过载管制。咱们应用一个专门的术语,叫作“后续过载”,用于形容调用多个过载服务或屡次调用单个过载服务的状况。 “后续过载”给无效的过载管制带来了挑战。当服务过载时随机执行减载能够让零碎维持饱和的吞吐量,但后续过载可能会超预期大大降低零碎吞吐量 … 即:在大规模微服务场景下,过载会变得比较复杂,如果是单体服务,一个事件只用一个申请,但微服务下,一个事件可能要申请很多的服务,任何一个服务过载失败,就会造成其余的申请都是有效的。如下图所示。 比方:在一个转账服务下,须要查问别离两者的卡号, 再查问 A 时胜利了,但查问 B 失败,对于查卡号这个事件就算失败了。比方查问成功率只有 50%, 那对于查问两者卡号这个成功率只有 50% * 50% = 25% 了, 一个事件调用的服务次数越多,那成功率就会越低。 ...

June 9, 2022 · 2 min · jiezi

关于微信:多商户商城系统如何对接电商收付通

多商户商城零碎分账问题,置信始终困扰着大家,微信电商收付通的确是不二抉择, 那如何对接电商收付通, 把本人的一点小教训写进去,心愿能帮大家少走弯路。 什么是电商收付通?电商收付通是微信领取专为电商行业场景打造的领取、结算解决方案。电商平台的平台商户入驻微信领取成为二级商户。电商 收付通反对将多个二级商户的订单进行合单领取(如电商购物车中的多笔订单合并领取),合单领取款项别离进入到二级商户各自的账户(资金为解冻状态,可用于实现二级商户账期);电商平台在满足业务流程条件下(如确认收货等),可将二级商户的解冻状态的资金冻结,并收取平台佣金。 注:电商平台开明电商收付通前,需确保在本平台没有曾经入驻或处于入驻流程中的二级商户。 开明电商收付通前的筹备1.抉择接入模式 商户/服务商在接入前首先要判断本人公司注册区域实用的接入模式,微信领取目前提供两种接入形式:直连模式和服务商模式。 ● 直连模式: 信息、资金流:微信领取—>直连商户 直连模式,商户自行申请入驻微信领取,无需服务商帮助,(商户平台申请)成为直连商户。 ● 服务商模式: 服务商模式,商户申请成为微信领取服务商,服务商本身无奈作为一个直连商户间接发动交易,其发动交易必须传入相干特约商户商户号的参数信息。(服务商平台申请)成为服务商 请联合本身理论状况来抉择接入模式。 筹备资质 需筹备与电商平台主体统一的ICP许可证或EDI许可证。(该证在各省的通信管理局办理,工夫依据筹备材料和各地的流程1-3个月不等) 三、开明电商收付通第一步:请在微信公众号后盾开明电商收付通在 产品核心>单干工具箱 中开明电商收付通开明电商收付通须要上传上文提及的资质证书。第二步:请在平台后盾做相应参数配置此处电商零碎后盾以CRMEB多商户零碎为例: 地位:平台后盾>设置>领取配置>微信服务商领取配置 第三步:开启分账地位:平台后盾>财务>转账设置 第四步:子商户后盾操作地位:商户后盾>财务>申请分账商户>提交材料>审核实现子商户在该页面上传材料、查看审核状态、审核后果。 第五步:设置主动分账工夫地位:平台后盾>设置>商城设置此处设置售后时长,比方10天,指用户确认收货后10天内能够退货;超过10天就主动分账了,不能退货;如果此处没有设置,默认用户在确认收货后15天主动分账,15天主动分账后,就不能退货了。备注: 以上步骤全副实现后,用户通过微信所领取的金额,会依据设置工夫主动分账到子商户号。主动分账、线下转账,每笔结算记录都在财务账单中可查看;主动分账的金额会间接到商户账户,不会显示在平台后盾的商户余额。用户可依据本身业务及资质状况自由选择开启主动分账或不开启,如果不开启,则启用线下转账模式四、查看分账状态地位:平台后盾>财务>分账治理地位:商户后盾>财务>分账治理 五、商户提现主动分账的金额到分账商户的商户号中,需登录微信后盾提现到银行第一步:微信后盾地址:https://pay.weixin.qq.com/第二步:商户申请分账时设置的超级管理员扫码登陆第三步:确认账户信息,输出转账金额,提交转出 微信电商收付通 接口文档链接 :https://pay.weixin.qq.com/wik... 最初如果你感觉这篇文章对你有点用的话,麻烦请给咱们的开源我的项目点点star:http://github.crmeb.net/u/defu不胜感激 ! 收费获取源码地址:http://www.crmeb.com PHP学习手册:https://doc.crmeb.com 技术交换论坛:https://q.crmeb.com

April 27, 2022 · 1 min · jiezi

关于微信:微信小程序开发系列-四-微信小程序的页面跳转路由设计

笔者因为工作须要,已经加入过一个微信小程序同 SAP 系统集成的我的项目,因而从零开始学习了微信小程序的开发常识。这里通过系列文章把本人所学分享进去,心愿对相干学习者有所帮忙。 本教程后面三篇文章: 微信小程序开发系列 (一) :开发环境搭建和微信小程序的视图设计与开发微信小程序开发系列 (二) :微信小程序的单步调试和控制器实现步骤概述微信小程序开发系列 (三) :微信小程序如何响应用户点击事件和微信平台 API 的应用办法介绍通过本系列后面三篇文章的介绍,大家对微信小程序的视图和控制器,微信调试器的用法,以及如何生产微信平台提供的 Public API,曾经有了一个最根本的意识了。在这个根底上,本文让咱们进一步学习微信小程序的页面跳转路由设计。 微信小程序的页面跳转路由设计这个系列教程的前六篇文章咱们都在单个的视图上操作。当初让咱们创立第二个视图,而后实现从第一个视图到第二个视图的跳转。首先开发第二个视图: <view class="container log-list"><block wx:for="{{logs}}" wx:for-item="log"><text class="log-item">{{index + 1}}. {{log}}</text></block></view>做过 Angular 开发的敌人们对下面的视图设计肯定不会生疏。这个视图的数据源由模型 logs 提供,是一个列表后果,列表每个元素的数据源是模型 logs 里的一条记录,用 log 代表。 为了让 log 看起来显示更参差,在 log 内容之前,显示每条 log 的索引。因为 log 的索引从 0 开始,所以用 {{index + 1}} 在索引前加一,这样显示的索引更合乎普通人的浏览习惯。 这个视图的控制器: //logs.jsconst util = require('../../utils/util.js')Page({ data: { logs: [] }, onLoad: function () { this.setData({ logs: (wx.getStorageSync('logs') || []).map(log => { return util.formatTime(new Date(log)) }) }) }})控制器 logs.js 的实现: ...

April 25, 2022 · 2 min · jiezi

关于微信:微信小程序开发系列-三-微信小程序如何响应用户点击事件和微信平台-API-的使用方法介绍

笔者因为工作须要,已经加入过一个微信小程序同 SAP 系统集成的我的项目,因而从零开始学习了微信小程序的开发常识。这里通过系列文章把本人所学分享进去,心愿对相干学习者有所帮忙。 本教程后面两篇文章: 微信小程序开发系列 (一) :开发环境搭建和微信小程序的视图设计与开发微信小程序开发系列 (二) :微信小程序的单步调试和控制器实现步骤概述通过本教程后面两篇文章的介绍,大家对微信小程序的视图和控制器,以及微信调试器的用法曾经有了一个最根本的意识了。在这个根底上,让咱们进一步学习微信小程序控制器,把握在小程序控制器中响应用户输出的办法。 这个例子很简略,在微信小程序的视图 index.wxml 里,我定义了一个按钮,和一个文本元素。 <button bindtap="jerry_increase"> 点我加1 </button><text class="user-motto">{{counter}}</text>文本元素绑定到小程序数据模型的 counter 字段上,是一个计数器。按钮绑定了一个事件处理函数 jerry_increase. 每点击一次按钮,微信小程序 UI 上的计数器加一。 为此,首先须要在控制器 index.js 的 data 数据模型里削减一个 counter 字段。 而后实现 button 的 bindtap 绑定的函数 jerry_increase. 能够看到这个事件处理函数有一个输出参数 e: 当事件处理函数被调用时,这个输出参数 e 是微信框架主动传入到事件处理函数的。通过微信开发者工具的调试器能够看到这个参数 e 的明细:tap 事件产生的 X 和 Y 坐标,以及事件类型 tap. 咱们如果从以后控制器事件处理函数执行栈向外察看,发现它的前一层,即微信框架层的解决逻辑里,在调用事件处理函数前后别离取两个以后的工夫戳。如果工夫戳之差大于 1000 毫秒,会执行第 30365 行的 Reporter.slowReport. 由此咱们看出,微信心愿开发者实现的事件处理函数要尽可能高效,执行工夫不能超过 1 秒。在手机应用场景里,1 秒的等待时间对于最终用户来说不算短了。 另一个值得一提的知识点是,如果间接用 JavaScript 批改数据模型的值,则 UI 不会有任何变动。 上面是谬误的做法: jerry_increase: function(e){ this.data.counter = this.data.counter + 1;},上面是正确的做法: ...

April 25, 2022 · 2 min · jiezi

关于微信:微信小程序开发系列-二-微信小程序的单步调试和控制器实现步骤概述

笔者因为工作须要,已经加入过一个微信小程序同 SAP 系统集成的我的项目,因而从零开始学习了微信小程序的开发常识。这里通过系列文章把本人所学分享进去,心愿对相干学习者有所帮忙。 本系列的前一篇文章:微信小程序开发系列 (一) :开发环境搭建和微信小程序的视图设计与开发, 咱们介绍了微信小程序的开发环境搭建,并且从一个 Hello World 级别的例子,理解了微信小程序 MVC 架构中 View 即视图层的设计基础知识。 本文咱们首先来学习微信小程序如何单步调试。 微信小程序的单步调试步骤在上一篇微信小程序视图源代码的解说里,咱们通过逐行解说代码的形式,介绍了微信小程序视图的根本开发思路。然而学习控制器 index.js 的实现,仅仅采取动态的代码走查还不够,咱们须要将微信小程序启动起来,通过单步调试的形式逐行解说,通过控制器的调用上下文能对微信小程序的控制器实现有更深刻的理解。 为此咱们先要学会微信小程序的调试办法。 关上微信开发者工具,点击工具栏的 调试器按钮: 开发者工具左边的区域当初从上到下一分为二:下面蓝色区域还是代码编辑页面,上面红色区域就是微信小程序的调试工具。 做过前端开发的敌人们,能够一眼就看出这其实就是 Chrome 开发者工具。 在调试器里关上咱们的控制器 index.js, 单击行号 3 , 而后行号 3 主动被高亮,阐明第 3 行曾经胜利设置好了一个断点。 点击 编译 按钮,咱们的小程序主动启动,设置在控制器里的断点就主动触发了。这样咱们就能够通过单步调试的形式来学习微信小程序控制器的调用上下文了。 微信小程序的调试器在手机上依然能够关上。在手机上拜访微信小程序,点击屏幕右下角的 vConsole 按钮。 接着整个手机屏幕就被微信小程序的调试器充斥了。这个调试器和电脑上装置的微信开发者工具相比,仅仅能显示日志和执行一些简略的 JavaScript 操作,然而不能像电脑上那样,进行 JavaScript 代码的调试。 咱们留神到上图的 command... 输入框能够输出一些简略的 JavaScript 命令,比方console.log("Jerry") 而后能够在手机的调试器上看到输入的 Jerry: System 标签页能够看到一些微信小程序性能相干的参数和性能参数,比方: MicroMessenger 版本号:6.6.6Wechat lib: 库文件版本2.0.9navigation: 3ms 跳转工夫 3 毫秒domComplete(domLoaded): dom 加载总共破费 19 毫秒 ...

April 25, 2022 · 1 min · jiezi

关于微信:微信小程序开发系列一-开发环境搭建和微信小程序的视图设计与开发

笔者因为工作须要,已经加入过一个微信小程序同 SAP 系统集成的我的项目,因而从零开始学习了微信小程序的开发常识。这里通过系列文章把本人所学分享进去,心愿对相干学习者有所帮忙。 步骤1:微信小程序的申请和开发环境的搭建本步骤次要是微信小程序的注册和开发环境的搭建。 首先咱们要在微信官方网站申请一个属于本人的微信小程序: 点击按钮 返回注册。留神咱们须要应用一个没有注册过微信小程序或者微信公众号的邮箱。我用的是网易邮箱。注册之后,邮箱会收到一封激活邮件。 激活之后,就能够进入小程序主体信息注销页面了。这里须要应用身份证号码和手机验证码进行注销。 注销结束之后,就能够进入微信开发者工具了。我抉择的是小程序我的项目: 在开发治理->开发设计菜单里,找到咱们方才注册的微信小程序的 ID:抄下来,前面要用。 接下来,在上面这个链接去下载微信开发者工具: 大家能够把它当成是一个集成开发环境(IDE). 装置结束后启动微信开发者工具,会要求咱们指定一个本地我的项目目录和填写微信小程序的 AppID. 这个 ID 咱们前一步曾经抄下来了。间接填进去,勾上 建设一般疾速启动模板,而后微信开发者工具会主动帮咱们创立一个 Hello World 版本的微信小程序资源文件进去。 主动创立好的小程序如下图所示,界面显示就是一个简略的 Hello World 文本。 咱们点击 上传 按钮: 轻易保护一个版本号,比方 1.0.0, 而后点击 上传。 而后回到小程序管理后盾,能看到咱们下面通过微信开发者工具上传的 1.0.0 版本的小程序了。咱们点击 提交审核 左边的下拉菜单,抉择 选为体验版本: 会生成一个体验版的二维码,这时发送给你的敌人,就能够应用这个小程序了。 当您的敌人在手机上扫描该二维码,会看到如下界面:该小程序标注了体验版的提醒: 点击返回体验版, 就能看到微信开发者工具主动生成的 Hello World 小程序了。 本文下一步骤会介绍微信小程序的视图设计原理。 步骤2:微信小程序的视图设计本文以小程序的视图设计为主,就是下图所示 pages/index 目录里的 index.wxml 文件。 我的日常工作是用一个叫做 SAP UI5 的前端框架做前端开发,刚好 SAP UI5 框架也反对创立 xml 格局的视图(UI), 和微信小程序的 wxml十分类似。做过 JSP 开发的敌人们,能够把 wxml 类比成 JSP 文件。 ...

April 24, 2022 · 1 min · jiezi

关于微信:Mac微信多开以及防撤回方案

前言家喻户晓,微信无论在 Win 还是 Mac 都是默认不反对多开的。可是咱们这些将账号分为公司账号和私人账号的人(海王)。是远不能满足咱们的需要。所以只能通过非凡的伎俩来实现咱们的需要。 在手贱把微信降级之前,你能够间接应用 WeChatExtension-ForMac 装置一下该插件即可实现微信 + 防撤回。 可在昨天不小心把微信降级到了 3.4.0 后,在次装置发现关上就会弹出签名的谬误。(如果你还是能够用,那么祝贺你!上面不必持续看了)。为此我通过艰辛的寻找(百度 2分钟,google 1分钟)才找到了办法。 如何防撤回防撤回能够通过 WeChatIntercept 这个插件。咱们下载下来后,间接运行外面的 install.sh 脚本主动装置(如果提醒 password,那么你输出你的电脑明码即可)。提醒装置好后,咱们只须要重启微信即可实现防撤回。 如何多开目前我找到了的计划是当你曾经关上一个微信后通过命令行,输出以下命令 open -n /Applications/WeChat.app/Contents/MacOS/WeChat即可另起一个微信过程。 不重要的内容如果你有更好的计划,或者遇到了什么问题。能够在评论或者间接 wx 找我 微信:gdgzywWeChatExtension-ForMac的装置办法: sudo rm -r -f WeChatExtension-ForMac && git clone --depth=1 https://github.com/MustangYM/WeChatExtension-ForMac && cd WeChatExtension-ForMac/WeChatExtension/Rely && ./Install.sh && cd ~WeChatIntercept防撤回插件

April 18, 2022 · 1 min · jiezi

关于微信:PHP项目微信提现功能代码详解

第一步:应用composer装置EasyWeChathttps://www.easywechat.com/docs/3.x/installation第二步:在后面咱们曾经讲过,初始化 SDK 的时候办法就是创立一个 EasyWeChat\Foundation\Application 实例:use EasyWeChat\Foundation\Application;$options = [ // ...];$app = new Application($options);/*** 如果想要在Application实例化实现之后, 批改某一个options的值,* 比方服务商+子商户领取回调场景, 所有子商户订单领取信息都是通过同一个服务商的$option 配置进来的,* 当oauth在微信端验证实现之后, 能够通过动静设置merchant_id来辨别具体是哪个子商户*/$app['config']->set('oauth.callback','wechat/oauthcallback/'. $sub_merchant_id->id);那么配置的具体选项有哪些,上面是一个残缺的列表: <?phpreturn [ /** * 账号根本信息,请从微信公众平台/开放平台获取 */ 'app_id' => 'your-app-id', // AppID 'secret' => 'your-app-secret', // AppSecret 'token' => 'your-token', // Token 'aes_key' => '', // EncodingAESKey,平安模式与兼容模式下请肯定要填写!!! /** * OAuth 配置 * * scopes:公众平台(snsapi_userinfo / snsapi_base),开放平台:snsapi_login * callback:OAuth受权实现后的回调页地址 */ 'oauth' => [ 'scopes' => ['snsapi_userinfo'], 'callback' => '/examples/oauth_callback.php', ], /** * 微信领取 */ 'payment' => [ 'merchant_id' => 'your-mch-id', 'key' => 'key-for-signature', 'cert_path' => 'path/to/your/cert.pem', // XXX: 绝对路径!!!! 'key_path' => 'path/to/your/key', // XXX: 绝对路径!!!! ], * 更多请参考: http://docs.guzzlephp.org/en/latest/request-options.html */ 'guzzle' => [ 'timeout' => 3.0, // 超时工夫(秒) ],];第三步:应用EasyWeChat实现提现到零钱性能(企业付款到零钱)你在浏览本文之前确认你曾经仔细阅读了:https://pay.weixin.qq.com/wik...。与其余领取接口一样,企业领取接口也须要配置如下参数,须要特地留神的是,企业领取相干的全副接口 都须要应用 SSL 证书,因而 cert_path 以及 cert_key 必须正确配置。 ...

April 11, 2022 · 2 min · jiezi

关于微信:小程序发展前景好不好

 最近小木收到一些小伙伴的征询:小程序的发展前景怎么样?靠谱吗?置信这也是很多老手商家都担心过的问题。小程序自2017年1月上线以来,曾经走过了第五个年头,那么小程序倒退状况如何?将来的发展前景又如何?咱们明天来简略谈谈。 1、小程序倒退现状 咱们无妨先看一组数据:2021 年全网小程序数量已超 700 万,其中微信小程序开发者冲破 300 万,小程序 DAU 已超 4.5 亿;日均应用次数同比增长 32%,沉闷小程序则增长 41%,数据来源于权威第三方统计平台阿拉丁研究所。能够说小程序曾经在全面暴发生态能力,无论是在垂直电商畛域深耕,还是与公众号、视频号、企业微信的互联互通持续推动企业数字化转型和私域建设畛域,都能看到小程序所具备的微小商业后劲。当初小程序曾经成为企业品牌数字化转型标配,预计 2022 年小程序 DAU 将冲破 5 亿,再创近 3 万亿 GMV,微信电商 GMV 将来三年可破十万亿,这波市场红利不堪称不大。 2、小程序发展前景 (1)用户市场 大家都晓得小程序凭借微信,轻松坐拥超12亿微信用户群体,这应该是国内最大的用户池。从商家经营的角度来说,经营小程序不须要像App那样须要破费更多人力物力去搭建获取用户渠道,借助小程序触达和获取线上用户的门槛更低,用户门路和交易转化也更快。同时,目前小程序在网络购物和生存服务两大类中占比拟高,而衰弱、线下批发类、娱乐游戏等行业在市场上还远远没有达到需要饱和状态,市场空白让小程序的开发后劲变得更大。 (2)流量+社交营销 流量+社交的新营销模式,让商家更容易积淀本人的流量池,而不是为公域平台做奉献。当初中小型商家想要在传统电商平台取得流量的难度越来越大,无妨代入淘宝和小程序去思考,就会发现其中流量逻辑的区别。淘宝作为电商巨头平台领有海量流量,在这个公域平台上,同质化的商品目不暇接,而用户的浏览抉择习惯更偏向于位于前排展现的商家,大部分的商家只能取得小局部的流量,只能持续投入更多人力物力去吸引流量。即便取得了肯定的用户流量,也难以积淀难以留存,大多的流量属于公域平台。小程序则更具备私域平台的个性,简直不存在以上的难堪场面,一方面,商城小程序依靠微信社交的流量红利,获取流量并非难事。另一方面,进入商城小程序的用户都更具备品牌概念,也没有来自其余同行的竞争。小程序通过微信平台一直赋能,早已逐渐实现和微信生态的多方联动,让小程序在微信生态中随处可见、随处可进。 (3)开发成本低 与App相比,小程序开发周期短,开发成本低,同时能实现的性能早已不满足于只是实现外围性能,触达用户更广更深,这些对于中小商家来说更为重要。一个功能齐全的模板小程序最快数天就能上线应用,轻松帮忙商家买通线高低线让流量互聚互通,进步门店效率,实现数字化转型。 综上小程序的发展前景还是十分可观的,小程序自身的劣势切实太多了。当然小程序只是咱们线上门店的载体,商家如何做好日常经营、产品营销、保护用户也同样重要。

January 27, 2022 · 1 min · jiezi

关于微信:个人小程序和企业小程序有什么区别

小程序通过五年的市场测验,发展前景一片广大。也有很多敌人征询小木集体也能做小程序吗?当然是能够的,那么集体小程序和企业小程序都有什么区别?一起来理解吧。 集体小程序和企业小程序的区别 1、注册流程不同 在微信公众平台注册的小程序时,因为集体小程序注册主体是个人用户,所以它的注册流程比较简单,只需个人身份信息验证即可,绝对的也不能认证。 企业小程序注册流程就绝对简单多了,不仅须要提供管理者身份信息的同时,另外还须要企业各项资质、对公账号等一系列的证实资料,包含300/年的认证费用。 2、性质不同 因为集体小程序的主体是集体,平台无奈保障微信用户的领取平安,故限度其的领取性能,所以集体小程序是不反对购买交易的。个别用为集体名片或博客的资讯展现类利用,无奈做成在线商城, 企业小程序都是建设在商用根底之上的,能够进行交易交易流动、发展一些付费流动的,利用小程序实现营销闭环的循环。 3、性能不同 个人版小程序无奈残缺地应用小程序的接口和能力,比方不能开明左近的小程序性能、微信领取性能、不反对卡券包权限、无奈获取用户手机号等信息受权, 以上性能对企业微信小程来说均能实现,当然局部性能如受权用户信息须要企业小程序实现组织认证后能力凋谢,除此之外,更多的会员性能、营销性能都是能够配套的,这些性能齐全可能满足企业对全套营销模式的需要。 4、服务类目不同 个人版小程序的服务类目次要为有特定需要的针对性群体提供服务。 企业版的小程序服务类目标受众群体较为宽泛,次要是正对公众提供服务群体。 以上就是集体小程序和企业小程序两者之间的区别,总结来说,集体小程序更适宜信息类展现利用,企业小程序则没有什么倒退限度,更适宜线上线下发展营销。

January 26, 2022 · 1 min · jiezi

关于微信:小程序开店如何引流小木教你几招

 很多老手商家在上线小程序后会发现很多问题,比方不晓得如何为本人的小程序店铺引流,不晓得怎样才能带来更多曝光,取得更多用户?明天小木就针对小程序开店怎么引流这个问题,为大家总结了上面几个引流的经营策略。 1、把握住流量入口 作为小程序商家肯定要把握小程序的流量入口,据不齐全统计,微信平台曾经陆续更新凋谢了超80个小程序入口,这里就不一一列举了。当然咱们不可能把控住每个入口的前排展现地位,然而一些根本的优化逻辑都是一样的,比方优化好你的小程序关键词,无论用户从哪个被动搜寻入口都能发现你的小程序,咱们的小程序天然就会主动取得更多曝光量,这就是强调把握住流量入口的重要性。 2、善用营销扩客 大家都晓得小程序尽管开发难度低于APP,但成果却不亚于APP,次要是依附小程序可能配置的弱小性能。商家能够利用拼团、秒杀、砍价、分销、社区团购、直播等性能发展营销流动,刺激消费者高价生产的积极性,能够在短时间,为商家疾速积攒大量精准用户。除了引流给力之外,前期的用户保护也很重要,这就须要商家通过经营会员性能去进步用户粘性。 3、倒退微信社群营销 官网平台这几年一直买通小程序和微信生态的关联通道,曾经实现了小程序与公众号、视频号、微信社群等多方联动。这要求商家的经营思维不要被局限,比方能够通过关联公众号,去打造精髓内容营销,为小程序引流变现。也能够通过视频号用视频来展示商品的形式来进行营销。还能够把客户资源都拉进本人的社群里,定期更新新品和优惠活动,进步老用户复购。通过这些来构建本人的微信品牌生态,打造私域流量池。 4、线上引流 咱们能够大抵分为两大类,一类是在微信生态内,比方下面咱们提到的商家齐全能够通过公众号生产优质内容营销为小程序被动宣传和触达用户,达到双向引流的作用。第二类是其余第三方平台,比方自媒体、短视频平台等公域平台,只有哪里有流量,哪里都是宣传的战场,商家的推广思维要成矩阵扩散。 其实还有很多办法,比方有线下实体店的话,倡议线上线下联动推广等。总的来说倡议敌人们依据本身产品特点去剖析市场和用户定位,精准化营销。

January 25, 2022 · 1 min · jiezi

关于微信:重磅消息原生微信上架优麒麟软件商店

微信 作为一款国民级APP,曾经成为咱们日常生活中不可或缺的一部分。然而,目前 Linux 发行版下的微信代替计划,都与原生版本有肯定的差距,极大的影响了用户的日常工作效率,以及日常影音娱乐需要。 为了进一步丰盛欠缺优麒麟用户的生态需要,提供更顺畅的沟通交流环境,麒麟软件与腾讯公司联手推动了基于Linux平台的原生微信适配工作,微信官方版2.1.1正式上线,并在麒麟软件商店上架。 想要体验的用户,只需在麒麟商店搜寻“微信”,一键实现装置,扫码登录即可随时畅聊。 作为生存中必不可少的通信工具,在此次上架的新版本中,除了具备着原版本罕用的聊天、办公等性能。麒麟团队针对实用功能还进行了降级和欠缺,用户畅快畅聊更不便。 新增保留聊天记录 ,可接管动态图 日常工作中,上班族们从新关上原版本微信时,任选一个对话框,原有信息都已被删除。而新版本减少了“保留聊天记录”性能,用户登录就能马上查看原有信息,接管到好友发送的图片、视频、动态图以及文件等。 显示关注的公众号 与原版本相比,用户在新版本上只有点击公众号栏,就会呈现本人关注的公众号,同时能够任意查找相干资讯。 调节字体大小 此外,用户能够在新版中主动调节微信客户端字体,让文字看起来更清晰。只需点击【我】找到“设置”里的“通用”。 浏览状态标识 新版本中最值得关注的扭转,要数对话框页面可标识已读未读。已点开的音讯,可手动再标记为未读,对于常常用微信办公的职场人士来说十分实用。 麒麟团队对常用软件的适配始终没有进行。在软件商店精选上架了各类软件,涵盖了办公、社交、影音娱乐、开发工具、图像处理等类别,集成影音、工具箱、刻录等自研利用,以及搜狗输入法、金山 WPS 等办公软件,反对微博、QQ 等社交软件,以及腾讯会议、飞书等音视频软件,常见风行利用根本达到了全笼罩。 本次腾讯微信积极支持自主操作系统的生态建设,肯定水平上将会带动越来越多支流应用软件的适配,有利于中国操作系统的继续倒退。将来,麒麟团队将持续和宽广互联网企业增强单干,致力为中国操作系统生态圈增加更多更好的利用,让用户使的棘手,用的释怀。对于微信已知问题,麒麟软件和腾讯公司会继续跟进迭代优化。 欢送大家下载体验!

December 31, 2021 · 1 min · jiezi

关于微信:智能切换微信群活码二维码创建教程

工具原料 MyCms 活码工具 实现成果 冲破群二维码入群人数限度,每200人主动换群,群二维码随时更新、智能切换,所有人通过一个群活码疾速进群。 实现步骤 一、增加微信群素材 二、增加分流规定 首先填写规定名称,而后在资源区抉择方才增加的素材,重点是扫描下限字段,填入200,意思就是该素材被扫描200次后将会进行显示。 三、创立活码 填写活码名称,抉择方才创立的分流规定“微信群活码”,保留即可创立胜利

December 25, 2021 · 1 min · jiezi

关于微信:2022年企业如何通过小程序获取微信流量

微信作为中国最大的社交平台,月活用户已达到惊人的12.25亿,每天有10.9亿人关上微信,有7.8亿人关上朋友圈,其应用之广、影响之深曾经超过任何APP。网络化日益加剧的明天,线上流量是每家企业抢夺的重点,微信作为一款富流量体,咱们企业如何抢占头部流量博得先机,占据头部坑位。 微信小程序作为微信生态中的一环,在获取微信流量方面领有得天独厚的劣势,咱们不仅能通过微信小程序获取流量,还能通过微信公众号、朋友圈、视频号来深度开掘微信生态流量。 企业如何通过微信小程序获取头部流量 1、占据头部关键词坑位 企业能够利用微信搜寻卡位关键词,注册小程序名称时,选好行业大词,提前做好卡位,占据头部地位,获取海量精准流量。 (1) 微信搜寻对小程序凋谢,提前注册小程序名称提前卡位关键词,搜寻间接引流到小程序; (2) 微信自带左近小程序性能,通过距离远近来进行排名展现,轻松实现无差别流量赋能; (3) 依靠微信用户应用习惯,关上率更高; 2、利于品牌流传 (1) 更多的品牌展现机会,开明小程序后,微信自带左近小程序中,会依据间隔远近实现无差别小程序展现,提什品牌展现机会; (2) 提什用户粘性,用户应用小程序后,会在近期应用过的小程序中留存, 3、社群+公众号+小程序+直播+朋友圈完满联合,构建引流变现矩阵 (1) 社群+朋友圈、公众号与小程序以及直播别离对应着社交、内容及服务与种草,这五者加起来正好造成了流量矩阵,不仅能够引流,而且还能实现疾速变现。 (2) 公众号提供优质的内容为小程序进行导购,小程序负责展示商品交易及提供相干服务,如果去除直播或营销流动是,咱们又能够通过公众号+小程序小型流量矩阵模式实现24h收费引流。 顺元年代经营服务团队认为微信小程序作为微信生态中的重要一环,领有先天流量劣势。当2022年行将到来,“元宇宙”虚拟世界的减速布局下,流量将成为各大企业抢夺的焦点,一旦失去头部流量布局机会,大部分企业将面临重大的流量危机,微信小程序已成为每家公司必备的引流形式之一。如想理解更多小程序相干介绍,可进入企业为什么要用小程序,小程序有哪些劣势查看,或者也可征询客服获取专属小程序定制解决方案。 【摘自】http://shunyn.com/news_v_11_264.html

December 23, 2021 · 1 min · jiezi

关于微信:小城里的明星产业有微信云托管保驾护航

小城故事多,充斥喜和乐。 地处河南省最南端的信阳市是一座领有600多万常住人口的中小型城市,四季明显,气象合适,有“江南南国、南国江南”之美誉。信阳当地领有泛滥娱乐设施,但其中有一个比拟特地,那就是属于当地人的“限定高兴”——信阳海岛风暴水上乐园(下称“水上乐园”)。 水上乐园于2016年6月16日正式开园,是信阳市最大的水上乐园,每年仅在冬季凋谢两个月工夫,乐园设有大喇叭、大型互动水寨、海浪池、戏水小品等设施,高峰期可达到单日千人以上的规模,是当地不折不扣的“明星产业”。为了更好地服务游客,水上乐园也于2018年上线了专属小程序,由信阳久远科技负责开发商,让游客能更不便地实现购票、验票、退票甚至分销等操作,同时买通线上线下生产场景,提供园区整体的经营效率。 尽管每年只有两个月左右的营业期,但过于火爆的业务也给水上乐园经营方带来了挑战: 首先,信阳久远科技是小规模守业团队,研发人力不足,把握的技术栈也十分无限;其次,业务营业时间较为集中,从全年来看,业务数据根本呈现出较为显著的正态分布,兼具了业务洪峰与业务低谷,因而对业务在大流量下的稳定性与闲时流量下的灵活性都带来了考验;最初,尽管经营时间段固定,但为了维持我的项目热度,小程序须要确保全年可用,因此带来了一部分小程序经营保护老本。面对昂扬的服务器老本,项目组迫切需要一种平可能均衡可用性和老本的优化计划。 这时,久远科技理解到微信云托管可能可能满足相干需要,就体验了一番,发现非常顺滑,几分钟就能疾速部署一个小程序/公众号后端服务,在进一步测试后,发现云托管齐全能解决业务遇到的问题,便将我的项目齐全迁徙到了云托管。 信阳久远科技负责人陈永松示意,微信云托管次要从四个方面帮忙了业务: 一、无效升高人力和研发老本微信云托管采纳了云原生架构,自带免服务器免运维个性,无效节俭了人力,接入云托管过程中,仅1名研发同学就实现了闭环。 二、升高经营费用因为水上乐园我的项目每年仅凋谢两个月,这种不平衡的生产习惯考验着云资源的正当调配,如调配不均可能造成服务宕机或资源节约。微信云托管自带的弹性扩缩容能力就能完满解决,在业务经营期,访问量暴涨的时候,云托管能够主动在后盾为业务扩容,不必放心小程序会崩掉,在流动完结后也能够主动缩容,最低可缩容到0,不产生任何费用。整个过程按量计费,花多少付多少,不会产生预留服务器资源不够而导致服务宕机,或预留资源过剩导致节约的难堪状况。 三、启动老本简直为零传统企业想要领有一套齐备的前后端开发体系,往往须要不少资金投入,更别说绝对更灵便的前后端拆散模式,这对于大部分中小企业是一笔不小的开销。而微信云托管很好地解决了这一问题,为每个用户提供了三个月收费额度,给业务减少了不少试错老本,更加符合中小型企业和初创企业,同时,微信云托管人造反对前后端拆散的开发模式,MySQL数据库、流水线、日志监控等全副集成在平台内,无需繁琐配置和调用,加重前后端代码粘连性,业务代码变更,更加灵便。 四、轻松调用微信凋谢能力应用云托管的云调用性能,即可轻松调用微信领取等微信凋谢能力,自带公有平安链路,免证书治理,免签名计算等个性,让企业可能更释怀、更省心地在微信生态经营业务。 陈永松示意,我的项目应用了微信云托管的代码托管、MySQL、缓存、云存储和定时扩缩容等多项能力,无效解决了小程序的高并发问题,同时进步了整体的稳定性,最敌对地是部署很不便,让咱们这样的小团队也能疾速用上云服务。 让更多企业和开发者享受简略疾速上云,是微信云托管的设计初衷之一,为升高上手门槛,云托管在近期上线了一键部署性能,反对通过 Node.js、PHP、Python、Java 和 Golang 等 5 种语言模板疾速部署一个残缺的后端我的项目。除了继续简化部署流程,云托管还行将上线 WebSocket、第三方服务商模式等,满足更多场景下的业务倒退需要。 微信云托管官网(请在PC端拜访以下地址) https://cloud.weixin.qq.com/

December 20, 2021 · 1 min · jiezi

关于微信:微信ClickHouse实时数仓的最佳实践

导语 | 微信作为一款国民级利用,曾经笼罩了社交、领取、出行等人们生存的方方面面。海量多样化的业务状态,对数据分析提出了新的挑战。为了满足业务数据分析的需要,微信WeOLAP团队联手腾讯云,共建千台规模、数据PB级、批流一体的ClickHouse数据仓库,实现了10倍以上的性能晋升。下文将由浅入深,为大家揭晓微信在ClickHouse实时数仓实际中积攒的教训及办法。 本文作者:微信WeOLAP团队&腾讯云数据仓库Clickhouse团队。 一、微信遇到的挑战一般来说,微信次要的数据分析场景蕴含以下几个方面: 迷信摸索:服务于数据科学家,通过即席查问做业务上的归因推断;看板:服务于经营和管理层,展现所关注的外围指标;A/B试验平台:服务于算法工程师,把新的模型,放在A/B试验平台上做假设检验,看模型是否合乎预期。除此以外,还有实时监控、日志零碎明细查问等场景。 在所有的场景当中,使用者都有十分重要的诉求——快:心愿查问响应更快,指标开发更快实现,看板更新更及时。与此同时,微信面临的是海量的数据,业务场景中“单表日增万亿”很常见,这就对下一代“数据分析系统”提出新的挑战。 在应用ClickHouse之前,微信应用的是Hadoop生态为主的数仓,存在以下这些问题: 响应慢,基本上是分钟级,可能到小时,导致决策过程长;开发慢,因为传统的数仓理念的多层架构,使得更新一个指标的老本很高;架构臃肿,在微信业务体量规模的数据下,传统架构很难做到流批一体。进而导致,代码须要写多套、数据后果难以对齐、存储冗余。通过十几年的倒退之后,传统的 Hadoop 生态的架构变得十分臃肿,保护难度和老本都很大。所以,微信始终在寻求更轻量、简略麻利的计划来解决这些问题。通过一番调研,在百花齐放的OLAP产品中,最终选定了ClickHouse作为微信OLAP的次要外围引擎。次要有两个起因: 效率:在实在数据的试验场景下,ClickHouse要比Hadoop生态快10倍以上(2020年底测试);开源:微信的A/B试验、线上特色等场景会有些个性化需要,须要对引擎内核做较多改变;因而,微信尝试在OLAP场景下,构建基于ClickHouse计算存储为外围的“批流一体”数仓。然而,应用原生的ClickHouse,在真正放量阶段呈现了很多问题: 稳定性:ClickHouse的原始稳定性并不好,比如说:在高频写入的场景下常常会呈现too many part等问题,整个集群被一个慢查问拖死,节点OOM、DDL申请卡死都比拟常见。另外,因为 ClickHouse原始设计缺点,随数据增长的依赖的zookeeper瓶颈始终存在,无奈很好解决;微信前期进行屡次内核改变,才使得它在海量数据下逐渐稳定下来,局部issue也奉献给了社区。应用门槛较高:会用ClickHouse的,跟不会用ClickHouse的,其搭建的零碎业务性能可能要差3倍甚至10倍,有些场景更须要针对性对内核优化。二、微信和腾讯云数据仓库共建此时,腾讯云数据仓库 Clickhouse 团队踊跃深刻业务,被动与微信团队单干,单方开始独特解决上述问题。腾讯云数据仓库 Clickhouse 提供全托管一站式的全面服务,使得微信团队不须要过多关注稳定性问题。另外,单方团队积攒了丰盛查问优化教训,共享教训更有利于 Clickhouse 性能极致晋升。 微信跟腾讯云数据仓库Clickhouse的单干,从往年3月份开始,在验证期小规模试用ClickHouse后,业务始终在快速增长,单方开始共建进行稳定性和性能上的优化。次要做了两件事:一个是建设了整个ClickHouse OLAP的生态,另外一个是做了的摸索出贴近业务的查问优化办法。 三、共建ClickHouse OLAP的生态要想比拟好地解决ClickHouse易用性和稳定性,须要生态撑持,整体的生态计划有以下几个重要的局部: QueryServer:数据网关,负责智能缓存,大查问拦挡,限流;Sinker:离线/在线高性能接入层,负责削峰、hash 路由,流量优先级,写入控频;OP-Manager:负责集群治理、数据平衡,容灾切换、数据迁徙;Monitor:负责监控报警,亚健康检测,查问衰弱度剖析,可与 Manager 联动; 微信WeOLAP团队和腾讯云重点在以下方面进行了单干攻坚: 高性能接入:微信的吞吐达到了十亿级别,实时接入方面,通过令牌、反压的计划,比拟好地解决了流量洪峰的问题。另外通过Hash路由接入,使数据落地了之后可间接做Join,无需shuffle实现的更快Join查问,在接入上也实现了准确一次。离线同步计划上,微信跟大多数业界的做法基本上统一,在通过预构Merge成建成Part,再送到线上的服务节点,这其实是种读写拆散的思维,更便于满足高一致性、高吞吐的场景要求。 极致的查问优化:ClickHouse整个的设计哲学,要求在特定的场景下,采纳特定的语法,能力失去最极致的性能。为解决ClickHouse应用门槛高的问题,微信把相应的优化教训落地到外部BI平台上,积淀到平台后,使得小白用户都能够方便使用ClickHouse。通过一系列优化伎俩,在直播、视频号等多个Case实现10倍以上性能晋升。 基于共建的ClickHouse生态,在微信有以下的典型利用场景: 1.BI剖析/看板:因为迷信摸索是随机的,很难通过预构建的形式来解决,之前用Hadoop的生态只能实现小时到分钟的级别。目前ClickHouse优化完之后,在单表万亿的数据量下,大多数的查问,P95在5秒以内。数据科学家当初想做一个验证,十分快就能够实现。 2.A/B试验平台:晚期做A/B试验的时候,前一天早晨要把所有的试验统计后果,事后聚合好,第二天能力查问试验后果。在单表数据量级千亿/天、大表实时Join的场景下,微信前后经验了几个计划,实现了近50倍的性能晋升。从离线到实时剖析的飞跃,使得P95响应<3S,A/B试验论断更加精确,试验周期更短,模型验证更快。 3.实时特色计算:尽管大家普遍认为ClickHouse不太善于解决实时相干的问题,但最终通过优化,能够做到扫描量数十亿,全链路时延<3秒,P95响应近1秒。 四、性能的显著晋升目前,微信以后规模千台,数据量PB级,每天的查问量上百万,单集群TPS达到了亿级,而查问耗时均值仅需秒级返回。ClickHouse OLAP的生态绝对于之前的Hadoop生态,性能晋升了10倍以上,通过流批一体提供更稳固牢靠的服务,使得业务决策更迅速,试验论断更精确。 五、共建存算拆散的云原生数仓ClickHouse原始的设计和Shard-Nothing的架构,无奈很好地实现秒级伸缩与Join的场景;因而下一个微信和腾讯云数据仓库ClickHouse的共建指标,是实现存算拆散的云原生数仓: 弹性扩容:秒级弹性能力,用户只为应用付费,实现顶峰查问更快,低峰老本更省;稳定性:无ZK瓶颈,读写易拆散,异地容灾;易运维:数据容易平衡,存储无状态;性能全:专一于查问优化与Cache策略、反对高效多表Join;存算拆散的云原生数仓能力,明年将会在腾讯云官网上线,敬请期待! 本文章由微信技术架构部-WeOLAP团队出品,「WeOLAP」专一于用前沿大数据技术解决微信海量数据高性能查问问题。 腾讯云数据仓库Clickhouse 10元新客体验流动火爆进行中↓↓↓

November 25, 2021 · 1 min · jiezi

关于微信:程序员输入微信表情的独特方式

一切都是文本,图片,程序执行的过程; 可能通过文本疾速输出; 微信表情中的符号对照码 两种文本辨认形式[Smile]/微笑微信罕用表情名称:微笑/露齿笑:Smile, Grin哭;Sab害羞: Shy睡: Sleep露齿笑:中文:/微笑/流泪/害羞/难堪/呲牙/奋斗/惆怅/诧异/撇嘴/胜利/握手参考资料:https://www.cnblogs.com/shuic...

November 23, 2021 · 1 min · jiezi

关于微信:微信代小程序实现业务系统解决企业痛点问题重复造轮子

明天又是一年一度的“1024节”,就是“程序员节”,因为1024是2的十次方,二进制计数的根本计量单位,这是程序员最相熟的数字!正因这些人,咱们的生存能力更加不便。祝所有程序员节高兴! 话说回来,【微信第三方开放平台代小程序实现业务】零碎,详情:微信开放平台之第三方平台开发,一整套流程,曾经和好些小伙伴达成了单干共识,真心感激他们的信赖,这里贴局部对接过程。 代小程序实现业务零碎可能解决企业反复造轮子的问题,缩小企业的老本。比如说,有多个业务,性能模式雷同的公众号/小程序,如果只是小程序开发,那是不是须要复制多套代码,改appid信息,在微信公众号后盾,配置域名服务器以及密钥等繁琐的信息,每改一个提交公布一次,进行反复的步骤。 随着要保护的公众号/小程序数量逐渐减少,须要投入的资源以及老本也随之减少。有没有想过,只须要开发一套公众号/小程序代码,以之为模板,再来一套后盾管理系统,把在微信公众号后盾做的那些事都搬到咱们本人的零碎中。来一个业务雷同的小程序,只须要管理员受权后,只有在咱们的零碎中点点几个按钮,就能够把小程序公布上线,一次开发供 N 个公众号应用,提供标准化的接口服务来满足业务的根底需要。 通过扫描二维码受权给平台,帮忙 N 多个公众号代实现业务,不再须要了解繁琐参数设置,并且明码不提供给开发者,保障平安。 微信代小程序实现业务零碎解决企业痛点问题-反复造轮子 山水有相逢,来日皆可期,谢谢浏览,咱们再会 我手中的金箍棒,上能通天,下能探海 上一篇:美团联盟怎么实现用户订单跟单功能

October 24, 2021 · 1 min · jiezi

关于微信:微信代小程序实现业务系统解决企业痛点问题重复造轮子

明天又是一年一度的“1024节”,就是“程序员节”,因为1024是2的十次方,二进制计数的根本计量单位,这是程序员最相熟的数字!正因这些人,咱们的生存能力更加不便。祝所有程序员节高兴! 话说回来,【微信第三方开放平台代小程序实现业务】零碎,详情:微信开放平台之第三方平台开发,一整套流程,曾经和好些小伙伴达成了单干共识,真心感激他们的信赖,这里贴局部对接过程。 代小程序实现业务零碎可能解决企业反复造轮子的问题,缩小企业的老本。比如说,有多个业务,性能模式雷同的公众号/小程序,如果只是小程序开发,那是不是须要复制多套代码,改appid信息,在微信公众号后盾,配置域名服务器以及密钥等繁琐的信息,每改一个提交公布一次,进行反复的步骤。 随着要保护的公众号/小程序数量逐渐减少,须要投入的资源以及老本也随之减少。有没有想过,只须要开发一套公众号/小程序代码,以之为模板,再来一套后盾管理系统,把在微信公众号后盾做的那些事都搬到咱们本人的零碎中。来一个业务雷同的小程序,只须要管理员受权后,只有在咱们的零碎中点点几个按钮,就能够把小程序公布上线,一次开发供 N 个公众号应用,提供标准化的接口服务来满足业务的根底需要。 通过扫描二维码受权给平台,帮忙 N 多个公众号代实现业务,不再须要了解繁琐参数设置,并且明码不提供给开发者,保障平安。 微信代小程序实现业务零碎解决企业痛点问题-反复造轮子 山水有相逢,来日皆可期,谢谢浏览,咱们再会 我手中的金箍棒,上能通天,下能探海 上一篇:美团联盟怎么实现用户订单跟单功能

October 24, 2021 · 1 min · jiezi

关于微信:5分钟搞定Loki告警多渠道接入

简介: Loki是受Prometheus启发的程度可扩大、高可用、多租户日志聚合零碎。用户既能够将Loki告警间接接入SLS凋谢告警,也能够先将Loki接入Grafana或Alert Manager,再借助Grafana或Alert Manager实现Loki间接接入SLS凋谢告警。 间接接入您能够将凋谢告警服务配置为Loki的告诉渠道,由日志服务告警零碎实现告警降噪、告诉等解决,并且通过包含短信、电话、微信、钉钉、邮箱在内的10多种告诉渠道发送给用户。 SLS告警配置1. 创立口头策略 口头策略将决定了SLS在接管Loki告警音讯后,以何种形式及何种渠道告诉您。为此,您须要首先关上告警核心,点击告警治理,在下拉菜单中抉择口头策略: 而后点击页面左上角的增加按钮,在弹出的对话框中配置新的口头策略,而后点击确认。目前,零碎反对语音,短信,邮箱,钉钉和企业微信等告诉渠道,无关口头策略的具体配置办法,可参阅官网文档创立口头策略。 2. 创立凋谢告警服务 首先关上告警核心,点击告警治理,在下拉菜单中抉择凋谢告警: 点击页面左上角的创立按钮,在弹出的对话框中配置新的凋谢告警服务,包含服务ID和服务名称,而后点击保留: 3. 创立凋谢告警利用 抉择上一步骤中创立的服务,在操作栏中点击该服务的利用按钮: 在弹出的对话框中点击创立,增加新的利用,点击保留。这里的协定请抉择Loki,口头策略抉择在第一步中配置的策略,其余选项可抉择默认值。 4. 获取凋谢告警利用接口 当初,您在第二步创立的凋谢告警服务中曾经存在一个新的告警利用了。点击该利用操作栏的接口按钮,获取接口信息: 接口地址由两局部形成: 域名局部:SLS的接入地址,和地区相干,每个地区都有各自不同的接入地址;子门路局部:包含用于发送音讯的Access Key Id和凋谢告警利用Id。须要留神的是,用户须要将子门路局部中的{ACCESS_KEY_ID}替换为具体阿里云RAM账户的Access Key Id,并且将权限策略AliyunLogOpenEventWrite赋予该账户。 Loki接入配置在Loki配置文件的ruler配置项下,在alertmanager_url字段中填写上一步骤中获取的接口地址。典型的配置文件如下图所示: ruler: alertmanager_url: {ALIYUN_SLS_ENDPOINT}/event/webhook/RAMAK_{ACCESS_KEY_ID}/{WEBHOOK_APP_ID} ... 无关Loki Ruler的其余可选配置要求,请参阅Loki Rules。 成果展现告警音讯查看 在告警核心的事务视图界面,能够查看接管到的告警音讯列表,以及该告警音讯的详情。 告警接入概览 在凋谢告警大盘,能够查看告警音讯过滤、发送状况。 告警告诉概览 告警大盘展现了所有告警音讯的概览视图,能够查看通过不同告诉渠道发送的音讯量。 间接接入除了间接接入,用户也能够先将Loki作为数据源接入Alert Manager或Grafana,而后通过将Alert Manager或Grafana接入凋谢告警来实现Loki间接接入凋谢告警。下文将次要介绍如何将Loki接入Alert Manager或Grafana,无关如何将Alert Manager和Grafana接入SLS凋谢告警,请参阅接入Alert Manager告警和接入Grafana告警。 接入Alert Manager 在Loki配置文件的ruler配置项下,在alertmanager_url字段中填写Alert Manager服务器的地址,典型的配置文件如下图所示: ruler: alertmanager_url: {ALERT_MANAGER_URL} ... 无关Loki Ruler的其余可选配置要求,请参阅Loki Rules。 接入Grafana 在Grafana界面上,单击Configuration下的Data Source选项,并抉择Loki。在弹出的页面中,对Loki进行配置,如下图所示: ...

September 7, 2021 · 1 min · jiezi

关于微信:微信开发手册

一 微信扫码H5页面播放视频/音频二 微信自定义分享模式三 生成微信小程序二维码介绍调用微信API生成小程序二维码。反对定向到特定页面和传入参数。然而这个接口应该在服务端调用,目前调用返回的数据前端还无奈解决! 应用形式文档官网介绍:https://developers.weixin.qq.... 上面是从官网文档复制而来,具体以官网为准。 POST https://api.weixin.qq.com/wxa...属性类型默认值必填阐明access_tokenstring是接口调用凭证scenestring是<span style="color: #ff0000;">最大32个可见字符</span>,只反对数字,大小写英文以及局部特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为非法字符(因不反对%,中文无奈应用<span> </span>urlencode<span> </span>解决,请应用其余编码方式)pagestring主页否必须是曾经公布的小程序存在的页面(否则报错),<span style="color: #ff0000;">例如 pages/index/index, 根门路前不要填加 /,不能携带参数(参数请放在scene字段里)</span>,如果不填写这个字段,默认跳主页面widthnumber430否二维码的宽度,单位 px,最小 280px,最大 1280pxauto_colorbooleanfalse否主动配置线条色彩,如果色彩仍然是彩色,则阐明不倡议配置主色调,默认 falseline_colorObject{"r":0,"g":0,"b":0}否auto_color 为 false 时失效,应用 rgb 设置色彩 例如<span> </span>{"r":"xxx","g":"xxx","b":"xxx"}<span> </span>十进制示意is_hyalinebooleanfalse否是否须要通明底色,为 true 时,生成通明底色的小程序

August 26, 2021 · 1 min · jiezi

关于微信:PC个人微信机器人sdk接口api之微信多开原理

大家都晓得,失常状况下,电脑微信客户端只能关上一个微信,如果再次点击是没法关上第二个的。微信是怎么实现,禁止一个客户端关上多个微信的呢?微信每次启动的时候,都调用:OpenMutexA( )函数,微信有一个本人的互斥体名称,每次调用这个函数,如果函数返回真,则阐明找到了,阐明微信曾经关上一个了。他就不让再关上第二个了。如果没找到,就关上一个新微信,就是这个原理实现的。在OD中(如下图),用快捷键Ctrl+G ,弹出搜:CreateMuteW(微信是宽字符) ,断点之后,找到该函数,其中有三个参数:一个是互斥体名称,一个是bool值而后用CE 找他他这个名称,把他的互斥改掉之后,在OD外面把断点勾销,而后主动就启动了一个微信。而后在本人电脑上,再点击微信图标,关上,就又关上一个微信。这样就关上了两个微信,实现了多开。目前曾经实现了大部分性能,运行稳固,比方:发各种音讯,接管各种音讯,群管,下载文件,加好友,检测僵尸粉等等性能,可提供接口,不便各种语言二次开发,欢送技术交换。

July 26, 2021 · 1 min · jiezi

关于微信:如何使用新功能微信客服

7 月 19 日,微信上线新性能——「微信客服」,这是一个面向企业的新能力,什么是微信客服?如何应用?本文将带你一一解锁。 微信客服是什么?精确来说,微信客服不是一种新性能,它更像是一种面向 B 端品牌商家的能力。而 C 端微信用户则能通过这种能力更好地找到商户,解惑答疑,解决售后。 在微信客服独立官网(work.weixin.qq.com/kf)中,微信是这样介绍微信客服的: 能够在微信内、外各个场景中接入微信客服,用户能够发动征询,企业能够通过 API 接口回复音讯,做好客户服务。 官网对微信客服性能的宣传次要有三个点: 丰盛的接入口:能够在视频号、搜一搜、领取凭证、网页等微信内和微信外场景接入微信客服,接待用户征询。微信官方消息通道:征询记录将呈现在微信的客服音讯中,用户更易发现。API 接口收发音讯:可通过 API 接口收发音讯,实现多坐席合作,主动回复等性能。而在理论测试过程中,咱们发现微信客服的确是一个不局限于微信内的性能。 微信客服在微信内和微信外均可接入 在视频号接入微信客服后,视频号主页企业认证信息下方,将新增「分割客服」选项,感兴趣就能间接征询客服;搜一搜品牌官网区、小程序、领取凭证也将有「分割客服」的选项,点击就找到官网客服;在内部 app、网页也可能接入微信客服,客户在品牌官网上、App 里点击「分割客服」的按钮,也能间接跳转微信实现征询。左图为视频号、右图为搜一搜「分割客服」入口 客户不管在哪里的「分割客服」入口进行征询,相干征询都会保留在新的音讯分类——客服音讯中,客户能够进行更进一步的征询。 能够说,客户微信上的「客服音讯」这个入口的外面,将来会是许许多多品牌的人工客服。 微信「客服音讯」对立入口 与传统的客服零碎有什么区别?通晓程序团队在采访微信团队时理解到,微信客服与传统的客服零碎有如下区别: 应用门槛低:连续微信应用习惯,对话全在微信上,无需下载 App,也不须要新开网页。收发信息不便:客户不仅「发送信息」简略,「接管信息」也不会像传统客服在其余 app 或者网页上,因为不罕用或者不常关上,而有脱漏错过;「回溯信息」同样不便,对立集纳在「客服音讯」,如同微信上「订阅号」,不必放心不小心关掉难找回历史音讯;反对各种利用场景接入:不论是微信外部的小程序、搜一搜、公众号、视频号、小卡片;还是微信内部企业官网 app、企业官网,以及线下扫码等等,只有是客户日常触达的场景,都能够反对跳转进「微信客服」。流量越扩散,企业推广渠道越多,客户服务入口就越多,保护压力更大。 微信客服不止于微信外部利用场景,也不止于企业本身的服务平台,企业齐全能够将「微信客服」利用到所有渠道中,通过企业微信对立服务客户,既拉近了客户的间隔,也能更快响应客户的售前征询与售后反馈,以更好的服务进步企业的品牌形象,以更灵便的形式促成用户转化。 如何应用微信客服?1、开明「微信客服」「微信客服」性能目前正在内测中,企业能够在官网(work.weixin.qq.com/kf)扫码受权并申请内测资格。 2、创立客服帐号和配置接待人员企业微信管理员能够在「企业微信 App - 工作台 - 微信客服」中创立客服帐号,并为其配置接待人员。如果装备多个接待人员对外服务,后盾还可配置是否轮流接待,是否须要优先调配给上次的接待人员,接待人员下限等等。接待人员将依据「接待规定」收到和解决客户信息。 3、配置客服链接/二维码企业管理员能够在「微信客服 - 接入场景」中获取客服帐号的链接或二维码,并利用到不同渠道的客服入口。 微信内:视频号、网页、公众号菜单、小程序、搜一搜、微信领取等企业内:官网网站、企业 App第三方渠道:电商平台、社交平台、短视频平台等 4、配置专员和客服群咱们在体验中还理解到,除了服务能力晋升外,微信客服或者能够帮忙企业进步用户粘性和用户转化。 在微信客服的「降级服务」中配置专员和客服群,接待人员能够被动向客户发送专员名片和客户群二维码,疏导客户增加。企业通过经营策略,在后续客户保护中推送产品或服务,促成用户的转化和复购。 5、接入 API ,实现更高级的客服能力作为微信买通内外的新能力之一,微信客服也有更多的可能性。通过凋谢的 API ,实现治理微信客服帐号、收发客服音讯,并可基于此定制丰盛的客服治理性能,如实现接入客服机器人、自定义会话路由调配、统计客服数据等。 自动化、智能化的客户服务性能,须要企业开发者投入精力与工夫来接入实现(详见开发文档)。为了升高企业的应用门槛与接入老本,通晓云行将上线更多基于微信客服的高级性能,让客服人员能够间接应用,并实时查看客服数据。(如果你有这方面的需要,可在文末的「通晓云产品线路图」中通知咱们。) 在微信团队不断扩大生态边界的过程中,「企业微信」的客户治理能力和营销能力不断加强,将来充斥有限可能。作为基于企业微信的社群经营工具——「通晓社群精灵」,也将依据微信能力与客户理论的利用需要,一直迭代与降级,以提供一个好用、易用的管理工具。 通晓云产品团队为了更好地理解用户需要,咱们将降级「通晓云产品线路图」,无论你是开发工程师、产品设计,还是产品推广、用户经营,只有你有性能需要,都能够参加到咱们的产品布局中。无论是现有性能优化、还是新增性能需要,都能够在线路图中反馈。 咱们产品经理小姐姐说了,提供优质反馈的敌人,将能够取得一份小礼品,快来参加咱们的产品布局吧~

July 23, 2021 · 1 min · jiezi

关于微信:教你如何把微信表情保存到手机微信表情保存到相册

“ 家喻户晓,微信表情是不能下载,不能保留到本地手机相册的,所以开发了这个小工具,只需简略1步,实现任意微信表情保留到本地手机相册。”操作步骤01.微信搜一搜 “bqbczs” 关注“表情保留助手”公众号表情保留助手收费一键表情保留到手机,表情保留到相册的表情保留助手,再也不必为表情包不能保留到手机相册而懊恼了~02.把想保留到相册的微信表情发送给表情保留助手 03.关上表情保留助手发送的表情图片,长按就能保留到手机啦! 注意事项肯定要把表情发送给公众号喔。 本公众号次要负责将微信表情保留到本地手机相册,应用无关的问题也欢送留言交换,谢谢~

June 28, 2021 · 1 min · jiezi

关于微信:微信这项功能即将下线赶快导出数据

多年来,腾讯在打造自家的社区类社交零碎上,能够说吃力了心理。 在漫长的产品开发过程中,微信也和 QQ 一样,不止一次地推出了一些看似厉害、实则鸡肋、最终扑街了的性能...... 2021 年 1 月 11 日,已经国内最大的趣味社交平台、有 “小贴吧” 之称的 QQ 趣味部落公布停运布告。 独一无二,5 月 28 日下午,与 QQ 趣味部落相似的微信圈子也公布了停运布告。微信圈子停运布告称,因业务倒退方向调整,该性能将于 2021 年 12 月 28 日起正式停运。 在停运前,用户能够应用 “导出个人主页数据” 性能,把之前在圈子里公布的内容都保留下来。具体安排如下: 1.敞开互动能力:2021 年 6 月 28 日 2.下线圈子入口:2021 年 6 月 28 日 3.圈子小程序进行经营:2021 年 12 月 28 日 公布内容解决细则: 1.2021 年 6 月 28 日起,进行新增帖子、评论 2.在圈子停运前,可应用 “导出个人主页数据” 的性能,保留自己曾在圈子公布过的内容 微信圈子停运布告公布后,网友们纷纷留言示意不晓得微信圈子是什么。 甚至有人素来都没有据说过。大部分人都是直到圈子停运了,也不晓得它的入口在哪里。更有人错看音讯,误以为是朋友圈停运了,虚惊一场。还有一波网友吐槽,能不能顺便把朋友圈也关了。材料显示,微信圈子的前身是 “好物圈” ,于 2019 年初上线。 最后,这是一个基于社交关系的商品举荐性能,用户能够在这里浏览敌人举荐的商品,并与敌人进行互动、交流心得。 用户能够在这里查看小程序里的订单和珍藏,还能够将本人购买过或珍藏过的商品举荐给敌人。 这也是微信在电商畛域的一次重要尝试,然而事实证明成果寥寥。只管市场反馈不强,但过后微信并没有放弃这块阵地。 2019 年 12 月,“好物圈” 正式更名为 “微信圈子”,产品性能也开始偏差内容社区倒退。 ...

June 17, 2021 · 1 min · jiezi

关于微信:微信不再提供小程序打开App借助H5为App引流的方式你必须知道

简介: 2021年5月14日App开发者畛域公布了一条重要音讯:微信开放平台为了晋升用户体验,将于2021年5月20日(起初延期到2021年5月27日)起不再提供“小程序关上App技术服务”,当初可能实现从微信关上App的形式只有H5页面唤起App了。 2021年5月14日App开发者畛域公布了一条重要音讯:微信开放平台为了晋升用户体验,将于2021年5月20日(起初延期到2021年5月27日)起不再提供“小程序关上App技术服务”,这意味着当前通过场景值1036(从App分享卡片)关上的小程序,不能关上App了。这对于宽广App开发者来说是一个噩耗,以往能够通过从App分享小程序,小程序再唤起App的引流形式已被封禁。 App还有新的引流形式么?分享裂变是现有的App拉新促活老本最低、且成果最好的形式。微信的宏大用户流量始终是App经营人员想要利用的资源,经营人员须要找到其余形式实现App拉新促活。当初可能实现从微信关上App的形式只有H5页面唤起App了。这也是为什么最近很多App分享到微信都改成了H5,例如微博、B站等。 本篇文章就以微博针对微信新政策做出的扭转,介绍将来小程序、H5和App三者怎么联合能力实现拉新促活成果最大化。 第一、微博采取H5分享唤端的新变动 以前:App->小程序->App 以前从微博App分享微博内容给微信好友都是小程序的模式,关上微博小程序页面,点击【关上App】按钮,能够抉择唤起微博App指定页面,通过小程序给App导流: 当初:App->H5->App和App->H5->小程序 因为新政策小程序不能够再唤起App了,所以微博扭转了策略,从App分享微博内容到微信好友曾经变成了H5页面的模式。关上H5页面,能够看到底部有两个显著的按钮,一个是【微博内关上】,一个是【小程序内关上】 点击 【微博内关上】按钮,如果已装置微博,则可能间接唤起了微博App的指定页面: 点击 【小程序内关上】按钮,可能间接唤起微博小程序的指定页面: 因而咱们能够总结出,微博针对微信最新政策,从之前的App->小程序->App形式,当初拆分成了App->H5->App模式和App->H5->小程序模式。两条门路别离将用户引流到了App和小程序,为微博App和微博小程序导流,具体取决于用户抉择点击哪个按钮。接下来咱们具体讲述这两种形式所用技术和背地特点。第二、借助Deeplink,实现从H5疾速跳转到App H5页面唤起App所用的技术就是Deeplink技术,在挪动端,Deeplink可能实现从H5页面间接跳转到App指定页面的性能。例如您能够将App内的一个H5页面分享给微信好友,好友点击这个链接就能间接关上对应的App详情页,而不是App首页。如果好友未下载App则会跳转到App下载页面,装置启动后依然能跳转到App指定页面。这样能大大缩短用户应用门路,升高用户流失率。因而Deeplink性能被宽泛用在泛滥行业App拉新推广等场景, 因为Deeplink技术曾经演变了很多年,因而不同操作系统都有着不同版本的Deeplink技术,上面会介绍两种最罕用的Deeplink技术 1.URL Scheme办法 在iOS 9和安卓10(M)之前,挪动端实现Deeplink的形式都是通过URL Scheme。个别模式是这样的:Scheme://host:port/path?query=xxxxxxx。 Scheme:示意的是一个 URL 中最初始的地位,即 :// 之前的那段字符,咱们能够用Scheme来定位对应的App。例如淘宝的Scheme就是taobao、支付宝的Scheme就是alipay,新浪微博的Scheme是sinaweibo。 path:代表了想要跳转的指定页面 query:代表了想要传递的参数。 URL Scheme形式长处在于实现简略,但也有以下两个弊病: 弊病一:微信、微博、手百禁掉了大部分App的Scheme。 如果您的域名不在微信白名单内(白名单性能不对外开放,一般来说只有腾讯系的App能力在白名单内)。因Android端只有URL Scheme这一种形式,所以目前大部分App的Android端在微信内都不能间接通过H5页面唤起App。目前解决办法有两种:疏导用户通过右上角浏览器关上的模式,在浏览器内关上H5页面,可能间接唤起App。此形式长处在于浏览器对于URL Scheme没有限度,毛病在于减少了用户右上角浏览器关上的步骤 另外一种解决办法,就是接入腾讯利用宝,通过利用宝来唤起App或者跳转到App下载页面。此形式长处在于不须要用户从浏览器模式关上,即便不在微信白名单内也能够间接唤起App。 毛病在于此形式必须依赖腾讯利用宝,如果用户未装置利用宝,那么唤起形式会生效,微信会先疏导用户前去装置利用宝 弊病二:H5页面在尝试关上App时,浏览器会弹出一个提示框:“是否关上某某App”, URL Scheme关上App时,须要让用户点击确认一次,减少了用户应用流程 2.Universal link办法 Universal link 是苹果公司在2015年推出的新一代Deeplink办法,iOS9及以上的用户能够通过点击一个https链接无缝地跳转到一个App利用内的指定页面,如果用户没有装置这个App,则会跳转到App的下载页面。Universal link形式比URL Scheme形式体验更好,因为两头不须要用户点击确认关上App,也不须要用户在右上角跳转通过safari关上跳转。目前国内微信曾经反对Universal link模式的跳转,所以在iOS端采取Universal link的模式唤起App则更为间接不便。第三、通过H5唤起小程序 微博目前同样反对通过H5页面唤起小程序,H5页面唤起小程序的原理很简略:微信官网提供了H5 页面跳转微信小程序的能力。开发者须要判断所处环境来采纳具体种跳转小程序形式: 如在微信内网页环境下,则应用凋谢标签跳转到小程序,通过该凋谢标签关上小程序的场景值为 1167 如在微信之外的环境,则应用 URL Scheme 跳转小程序,在微信治理后盾右上角“工具”—“生成URL Scheme”,填写小程序页面门路以及启动query参数,就能够生成小程序的URL Scheme了,通过 URL Scheme关上小程序的场景值为 1065。 ...

June 17, 2021 · 1 min · jiezi

关于微信:用炫酷的黑科技策划一篇公众号图文阅读量-10w-不是梦

当你关上一篇公众号图文,发现只有一句话或一张图片时,兴许你会一脸纳闷:这么简略的图文也能推送,还浏览量 10 万+ ? 直到你可恶的小手指点击了一直暗示你「戳它」的动画,你好像发现了新大陆:原来图文还有这种模式存在。 ► vivo OriginOS 《我想开了》成果展现 SVG 交互图文是什么在理解 SVG 交互图文之前,咱们先简略理解一下什么是 SVG 。SVG 英文全称为 Scalable Vector Graphics,即为可缩放的矢量图形,是一种图像文件格式。其具备以下三个特点: 一种图片格式矢量图,在放大或扭转尺寸的状况下,其图形品质不会有所损失交互和动画,能够实现多种互动成果那什么是 SVG 交互图文? SVG 交互图文是通过 SVG+HTML 代码实现的一种高级排版形式,通过在 SVG 文件中嵌入动画元素,从而实现具备多种互动成果的图文。SVG 交互图文的特点:创意、超清、交互、动静。 SVG 交互图文其实不算陈腐的技术,早在 2016 年就有相干的利用,只是随着一个个爆款案例的呈现,各大品牌开始发现 SVG 交互图文的品牌营销价值,并纷纷尝试这种图文新玩法。 通过与品牌符合的创意内容、各式各样的互动成果、惊艳的视觉效果,以科技感的形式「讲故事」(介绍企业或产品和服务)或者「玩游戏」,将用户一步步带入到情境中,引起用户共鸣,进步用户对品牌和产品的认知度,从而为企业塑造一个深入人心的品牌形象。 SVG 交互图文的优劣势劣势1)相较于传统图文,SVG 交互图文更具备互动性和趣味性,能够给读者带来不一样的浏览体验,既能缩小读者因浏览疲劳而退出图文,也能加深读者对内容的印象。2)相较于 H5,SVG 交互图文状态更轻,更适宜利用在公众号图文中。3)SVG 交互图文更重视创意与格调,能够交融企业的品牌形象、产品理念,并以直击人心的形式传递给用户,达到出其不意的品牌营销成果。 劣势1)制作一篇 SVG 交互图文须要策动、编辑、设计、开发人员合作实现,沟通老本和制作老本高,制作周期长。 SVG 交互图文的互动模式SVG 交互图文能够分为竖版长图和横版长图,常见的互动模式有点击、长按、滑动。 01 点击当读者点击某个区域或元素之后,画面中会产生相应的变动,比方切换图片、放大图片、拉伸长图等。「点击」是较为常见的交互模式,通常须要通过指引来让读者实现点击动作,但过多的文案又会影响视觉效果,因而能够尝试应用「符号」来代替文字指引。 案例展现:《我,在 iPhone 里发现了一座黄色小房子...》 案例解析: 点击切换图片:读者点击闪动的「符号」,即可查看下一个内容,一张张简洁的图片一步步率领读者走进情景中。点击拉伸长图:当读者曾经产生其趣味后,点击拉伸长图,开展更多内容,这种内容出现形式,更能防止干燥感,也能激发读者更强烈的趣味。02 长按当读者长按某个区域或元素之后,画面中会产生相应的变动,比方长按切换、长按实现图片 360° 旋转(相似于三维动画成果)和抽签等。千篇一律的「点击」交互容易不足特色,配合「长按」、「松手触发」交互模式,会让图文更有趣味性。 案例展现:《腾讯小马哥的 QQ 号是多少?》 案例解析: 长按切换,松手回弹到最后状态:案例为问答类,通过长按呈现答案提醒,能够更好的疏导读者进入下一步。03 滑动当读者左右高低滑动图片时,画面中的一些元素会追随挪动。常见的滑动款式有: 双层滑动:背景不动,顶层通明图片滑动穿透滑动:前景不动,底层背景滑动夹层滑动:前景背景都不动,两头内容滑动滑动罕用于故事情景图片替换或问答中的揭开答案等场景,让原有的内容更充斥神秘感,滑动也常常利用在横版的故事推动中。 案例展现:《你认为咱们用「Apple 全家桶」是为了炫富吗?》 ...

April 20, 2021 · 1 min · jiezi

关于微信:玩转微信-炫酷的聊天满屏掉爱心系列赶紧收藏

玩转微信,让你的微信变得更乏味!!! 明天给大家分享的是最近很火的聊天满屏掉爱心系列,当然除了掉爱心,小编还整顿了一系列的微信聊天满屏动画,童鞋们要是喜爱的话就连忙珍藏吧!话不多说,间接上干货: 1、微信满屏满屏掉爱心,先看效果图: 爱心从下到上越来越大,看起来还蛮不错的. 小编给大家筹备好了爱心素材,曾经对素材进行编号了,依照程序保留到手机或者增加为表情包,发送的时候也要按程序发送,就会有这样的特效。想要素材的童鞋,能够在【龙旋】公众号对话框发送【爱心】就能获取到啦! 2、海绵宝宝发送爱心,先看效果图: 这个就绝对比较简单啦,就两张素材图片就能够实现啦,想要素材的童鞋,能够在【龙旋】公众号对话框发送【海绵宝宝】就能获取到啦! 3、满屏掉粑粑,先看效果图: 这个就绝对有点重口味啦,不过小编感觉这个可能用的人会更多,哈哈哈,想要素材的童鞋,能够在【龙旋】公众号对话框发送【shishi】就能获取到啦! 4、满屏掉星星,先看效果图:这个就属于微信官网表情雨系列了,不须要素材就能够实现,只须要在微信聊天对话框中输出关键字【我想你了】【miss you】就会呈现啦! 5、满屏掉飞吻,先看效果图: 这也是微信官网表情雨系列,只须要在微信聊天对话框中输出关键字【么么哒】【xoxo】就会呈现啦! 6、满屏掉蛋糕,先看效果图: 这也是微信官网表情雨系列,只须要在微信聊天对话框中输出关键字【生日快乐】【happy birthday】【】就会呈现啦! 到这里就介绍完啦,感兴趣的童鞋连忙珍藏玩起来吧!

March 12, 2021 · 1 min · jiezi

关于微信:微信团队分享微信直播聊天室单房间1500万在线的消息架构演进之路

本文由微信开发团队工程师“ kellyliang”原创发表于“微信后盾团队”公众号,收录时有订正和改变。 1、引言随着直播和类直播场景在微信内的增长,这些业务对长期音讯(在线状态时的实时音讯)通道的需要日益增长,直播聊天室组件应运而生。直播聊天室组件是一个基于房间的长期音讯信道,次要提供音讯收发、在线状态统计等性能。 本文将回顾微信直播聊天室单房间海量用户同时在线的音讯组件技术设计和架构演进,心愿能为你的直播聊天互动中的实时聊天音讯架构设计带来启发。 本文已同步公布于“即时通讯技术圈”公众号,欢送关注。公众号上的链接是:点此进入。 2、相干文章《腾讯QQ1.4亿在线用户的技术挑战和架构演进之路PPT》《挪动端IM中大规模群音讯的推送如何保障效率、实时性?》《古代IM零碎中聊天音讯的同步和存储计划探讨》《以微博类利用场景为例,总结海量社交零碎的架构设计步骤》《一套高可用、易伸缩、高并发的IM群聊、单聊架构方案设计实际》《阿里技术分享:电商IM音讯平台,在群聊、直播场景下的技术实际》《[一个WebSocket实时聊天室Demo:基于node.js+socket.io [附件下载]](http://www.52im.net/thread-51...》3、1500万在线的挑战视频号直播上线后,在产品上提出了直播后盾须要有单房间撑持1500w在线的技术能力。接到这个我的项目的时候,自然而然就让人联想到了一个十分乏味的命题:能不能做到把13亿人拉个群?本文将深入浅出地介绍聊天室组件在演进过程的思考,对这个命题做进一步对摸索,尝试提出更靠近命题答案的计划。 4、直播聊天室1.0架构如上图所示,能够看到直播聊天室1.0架构还比拟原始和间接,没有太多简单的技术利用。这套架构诞生于2017年,次要服务于微信电竞直播间,外围是实现高性能、高实时、高可扩大的音讯收发架构。 5、音讯扩散计划选型:读扩散微信中规范的群音讯应用的是写扩散机制,而直播聊天室跟微信规范群聊有着微小的差别。而且,对于同一人而言,同一时间只能关注一个聊天室,决定了直播聊天室中的音讯扩散计划应该应用读扩散的机制。 6、longpolling(长轮询)机制为了让用户须要实时同步到新音讯,咱们采纳的是longpolling模式。很多人会纳闷为什么不必websocket,起因有3个: 1)websocket次要思考推模式,而推模式则有可能丢,做到不丢还是有须要拉模式来兜底;2)推模式下,须要精准保护每个时刻的在线列表,难度很大;3) longpolling实质是一个短连,客户端实现更简略。7、无状态cache的设计很显著,单纯的读扩散,会造成微小读盘的压力。依照国际惯例,这里理所应当地减少了一个cache,也就是下面架构图中的recvsvr。一般的cache都是有状态的、可穿透的,对常常会呈现突发流量的聊天室不是特地敌对。而通过异步线程工作,恰好能够解决这两个点。① 实时告诉:发送音讯时,在写入列表后,向recvsvr集群发送告诉。② 异步拉取:recvsvr机器收到告诉后,触发异步线程拉取。③ 兜底轮询:当recvsvr机器上接管到某个聊天室的申请时,触发该聊天室的轮询,保障1s内至多拜访一次音讯列表,防止告诉生效导致无奈更cache,同时做到机器启动时数据的主动复原:④ 无锁读取:通过读写表拆散和原子切换,做到音讯的无锁读取:⑤ sect化部署:群数量增多时,扩sect能够把群摊派到新的sect上。无状态音讯cache的设计,不仅极大地提高了零碎的性能,而且帮忙聊天室建设了一个高扩展性音讯收发架构。 8、技术痛点只管做到了高性能的音讯收发,1.0版本却并不能实现单房间1500w同时在线的指标。通过对整个架构和逻辑进一步的剖析,咱们发现4个妨碍咱们后退的痛点: 1)大直播间里,音讯信道不保障所有音讯都下发,连麦胜利信令失落会使得连麦性能不可用,大礼物打赏动画信令失落会带来客诉;2)一个房间的在线列表,是由recvsvr把最近有收取该房间的音讯的user聚合到同一台statsvr失去的,有单点瓶颈,单机失败会导致局部房间在线数跳变、在线列表和打赏排行榜不可用等;3)没有提供历史在线人数统计性能;4)裸的longpolling机制在音讯始终有更新的状况下,无法控制申请量。9、直播聊天室2.0架构从下面剖析的痛点,咱们得出了聊天室2.0须要解决的问题: 1)解决丢重要信令问题,保障热点拜访下性能的可靠性;2)解决在线统计的单点瓶颈,保障热点拜访下在线统计模块的可扩展性;3)实现一个高效精确的历史在线统计,保障大数据量下统计的高性能和准确性;4)灵便把控流量,进一步晋升隔离和容灾能力,保障热点拜访下零碎的可用性。10、优先级音讯列表丢信令的实质起因:recvsvr只保留最近2000条音讯,大直播间里,有些音讯客户端还没来的及收就被cache淘汰了。在聊天室1.0版本,咱们曾经证实了写扩散不可行,因而这里也不可能通过写扩散解决。另外一个比拟直观的计划:是将重要的零碎信令写到另外一个列表外面,recvsvr同时读取两个音讯表。带来的耗费是recvsvr对kv层减少将近一倍的访问量。于是,咱们思考有没有更优的计划。回到1.0版本的一个计划细节:咱们能够看到大部分状况下,当新音讯到来的时候,recvsvr它都是能及时感知到的,因而recvsvr一次拉取到的音讯条数并不会很多,因而这一步骤上不会丢音讯。所以咱们是能够把音讯表这个操作收归到recvsvr外面的:① 打优先级标记 :仍然只写一张音讯表,给重要的信令打上优先级标记。(目标:节俭RPC耗费)② cache内分表:recvsvr拉到音讯后离开一般音讯列表和重要音讯列表;(目标:最小化改变)③ 优先收取:收取时候normal seq和important seq,先收重要音讯表,再收取一般音讯表。(目标:优先下发)通过一个简略的优化,咱们以最小的革新代价,提供到了一条牢靠的重要音讯信道,做到了连麦和大礼物动画的零失落。 11、分布式在线统计11.1 写共享内存,主从互备参考微信设施在线模块,咱们能够有这个一个计划: ① 分sect,一个直播间选一个sect;② 按roomid选一台机作为master, 读写该机器的共享内存;③ master把这个roomid的数据同步到sect内其它机器,master挂了的状况能够选其它机器进行读写。上述计划的优缺点: 1)长处:解决了换机跳变问题。2)毛病:主备同步计划简单;读写master,大直播间下仍然有单机热点问题。论断:用分布式存储作为数据的核心节点。 11.2 写tablekv如上图所示: ① 用tablekv的一个表来存在线列表,每行记录用户id和沉闷工夫;② 定期更新用户的心跳工夫,保护在线。上述计划的优缺点: 长处:解决了换机跳变问题,数据做到了分布式;毛病:1500w在线10s心跳一次 => 9000w/min,穿透写单表有并发和性能问题;离线不会实时从磁盘删数据,历史沉闷人数远大于以后在线,造成数据冗余。逐点击破,单key是能够通过拆key来解决的,数据冗余能够通过key-val存储做全量替换解决,而穿透问题其实能够参考recvsvr的实现形式。因而,咱们失去一个比拟好的计划:拆key + 读写拆散 + 异步聚合落盘。① 散布统计 : (1) 每台机负责局部在线统计;(2) 每台机内按uin哈希再分多shard打散数据;(3) 每个shard对应kv的一个key;② 组合数据:让每台机都拉取所有key的数据,组合出一个残缺的在线列表:③ 异步聚合更新:心跳只更新内存,异步工作清理离线用户,并把列表序列化到一个key的val。④ 异步拉取:由异步工作来执行②的拉取和组合数据。⑤ 原子切换:残缺的在线列表做双指针,利用原子操作无锁切换,做到无锁查问。由此,咱们进步了心跳更新和在线查问的性能,做到了在线统计模块的分布式部署和可平行扩大。 12、基于hyperloglog的历史在线统计12.1 需要历史在线统计,是要已经看过该直播的用户数uv,在产品上的体验就是视频号直播的“xxx人看过”。在分布式在线统计的章节,咱们曾经谈到了,用tablekv来记录成员列表是不太可行的。另外一个想法:是利用bloomfilter做数据压缩和去重统计,额定去保护一个count做累加。那么这里有两点: 一是bloomfilter和count之间要思考一致性问题;二是bloomfilter准确率跟压缩率相干,较好的准确率还是须要比拟大的数据量。于是咱们调研了业界的一些uv统计计划,最终找到了redis的hyperloglog,它以极小的空间复杂度就能做到64位整形级别的基数估算。 12.2 hyperloglog是什么?hyperLogLog 是一种概率数据结构,它应用概率算法来统计汇合的近似基数,算法的最根源则是伯努利过程。伯努利过程:设一个硬币背面为0,侧面为1,抛一枚硬币直到后果为1为止。如果做n次伯努利试验,记录每次伯努利过程须要抛硬币的次数为Ki,则能够估算:_n=2^Kmax_。hyperloglog对Kmax的计算进行了分桶和和谐平均值优化,使得在准确率比裸的伯努利估算要高。优化的次要内容: ① 将要统计的数据hash成一个64位整形;② 用低14位来寻找桶的地位;③ 剩下的高位里寻找第一个1呈现的地位,作为上述伯努利过程的Ki;④ 对桶的值进行更新 Rj = max(Rj, Ki);⑤ 估算时,对各个桶的值算和谐平均值DV来代替上述的Kmax。从上述算法的形容来看:hyperloglog无非就是存了m个桶的数值(_m=10000+_),原本空间复杂度也不高了。再通过一些位压缩,hyperloglog把整个数据结构优化到了最大空间复杂度为12K。 ...

March 6, 2021 · 1 min · jiezi

关于微信:电脑开启同时登录多个微信

 欢送大家搜寻“小猴子的技术笔记”关注我的公众号,有问题能够及时和我交换。 脚本我曾经上传到公众号上,后盾回复“微信脚本”即可获取,下载到脚本之后能够依据本人电脑进行配置,如果有问题能够随时增加我为好友,找到我并帮你解决问题哦。 微信在生活中曾经很风行了,许多人有两个甚至多个微信号,然而如果在电脑端登录的话一次只能登录一个微信。 那么有什么方法能够在电脑上同时登录多个微信吗?方法当然是有的,只须要编写一个简略的脚本并运行即可! 咱们在桌面找到微信的图标,而后右键,找到属性并点击进去。 而后找到“指标”也就微信装置的启动脚本所在的目录,之后复制这个指标地址“D:\soft\WeChat\WeChat.exe”。 而后咱们在桌面新建一个文本文档。 之后在文本文档中粘贴上刚刚复制的命令,这里也就是有行命令就会关上几个微信! 留神“start"和命令”D:\soft\WeChat\WeChat.exe“有空格 start D:\soft\WeChat\WeChat.exestart D:\soft\WeChat\WeChat.exe 之后保留并敞开文档,而后批改".txt"后缀为".bat"。保留的时候会有这个提醒,点击“是”就行了。 脚本实现之后就是这样子了,咱们日后只用双击这个脚本就能够了。 在刚开始的时候两个微信会重叠在一起,看着就像一个一样。能够先登录第一个,而后在登录第二个。登录第二个就须要进行扫码登陆了,因为之前个那个是留存了记录,毕竟同一个账号不能在一个电脑上同时登录。 都胜利登录之后咱们就能够在电脑的右下角看到两个微信图标了,是不是很不便呢? 脚本我曾经上传到公众号上,后盾回复“微信脚本”即可获取,下载到脚本之后能够依据本人电脑进行配置,如果有问题能够随时增加我为好友,找到我并帮你解决问题哦。

March 3, 2021 · 1 min · jiezi

关于微信:前端面试每日-31-第666天

明天的知识点 (2021.02.10) —— 第666天 (我也要出题)[html] 请实现一个微信炸弹的成果[css] 如何给字体设置暗影成果?[js] 请通过代码来解释下new和instanceof的外部机制[软技能] 你感觉应该如何写好一个简历?都有哪些准则?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

February 10, 2021 · 1 min · jiezi

关于微信:不用备案也能支持微信自定义分享

咱们晓得,在微信中关上网页,应用右上角的 ... 分享给敌人/朋友圈,是能够应用 JS SDK 自定义分享卡片文案的。为了让分享内容可能更好的受到监管,从晚期会主动读取网页内第一张大图到前期应用 JS SDK 自定义分享,再到前期须要做域名绑定关联,自定义分享卡片内容的流程变的越来越简单。 目前如果你的网站想要减少微信自定义分享文案的反对,须要筹备以下两件事件: 确保你的网站域名已备案,并被增加到了一个已认证的公众号的“JS平安域名”中。提供服务端反对,用于与微信交互获取 access token 和 jsapi ticket 并计算取得最终的 signature,用于在前端调用微信 JS SDK 时进行校验。具体的流程能够参见微信凋谢文档。能够看到要想实现自定义分享文案,除了开发流程之外,你还须要域名备案和公众号认证,这两个做过的人必定晓得会有多头疼了。而最蛋疼的是,我的博客域名后缀 .org 目前是不反对备案的,难道就没有方法了吗? wxhermit为了能让未备案网站也能自定义分享文案,我开发了 wxhermit 这个我的项目。它的原理非常简单,根本就是在已备案域名下 <iframe> 嵌套展现未备案域名,并通过 postMessage 通信,将自定义分享的文案传递到父页面。最终实现了任意网站分享自定义的需要。 当然它的实质还是应用基于最开始的备案域名网站进行分享。因为微信分享须要提供已认证公众号并绑定已备案域名,一个已认证公众号只能绑定至少 5 个平安域名,条件颇为刻薄。针对 5 个以上的域名,局部域名无奈备案的状况,要自定义微信分享的文案就十分麻烦。本计划比拟好的曲折解决该问题。 如何应用在服务端应用 Docker 启动服务。其中 WECHAT_ID 和 WECHAT_SECRET 是在微信公众号后盾开发-根本配置中获取的“开发者ID”和“开发者明码”。而 ALLOW_HOST_LIST 是为了防止服务被滥用,容许开发者配置容许应用内嵌服务的网站。能够应用逗号拼接多个域名,例如 imnerd.org,eming.li。不在该列表中的域名会间接跳转会源地址。 docker run -e WECHAT_ID=<WECHAT_ID> -e WECHAT_SECRET=<WECHAT_SECRET> -e ALLOW_HOST_LIST=<ALLOW_HOST_LIST> -p 8360:8360 lizheming/wxhermit而对于须要应用该服务的网站,须要在页面中减少以下代码用于自定义分享文案。其中 wxhermit 是固定值,其它的为自定义文案内容。 <script>if (window.parent !== window) { window.parent.postMessage({ type: 'wxhermit', title: '自定义分享的题目', desc: '自定义分享的形容', imgUrl: '自定义分享的封面图' }, '*');}</script>配置好后就能够在微信应用 <domain>/?url=<url> 来拜访了,其中 <domain> 是你的已绑定的平安域名,<url> 则是在 ALLOW_HOST_LIST 中配置的可应用域名下的网址。 ...

February 4, 2021 · 1 min · jiezi

关于微信:前端面试每日-31-第651天

明天的知识点 (2021.01.26) —— 第651天 (我也要出题)[html] 应用svg画一个微信的logo[css] 你有写过Less的插件吗?[js] Promise和setTimeout执行先后有什么区别?[软技能] 上拉加载和下拉刷新会遇到什么性能问题?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

January 26, 2021 · 1 min · jiezi

关于chrome:微信新增功能小程序外链短信营销场景如何落地实现营销闭环

在微信小程序反对内部网站跳转到小程序的性能后,咱们第一工夫上线了 PC 端的小程序外链生成器和小程序桌面快捷方式生成器,受到了宽广小程序开发者和产品经营的称誉和利用。为了让大家以更高的效率、更低的老本,取得更显著的营销成果,本周咱们给大家带来两个好消息。 小程序外链反对挪动端配置,只需一部手机,随时随地进行多渠道引流;反对短信内容带小程序外链,疾速设置短信内容,一键实现音讯发送。如果你不是很理解小程序外链,可查看文章《两步实现桌面图标、短信和邮件外链跳转到小程序,轻松召回沉睡用户》。 小程序外链小程序外链是微信小程序近期上线的新性能,反对从内部渠道(邮件、短信、网页、其它 App、手机桌面快捷方式等)疾速跳转到微信小程序平台上。 小程序外链的利用场景短信、邮件内容营销在短信、邮件内容中附上小程序链接,用户点击链接间接跳转到微信小程序指定页面上,无效升高用户操作门槛,进步营销成果。 网页(贴吧、社区、论坛等)反对从网页(如贴吧、社区、论坛等)链接跳转到微信小程序,实现多渠道营销引流。 其它 App(QQ、抖音等)反对在 QQ、抖音等 App 的聊天窗口中,通过小程序外链极速关上微信小程序,无需切换微信客户端。 手机桌面快捷方式通过「小程序桌面快捷方式生成器」能够疾速将小程序增加到手机桌面上,用户无需关上微信客户端,点击图标一秒拜访小程序。 你能够将已生成的小程序外链(URL)和「小程序桌面快捷方式生成器」分享给你的用户,疏导他们将你的小程序增加到手机桌面上,快捷的拜访形式有利于进步小程序活跃度,缩小用户散失。 小程序外链生成器应用步骤挪动端关注通晓云公众号,点击菜单「通晓云」-「小程序外链」跳转到小程序链页面,如果你是首次应用通晓云服务,则需注册账号、创立企业和受权微信小程序,如已有账号,则登录账号即可,首次应用小程序外链性能需更新受权小程序。 点击「增加外链」按钮生成小程序外链(URL),点击「复制」按钮,即可将外链利用到邮件、短信等营销场景中。你还能够针对不同渠道、不同小程序页面创立不同的外链,实现营销渠道的成果剖析。 PC 端登录通晓云控制台,抉择你要设置的利用,点击「微信」-「小程序链」-「增加」按钮,输出相干信息生成小程序外链(URL)。 短信推送增加小程序外链通晓云已反对短信内容疾速插入小程序外链,一键推送短信性能。生成小程序外链后,你能够间接应用零碎已为你筹备好的短信模板,无需简单的配置工作、无需审核、一键发送,一站式实现用户触达。 你能够在「通晓云控制台-经营-短信」中配置短信内容,并抉择你已生成的小程序外链,即可一键发送给你的用户。 舒适提醒: 曾经在通晓云受权过的小程序,须要更新受权,在受权页面中勾选「获取 URL Scheme 权限」单个小程序的外链数量无下限;目前小程序外链暂不反对个人版的小程序;小程序未上线则无奈生成外链;增加小程序桌面快捷方式目前仅反对 iOS 自带浏览器和安卓的小米自带浏览器、谷歌浏览器。更新预报小程序外链性能还在一直迭代中,如果你有其余想法,欢送你随时跟咱们交换。 微信小程序视频播放器;反对快手小程序、车载小程序,全平台反对能力再降级;通晓推送反对 iOS 和 Android 。

January 19, 2021 · 1 min · jiezi

关于微信:微信又出新功能这样收藏帮你释放-10G-内存

你是不是和我一样,刷朋友圈和微信看到"有用"的文章就珍藏起来,而后珍藏了一堆内容,微信变得越来越卡,越来越臃肿!想将微信珍藏的内容导出做二次整顿,也变得十分不不便。 很多人抉择将内容转发到国内诸如印象笔记、为知笔记、有道云笔记等这样的珍藏工具,开释微信内存。但操作步骤却相当繁琐,以珍藏文章到有道云为例,须要先复制链接,再关上公众号,粘贴才可实现珍藏,这样一来,用户从浏览到珍藏的流程就被隔断了,体验不是很晦涩。 也有一些应用微信机器人帮忙珍藏的工具,尽管珍藏的门路短了,但服务不是很稳固,丢珍藏是常有的事,还时不时收到群发音讯骚扰。始终以来笔者都想找一款洁净简洁的珍藏工具,将微信珍藏内存开释,也心愿珍藏更丰盛的内容。 而最近,咱们发现了一款产品「知拾珍藏」,就能满足需要。无论是App颜值还是应用体验上都十分不错。 首先在应用体验上做到了极简微信登录绑定知拾珍藏小助手,之后珍藏就只需一个动作,即「像聊天一样转发」即可珍藏! 比方你在微信上看到不错的游览攻略,只需转发给知拾珍藏小助手,关上App时,就能够看到珍藏的内容了。下次再想找回游览的内容,能够间接关上App搜寻。 除了微信文章,知拾珍藏还反对文本、图片、语音条、视频、聊天记录、文件、网页、地理位置等多种格局的内容珍藏,像地理位置更是可间接调用地图关上。 更实用的是,文章转发到知拾珍藏后,零碎会主动打标签,并主动标记珍藏工夫,不便后续归类整顿。 不止于微信珍藏的常识神器如果说知拾珍藏只能珍藏微信上的内容,那作用并不大。事实上,其余App内只有是可能转发到微信的内容大部分都能够珍藏,包含但不限于知乎、今日头条、哔哩哔哩、网易新闻、博客等等。 不过须要留神的是,有些内容转发到微信后会主动变成小程序,而知拾珍藏不反对珍藏小程序哦,此时能够复制链接发送给小助手实现珍藏。 这样一来,有了知拾珍藏,就能够将散落到各个App的珍藏集中在一起对立治理了,还能够开释微信珍藏内存,帮你开释10个G! 那么知拾珍藏如何帮你治理常识呢? 1)笔记本分类,让珍藏井井有条知拾珍藏反对新建笔记本将零散的常识进行分类管理。 点击知拾珍藏App左上角笔记按钮,即可新建笔记本。笔记本性能预设了十分精美的封面,你能够抉择喜爱的封面并自定义笔记本名称,长按封面可编辑或删除笔记本。 2)可批量治理:挪动+删除创立好笔记本后,就能够将珍藏的内容挪动到对应的笔记本中了。 手机长按珍藏内容即可可触发批量挪动操作,苹果手机也可左滑任意一条珍藏,抉择更多,将笔记分享到微信、挪动到笔记本或批量挪动操作到文件夹。 而对于不想再珍藏的内容,只须要选中要删除的内容,左滑进行删除即可(安卓则是长按进行删除)。 3)微信删除记录,App永恒保留有意思的是,即使微信上与知拾珍藏的聊天记录删除了,App上的珍藏也会永恒保留哦,这样一来,就能够永恒保留微信聊天记录,又不占用微信内存了。 另外,很多敌人十分关怀:如果珍藏的微信文章被原作者删除了,在知拾珍藏是否还能失常查看?答案是必定的,知拾珍藏近期推出的扩大插件「注释存档」就是为了解决这个问题。 将「注释存档」插件增加到知拾珍藏App后,每珍藏一篇文章,零碎就会对文章内容注释进行主动备份,即便原珍藏的微信文章被发布者删除了,已珍藏到App的文章也永不过期! 会写代码的用户还能够依据官网提供的开发文档进行开发并接入零碎,实现性能扩大。心愿可能和宽广开发者一起构建最大的微信珍藏非官方开放平台,须要开发文档的能够分割微信 jinkeylove 备注知拾珍藏开发。 4)关键词一键全局搜寻随着珍藏的内容越来越多不好找,怎么办呢?除了下面提到的笔记本分类珍藏性能疾速查找,知拾珍藏还提供了全局搜寻性能,反对输出关键词和同时抉择多个类型格局进行搜寻,这样就能第一工夫找到你珍藏的内容了。 5)加备注检索更不便图片、视频等多媒体素材,内容尽管能够通过AI实现内容的主动摘要,但用户通常对内容有本人的了解,或者做一些小笔记、感想、记忆点之类的,所以知拾珍藏也容许用户对珍藏内容进行备注。左滑珍藏,抉择「更多」,在「备注」处即可编辑备注,输出内容。更厉害的是,备注的内容也反对搜寻,查找更加不便。 6)深色模式/浅色模式知拾珍藏也适配了深色模式,早晨浏览,再也不怕闪着眼睛了! 而近期,知拾珍藏网页版(http://wxcollect.com/)也上线啦,微信扫码登录即可看到App上珍藏的内容!在网页版上能够更不便地查看网页、文件等内容,将珍藏抉择拖动到笔记本中也可实现简略的分类珍藏,是不是很不便呢? 将来打算跟开发者聊了知拾珍藏的将来的打算,据悉,将来,知拾珍藏会: 减少Webhook,开发者能够自在对接Notion、印象笔记等利用网页版减少搜寻性能减少微博、邮件等多种珍藏起源超级搜寻:容许按条件搜寻珍藏扩大插件字段

January 16, 2021 · 1 min · jiezi

关于微信:小程序外链实现桌面图标短信和邮件外链跳转到小程序的工具

近期微信小程序上线新性能,将流量生态延长到微信以外渠道,进一步补足了小程序的营销场景。除了之前上线过 app 跳转小程序,小程序再跳转回 app 的性能,这次新上线的性能有: 反对邮件中文本链接跳转到小程序反对短信中链接跳转到小程序反对二维码辨认跳转到小程序反对 iOS 桌面小程序图标跳转到小程序这对于小程序运营者而言,相对是个好消息。全渠道召回用户,好像刚刚定下的 2021 年经营 kpi 就要提前完成了! 开发者通过服务端接口能够获取关上小程序任意页面的 URL Scheme,后盾反对生成的到期生效和永恒无效的 URL Scheme。有了 URL Scheme,开发者和经营就能够通过短信、邮件等形式唤醒用户,不便用户间接从微信内部关上链接跳转到微信小程序。 演示成果如下。 你也能够间接下拉到题目「 如何疾速获取和应用小程序外链 」查看教程,就算你是一名经营人员,也能够轻松搞定,无需期待开发排期,3 秒即可实现接入,春节流动全渠道营销立马安顿! 邮件跳转 短信跳转 二维码跳转 iOS 桌面图标跳转 比拟让人意外的应用场景是桌面。很久以前 Android 就能够将小程序增加至桌面,点击桌面快捷方式的图标,用户就能回到微信小程序页面。 有了网页跳转小程序的新性能,iOS 也能够做到将小程序增加到桌面了。 ▲ 利用 shortcuts 将小程序增加桌面 看完演示后,你可能有两个问题:如何获取小程序外链(URL)?如何将小程序图标增加到桌面? 答案在此 ???? 如何疾速获取和应用小程序外链01 获取小程序外链(URL) 登录通晓云控制台,点击「微信」-「小程序链」-「增加」按钮,输出相干信息生成小程序外链(URL)。你还能够针对不同渠道创立不同的外链,实现营销渠道的成果剖析。 如果你还不是通晓云的用户,请先注册账号,创立利用并实现微信小程序受权,能力获取小程序外链(URL),点击接入文档查看教程。 02 在邮件/短信中用小程序外链实现营销 经营人员在编辑邮件/短信内容时,将小程序外链(URL)粘贴到对应文案中,当用户收到邮件/短信时,点击该外链即可疾速跳转到微信小程序,再也不必关上微信 App 搜寻小程序名称或者扫描二维码能力拜访小程序,无效升高用户操作门槛,进步营销成果。 03 疏导用户在手机桌面上生成小程序图标 在通晓云控制台,点击「增加到桌面」按钮,即可关上「小程序桌面快捷方式生成器」。你能够将已生成的小程序外链(URL)和「小程序桌面快捷方式生成器」分享给你的用户,疏导他们将你的小程序增加到手机桌面上,用户无需关上微信客户端,点击图标一秒拜访小程序。快捷的拜访形式有利于进步小程序活跃度,缩小用户散失。 以上教程基于 PC 端实现,挪动端的反对将于下周上线,敬请期待。 目前微信小程序该性能有两个限度: 它的凋谢范畴是仅针对国内非集体主体小程序凋谢,集体开发者想用上这个性能只能注册公司或者期待。另一个问题是这种这个性能在微信 app 内不实用。你能够在微信内部用这个计划进行引流,但在微信外部,想要疏导用户跳转还是只能用小程序卡片和小程序码等形式,经由用户确认后实现跳转。从实用角度来看,外链跳转小程序的新性能是补足了营销场景的。设想一下双十一前你天天收到的营销短信,是不是总要带一个跳转链接。而当初,这个跳转的起点也能够是微信小程序。用户召回,用户激活,在微信内部平台,这些都能通过一个网页链接做到。 跨浏览器和 app 零碎的 URL 自身就是操作系统提供的一种联通形式,它简直能够达到互联网的任意一个区域。当初,小程序也退出了这种全局的联通形式,这显著给运营者和开发者提供了更多的设想空间。

January 11, 2021 · 1 min · jiezi

关于微信:SAP系统和微信集成的系列教程之八100行代码在微信公众号里集成地图搜索功能

本系列的英文版Jerry写作于2017年,这个教程总共蕴含十篇文章,发表在SAP社区上。 系列目录 (1) 微信开发环境的搭建 (2) 如何通过微信公众号生产API (3) 微信用户关注公众号之后,主动在SAP C4C零碎创立客户主数据 (4) 如何将SAP C4C主数据变动推送给微信公众号 (5) 如何将SAP UI5利用嵌入到微信公众号菜单中 (6) 如何通过OAuth2获取微信用户信息并显示在SAP UI5利用中 (7) 应用Redis存储微信用户和公众号的对话记录 (8) 微信公众号的地图集成:100行代码在微信公众号里集成地图搜索性能( 本文 ) (9) 如何将微信用户发送到微信公众号的音讯保留到SAP C4C零碎 (10) 如何在SAP C4C零碎间接回复音讯给微信公众号的订阅者 最近有不少敌人在微信上向我征询SAP零碎和微信公众号集成的问题,因而我把过后写的英文版翻译成中文,从新公布在我的公众号上。 须要留神的是,时隔三年,微信公众号的开发流程可能有所变动,请大家自行甄别。和微信公众号集成的零碎,我三年前抉择的是SAP Cloud for Customer. Jerry之前在SAP成都研究院数字翻新空间工作时,常常须要做一些在微信app里展现的原型,而微信里间接进行地图搜索,曾经是国内客户公认的一个最根本的需要了。 Jerry过后工作中须要给某个微信公众号削减一个新的菜单,用户点击之后,须要在微信app内嵌的浏览器里,应用地图搜索性能。我过后在网上找了很多例子,都是基于前端框架比方jQuery,Bootstrap,Vue来开发的。我感觉对于实现我那个简略的地图搜索需要来说,这些前端框架太重了,因而本人花了一点工夫,把网上找到的一个例子的地图搜索性能,从其前端实现框架中剥离进去,之后这个例子无需任何前端框架即可运行。 这个地图搜索的性能应用起来很简略,在微信公众号里通过菜单关上我剥离之后,纯HTML/JavaScript实现的百度地图的搜寻界面后,在input字段里输出地址,而后点Search按钮,即可主动定位到目标地址。 地图的放大和放大,地图类型的切换都是百度地图库自身提供的,开发人员无需任何额定的编程工作。 残缺代码在我的Github上。 上面是局部代码阐明。 这个微信公众号地图集成的思路还是和 如何将SAP UI5利用嵌入到微信公众号菜单中 提到的一样,即先在本地开发一个能提供地图搜索的网页利用,测试通过后将其部署到云平台,将部署到云平台后生成的url绑定到微信公众号菜单即可。 我的这个地图搜索网页利用只须要实现惟一的一个index.html,源代码刚好100行: 能够复制粘贴的代码地址如下。 网页加载时,onload hook触发函数findDefaultLocation, 将默认地址,成都,定位并显示在地图上。 新建一个文件夹map,将index.html放至其内,用url /map映射到map文件夹: 这样咱们在浏览器地址栏里增加/map的片段,就能通过nodejs express库,拜访到map文件夹下的index.html网页了。该nodejs利用部署到云平台后的拜访成果如下: 浏览器输出https://wechatjerry.herokuapp... 默认主动定位到成都: 最初调用 如何将SAP UI5利用嵌入到微信公众号菜单中 提到的微信公众号菜单创立API,将下列JSON负载传入API,即可将云平台上的地图搜索网页利用同新建的微信公众号菜单绑定在一起。 ...

January 6, 2021 · 1 min · jiezi

关于微信:微信扫一扫登录使用小程序实现

集体网站是无奈接入微信扫一扫登录的,只能应用曲线救国的形式,采纳小程序了,小程序是能够获取到微信用户的 UnionID 的。 首先第一步要注册一个小程序利用,很简略的,用邮箱申请即可,点击注册 注册实现之后就能够进行开发了,我后盾服务应用的是node来写的 生成小程序二维码要做扫一扫登录,二维码是不可少的,官网也提供了几种生成二维码的形式。查看生成形式 我应用的是A接口,详细信息可查看官网文档。 POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN从api上能够看出,调用这个接口须要传入成一个 ACCESS_TOKEN ,这个不是咱们生成的,须要调用小程序的服务来获取到。 ACCESS_TOKEN 获取 ACCESS_TOKEN 示例 token过期的工夫是由微信服务管制的,拿到之后能够存到redis中,不须要每次都去获取新的获取到token之后就能够调用生成二维码的办法了 调用示例 返回的是二维码的文件名称 解决登录申请,在小程序实现受权之后,调用webSocket服务告诉页面受权胜利,跳转到首页 页面显示二维码 登录页面调用服务器端生成二维码并显示在页面上,并且连贯webSocket服务,期待服务器确认登录。 小程序login.js login.wxml github 体验地址

December 14, 2020 · 1 min · jiezi

关于微信:SAP系统和微信集成的系列教程之三微信用户关注公众号之后自动在SAP-C4C系统创建客户主数据

这是Jerry 2020年的第84篇文章,也是汪子熙公众号总共第266篇原创文章。 本系列的英文版Jerry写作于2017年,这个教程总共蕴含十篇文章,发表在SAP社区上。 系列目录(1) 微信开发环境的搭建 (2) 如何通过微信公众号生产API (3) 微信用户关注公众号之后,主动在SAP C4C零碎创立客户主数据 (4) 如何将SAP C4C主数据变动推送给微信公众号(本文) (5) 如何将SAP UI5利用嵌入到微信公众号菜单中 (6) 如何通过OAuth2获取微信用户信息并显示在SAP UI5利用中 (7) 应用Redis存储微信用户和公众号的对话记录 (8) 微信公众号的地图集成 (9) 如何将微信用户发送到微信公众号的音讯保留到SAP C4C零碎 (10) 如何在SAP C4C零碎间接回复音讯给微信公众号的订阅者 最近有不少敌人在微信上向我征询SAP零碎和微信公众号集成的问题,因而我把过后写的英文版翻译成中文,从新公布在我的公众号上。 须要留神的是,时隔三年,微信公众号的开发流程可能有所变动,请大家自行甄别。和微信公众号集成的零碎,我三年前抉择的是SAP Cloud for Customer. 本文实现的场景是:我申请了一个用于测试的微信公众号,用户点击“关注”按钮: 在微信app上收到了一条微信音讯服务器发送的提醒关注胜利的自定义音讯: 同时,微信音讯服务器调用SAP Cloud for Customer(以下简称SAP C4C) OData API,在C4C零碎创立了一条客户主数据,类型为Individual Customer. 胜利创立的C4C客户主数据id,1000441,也一并发送到微信app上: 依据这个id,即可在C4C零碎查问到微信用户关注公众号之后主动生成的客户主数据: 上面是这个场景的实现细节。在入手编码之前,请确保你曾经实现了这个系列之前两篇文章里提到的步骤: (1) 微信开发环境的搭建(2) 如何通过微信公众号生产API 具体实现步骤咱们须要在nodejs实现的微信音讯服务器里调用SAP C4C OData API,因而须要在nodejs利用里指定C4C OData API的endpoint. 创立一个config.js文件,实现config module: 第二行创立C4C客户主数据的OData url,能够在SAP官网github的C4C OData开发指南仓库里找到,链接如下。 ...

December 5, 2020 · 1 min · jiezi

关于微信:SAP系统和微信集成的系列教程之二如何通过微信公众号消费API

本系列的英文版Jerry写作于2017年,这个教程总共蕴含十篇文章,发表在SAP社区上。 系列目录(1) 微信开发环境的搭建(2) 如何通过微信公众号生产API(本文)(3) 微信用户关注公众号之后,主动在SAP C4C零碎创立客户主数据(4) 如何将SAP C4C主数据变动推送给微信公众号(5) 如何将SAP UI5利用嵌入到微信公众号菜单中(6) 如何通过OAuth2获取微信用户信息并显示在SAP UI5利用中(7) 应用Redis存储微信用户和公众号的对话记录(8) 微信公众号的地图集成(9) 如何将微信用户发送到微信公众号的音讯保留到SAP C4C零碎(10) 如何在SAP C4C零碎间接回复音讯给微信公众号的订阅者 最近有不少敌人在微信上向我征询SAP零碎和微信公众号集成的问题,因而我把过后写的英文版翻译成中文,从新公布在我的公众号上。 须要留神的是,时隔三年,微信公众号的开发流程可能有所变动,请大家自行甄别。和微信公众号集成的零碎,我三年前抉择的是SAP Cloud for Customer. 始终牢记咱们这个系列的指标是学会如何用微信公众号同SAP零碎(SAP Cloud for Customer,以下简称C4C)集成。要实现这个指标,就得通过微信公众号生产SAP C4C的OData API. 作为学习的第一步,咱们首先学习如何在微信公众号调用一般的API,而非SAP C4C OData API. 假如这样一个简略的场景:用户关注微信公众号之后,通过微信app给公众号发送一些文字信息。公众号收到这些文字信息,会转发给咱们在本系列第一篇文章 微信开发环境的搭建 里提到的微信音讯服务器。此时微信音讯服务器接管到转发过去的文字信息后,调用一些具备人工智能的API,将API的响应通过微信app回复给用户。 绑定了微信音讯服务器的微信公众号,在这个场景里表演的其实就是一个简略的聊天机器人的角色。用户和微信公众号通过一问一答的形式进行交互。 Jerry还记得上大学的时候,学习《Unix网络编程》这门专业课,一个练习就是,通过套接字自行实现一对客户端和服务器,客户端发送一个字符串给服务器,服务器接管后一成不变地将其返回,即所谓的Echo Server. 在入手实现微信聊天机器人之前,咱们先升高难度,实现一个简略的微信echo服务,即无论用户发送任何信息给公众号,都会收到信息自身,再加上"Add by Jerry"的前缀。 本文用到的我的项目残缺源代码,在我的Github可能下载。 首先在server.js里,利用nodejs express库启动一个web服务器: 上图第二行routesEngine的实现,位于index.js里。微信app收到用户通过微信app发送的文本音讯时,会通过一个HTTP POST申请转发给微信音讯服务器。微信音讯服务器接管到该申请后,调用第五行的echoService解决: echoService的实现位于文件echo.js中:首先从变量req蕴含的HTTP申请中,将用户输出的文本信息解析进去(第11行),而后加上"Add by Jerry: "的前缀,并将后果存储在变量content里(第13行), 最初调用本人开发的工具办法replyMessage,将加上前缀的文本信息返回给用户。 上图第15行的replyMessage工具办法,须要从微信app转发给微信音讯服务器的HTTP POST申请里, 解析登程送音讯的微信用户id,而后再将拼接了"Add by Jerry: "前缀的内容发送给该id标识的微信用户。 replyMessage的实现位于replyMessage.js中: ...

December 5, 2020 · 1 min · jiezi

关于微信:SAP系统和微信集成的系列教程之一微信开发环境的搭建

本系列的英文版Jerry写作于2017年,这个教程总共蕴含十篇文章,发表在SAP社区上。 最近有不少敌人在微信上向我征询SAP零碎和微信公众号集成的问题,因而我把过后写的英文版翻译成中文,从新公布在我的公众号上。 须要留神的是,时隔三年,微信公众号的开发流程可能有所变动,请大家自行甄别。和微信公众号集成的零碎,我三年前抉择的是SAP Cloud for Customer. 搭建开发环境的前置条件 (1) 去微信公众平台申请一个微信公众号。(2) 这个教程里的微信音讯服务器是用nodejs开发的,所以须要对nodejs的开发有一个根本的理解。 具体环境搭建流程登录微信公众平台, 进入公众号治理控制台:Development->Basic configuration 在下图的URL字段里,保护你的微信音讯服务器地址。当咱们应用微信app往某个微信公众号发送音讯时,微信app会把该音讯转发给微信公众号绑定到的微信音讯服务器去。该音讯服务器处理完毕后,将处理结果推送回微信app. 上图中我的微信音讯服务器部署在heroku云平台上,当然你也能够把本人用nodejs开发的微信音讯服务器,部署在其余的云平台,比方阿里云,腾讯云,SAP云平台等均可。 仅仅简略地将云平台上的微信音讯服务器的url保护在上图的URL字段是不够的,咱们必须遵循微信公众号开发指南里定义的一个校验流程,从而让音讯服务器同微信公众号真正地建设绑定关系。 校验流程文档如下: 点击下图的submit按钮之后,微信公众平台会发送一个HTTP申请到咱们开发的微信音讯服务器去: HTTP申请的url格局如下: https://<your server url>/?signature=096abd439b41f9610aeabe2d7534084fd8dafa20&echostr=16168327802220428137&timestamp=1512810825&nonce=384289189 咱们的微信音讯服务器,收到这个申请后,将微信公众号的账号令牌, HTTP申请里蕴含的工夫戳和nonce字段作为输出,依照微信开发指南里的阐明计算一个输入值,如果该输入值和HTTP申请传入的签名值(signature)相等,则该微信音讯服务器通过验证,后续能够接管来自微信app的用户申请。 如果计算的输入值不等于HTTP申请传入的签名值,则验证失败,谬误音讯:Token authentication failed. 应用nodejs开发微信音讯服务器的简要步骤: (1) 新建一个nodejs利用,package.json里定义依赖如下。定义启动脚本start执行的命令行为: node server.js (2) 实现server.js, 次要逻辑是接管前文形容的submit按钮点击之后,发送给微信音讯服务器的HTTP验证申请,从申请中提取出工夫戳(下图第17行)和nonce字段(下图第19行),应用SHA-1散列算法计算出一个哈希值(下图第29行),而后同HTTP申请传入的签名值比拟(第31行). 如果两个值相等,在第32即将HTTP申请传入的echostr返回给微信公众平台,验证通过。 之前有一些SAP从业者们,吐槽微信公众平台上给出的代码示例是基于Python的,而不是SAP生态圈内的敌人们更罕用的Java或者JavaScript. 如果想拷贝上图的nodejs源代码,能够在Jerry的SAP社区博客里取得。 最初,将这个nodejs利用部署到云平台上,比方腾讯云,阿里云,SAP云平台等。 我2017年写作的时候,抉择的是heroku云平台,部署利用的具体步骤参考我这篇文章: Step by step to host your UI5 application in Heroku 音讯服务器部署到云平台之后,点击微信公众号后盾控制台的submit按钮,从heroku的管制台上,能看到nodejs利用里用console.log打印出的日志,其中HTTP申请传入的签名值和nodejs利用里计算出的哈希值统一,所以验证通过。 验证通过后,微信公众号控制台的服务器配置字段,能看到is enabled的提醒,阐明该音讯服务器曾经可能承受用户应用微信app给微信公众号发送的音讯了。 这个系列的下一篇文章,Jerry会介绍如何在微信音讯服务器中接管用户用微信app发送给微信公众号的音讯,解决之后如何推送回微信app. 感激浏览。 更多Jerry的原创文章,尽在:"汪子熙":

December 5, 2020 · 1 min · jiezi

关于微信:开发一个将微信表情保存到相册的工具机器人使用wechaty

如果你想试试,或者不想理解原理,间接应用 请在公众号 小面条工具 回复 机器人 应用wechaty来开发一个用于将表情保留到相册的机器人 起因为什么我要开发一个这样的机器人。 从18年开始,网页版微信曾经陆续被封禁,之前咱们应用网页微信登录后,能够轻松取得表情的cdn地址,然而这种办法不能够了之后,咱们当初仅仅能抉择公众号网页后盾的模式,下载表情包,然而这两种形式都须要借用电脑的帮忙。 如果仅仅用手机怎么办呢,那么咱们只能抉择其余的黑科技形式。 我目前的思路一共是两种。 1.应用无头浏览器挂网页公众号后盾,解析协定。2.应用微信协定,写机器人,解析表情包cdn。最初通过我的调研之后抉择了第二种,并且应用了wechaty来作为开发的库,并且应用的是‘wechaty-puppet-hostie’协定。 因为wechaty应用node开发,所以我会同样应用nodejs作为开发语言 话不多说 间接上代码,我会一步步解说 const { Wechaty } = require('wechaty')const { ScanStatus } = require('wechaty-puppet')const QrcodeTerminal = require('qrcode-terminal')const { FileBox } = require('file-box')const parseString = require('xml2js').parseString; 首先引入这几个库。 wechaty wechaty主库file-box wechaty 上传文件应用的库xml2js 解析xml的库 const token = "xxx"const bot = new Wechaty({ puppet: 'wechaty-puppet-hostie', puppetOptions: { token, }}); 初始化bot 这外面toke 须要通过开源协定获取 bot .on('scan', (qrcode, status) => { if (status === ScanStatus.Waiting) { QrcodeTerminal.generate(qrcode, { small: true }) } }) .on('login', async user => { console.log(`user: ${JSON.stringify(user)}`) }) 此处为二维码展现,和登录状况,接下来就是重点了, ...

November 23, 2020 · 2 min · jiezi

关于微信:微信开发系列之十-在SAP-C4C接收微信发送过来的服务请求回应

文章系列目录Wechat development series 1 – setup your development environmentWechat development series 2 – development Q&A service using nodejsWechat development series 3 – Trigger C4C Account creation in Wechat appWechat development series 4 – Send C4C Data change notification to Wechat appWechat development series 5 – embedded your UI5 application to Wechat appWechat development series 6 – Retrieve Wechat User info via oAuth2 and display it in UI5 applicationWechat development series 7 – use Redis to store Wechat conversation historyWechat development series 8 – Map integrationWechat development series 9 – Create C4C Social Media Message and Service within Wechat appWechat development series 10 – Use Wechat app to receive Service Request reply made from C4CIn previous blog Wechat development series 9 – Create C4C Social Media Message and Service within Wechat app it is already achieved that Wechat user can directly talk to the subscription account in Wechat app and a new Service Request ( and a social media message ) will automatically be created in C4C system under custom channel created for Wechat. ...

September 1, 2020 · 3 min · jiezi

关于微信:微信开发系列之八-微信公众号的地图集成

文章系列目录Wechat development series 1 – setup your development environmentWechat development series 2 – development Q&A service using nodejsWechat development series 3 – Trigger C4C Account creation in Wechat appWechat development series 4 – Send C4C Data change notification to Wechat appWechat development series 5 – embedded your UI5 application to Wechat appWechat development series 6 – Retrieve Wechat User info via oAuth2 and display it in UI5 applicationWechat development series 7 – use Redis to store Wechat conversation historyWechat development series 8 – Map integrationWechat development series 9 – Create C4C Social Media Message and Service within Wechat appWechat development series 10 – Use Wechat app to receive Service Request reply made from C4CIn Wechat development series 5 – embedded your UI5 application to Wechat app we have learned the steps how to put a web page into the Wechat app. Use the same approach, we can enable our subscription account with a little bit more feature: the map integration.When a user has subscribed the test account, the Map integration menu is available: ...

August 31, 2020 · 3 min · jiezi

关于微信:微信开发系列之一-微信公众号开发的开发环境搭建

文章系列目录Wechat development series 1 – setup your development environmentWechat development series 2 – development Q&A service using nodejsWechat development series 3 – Trigger C4C Account creation in Wechat appWechat development series 4 – Send C4C Data change notification to Wechat appWechat development series 5 – embedded your UI5 application to Wechat appWechat development series 6 – Retrieve Wechat User info via oAuth2 and display it in UI5 applicationWechat development series 7 – use Redis to store Wechat conversation historyWechat development series 8 – Map integrationWechat development series 9 – Create C4C Social Media Message and Service within Wechat appWechat development series 10 – Use Wechat app to receive Service Request reply made from C4CTencent’s WeChat, a social networking app with more than 760 million monthly active users, is becoming a dominant mobile channel connecting businesses and customers. This series will illustrate how to do some development on Wechat so it could interact with SAP product like SAP Cloud for Customer. ...

August 30, 2020 · 4 min · jiezi

关于微信:微信开发系列之二-在微信公众号里开发一个自动应答的图灵机器人

In previous blog Wechat development series 1 – setup your development environment I introduce the necessary step to setup environment for Wechat development. In this blog, let’s try to achieve some features which makes more sense – the Q&A service implementation based on Wechat platform.Q&A service typically has the following activity flow: (1) The users of your Wechat subscription account send some text to your subscription account as question;(2) The Wechat platform delegates the message sent by your user to the given url maintained in the subscription account. See mine below for example: ...

August 30, 2020 · 4 min · jiezi

关于微信:微信开发系列之三-在微信公众号里发起SAP-C4C-Account的创建

Tencent’s WeChat, a social networking app with more than 760 million monthly active users, is becoming a dominant mobile channel connecting businesses and customers.In previous blogs we have already setup the environment for Wechat development and build some toy services to get familar with overall process. In this blog, we will implement some feature which interacts with C4C system. The implementation contains purely nodejs development via Javascript and do not need any development in C4C side. ...

August 30, 2020 · 4 min · jiezi

关于微信:微信开发系列之四-将SAP-C4C的数据更改通知发送到微信公众号上

文章系列目录Wechat development series 1 – setup your development environmentWechat development series 2 – development Q&A service using nodejsWechat development series 3 – Trigger C4C Account creation in Wechat appWechat development series 4 – Send C4C Data change notification to Wechat appWechat development series 5 – embedded your UI5 application to Wechat appWechat development series 6 – Retrieve Wechat User info via oAuth2 and display it in UI5 applicationWechat development series 7 – use Redis to store Wechat conversation historyWechat development series 8 – Map integrationWechat development series 9 – Create C4C Social Media Message and Service within Wechat appWechat development series 10 – Use Wechat app to receive Service Request reply made from C4CIn previous blog when a Wechat user subscribes the subscription Wechat account, a new individual customer is automatically created in C4C system. ...

August 30, 2020 · 4 min · jiezi

关于微信:微信开发系列之五-将SAP-UI5应用嵌入到微信中

文章系列目录Wechat development series 1 – setup your development environmentWechat development series 2 – development Q&A service using nodejsWechat development series 3 – Trigger C4C Account creation in Wechat appWechat development series 4 – Send C4C Data change notification to Wechat appWechat development series 5 – embedded your UI5 application to Wechat appWechat development series 6 – Retrieve Wechat User info via oAuth2 and display it in UI5 applicationWechat development series 7 – use Redis to store Wechat conversation historyWechat development series 8 – Map integrationWechat development series 9 – Create C4C Social Media Message and Service within Wechat appWechat development series 10 – Use Wechat app to receive Service Request reply made from C4CIf you have your UI5 application already running smoothly on some cloud platform like SCP or Heroku, it is then very easy to embed it in the Wechat app. The typical scenario is, when a Wechat user has subscribed your Wechat subscription account, he/she will see some available meu inside the Wechat app defined by you.In example below, “UI5” is top level menu and “Jerry List” is sub menu item. ...

August 30, 2020 · 2 min · jiezi

关于微信:微信开发系列之六-使用微信OAuth2-API读取微信用户信息显示在SAP-UI5里

文章系列目录Wechat development series 1 – setup your development environmentWechat development series 2 – development Q&A service using nodejsWechat development series 3 – Trigger C4C Account creation in Wechat appWechat development series 4 – Send C4C Data change notification to Wechat appWechat development series 5 – embedded your UI5 application to Wechat appWechat development series 6 – Retrieve Wechat User info via oAuth2 and display it in UI5 applicationWechat development series 7 – use Redis to store Wechat conversation historyWechat development series 8 – Map integrationWechat development series 9 – Create C4C Social Media Message and Service within Wechat appWechat development series 10 – Use Wechat app to receive Service Request reply made from C4CIn previous blog Wechat development series 5 – embedded your UI5 application to Wechat app we have successfully embedded one UI5 application within app. Now we go one step further: suppose in our UI5 application we need to retrieve some basic information of current user who has subscribed our Wechat account, for example the nick name of Wechat user, we should follow some special process defined by Wechat, as those user information is sensitive and should never be returned by Wechat API unless Wechat users have explicitly approved that it could be retrieved, that is, the operation to access Wechat user information must explicitly be authorized.From Wechat official API document the authorization process is defined according to oAuth2 protocol. ...

August 30, 2020 · 5 min · jiezi

关于微信:微信公众号开发第一课使用ThinkPHP5未完

本文最终成果因为官网文档一贯合乎TX的格调(永远是不尽如人意,永远是老手不敌对),导致首次接触公众号时往往不晓得该看什么,本文会同时给出操作的指标地址和教程地址,旨在疏导读者去看官网文档中的重要局部。在文章的最开始给出最终实现成果,是为了让读者有一个清晰的指标。 首先能实现如何建设一个失常运行的公众号,并接入开发者的后盾服务器。 而后设置公众号的性能按钮和二级菜单。 在点击性能按钮后,跳转到Web零碎并实现在Web中的主动登录。 一、申请公众号公众号申请地址: 微信公众平台(接口测试号申请地址:申请接口测试号) 公众号分为三种:服务号、订阅号、接口测试号(小程序不属于公众号)。 服务号是用于企业为用户提供服务的(例如银行的查问零碎、餐饮业的订餐零碎),并且能够和小程序配合应用来实现更多成果。 而订阅号更多的用于集体开发者公布文章或经营自媒体。订阅号最罕用的性能就是“推文”,例如,学校的社团、各种组织就能够用订阅号来推送文章。 在接口权限阐明中给出了服务号和订阅号权限的区别。 值得一提的是,服务号须要进行企业认证能力领有高级接口的使用权,而个别开发者没有能力也没有必要认证服务号。对于应用订阅号的开发者,如果想体验全副的接口,微信专门提供了一种接口测试号,它领有全副接口权限,但不能失常经营,仅供测试。 依照失常流程注册即可,不在赘述。 二、接入开发者服务器扫描登录后,呈现了公众号的根本信息:(应用接口测试号举例,服务号相似) 在最醒目的中央给出了appID和appsecretappID是公众号的惟一标识,secret是用于公众号身份验证的密钥。 接下来是接口配置信息:接口配置信息是接入开发者服务器的重要步骤。 首先要有一台服务器。如果是接口测试号,URL处能够应用服务器的IP地址,否则要求服务器必须有域名,URL处应用域名。 URL的格局必须是http或https结尾,因为咱们应用ThinkPHP所以须要准确到具体的模块->控制器->办法即可。 Token也是一个用于身份验证的口令。当微信服务器向开发者服务器发送信息时, 开发者服务器并不知道此音讯是不是来自微信服务器,但如果微信服务器带着Token发送信息,开发者服务器就能够通过口令是否正确来判断音讯是否来自微信。此处的Token能够自在填写,初学时用不到Token。 填入结束后,如果后盾没有对应的服务,会产生保留失败。起因是保留接口信息时,微信会向填入的这个地址发送一条验证信息,信息中带有各种参数,其中一个参数是echostr。只有开发者服务器能把echostr一成不变的返回给微信服务器,即视为验证胜利。 接下来就是在服务器上部署一个能够接管验证信息并返回echostr的办法,为了便于了解,咱们不进行校验,间接返回承受到的echostr: $echoStr = $_GET["echostr"];echo $echoStr;exit;办法的地位须要和方才URL中的路由统一。 此时就保留胜利了。 然而这样是不平安的,因为无论是谁来向开发者服务器发送数据,都会失常返回,理论开发时,可参考接入概述来减少验证。 三、减少公众号“主动回复”性能因为工夫起因无奈全副写完,日后欠缺,可参考官网文档:入门指引 四、实现“主动登录”所谓主动登录,就是用户在通过公众号进入咱们开发的Web零碎时,不须要再输出用户名明码,而是间接通过用户的微信号,来判断用户的身份进而实现主动登录。 请临时参考我之前的文章:图解微信”网页受权“主动登录(附ThinkPHP5.1代码) 还有另一篇学长编写的Angular前后端拆散我的项目如何企业微信网页认证文中的一些思维值得咱们借鉴。 总结微信公众号的开发,次要是有抉择有取舍的看文档,因为微信的开发文档对于老手不太敌对,所以倡议初学者在其余教程的引领下学习,这样能够防止没头苍蝇乱撞的状况。此外,官网文档的另一个问题,是示例代码不太残缺。因而须要从其余文章中找到适合的示例代码并进行钻研,这样有助于了解的更粗浅。 因为刚刚实现期末考试,没有足够的工夫,来把这篇文章和之前的文章联合起来,日后会逐步欠缺,在此向看了一半的读者们说一声道歉。 版权申明本文作者:河北工业大学梦云智开发团队 - 刘宇轩 新人经验不足,有倡议欢送交换,有谬误欢送轻喷

August 29, 2020 · 1 min · jiezi

关于微信:骇客白访谈不要做理想主义者要做一个实干家调试者说播客许友昌

为什么要做调试者说?海峰:我之前也是Apple Podcast 的听众,晚期听《友的聊播客》等节目,不过这个在国内比拟小众,你为什么要去做这个调试者说呢? 友昌: 初期也是因为本人喜爱听。首先他很轻松;而后听得多了他其实激发了我的一些表白欲,感觉本人表达能力还是有晋升空间;第三个就是我心愿聊一些庄重的话题,因为日常生活中,很难让大家集中来探讨庄重的话题,然而播客因为要放到网上,所以让咱们敌人更庄重的看待这个事件,咱们聊天的节奏气氛都会好一些。正好疫情期间也被隔离了,正好能够做这个。 海峰:这个我很有共鸣,当初社会信息和社交都有点泛,敌人之间可能交换在k歌、吃饭的环境,深刻不了。然而播客可能让你宁静聊天。 友昌:我的初心就是心愿咱们的工夫能够花在和敌人聊天或者感情维系上进来,而后互相能够有一个滋润。 你感觉喜马拉雅和苹果播客有什么区别么?或者中国市场和海内播客市场有什么区别?友昌:首先近两年,很多人说中国的播客市场开始火起来,尤其是“小宇宙”进去之后,大家感觉如同火了一把。我晓得的做播客的人越来越多,然而高质量的内容,的确比拟少。对于美国我可能能聊更多,美国是车轮上的国家,他们听播送播客有十分长的历史期间了,播客传进来被公众承受,也是近几年的事件了。然而他次要接种在相声、评书、广播电台的模式,集体播客的模式还是比拟少,更多的国内播客还是以企业的模式在做。集体做的也有然而少一点,内容模式会偏差闲聊比拟多。 海峰:我之前有听《友的聊播客》,友藏、jaxlee等敌人建设,然而他们如同停更了,次要还是这个事件大家用业余时间做,然而比拟难有大收益让你继续去做。国内我也在想,是不是国内之前汽车没有那么欠缺的场景,当国内有场景之后,应该会好些。 友昌:还有一个区别,苹果播客podcast更多是像客户端入口,没有托管,喜马拉雅更多是齐全托管,内容都在平台上。另外即便舆论治理(控)等,国外内容的丰盛、内容会更多些。国内有时候录完了之后,嘉宾感觉不能播,比方一个律师聊完之后,然而他们和律协有些约定,有的货色就不能往外放。播客就是你容易沿着一个话题约聊越深,然而深了之后不免遇到些敏感的话题,国内喜爱听播客的人群,我感觉会有两种,一些是遇到挫折,他们听写情感类货色,还有些属于受教育水平比拟高的人群,听一些更深刻的内容。 海峰:听到这里,就让我想起了加拿大有个驰名的流传学者叫做麦克卢汉,他实践里有个十分重要的概念叫做“热媒介”和“冷媒介”,比方报纸、书籍是冷媒介,音频、视频、甚至当初4D、互联网的媒体就是热媒介,冷媒介更须要用本人触发本人的感官去排汇内容,但热媒介就是给你强刺激,你的触感、听觉、视觉经常处于别动承受状态。咱们看报纸的时候、听播客,就会被动带动脑子去听内容思考,跟着嘉宾去思考,而你刷抖音的时候、4D电影,你看了可能就过了,让你进行了被动思考。 友昌:我之前看一个实践,大脑天生没有防御机制,你给ta任何货色他都尝试去全盘接受,只有你有教训之后才会对承受到的信息去被动判断。而有视频之后呢,其实咱们对听觉的训练不像视觉那么敏锐。 海峰:我心愿听播客的时候,可能让咱们更多的去思考,这可能是集体的偏向。 你心愿调试者做成什么样子呢?友昌:我当初处于初期自在倒退阶段,你会发现我的播客会有各个方向的选题,现阶段我想在开发者和产品方向找些敌人来聊。将来做到肯定水平了,如果宽泛度好,须要被商业化那就商业化。还有一个很大起因,在过内做变现比拟难。 海峰:这个让我想到一个播客《蛋解守业》,他在最开始音频的时候粉丝做得不少,然而不怎么赚钱,也是2019年转到了抖音做了几个爆款视频之后火了,而后在抖音的生态开课、商业化赚钱。 友昌:而且音频这种模式,在中国让大多数人感觉太慢了,一个音频起码也是几十分钟,对于咱们当初的节奏,你让一个用户来听你、慢慢说上来、而后订阅,流程很长。 友昌:我在读《道德经》的时候粗浅领会到一个概念,他外面叫“有为”,然而我的对有为的了解,就是“伴生”,很多货色、意义都不是你冀望进去,而是你踏踏实实做一个事件,这个过程产生的,你只有好好做,最初会怎么样,有时候是看天。 海峰:很多货色如果你感觉价值是对的,就应该去保持做。 友昌:有时候咱们现代人说危机,其实都不是,只是咱们当初的心态太塌实了,太带一种成败观。存在主义常常讲生死,感觉失败了就没有意义,比方文天祥,他失败了,但不能说他没有意义。有时候去反思本人的焦虑感,其实是本人的无知,被他人套用了比方存在主义什么的,就认为本人真的事这样,但本人去发现自己、心静去看,发现自己齐全没有达到这个境界,没有达到探讨生死的境界,只是咱们对于目前环境的问题剖析不分明,这个也是为什么我节目叫做《调试者说》,咱们须要去调试咱们的问题,因为有时候外界给咱们的意义都是空幻的,咱们很多巨大空幻的问题,在现实生活中,经常是小的但实在的问题,你只是在回避他,而本人找一个巨大的理由通知本人无能为力。 友昌:你也问到我本人是不是理想主义,我本人用一个办法去察看本人,用纸和笔写下本人的现实,我发现想的都是和金钱和名利挂钩的画面,像一个披着理想主义外衣的利益主义者。咱们不是业余的哲学家或者社会学家,我分不清什么是真正的理想主义、利益主义,我只是在给本人按名字,大家都说“理想主义”,就认为本人是了。 海峰:有时候咱们会因为社会给咱们的角色,比方一个产品、一个研发,而赋予咱们角色的现实,而很静下来想咱们的现实是什么。 友昌:我感觉我当初越来越事实。我以前很喜爱李敖,他对本人说了一句话,说本人不要做理想主义者,要做一个实干家。我发现当一个人困惑的时候,只有当你踏踏实实做一些事件的时候,你之前的困惑可能都没有了,只是有一个明确的指标,要做什么,更高兴。 海峰:对于现实,我想到的是咱们本人能不能让本人过得更好,比方更多的支出、更好的生存、做更好的事业,然而也有一些羁绊拖着你,然而你能不能瞄准你想做的事件,兴许你当初还有很多艰难,不肯定能成,然而你就向那个指标去推动,比方咱们在独立开发者、创造者人群里,我想建设这个平台,让大家去深度交换,那如果它能给带来收益,那也十分好(就像你之前说的“伴生”),那我就应该看看当初身边的根本盘,而后去推动。是的,须要实干家。 怎么面对3分钟激情海峰:看到你也是个十分内省的人,你怎么面对3分钟激情,怎么对待? 友昌:有的事件比方你工作中的,你就没有方法。你须要分清应该做的,和你想做没做的。如果对于应该要做的比方工作,很少人说保持不了的,那么你想做的事件(更应该保持),那为什么没有保持?起因是什么,要明确如果你感觉你喜爱一个事件,是不是被其余喜爱这个事件的人感化了,比方我一个同学买吉他,因为看到他人弹吉他很帅,然而回来几天就不玩了,起初想买电子琴,我说这个不是喜爱吉他也不是喜爱电子琴,而是喜爱出风头(哈哈,被宏观)。 友昌:还有很多3分钟热度,咱们经常倒在了一开始,咱们在最开始经验不足,经常倒在结尾,当然有人说对作品要求高,没有在最开始裸露本人的作品,然而我认为更多的起因,是没有勇气在他人背后裸露本人的毛病。哪怕最开始做的不好,也不要怕,放进去承受大家的批评,要放下思考太多货色,不要思考是否有名利,先做,不要思考太多货色。而后我之前看一本书《刚毅》,保持这个货色,保持不只是靠毅力,对某个事件咱们要怎么,具体咱们通常认为不能保持是因为你对事件激情不够,但我见到一种状况,激情太够了,也容易放弃。独立开发者就会有一种状况,有些人刚开始脱离工作,齐全投入到本人的作品,可能几天齐全投入,不分白天黑夜,然而把本人作息搞乱、身材弄差了,也不足社交了。有时候太多激情也不是坏事,而更多须要科学合理的办法去做。有时候放弃,只是咱们不够理解本人,须要科学合理安顿本人的工夫。 海峰:嗯,这一趴有两个启发,首先,酷爱或者想做一个事件,就应该正当把本人的精力、资源、工夫,调配到这个事件上,而不是把本人在晚期搞得很透支。第二,就是对一个事最难的就是你去做,实干。 脑力激荡/心流/与骇客白海峰:我是深度交换的受益者,当我与他人进入心流交换的时候,取得了很多的收益。你做播客有这个感觉么?对1v1深度交换有什么认识 友昌:你也有问我对1v1深度交换的认识。我感觉如果想把这个做成一个我的项目,的确会十分十分难。在行更多是一个参谋、征询社群的模式,这样的内容比拟难造成碰撞,有付费,那就是单向的输入,信息资源不对等。这个模式是绝对好做的,如果要两个人进入“共鸣”,就须要单方有差不多的程度,对同一个事件有差不多的钻研,还须要有较好的表达能力和思考能力。我习用的办法是我去思考,如果我来做这个事件,怎么做。我想到第一种办法是:只做高素质人群,这样你的投入比拟小,同时支出也很少。第二种办法是你去做下沉:可能对你进入没有明确规范,然而须要做好“匹配”和“疏导”,比方能找到和你相似的人;如果你单纯匹配两个程度不够高的人能够做,然而你怎么做疏导,这个就会十分的难;你疏导他交换,还须要晋升他常识储备、技能,同时你还须要理解他的操作习惯等,你的出发点可能是一个奢侈的想法,然而你要把奢侈的想法做起来,就须要十分多大量的底层思考,细节的把握。这个平台如果最初做成了,你能够把它定位一个“高质量的集体晋升”的平台。 友昌:我做播客的时候就有感觉,如果你本人的程度始终没有失去晋升,当下的常识储备,不足以让你继续深度交换,不停的深度交换,肯定把你的常识储备榨干了。如果你能把这个事件做好,真的“功德无量”。 本文由博客群发一文多发等经营工具平台 OpenWrite 公布

August 28, 2020 · 1 min · jiezi

关于微信:红圈律所微信公众号图文数据报告

原文链接 微信公众号等自媒体的呈现,让律所营销的形式绝对以往产生了显著的变动,律所利用自媒体进行营销曾经成为一种潮流,对塑造品牌和开辟案源带来微小的帮忙。 tecdat钻研人员对2017年12月份的局部红圈所公众号文章数据进行剖析,用数据摸索红圈所发文状况,同时勾画用户浏览偏好。 “红圈所(Red Circle)”这一概念最早由ALB(《亚洲法律杂志》)提出,衡量标准为2013年律所年度支出,红圈所包含君合、金杜、中伦、方达、通商、环球、海问、竞天公诚(排名不分先后)。通讯稿为主,同时有干货以及行业解读分享 从各个公众号的发文数目来看,君合法律评论最多,占比35%,其次是金杜说法,占比32%,中伦和汉坤发文数量绝对较少。 从各个公众号的发文类型来看,文章多属于通讯稿,占比41%,远超过其余类型,其次是干货分享,占26.1%,而后是点评解读、行业剖析等文章。因而能够看出公号文章以通讯稿为主,同时有干货以及行业解读分享。 用户热衷干货与行业剖析,也关注新闻动态 除了理解公众号发文状况之外,咱们心愿通过用户行为(浏览、点赞)来理解读者更青睐哪一类型的文章。 从不同类型文章的点赞数目和比率(点赞数/阅读数)来看,咱们发现用户对通讯稿的点赞数最多,其次是干货。从点赞比率的角度来看,咱们发现用户对通讯稿、杂文、行业剖析、干货等类型的点赞数都较高。联合两个方面,咱们能够认为用户对律所的新闻动态十分关注,同时也对公号公布的行业剖析、干货等涨姿态的内容很感兴趣。 通过对不同公号的发文状况、用户浏览行为等维度的剖析,咱们能够对他们之间的类似度做简略比拟。从图中,咱们能够发现汉坤和君合在发文状况、用户偏好等维度比拟类似,中伦和金杜之间有较高的类似度。 文章主题出现 通过公号文章的关键词提取,咱们发现文章中呈现的高频词有投资、律师、企业、境外、观点、助力等。过后公号文章关注点与这些主题相干。 通过主题开掘,咱们发现所有文字能够大抵分成几个主题,包含境外投资、资本市场、国家政策解读等。

July 17, 2020 · 1 min · jiezi

微信公众号小程序初期如何涨粉如何快速开通流量主

我们都知道要开通公众号的流量主或小程序的流量主是要粉丝要求的。公众号是要500粉丝;小程序要1000。 在初期我们很难通过内容或服务快速涨粉,从而开通流量主。 那初期如何涨粉?如何快速开通流量主? 我的做法是:通过交流群!!!(初期这个方法不错,达到流量主要求后还得好好运营内容和服务) 以下是我自己的公众号的经验: 3天开通 第一天的收入 那现在主要的问题是交流群怎样来呢? 我整理的些jiao liu qun ,每天都会更新!!扫下面小程序二维码即可获得:

July 5, 2020 · 1 min · jiezi

公众号SCAN事件异常提示用户服务出现故障的处理

公司有一业务场景,使用微信接口,生成带参数的推广二维码。 上线之后一直都没有问题,直到某天,经过运营反馈,已关注用户扫码之后出现下面的情况: 步骤一:检查公众号后台配置查看公众号后台,检查所有的配置文件,排除其它同事修改过微信后台。步骤二:检查线上配置文件联系运维,查看线上微信相关配置文件,排除线上配置问题。步骤三:错误重现,监测日志查看线上日志,每次的扫描事件,微信服务器与自己服务器的通信打印,均未发现问题。步骤四:百度类似问题类似问题与答案均很模糊,这种情况估计本身就很少步骤五:微信后台打开接口监测微信公众号后台:运维中心→接口告警,先扫码关注告警群。然后修改阈值 步骤六:错误重现多次扫描二维码,查看微信接口告警群是否有消息返回。在错误重现之后,告警群内出现了以下一条消息 查看这个,也就是说,在扫码事件推送给微信服务器的过程中,我们被加上了3rdUrl的参数,且是mp.toutiao.。头条相关的链接 3rd的解释,可否将其解释为第三方,循着这个思路,想到或许是第三方授权?因为公众号设置里面有一个授权管理,一直没用过,所以没怎么了解 于是到公众号后台的相关位置去查看,发现了重大信息: 步骤七:撤销授权 经过与运营人员的确认,系他们做素材时候加入的头条授权,现取消之后,一切恢复如常 花费一些时间处理这个问题,不得不说,微信的文档确实有待完善

November 4, 2019 · 1 min · jiezi

怎么恢复微信聊天记录简单方法教你恢复

怎么恢复微信聊天记录?经常使用微信的小伙伴都会遇到这样的问题,不过会解决这个问题的不多,其实想要恢复聊天记录也不是很难,但是一般微信里面都会有很多重要的聊天记录,删除了都想要将聊天记录恢复回来,当我们手机聊天记录删除了怎么办?怎么恢复微信聊天记录? 一:从电脑上恢复 很多经常使用电脑的用户就可以用这个方法来对手机删除的微信聊天记录恢复,电脑上登录微信后在设置中可以看到备份与恢复功能,备份过里面的聊天记录就可以通过【恢复聊天记录至手机】将备份的聊天记录恢复到手机上。 二:从手机上恢复 从手机上也可以恢复,不过只能恢复因微信系统等现象导致的聊天记录删除的情况。打开微信设置找到【帮助与反馈】进入之后右上角的扳手图标点击,跳转到微信修复工具界面,然后选择修复聊天记录就会尝试修复删除的聊天记录了。 三:电脑软件恢复 在电脑上找到电脑软件恢复聊天记录,从电脑中找到【互盾安卓恢复大师】获取到电脑上后将删除聊天记录的手机连接到电脑上,使用软件的“一键恢复”功能的快速扫描功能对手机中的数据扫描。 随后只需等待软件扫描完成之后就可以从软件的界面中看到已经扫描出来的数据了,从这些数据中就可以看到微信一栏,点击看到手机登录过的账号,选择删除聊天记录的账号选择需要查看详情,选择需要的聊天记录使用“恢复选中文件”恢复即可。 怎么恢复微信聊天记录?根据上述方法就能简单恢复聊天记录了,其实想要恢复还是很简单的,不过还是要提示一下在手机上重要的数据要做好备份的操作。

October 17, 2019 · 1 min · jiezi

如何恢复微信删除的聊天记录简单方法学习

如何恢复微信删除的聊天记录?在使用微信的时候都会遇到这样的问题,有时候在使用微信的时候会看到里面的聊天记录内容太多,想去删掉一些,可没曾想里面的聊天记录还有一些重要的那么当我们想要找回删除的微信聊天记录该怎么办呢?如何恢复微信删除的聊天记录? 一:帮助与反馈 在微信的设置中有个“帮助与反馈”的功能,可以通过这个功能来对删除的聊天记录进行恢复,不过该功能只适用于手机系统故障(升级、闪退等)造成的聊天记录删除进行恢复。在设置中找到帮助与反馈,按如图所示操作。 二:微信备份恢复 电脑上登录微信可以看到有备份与恢复的功能,使用电脑微信时可以将聊天记录备份到里面,当我们手机上的聊天记录删除了就可以将备份的聊天记录恢复到手机上。选择备份与恢复的恢复功能选择需要恢复的聊天记录恢复到手机里面。 三:电脑软件恢复 找到电脑软件来恢复聊天记录,在电脑的浏览器中找到【互盾苹果恢复精灵】并且获取到电脑上,然后将手机连接到电脑上,使用软件的“从iPhone设备扫描恢复”功能对手机中的数据进行扫描。 待软件扫描完成之后就可以在软件的界面上看到已经扫描出来的数据了,点击微信一栏可以看到手机登录过的微信,选择删除聊天记录的微信查看记录,从里面选择需要恢复的聊天记录利用“导出选中记录”恢复聊天记录。 如何恢复微信删除的聊天记录?根据以上的简单方法就可以轻松恢复了,在手机中有很多重要的数据一定要记得备份,选中一个正确方法可以快速恢复聊天记录。

October 14, 2019 · 1 min · jiezi

小程序模板消息能力调整新的订阅消息将不受时间限制

昨日,微信在小程序模块消息能力方面公布了一项重大调整。原有的模块消息将升级为「订阅消息」,支持一次性和长期性订阅消息。而模块消息将于2020年1月10日下线,小程序将无法再使用原接口推送模板消息,因此开发者需要及时进行调整。 以往,模块消息作为服务进度提醒和召回用户的重要入口,受到了不少小程序运营者的青睐。但是,部分小程序利用「模板消息」推送营销广告甚至是虚假信息诱导点击。为用户带来骚扰,也影响了微信小程序生态的良好运行。 另一方面,模块消息需要在用户点击触发之后的7天内进行推送,但对于服务周期超过7天的小程序,「模板消息」无法满足它们的需求。 因此,微信对模板消息下发条件进行了调整,将小程序的推送进行场景化细分,每个推送模块都需要经过用户主动授权。用户只有根据需求进行订阅,才会收到小程序的服务通知,并且消息推送没有时间限制,部分公共服务场景还提供了长期订阅功能。 「订阅消息」消息类型新上线的「订阅消息」消息类型分为两种: 一次性消息推送 :用户订阅一次后,小程序可不限时间地推送一条订阅消息。如果用户想避免重复授权,可以勾选“总是保持以上选择,不再询问”并点击允许,以后便默认同意订阅这类消息,无须做多次选择。 长期性消息推送:用户订阅一次后,小程序可长期推送多条消息。目前长期性订阅消息仅面向政务、医疗、交通、金融、教育等线下公共服务小程序开放,后续将根据行业需求和用户体验不断进行完善。 「订阅消息」会带来什么影响?「订阅消息」的更新,意味着用户不再被动地接收信息,小程序消息推送的选择权回到用户手中。以往,当用户选择接收推送后,小程序便不加区分地将服务信息、营销信息统统推送给用户。现在,用户能够自主选择小程序的消息,也可以随时拒收该小程序的服务通知。 对于开发者而言,由于用户主动订阅才可以推送消息,之前通过不断收集formid来发送消息模板的操作将会失效,小程序开始走向人性化、精细化运营。 另一方面,「订阅消息」取消了7天内推送消息的限制,推送时间更加灵活并且能够契合多样化的服务需求。只要用户没有主动拒收,开发者就可以随时推送服务通知。使消息触达更加高效,也使用户唤醒更加方便。 「订阅消息」能用在什么地方· 用户召回对于低频、长线服务的小程序而言,订阅消息在用户召回方面显得更为重要。小程序提供实用的服务功能,让用户主动授权。在退出小程序后,小程序依然能结合场景因素,在后续选择合适的时间为用户提供服务消息,再次唤醒沉默的用户。 但是在召回用户同时,开发者需要顾及用户体验。根据订阅消息运营规范,使用订阅消息能力进行诱导订阅、诱导点击、内容与用户预期不符都会被视为违规。因此,订阅后解锁某个操作,或者订阅后获得奖励都是不被允许的。详见==小程序订阅消息接口运营规范==:https://developers.weixin.qq.... · 刚需服务既然订阅消息的选择权在用户手里,那么小程序能否提供用户需要的服务则成为关键。订阅消息可以更精准化、个性化,引导用户在不同场景内去订阅。例如生活类小程序的服务进度提醒、电商小程序的降价通知、内容小程序的话题推送等等。 针对不同行业的小程序,微信提供了各种消息模板,开发者可在后台选择相应的模板使用。比如,针对小游戏,微信就提供了排行榜、新功能发布、活动结束、版本更新、道具领取等14种通用模板。 在原来的模块消息下线之前,开发者们注意对接口进行及时调整。接入「订阅消息」能力,==可参考接口文档==:https://developers.weixin.qq.... 我们最近新建了个WeGeek技术交流群,欢迎小程序开发同好者进群交流,调戏勾搭群里的云开发大神~扫码添加Wegeek小助手即可获取进群方式。

October 14, 2019 · 1 min · jiezi

从零到一实现微信H5视频行内autoplay

写在前面不知不觉又到了2019年的深秋,想不到上一篇文章孩子还没出生,这一篇就已经半岁了。创业加上带孩子,时间会过得飞快。在这里劝大家还是不要过早创业(gank),多多学习(发育)才实际。打工虽不自由,起码安稳,面对任务和书本,胜于面对盈利还是亏本。 废话不多说,以下正文。 通常会出现的需求微信进入H5后,自动播放视频在流行终端上体验尽量一致可在视频上叠加UI转化为技术需求视频需要自动播放如何兼容iOS和安卓视频需要行内播放PS:要叠加UI,就得是行内播放而非全屏,iOS倒好,安卓的微信用的X5内核,一言难尽,卡住不少人,网上求助相关问题的不在少数。 来个简单的demo 查看demo仓库地址PS:在微信中打开才能自动播放哦。 关键代码块<div class="container"> <!-- For iOS --> <video src="https://static.shikehuyu.com/vincent/wx-video-demo/movie.mp4" playsinline webkit-playsinline loop> </video> <!-- For Android --> <canvas></canvas> <!-- 示例弹幕 --> <div class="danmu">示例弹幕,表示你可以放任意UI在视频上面</div></div><style>video { width: 80vw; height: 80vw; object-fit: contain; object-position: center; display: none;}canvas { display: none;}</style>function initVideo() { var isAndroid = window.navigator.userAgent.match(/android/ig) if (isAndroid) { // 安卓 var src = "https://static.shikehuyu.com/vincent/wx-video-demo/movie.ts" player = new JSMpeg.Player(src, { canvas: canvas, autoplay: true, progressive: false, loop: true, onVideoDecode: function() { canvas.style.display = 'block' canvas.style.height = 80 / (canvas.width / canvas.height) + "vw" } }) } else { // iOS player = video video.style.display = 'block' }}window.onload = function() { initVideo() // 自动播放 document.addEventListener('WeixinJSBridgeReady', () => { player.play() })}实现要点区分开iOS和安卓,iOS用原生video标签,安卓用JSMpeg,绘制画面到canvas上。iOS用mp4或者其他原生video标签支持的视频格式,安卓用ts格式。(其中ts格式需要用ffmpeg来转一下,下文会提及)监听WeixinJSBridgeReady事件,调用视频播放方法,实现自动播放。什么是ts文件来自百度百科ts即"Transport Stream"的缩写。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。简单地说就是视频数据流,将mp4等格式视频转换成ts后,就可以一段段进行解析,可用于视频直播。JSMpeg就是通过解析视频数据,然后绘制在canvas上,来实现视频播放的。 ...

October 14, 2019 · 1 min · jiezi

微信删除聊天记录怎么找回全反面教你恢复

微信删除聊天记录怎么找回?我们在使用微信的时候都会遇到这样的一个问题,当我们在查看聊天记录是会发现有些记录不在手机中,那么这种可能是将里面的聊天记录删除了,但是如果想要将聊天记录恢复回来该怎么做?这个时候我们该怎么去解决呢?微信删除聊天记录怎么找回? 一:recover修复 这种方法一般在微信使用过程中发生如聊天记录混乱等异常情况,当微信中 出现聊天记录混乱导致删除了聊天记录就可以通过recover恢复。打开微信在顶端搜索框中输入“recover”会有一个修复工具进入之后选择“修复工具”进入之后点击“聊天记录”等待修复完成即可。 二:电脑微信恢复 有时候经常会使用到电脑来登录微信聊天,所以会在电脑上留存很多的聊天记录在里面,有时候会去备份聊天记录,登录时会提示同步消息内容。 要恢复删除的聊天记录登录电脑微信之后的界面的左下角中找到“备份与恢复”功能,点击选择恢复聊天记录从里面的内容中勾选需要恢复的聊天记录恢复到手机中即可。 三:电脑软件恢复 从电脑上找到恢复软件可以恢复聊天记录,在电脑浏览器中找到【互盾苹果恢复精灵】并且获取到电脑中,然后将手机连接到电脑上之后使用“从iPhone设备扫描恢复”功能对手机中的数据进行扫描。 待软件扫描完成之后可以在软件的界面中看到扫描出来的数据了,点击“微信”一栏可以看到手机登录过的微信号,选择需要恢复聊天记录的账号之后查看详情,找到需要的聊天记录勾选中使用“导出选中记录”恢复。 微信删除聊天记录怎么找回?根据以上的方法可以将聊天记录恢复了,虽然不能百分百恢复聊天记录但是效果还是很不错的,删除时间短恢复几率越高。

October 9, 2019 · 1 min · jiezi

微信聊天记录删除怎么恢复这样做太简单了

微信聊天记录删除怎么恢复?在微信上困扰大家的原因只有一个,就是微信上面的聊天记录如果被删除了该怎么办?很多人经常会遇到这样的问题,有时候在查找聊天记录的时候会发现有些聊天记录被删除了,当我们发现聊天记录被删除时怎么办?微信聊天记录删除怎么恢复? 一:异常修复 有些时候可能会因为微信异常或者是卡顿导致微信里面的聊天记录删除那么就可以通过这个方法来将手机里面的聊天记录恢复。打开手机微信,点击设置-帮助与反馈-快捷帮助-异常修复,选择要修复的功能即可,这样就能恢复聊天记录了。 二:电脑微信恢复 很多人都会使用到电脑登录微信,当然这是对于一些长期在电脑上使用微信的小伙伴,聊天记录会存在电脑的微信里面,从里面的内容中找到聊天记录并且将其恢复到手机中。打开电脑端微信,在“备份与恢复”页面选择“恢复聊天记录至手机”,勾选需要的数据恢复即可。 三:电脑软件恢复 找到电脑软件对删除的聊天记录恢复,电脑的浏览器中找到【互盾安卓恢复大师】通过这个软件恢复聊天记录,手机连接到电脑使用软件的“一键恢复”功能的快速扫描对手机中的数据进行扫描。 待软件扫描完成手机之后就可以在软件中看到扫描出来的数据了,点击界面的“微信”一栏从里面选择自己的微信号查看详情,并且在里面找到需要恢复的聊天记录之后使用软件的“恢复选择文件”将聊天记录恢复。 微信聊天记录删除怎么恢复?根据以上方法就可以轻松恢复聊天记录了,有需要的小伙伴可以根据实际情况使用方法恢复,选择正确的方式可以快速恢复。

September 19, 2019 · 1 min · jiezi

微信聊天记录怎么恢复到手机超实用的简单方法恢复

微信聊天记录怎么恢复到手机?我们经常都会使用到微信,不管是工作中还是在生活中都会使用到微信,在日积月累的情况下我们会有很多的聊天记录存在,当我们不小心删除了聊天记录该怎么办?微信聊天记录怎么恢复到手机?接下来就了解一下微信聊天记录怎么恢复吧! 其实恢复聊天记录也不算太难也不会太简单。不过需要注意这几点。 1.在微信里面尽量不要产生新的数据,也就是不要使用微信聊天。微信产生新的聊天会将里面删除的数据覆盖在此期间就不要怎么使用微信,否则那就找不回来了。 2.也不要卸载微信或者升级微信,会导致之前的数据被清空,这样就无法进行恢复了,除非事先有备份。 3.尽快做好手机数据备份,将手机中的数据备份到电脑上可以有效防止数据的丢失。 一、微信功能恢复 如果是要恢复已经备份过的聊天记录,那么直需要在电脑上运行 登录微信账号,然后点击左下角的按键,选择【备份与恢复】,再点击【恢复聊天记录至手机】,然后选择需要恢复的聊天记录这样就可以将备份的微信聊天记录重新恢复到手机上。 二:聊天记录迁移 如果你曾经把iPhone的微信聊天记录迁移到另一部手机进行备份,那么我们就还是可以把聊天记录迁移回原来的手机,进行恢复。恢复:登录微信后进入“设置”界面--通用--迁移聊天记录--选择相关的记录进行迁移。 三、数据恢复软件恢复微信聊天记录 找到恢复软件对微信聊天记录恢复找出并且进行恢复,在电脑上找到【互盾安卓恢复大师】借助这个软件恢复聊天记录即可,手机连接到电脑上之后使用软件的“一键恢复”功能对手机里面的聊天记录扫描。 软件扫描完成之后就可以在软件的界面上看到已经扫描出来的数据了,从这些数据中可以看到微信一栏,点击需要恢复聊天记录的账号查看详情,选择需要恢复的聊天记录进行勾选中使用“恢复选中文件” 这是使用工具恢复安卓手机删除的微信聊天记录, 注:这是利用微信软件自带的功能进行恢复,同样适用于安卓手机。 通过以上的方法就可以将删除的微信聊天记录进行恢复了,在手机中有很多重要的数据这些数据都是可以进行备份的,有备份就不怕删除无法恢复。

September 6, 2019 · 1 min · jiezi

微信商户付款到-用户零钱-和用户银行卡

<?php //商户付款 到 个人 class mchPay{protected $key = 'c2a7d6411111111f1662e795'; //商户号API KEYprotected $appId = 'wxbb111111f5e5f04';protected $mchid = '141111582';protected $CertPem = BASE_ROOT_PATH.'/data/cert/apiclient_cert.pem'; //证书的位置 绝对路径protected $KeyPem = BASE_ROOT_PATH.'/data/cert/apiclient_key.pem'; //证书的位置 绝对路径/* 商户付款到 用户零钱 out_trade_no 外单订单号 openid 用户openid total_fee 操作的金额*/public function payToChange($data){ $params = array(); $params['mch_appid'] = $this->appId; $params['mchid'] = $this->mchid; $params['nonce_str'] = $this->createNoncestr(); $params['partner_trade_no'] = $data['out_trade_no']; $params['openid'] = $data['openid']; $params['check_name'] = 'NO_CHECK'; $params['amount'] = $data['total_fee']; $params['desc'] = '提现'; $params['spbill_create_ip'] = $_SERVER["REMOTE_ADDR"]; $params['sign'] = $this->getSign($params); $postXml = $this->arrayToXml($params); $resXml = $this->postXmlCurl('https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers',$postXml,30,true); $resData = $this->xmlToArray($resXml); if(!$resData || $resData['return_code']!='SUCCESS' || $resData['result_code']!='SUCCESS') return false; // var_dump($resData); return $resData;}/* 商户付款到 用户银行卡 out_trade_no 外单订单号 total_fee 操作的金额 enc_bank_no 收款用户的银行卡号 enc_true_name 收款用户的姓名 bank_code 收款银行对应的编号 微信文档获取*/public function payToBank($data){ $params = array(); $params['mch_id'] = $this->mchid; $params['nonce_str'] = $this->createNoncestr(); $params['partner_trade_no'] = $data['out_trade_no']; $params['enc_bank_no'] = $data['enc_bank_no']; $params['enc_true_name'] = $data['enc_true_name']; $params['amount'] = $data['total_fee']; $params['bank_code'] = $data['bank_code']; $params['sign'] = $this->getSign($params); $postXml = $this->arrayToXml($params); $resXml = $this->postXmlCurl('https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank',$postXml,30); $resData = $this->xmlToArray($resXml); if(!$resData || $resData['return_code']!='SUCCESS' || $resData['result_code']!='SUCCESS') return false; return $resData; }//作用:生成签名private function getSign($Obj) { $Parameters = array(); foreach ($Obj as $k => $v) { $Parameters[$k] = $v; } //签名步骤一:按字典序排序参数 ksort($Parameters); $String = $this->formatBizQueryParaMap($Parameters, false); //签名步骤二:在string后加入KEY $String = $String . "&key=" . $this->key; //签名步骤三:MD5加密 $String = md5($String); //签名步骤四:所有字符转为大写 $result_ = strtoupper($String); return $result_;}///作用:格式化参数,签名过程需要使用private function formatBizQueryParaMap($paraMap, $urlencode){ $buff = ""; ksort($paraMap); foreach ($paraMap as $k => $v) { if ($urlencode) { $v = urlencode($v); } $buff .= $k . "=" . $v . "&"; } if (strlen($buff) > 0) { $reqPar = substr($buff, 0, strlen($buff) - 1); } return $reqPar;} //将数组转换为xml格式 private function arrayToXml($arr){ $xml = "<xml>"; foreach($arr as $key=>$val) { if(is_numeric($val)) $xml .= '<' . $key .'>' . $val . '</' . $key . '>'; else $xml .= "<".$key."><![CDATA[".$val."]]></".$key.">"; } $xml .="</xml>"; return $xml;} //xml转换成数组private function xmlToArray($xml) { //禁止引用外部xml实体 libxml_disable_entity_loader(true); $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); $val = json_decode(json_encode($xmlstring), true); return $val;} //作用:产生随机字符串,不长于32位private function createNoncestr($length = 32) { $chars = "abcdefghijklmnopqrstuvwxyz0123456789"; $str = ""; for ($i = 0; $i < $length; $i++) { $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str;}//发送请求private function postXmlCurl($url,$xml, $second = 30) { $ch = curl_init(); //设置超时 curl_setopt($ch, CURLOPT_TIMEOUT, $second); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //严格校验 //设置header curl_setopt($ch, CURLOPT_HEADER, FALSE); //要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); //设置证书 //使用证书:cert 与 key 分别属于两个.pem文件 //默认格式为PEM,可以注释 curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLCERT, $this->CertPem); //默认格式为PEM,可以注释 curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLKEY, $this->KeyPem); //post提交方式 curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($ch, CURLOPT_TIMEOUT, 40); set_time_limit(0); //运行curl $data = curl_exec($ch); //返回结果 if ($data) { curl_close($ch); return $data; } else { $error = curl_errno($ch); var_dump($error); curl_close($ch); return false; }}}//支付到用户零钱$obj = new mchPay();$params = array( 'out_trade_no' => date('YmdHis'), 'openid' => 'ouD2222222228', 'total_fee' => 100, );$res = $obj->payToChange($params); ?>商户付款给用户是需要用到证书的,证书的申请在商户后台。一步步申请即可。还有就是如果一直报签名错误, 可以先到签名工具里对签名进行验证。 如果在签名工具里校验签名是正确的,那很有可能是api key的问题,重新在商户后台 ,设置一下api key,一般就可以正常了 ...

August 20, 2019 · 2 min · jiezi

关于微信推送消息的调研记录2019

背景计划写个定时提醒,用来提示写周报的。 自己的话就定闹钟好了,想顺便写了别人也能用的。 可选方案1.微信机器人可用功能定时提醒关键字查询信息关键字修改信息更多其他效果 实现思路使用个人微信账号充当群内机器人 使用wechaty模拟人为操作 方案优势十分强大,无所不能,真人能做的操作都能做。 方案劣势 需要一个能登陆web微信的个人账号(据说tb200一个?), 需要跑在自己的服务器上来保护隐私(微信聊天记录会被一览无余), 需要控制动作频率,以免被封(非营销号 无需担心)。 参考资料https://github.com/Chatie/wec...可选方案2.企业微信可用功能定时提醒更多其他效果 实现思路使用企业微信里的群机器人 使用腾讯云的SCF做定时任务 方案优势几乎0成本(使用腾讯云的SCF做定时任务) 方案劣势需要开通企业微信而且你的同事都有用企业微信(和普通微信不是一个) 参考资料https://cloud.tencent.com/dev...https://cloud.tencent.com/dev...可选方案3.server酱可用功能定时提醒更多其他效果一对一 server酱 一对多 pushbear(改版后没条件搞了。。) 实现思路关注方糖公众号 使用公众号的推送模版 方案优势简单可操作 一行代码的事 方案劣势一对多,需要服务号支持 参考资料http://sc.ftqq.com/3.versionhttps://pushbear.ftqq.com/adm...总结即时消息推送(应用场景:项目线上报错预警等) 定时消息推送(应用场景:周报月报等) 推送端(微信,企业微信,邮件等) 嗯。。写了得能用才行

July 26, 2019 · 1 min · jiezi

小程序开发条件渲染了解一下

这个真是太棒了,比自己写样式控制要优雅100倍! https://developers.weixin.qq.... 条件渲染wx:if在框架中,使用 wx:if="" 来判断是否需要渲染该代码块: <view wx:if="{{condition}}"> True </view>也可以用 wx:elif 和 wx:else 来添加一个 else 块: <view wx:if="{{length > 5}}"> 1 </view><view wx:elif="{{length > 2}}"> 2 </view><view wx:else> 3 </view>block wx:if因为 wx:if 是一个控制属性,需要将它添加到一个标签上。如果要一次性判断多个组件标签,可以使用一个 <block/> 标签将多个组件包装起来,并在上边使用 wx:if 控制属性。 <block wx:if="{{true}}"> <view> view1 </view> <view> view2 </view></block>注意: <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。

July 13, 2019 · 1 min · jiezi

做了一个垃圾分类小程序几个知识点介绍下代码可以分享

上海7月1号就开始执行垃圾分类了,在6月底注册了个小程序,小编我快马加鞭赶了一版,具体实现以下功能 1、垃圾分类查询2、垃圾分类介绍3、垃圾分类答题活动4、垃圾分类UGC5、垃圾分类答题活动生成海报,待审核发布中 目前分类数据已经把日常生活中最常用的维护进去了,还在一步一步完善中,由于白天还要上班,每天晚上会提交200条,请各位大大们不要嫌弃 具体如下图所示 接下来几天我会把在这两星期遇到的一些问题,跟大家分享整个实现的技术栈以及介绍几个技术细节,比如如何生成海报,如何前后端联调 如果对代码感兴趣,请在评论区留言,留下邮箱,我会第一时间把代码发过去。

July 10, 2019 · 1 min · jiezi

内网穿透神器FRP

frpfrp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议原文地址 目前主要的场景是内网穿透,可以用于本地调试微信接口、本地站点公网访问等。 本文主要讲解: frp客户端配置frp服务端配置&&搭建准备frp执行区分不同的平台,在服务器上执行命令: arch如果输出x86_64则需要下载带linux_amd64的那个压缩包;如果输出的是其他的,则在文件列表中找 linux 的对应架构的压缩包 frp_0.20.0_darwin_amd64.tar.gz macfrp_0.20.0_linux_arm64.tar.gz linuxfrp_0.20.0_windows_386.zip windows然后尝试运行./frps --help, 正常会输出帮助信息。 如果提示-bash: ./frps: cannot execute binary file: Exec format error就说明你下错版本了。 客户端-frpc客户端和服务端版本号一致,目前使用的是v0.20.0。 启动命令: ./frpc -c frpc.inifrpc.ini客户端配置(必须) [common]# frp 服务器端地址,ip或域名server_addr = frp.xxx.com# frp 服务端端口,即填写服务端配置中的 bind_portserver_port = 7000token = xxxxxHTTP(S)[apixxx]# http 或 httpstype = http# 默认不需要改变ip,指向本地local_ip = 127.0.0.1# 对应服务的端口号local_port = 9000# http 可以考虑加密和压缩一下use_encryption = trueuse_compression = true# 自定义访问网站的用户名和密码,如果不定义的话谁都可以访问,会不安全http_user = adminhttp_pwd = admin# 对应远程的访问地址web0.frp.xxx.com:10080# frp.idayer.com 为服务端配置的 subdomain_host subdomain = web0TCP/UDP 范围转发# 自定义一个配置名称,格式为“[range:名称]”,放在开头[range:multi-port]type = tcplocal_ip = 127.0.0.1use_encryption = falseuse_compression = false# 本地端口和远程端口可以指定多个范围,如下格式,且范围之间必须一一对应local_port = 6010-6020,6022,6024-6028remote_port = 16010-16020,16022,16024-16028最后我们的配置结果如下: ...

July 8, 2019 · 2 min · jiezi

小程序技术始于微信来看看移动端小程序技术的前世今生

本文由DCloud 公司创始人王安原创发布于CSDN,原题《小程序技术演进史》,即时通讯网收录时有改动,感谢原作者。 1、引言微信的成功,并非特定于某个具体的功能,微信的成功实际上是一大批创新技术和体验的成功合集,这也是它为何如此难此被超越的根本原因。 作为微信这个超级社交应用中最为亮眼的技术之一——微信小程序,俨然已成历移动端小程序的代名词,很多人一提起“小程序”3个字就条件反射式地认为是微信小程序。事实是,小程序技术并非微信独创,它的出现和演进,实际上包含了一大批各类公司、各产品技术先驱们的努力。 实际上,早在微信小程序之前,有力推轻应用的百度,有来自 HTML5 中国产业联盟的 DCloud 所主张的流应用,但最终却都已经淹没在了移动互联网的历史长河之中。唯有微信小程序风生水起,更是带动了巨头们的争相入场。 小程序迎来了专属于中国移动互联网的群雄逐鹿的时代。 本文作者王安即是流应用的创造者,作为移动领域的老兵,他依然在矢志不移地构建移动开发工具框架及生态,从原生应用到 HTML5 再到如今的小程序,他是这段历史的见证者、参与者。 本篇文章,将为你盘点移动端小程序技术的前世今生。通过本文,我们能够鲜活地看到小程序的技术演进历程,以及对于所有开发者来说,终将去往何处。 (本文同步发布于:http://www.52im.net/thread-26...) 2、关于作者王安:DCloud 公司创始人,HTML5 中国产业联盟秘书长。2003 年开始从事移动互联网工作,十几年编程和商业经验,连续创业者。曾任北京市学联主席,毕业后创办 DCloud 公司。兴趣爱好:编程、颠覆式创新。 3、相关文章《最火移动端跨平台方案盘点:React Native、weex、Flutter》《盘点主流移动端跨平台UI技术:实现原理、技术优劣、横向对比等》 4、中国特色的移动互联网时代伴随着 QQ 小程序 面向用户开放,这个手机端月活 7 亿的巨无霸正式入场。小程序,终于成为了超级 App 的标配。 盘点下已经支持小程序的超级 App: 微信、企业微信、QQ、支付宝、高德地图、手机淘宝、百度、百度贴吧、百度地图、今日头条、抖音…… 这些璀璨耀眼的名字,背后都是巨大的流量。 在这群超级 App 的支持下,中国的移动互联网格局被彻底改变。 这个有中国特色的移动互联网时代,被称为“小程序时代”。 这是继手机支付后,中国的移动互联网领先世界的第二个代表事物。 中国的技术标准、开发者生态,第一次得到大规模的普及应用,而且很明显,小程序在功能和体验上均超过了 HTML5。 中国人能建立开发者生态吗?这个命题曾一度让人怀疑。 小程序完成了这一步突破,这是一场值得歌颂的中国技术生态发展史。 让我们来回顾下这场技术生态革命,是如何开始,又将要去向何方。 5、罗马不是一天建成的,小程序也不是一天发明出来的HTML5 于 2007 年在 W3C 立项,与 iPhone 发布同年。 乔布斯曾期待 HTML5 能帮助 iPhone 打造起应用生态系统。 但 HTML5 的发展速度并不如预期,它虽然成功地实现了打破 IE+Flash 垄断局面的目标,却没有达到承载优秀的移动互联网体验的地步。 于是在 iPhone 站稳脚跟后,发布了自己的 App Store,开启了移动互联网的原生应用时代。 ...

July 4, 2019 · 3 min · jiezi

使用微信SDK自定义分享

一、背景介绍在微信中打开自己网站的链接,经常会变成下面这样 不太好看有木有,如果你想在分享出来的东西带上你的logo,带上你想要的描述,怎么办,像下面这样 这就需要用到微信的分享SDK,文档链接:https://developers.weixin.qq.... 二、微信SDK使用说明第一步第一步先要在微信公众平台上注册一个微信公众号,还必须要是认证的企业或组织,流程走下来大概要个两三天的时间吧,只有认证了的公众号才有分享SDK的权限,个人的不行,这个比较麻烦。账号申请成功后会有AppID和AppSecret,这个相当于你公众号的秘钥,第二步需要用到。然后在JS接口安全域名中加入你调微信SDK时的页面的地址,不支持IP地址、端口号及短链域名,只能写域名,不用加http啥的,在设置了安全域名的路径下才能够成功调SDK。 第二步需要一个获取签名的接口,这个可以找RD帮忙操作,请求接口的时候带上URL(必须和你当前的URL一致),然后让RD好好研读下如何通过公众号的AppID和AppSecret获取到token及签名等信息,接下来就可以愉快的调用微信的分享SDK了。 第三步获取到签名之后在HTML中引入 <script typet="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>引入后在代码中调用分享SDK window.wx.config({ appId: res.data.appId, //res.data为请求签名接口返回数据 timestamp: res.data.timestamp, nonceStr: res.data.nonceStr, signature: res.data.signature, jsApiList: [ 'checkJsApi', 'updateAppMessageShareData', 'updateTimelineShareData' ] }); const shareConfig = { 'imgUrl': '你想展现的图标', 'desc': '你想展现的描述', 'title': '你想展现的title', 'link': window.location.href, 'success': function () { console.log('成功了!'); }, 'cancel': function () { console.log('取消'); } }; window.wx.ready(function () { window.wx.updateAppMessageShareData(shareConfig); window.wx.updateTimelineShareData(shareConfig); });OK!大功告成,现在就可以按你的想法分享内容了,但是如何在本地测试是否成功呢?我们刚才也说了只能在安全域名下才能调用成功,所以Charles就派上大用场了。。。把安全域名代理到本地,然后可以在微信开发者工具上面自测一下,没问题了上真机,iOS和安装都要试一下,会有惊喜。 三、坑及总结在自测了没问题之后上线了。。。结果发现iOS的手机获取签名失败,报invalid signature,后来排查发现在iOS的微信里面如果从其他页面跳转到你要分享的页面window.location.href是不会变的。。。也就是说你发请求去获取签名时候传给后端的URL和你当前的URL是不一致的,所以导致签名获取失败。这个解决办法很多,可以把前一个页面的URL拿去获取签名,只要保持一致就是OK的。好了 先写这么多。。。

July 2, 2019 · 1 min · jiezi

推荐8个优质微信公众号

在娱乐形式多样的今天 阅读公众号已成为我们 不可缺少的消遣方式 如果你在眼花缭乱的微信世界 很久也没有找到值得阅读的号 那下面推荐的几个号 他们有态度、有质量、有吸引力 值得拥有 ♥长按二维码,选择“识别图中二维码”订阅。 ▼ 书单 ID:BookSelection 推荐理由:如果你没时间读书,或者不知道该读什么书,推荐你来书单看看。 号主书单君原来是《南方周末》的资深记者,他不只和你分享什么书好,还会告诉你这书和你的生活工作有什么关联,能帮我们解决什么现实问题:心理成长、职场发展、两性关系、理财投资等等。 每天上午十点,书单君会用7分钟为你拆解一本好书。上下班路上读读好书,让你每天比同龄人多进步一点点(已经有370万年轻人关注了书单,你不加入吗?) ▲长按上方二维码识别关注 ▼ 岁月如歌 ID:misstime666 推荐理由:你爱的歌,这里都有,每晚一首歌一个故事,带你重温那些年的经典旋律。被你弄丢的回忆,我在这里还给你。 ▲长按上方二维码识别关注 ▼ 职场充电宝 ID::ZhichangCdb 推荐理由:如果想get最全面的职场生活,不妨关注这个100万+职场人都看的——职场充电宝。每天都有最干货、最职场、最易get的微课分享,至今已免费分享500多场微课,为你铺平这条get新知识的道路! ▲长按上方二维码识别关注 ▼极简史 ID:minitory 推荐理由:极简史,三分钟带你涨姿势。愉快搞知识、大神小八卦、青年人性研究……还有逗趣治愈小漫画(●´`●) 年轻的萌妹砸和小哥哥都在关注哦!简明不简单,有趣又有料。关注我们,一起打破无聊! ▲长按上方二维码识别关注 ▼ MBA智库 ID:mbalib 推荐理由:MBA智库十年专注经管领域个人成长,胡润中国2017&2018最具影响力财经自媒体50强。兼具热点与干货,顶尖管理知识、进阶职场指南,你想要的它都有。超过1000w+职场人跟它共同成长,扫描下方二维码立即关注,你来吗? ▲长按上方二维码识别关注 ▼ 剥洋葱people ID:boyangcongpeople 推荐理由:新京报深度报道部出品,已是为数不多能读到深度报道和硬新闻的地方,我们几乎没有缺席过一起热点突发、重大公共事件。在这里,调查记者并没离开。他们希望像“剥洋葱”一样,尽力剥开一层层覆盖在人们身上的“伪装”,最大限度触及人物内心。 ▲长按上方二维码识别关注 ▼ 早安英文 ID:hotabc666 推荐理由:这是一个实用有趣的英文公众号。他们每天早上5点半雷打不动会更新一期很有意思的图文音频节目,中英文结合,内容实用又有趣,很适合用来日常积累。他们谈论的 topic 非常之多,能聊王者荣耀也会教你如何订票。 从地道口语到时事热点,能学到很多实用的英文知识。而且,主播的声音都很好听~ ▲长按上方二维码识别关注 ▼ 旅行去玩攻略 ID:lvxingqwgl 推荐理由:想出去旅行,不知道怎么玩? 每天11:00,攻略君带着你天南海北:天气太热了?去贵州找一座小城,过一个21℃的夏天;不想工作了?去这10个地方发发呆,手机关机,岁月静好;想起赵雷的歌了?就去成都的街头走一走,走到玉林路的尽头,坐在小酒馆的门口… 2019,「攻略君」做你的贴身旅行向导,给你旅途丰富的指南。 ▲长按上方二维码识别关注 ▼ 有意思生活 ...

June 25, 2019 · 1 min · jiezi

三步教你用Node做一个微信脱单神器小白可上手

前言不知道大家最近有没有被python版的《微信每日说》刷屏呢,他可是霸占了github的python热门快两周了。我们前端的小伙伴是不是也看着有点眼馋呢,因为毕竟是不那么熟悉的python语言,学起来和用起来肯定没有那么舒服。想想要是用我们熟悉的js语言做一个属于自己的哄女友神器是不是很开心呢!???? 哄女友我们前端开发人员也是很认真的,自动哄女友(基友)神器我们也可以做! 项目介绍其实《微信每日说》小项目早在三月份都已经做好了,当时也发布了一篇文章《用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话》,有看过的朋友应该有印象的。由于上次分享的文章比较偏向于技术,被朋友说可能不太适合小白用户使用,在他的建议下呢,我又重新整理了一下现有代码,和制作了教学视频,方便任意人群的使用。 同时呢我也维护了两套项目,一个是本项目《微信每日说》适合入门人群,操作简单,配置方便,上手容易。另一个项目是《微信个人秘书》,功能较多,涵盖自动加群、自动加好友、自动回复、可设置定时提醒等功能。由于涉及到数据库的操作,所以主要面向有编程经验的群体,有兴趣的小伙伴可以参考《使用koa2+wechaty打造个人微信小秘书》。 本文介绍项目是用node和wechaty微信网页接口开发的一款小工具,可以定时给女朋友发每天的天气情况,天气提醒,每日一句。通过配置机器人api后还可以实现微信机器人自动陪女朋友聊天。 项目地址github: https://github.com/gengchen528/wechatBot 看看前端的小伙伴能不能把这个项目送上热门呢 哈哈 效果预览在三步走教学之前,先放上效果看一下 可以看到在指定的时间就会收到发送的消息,包括天气信息,天气提醒,还有你们在一起多少天了。当开启机器人后,女朋友就可以和小助手对话了,不过目前开源机器人的api都不是非常的智能,匹配的语义可能不是那么准确。所以有时候女朋友生气了,千万记得不要开启机器人,不然回答的不对是会被女朋友暴打的????! 此项目前期使用的是图灵机器人,但是最近图灵机器人做了限制,没有认证的用户不允许调取API,认证的用户每天也只有100条,这就很鸡肋了,女朋友还没哄过瘾呢就被限制了,这是很可怕的(手动滑稽)!所以现在更换了一个天行机器人的api接口,这个接口没有太多限制,送的调用次数也足够用,在项目中已经开放给大家用了,不过还是建议大家自己申请一个账号比较好,因为这个机器人可以自定义名称之类的,也可以设置自己需要的回复内容。 视频教程移步:《三步教你用Node做一个微信哄女友神器》 三步走教程一、安装nodenode官网:https://nodejs.org/zh-cn/ 选择系统对应版本node下载安装,win建议.msi包安装,只需一直下一步即可,其他系统同理; windows下安装node步骤详细参考 https://www.cnblogs.com/liuqiyun/p/8133904.htmlMac下安装node详细步骤参考 https://blog.csdn.net/qq_32407233/article/details/83758899 Linux下安装node详细步骤参考 https://www.cnblogs.com/liuqi/p/6483317.html 安装完成后,按住键盘的shift+鼠标右键,选择在此处打开命令窗口。在命令行执行node -v出现版本号说明安装成功 二、下载代码并配置代码地址:https://github.com/gengchen528/wechatBot 访问此地址,直接下载zip包到本地桌面,然后解压; 进到目录中,找到config目录下的index.js文件 选中index.js文件,右击选择打开方式,没有安装代码编辑器的可以用记事本打开。有代码编辑器的直接用代码编辑器打开,建议非开发人员可以下载一个notepad++,下载链接链接:https://pan.baidu.com/s/1mWdEOaTQ1D6kihQveN1JHw 密码:fn9g,开发人员就各自发挥吧,相信每个人都有自己用的比较舒服的编辑器我就不推荐了](https://upload-images.jianshu... 配置文件中需要修改的地方,女朋友的微信备注姓名NAME必须要换一下,不然你发给我就不好了????,微信昵称NICKNAME最好也写一下,你和女朋友的纪念日MEMORIAL_DAY就不用说了,也要改一下。如果要发送天气信息,女朋友所在城市CITY肯定也是必须修改的,地区LOCATION不知道怎么拼写的话,我建议可以查一下墨迹的官网https://tianqi.moji.com/weather/china/在墨迹天气找到对应地区的天气后,查看一下网页地址栏,绿色标记的拼音填入CITY,红色标记的拼音填入LOCATION 每天发送的时间SENDDATE,这里的规则可以参见schedule目录下的index.js文件。这里0 06 8 * * *代表的是每天的早上8点06分0秒,我们通常只需配置前三个就可以了。如果需要开启机器人聊天的话,需要把AUTOREPLY设置为true,这里我放弃了图灵机器人,原因上面也说了,改用了天行机器人,但是不要抱太大希望,它并不是那么智能????。目前由于我自己账号的api次数还比较多,就在项目代码中开放给大家使用了,这里就不放出来,下载代码后只要修改一下AUTOREPLY就可以自动回复了。// 配置文件module.exports = { // 基础定时发送功能配置项(必填项) NAME: 'Leo_chen', //女朋友备注姓名 NICKNAME: 'Leo_chen', //女朋友昵称 MEMORIAL_DAY: '2015/04/18', //你和女朋友的纪念日 CITY: 'shanghai', //女朋友所在城市 LOCATION: "pudong-new-district", //女朋友所在区(可以访问墨迹天气网站后,查询区的英文拼写) SENDDATE: '0 06 8 * * *', //定时发送时间 每天8点0分0秒发送,规则见 /schedule/index.js ONE: 'http://wufazhuce.com/', ////ONE的web版网站 MOJI_HOST: 'https://tianqi.moji.com/weather/china/', //中国墨迹天气url //高级功能配置项(非必填项) AUTOREPLY: true, //自动聊天功能 默认关闭 AIBOTAPI: 'http://api.tianapi.com/txapi/robot/', //天行机器人API 注册地址https://www.tianapi.com/signup.html?source=474284281 APIKEY: '天行机器人apikey', //天行机器人apikey}三、开始运行程序配置完成好文件别忘记保存了,保存好就回到项目的主目录吧。这时候win系统的话就按住键盘的shift+鼠标右键,选择在此处打开命令窗口。 ...

June 24, 2019 · 1 min · jiezi

小程序生成海报代码分享

今天下午花了一下午时间把之前项目添加了对海报生成的支持 需要的同学可以移步下面链接 https://gitee.com/jgl1210/gen... 本代码实现功能1、海报上添加图片2、海报上添加文字3、海报下载4、海报保存到本地

June 20, 2019 · 1 min · jiezi

关于vue项目中移动端实现用户选择视频上传多个视频兼容安卓和ios功能

项目需求:在公司的教育公众号中,用户有一个需求就是:学生作业为舞蹈或者童模表演,需要上传视频到服务器。 项目技术:使用vue+mniti-ui 遇到的问题:本以为上传视频会很简单,第一个就想到input的type设置为file类型,这样做下来发现在ios中确实是没有问题的,不管是从手机拍摄的视频列表中选择,还是调用摄像头直接拍摄都是没有问题的,但是当用安卓手机的时候,发现可以打开安卓手机的文件系统,也可以进入视频列表,但是视频都无法选择。 解决办法:1、判断手机类型,是ios还是安卓。2、对于不同的手机类型使用不同的input设置,在android中设置capture属性就行 实现效果: 需要源码的可以联系我

June 18, 2019 · 1 min · jiezi

vue微信网页授权最终解决方案

vue微信网页授权,基于vue-cli3.0+webpack 4+vant ui + sass+ rem适配方案+axios,开发的微信授权方案。项目地址:vue-wechat-auth 又又又一次来写微信网页授权,一年前写过的 [vue 微信授权解决方案]。 参考了[vue-wechat-login],思路有些不同,本文基于进入所有页面都必须先授权的操作。 与之前写的授权不同之处这次的逻辑全部在router的beforeEach进行,相较更加简洁明。之前是在一个中间页author.vue中,加上微信授权要跳转很多次 在这里你能找到微信网页授权前端解决方案,官方文档如何使用Natapp(ngrok)进行微信本地开发调试,官方文档如何配置微信开发测试账号关于测试账号和本地开发设置由于文章过长这里[微信测试账号和本地开发调试]记得回来哦~ 微信网页授权都设置好了那就开始微信网页开发第一步也是最重要的一步,微信网页授权 关于授权你首先要清楚的是,服务端要用到的是微信openid还是微信unionid,这两者的区别是,如果你要的是unionid,那么你需要在[微信开放平台]去绑定测试账号。测试号的appId和appsecret在微信公众平台的测试号里找。微信公众号后台->开发者工具->公众平台测试帐号->进入 如果你不需要unionid,那这个你就可以省略, 如果服务端是需要unionid的那不绑定的话授权会把报错的。记得问一下服务端开发人员哦。 开发首先我们看下微信授权的流程图,关于微信网页授权 前端需要做的是 第一步:用户同意授权,获取code,拼接微信授权地址,redirect_uri就是你的当前地址,关于appid有些人是通过接口获取的,我这里就直接写在项目全局变量里了VUE_APP_WECHAT_APPID,用户授权成功后微信会携带code和status跳回来 https://open.weixin.qq.com/connect/oauth2/authorize?appid=${this.appid}&redirect_uri=${this.redirect_uri}&response_type=code&scope=${this.scope}&state=${this.state}#wechat_redirect第二步,访问登录接口,将code传给服务端,小哥哥进行一系列的操作,通过code换取网页授权access_token,拉取用户信息(需scope为 snsapi_userinfo),返回是否登录成功,成功后返回用户信息和登录令牌 token 在permission.js中路由拦截进行这一系列操作,代码注释很详细了 permission.js import router from './router'import store from './store'import getPageTitle from '@/utils/get-page-title'import wechatAuth from './plugins/wechatAuth' // 微信登录插件const qs = require('qs')router.beforeEach((to, from, next) => { const loginStatus = Number(store.getters.loginStatus) console.log('loginStatus=' + loginStatus) console.log('token=' + store.getters.token) // 页面标题 document.title = getPageTitle(to.meta.title) if (loginStatus === 0) { // 微信未授权登录跳转到授权登录页面 const url = window.location.href // 解决重复登录url添加重复的code与state问题 const parseUrl = qs.parse(url.split('?')[1]) let loginUrl if (parseUrl.code && parseUrl.state) { delete parseUrl.code delete parseUrl.state loginUrl = `${url.split('?')[0]}?${qs.stringify(parseUrl)}` } else { loginUrl = url } // 设置微信授权回调地址 wechatAuth.redirect_uri = loginUrl // 无论拒绝还是授权都设置成1 store.dispatch('user/setLoginStatus', 1) // 跳转到微信授权页面 window.location.href = wechatAuth.authUrl } else if (loginStatus === 1) { // 用户已授权,获取code try { // 通过回调链接设置code status wechatAuth.returnFromWechat(to.fullPath) } catch (err) { // 失败,设置状态未登录,刷新页面 store.dispatch('user/setLoginStatus', 0) location.reload() } // 同意授权 to.fullPath 携带code参数,拒绝授权没有code参数 const code = wechatAuth.code if (code) { // 拿到code 访问服务端的登录接口 store .dispatch('user/loginWechatAuth', code) .then(res => { // 成功设置已登录状态 store.dispatch('user/setLoginStatus', 2) next() }) .catch(() => { // 失败,设置状态未登录,刷新页面 store.dispatch('user/setLoginStatus', 0) location.reload() }) } else { store.dispatch('user/setLoginStatus', 0) location.reload() } } else { // 已登录直接进入 next() }})登录成功后存用户信息,token。访问所有的接口的时候都会在header携带token,如果token失效了,服务端会返回401,做退出操作,删除登录状态,用户信息,token,刷新页面重新进入。 ...

June 15, 2019 · 2 min · jiezi

在ubuntu中使用微信的三种方式

微信并没有像网易云一样提供liunx平台的运行程序,可这并难不倒程序员们. 这里有三种方式在liunx上使用微信由简到难 一.网址打开直接打开浏览器输入网址https://wx.qq.com/ 回车即可 效果如下: 二.命令行打开 google-chrome --app=https://wx.qq.com/效果如下: 然后对其进行改造一下 1 在桌面下创建一个 wx.sh touch wx.sh2 编辑内容如下 #!/bin/shgoogle-chrome --app=https://wx.qq.com/3 增加运行权限 chmod u+x wx.sh4 双击可执行 参考这篇文章 https://blog.csdn.net/u011021... 三.第三方客户端https://github.com/geeeeeeeee... 1w+个星 已停止维护 https://github.com/eNkru/elec... 1百+个星 总结目前我采用的是第二种方式,相对比较简单可靠,且兼顾了一和三的好处.

June 14, 2019 · 1 min · jiezi

基于Proxy的小程序状态管理

微信小程序的市场在进一步的扩大,而背后的技术社区仍在摸索着最好的实践方案。我在帮助Nike,沃尔玛以及一些创业公司开发小程序后,依旧认为使用小程序原生框架是一个更高效,稳定的选择,而使用原生框架唯独缺少一个好的状态管理库,如果不引入状态管理则会让我们在模块化,项目结构以及单元测试上都有些捉襟见肘。 目前相对比较稳健的做法是针对redux或者mobx做一个adaptor应用到小程序中,但这样需要自己想办法打包引入外部库,还要想怎么去写这个adaptor,总显得有些麻烦。于是我迸发出一个想法去写一个专用于小程序的状态管理库,它使用起来足够简单并且可以通过小程序自己的npm机制安装。 目前我已经用这个开源库开发了两个电商小程序,在提高我开发效率的同时亦保证了程序的性能,所以接下来我想谈谈这背后的理念以启发更多开发者尝试新的解决方案。 基于Proxy的状态管理实现Proxy在小程序中已经得到了足够好的支持,目前并没有发现在任何iPhone或者Android上不能使用Proxy的情况。而基于Proxy的状态管理其实也就是订阅监听的模式,一方面监听数据的变化,另一方面将这些变化传达给订阅的小程序页面。 举一个比较常见的例子,当一个用户从自己的主页进入用户编辑页面,然后更改了自己的用户名点击保存后,用户主页和用户编辑页上的用户名这时候都应该被更新。这背后的程序逻辑则是:更新这个行为将触发Proxy去通知状态管理库,然后状态管理库负责检查此时还在页面栈中的所有页面,更新订阅了用户名这个数据的页面,如下图: Part1: 监听数据变化监听数据变化其实就是监听各个Store的属性变化,实现上就是在各个Store前面加了一层Proxy,用更直观的图片来表示就是这样: 当一个Store被观察以后,它的属性就都变成了Proxy实例,当这个属性值是Object或者Array的时候,它内部的值也会被包装成Proxy实例,这样无论多深层的数据变动都能被监听到。而在Proxy的后面,Store的属性其实是被另一套数据(紫色部分)所维护,这套数据不负责监听,它就是纯数据,针对属性的任何变动最后都会应用到这套数据上来,它的作用是维护和返回最新的数据。 实现细节: https://github.com/wwayne/min... Part2: 页面数据绑定因为小程序每个页面的js都是向Page中传递一个对象,这就让我们有机会包装这个对象,从而实现: 进入页面后,将页面保存在页面栈中将来自状态管理库的数据映射到这个页面的data上来页面退出时,将页面从页面栈中移除实现细节: https://github.com/wwayne/min... Part3: 页面订阅更新当数据被监听到变化后,我们需要依次做两件事,先是找到所有存储在页面栈里的页面,然后根据各个页面订阅的数据来检查变化,如果有变化就通知这些页面,从而让它们去触发setData更新页面。 实现细节:https://github.com/wwayne/min... 使用状态管理的例子有了状态管理库,现在我们就来实现一开始举例的更新用户信息的操作,我们的文件路径如下: stores/ user.jspages/ userEdit/ index.js index.wxml1.首先我们创建一个Store保存用户的信息,并且监听它的变化: // stores/user.jsimport { observe } from 'minii'Class UserStore { constructor () { this.name = 'bob' } changeName (name) { this.name = name }}export default observe(new UserStore(), 'user')2.接着在我们的小程序页面订阅Store的信息 // pages/userEdit/index.jsimport { mapToData } from 'minii'import userStore from '../../stores/user'const connect = mapToData(state => (({ myName: state.user.name}))Page(connect({ updateNameToJames () { userStore. changeName('james') }}))3.完成,现在可以在页面中使用和更新数据了 ...

June 14, 2019 · 1 min · jiezi

微信JSSDK-实现打开摄像头拍照再将相片保存到服务器

在微信端打开手机摄像头拍照,将拍照图片保存到服务器上需要使用到微信的JSSDK接口,主要使用到了拍照或从手机相册中选图接口(chooseImage),上传图片接口(uploadImage) 参考资料: https://mp.weixin.qq.com/wiki... https://www.easywechat.com/do... 一:引入微信js <script src="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js "></script>二:通过config接口注入权限验证配置 wx.config(<?php echo Yii::$app->wechat->js->config([ 'chooseImage', 'uploadImage', 'downloadImage' ]) ?>);三:微信端拍照接口 wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 }});四:将照片上传到微信服务器接口 wx.uploadImage({ localId: localIds, // 需要上传的图片的本地ID,由chooseImage接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) { var serverId = res.serverId; // 返回图片的服务器端ID }, fail: function() { //上传图片到微信服务器失败 return false; }});五:将微信服务器的图片下载到本地服务器 ...

June 12, 2019 · 2 min · jiezi

史上最全的微信小程序代码大全源码下载

 小程序QQ交流群:131894955   开发文档: http://wepydemo.mydoc.io 小程序CMS官网源码下载 源码链接: https://gitee.com/jeecg/jeewx... JAVA版微信管家平台(各种微信活动、公众号管理) 源码地址: https://gitee.com/jeecg/h5huo... 微信小程序实例源码大全下载 微信小应用示例代码(phodal/weapp-quick)源码链接:https://github.com/phodal/wea... 微信小应用地图定位demo(giscafer/wechat-weapp-mapdemo)源码链接:https://github.com/giscafer/w... 微信小应用- 掘金主页信息流(hilongjw/weapp-gold)源码链接:https://github.com/hilongjw/w... 微信小程序(应用号)示例:微信小程序豆瓣电影(zce/weapp-demo)源码链接:https://github.com/zce/weapp-... 微信小程序-豆瓣电影(hingsir/weapp-douban-film)源码链接:https://github.com/hingsir/we... 小程序 hello world 尝鲜(kunkun12/weapp)源码链接:https://github.com/kunkun12/w... 使用微信小程序开发2048游戏(sammffl/wechat-weapp-2048)源码链接:https://github.com/sammffl/we... 微信小程序-微票(wangmingjob/weapp-weipiao)源码链接:https://github.com/wangmingjo... 微信小程序购物车DEMO(SeptemberMaples/wechat-weapp-demo)源码链接:https://github.com/SeptemberM... 微信小程序V2EX(jectychen/wechat-v2ex)源码链接:https://github.com/jectychen/... 微信小程序-知乎日报(myronliu347/wechat-app-zhihudaily)源码链接:https://github.com/myronliu34... 微信小程序-公众号热门文章信息流(hijiangtao/weapp-newsapp)源码链接:https://github.com/hijiangtao... 微信小程序版Gank客户端  源码链接:https://github.com/lypeer/wec... 微信小程序集成Redux实现的Todo list  源码链接:https://github.com/charleyw/w... 微信小程序-番茄时钟  源码链接:https://github.com/kraaas/timer 微信小程序项目汇总  源码链接:http://javascript.ctolib.com/cat ... t-wechat-weapp.html 微信小程序版聊天室  源码链接: https://github.com/ericzyh/we... 微信小程序-HiApp  源码链接: https://github.com/BelinChung... 小程序Redux绑定库  源码链接: https://github.com/charleyw/w... 微信小程序版微信源码链接:  https://github.com/1838043547... 小程序开发从布局开始源码链接:  https://github.com/hardog/wec... 微信小程序-音乐播放器 源码链接: https://github.com/eyasliu/we... 微信小程序-简易计算器-适合入门源码链接: https://github.com/dunizb/wxa... 微信小程序-github 源码链接:  https://github.com/zhengxiaow... 微信小程序-小熊の日记 源码链接:  https://github.com/harveyqing... 微信小程序源码链接: https://github.com/SeaHub/Pig... 微信小程序(WeChatMeiZhi妹子图)源码链接:https://github.com/brucevanfd... 使用方法 1、克隆项目代码到本地(git应该都要会哈,现在源码几乎都会放github上,会git才方便,不会的可以自学一下哦,不会的也没关系,gitHub上也提供直接下载的链接)2、打开微信开发者工具;3、添加项目->选择本项目目录->编译执行;

June 8, 2019 · 1 min · jiezi

JAVA免费微信管家系统JeeWx-41-版本发布微信砍价活动闪亮登场

JEEWX 从4.0版本开始,技术架构全新换代更名“捷微H5”。这是一款开源免费的微信运营平台,是jeewx的新一代产品,平台涵盖了:微信公众号管理、各种微信活动、小程序、微网站、微商城、分销商城、小程序商城、小程序网站、砍价、投票、会员等等功能,是一套成熟的互联网运营产品。架构层面,采用JAVA语言,具备更高的并发能力和大数据能力,采用微服务架构,插件式开发模块化、UI体验更好;另外强大的代码生成器,显著提高开发效率,便于用户二次开发;最大的优势:插件模式,每个功能模块以插件方式提供,方便插拔集成,个性化定制。一、升级日志本版本4.0是大换代版本,采用微服务架构,全部功能重写,此版本开启插件服务模式1、新增活动:微信新年砍价;2、提供全新录制教学视频;3、提供最新的使用文档;4、修改域名变更,属性文件读取失败等问题;5、修改删除一级菜单,子菜单未跟着删除问题;6、重置token,增加redis未配置提示;7、九宫格、水果机,新增项目说明文档,本地测试地址;二、平台功能介绍【微信公众号】 1、微信账号管理2、微信菜单管理(支持小程序链接)3、关注欢迎语4、关键字管理5、文本素材管理6、图文素材管理7、强大的图文编辑器(支持素材选择)8、粉丝用户管理9、粉丝同步功能10、接受消息功能11、Oauth2.0链接12、微信第三方平台(全网发布)13、系统用户管理14、系统角色管理15、系统菜单管理16、项目logo设置17、活动插件管理【微信活动】 1、九宫格2、摇一摇3、微砍价三、项目介绍捷微 - H5活动源码列表(陆续更新..) 1.微信公众号管理 P3-Biz-commonweixin2.摇一摇送卡券 P3-Biz-shaketicket3.九宫格活动 P3-Biz-jiugongge4.新年砍价 P3-Biz-gzbargain5.启动项目 P3-Web四、开发入门 1.Eclipse + Maven + JDK7 2.项目以Maven方式导入eclipse 3.初始化数据库脚步 P3-Web\doc\db\jeewx-h5-mysql-20180810.sql 4.采用maven方式,启动主项目P3-Web,命令:tomcat:run 活动访问地址: http://localhost/jeewx 说明:插件不能单独启动,maven方式引入到Web项目 5.系统默认登录账号 admin/123456 五、下载地址源码下载: https://gitee.com/jeecg/h5huo... 官方网站: htttp://www.jeewx.com QQ技术群: 97460170 体验公众号: 六、系统演示 捷微H5活动平台(管理后台) 捷微H5活动平台(H5微信活动)1.砍价活动-效果图 2.九宫格活动-效果图 3.斧头帮砍价-效果图 4.摇一摇送卡券-效果图

June 7, 2019 · 1 min · jiezi

给你的个人微信朋友圈数据生成一本电子书吧

[toc] 给你的个人微信朋友圈数据生成一本电子书吧!简介微信朋友圈保留着你的数据,它留住了美好的回忆,记录了我们成长的点点滴滴。发朋友圈从某种意义上来讲是在记录生活,感受生活,并从中看到了每个人每一步的成长。 这么一份珍贵的记忆,何不将它保存下来呢?只需一杯咖啡的时间,即可一键打印你的朋友圈。它可以是纸质书,也可以是电子书,可以长久保存,比洗照片好,又有时间足迹记忆。 这本书,可以用来:送给孩子的生日礼物送给伴侣的生日礼物送给未来的自己……现在,你可以选择打印电子书或者纸质书。打印纸质书的话,可以找第三方机构花钱购买;打印电子书的话,我们完全可以自己动手生成,这可以省下一笔不小的开支。 部分截图在开始写代码思路之前,我们先看看最终生成的效果。 电子书效果 纸质书效果 代码思路获取微信书链接看完效果图之后,开始进入代码编写部分。首先,由于朋友圈数据的隐私性较高,手动获取的话,需要使用root的安卓手机进行解密或对pc端备份的聊天记录数据库进行解密,这对大部分人来说难度较大。所以我们采取的思路是基于现有的数据进行打印电子书。 目前,已经有第三方服务支持导出朋友圈数据,微信公众号【出书啦】就提供了这样一种服务。这种服务很大可能性是基于安卓模拟器进行自动化采取操作的,具体就不详细讲了。 首先,关注该公众号,然后开始制作微信书。该过程为小编添加你为好友,然后你将朋友圈开放给他看,等一会后采集完毕后,小编会发给你一个专属链接,这个链接里面的内容就是你的个人朋友圈数据。 生成电子书有了这个链接后,我们开始对该页面的内容进行打印。 整个过程基于selenium自动化操作,如果你有了解过selenium的话,那么其实该过程是很简单的。 首先,引导用户输入微信书链接,我们采用在浏览器弹出一个输入文本框的形式让用户输入数据。首先,在selenium中执行js代码,js代码中完成弹出输入文本框的功能。 输入微信书链接# 以网页输入文本框形式提示用户输入url地址def input_url(): # js脚本 random_id = [str(random.randint(0, 9)) for i in range(0,10)] random_id = "".join(random_id) random_id = 'id_input_target_url_' + random_id js = """ // 弹出文本输入框,输入微信书的完整链接地址 target_url = prompt("请输入微信书的完整链接地址","https://"); // 动态创建一个input元素 input_target_url = document.createElement("input"); // 为其设置id,以便在程序中能够获取到它的值 input_target_url.id = "id_input_target_url"; // 插入到当前网页中 document.getElementsByTagName("body")[0].appendChild(input_target_url); // 设置不可见 document.getElementById("id_input_target_url").style.display = 'none'; // 设置value为target_url的值 document.getElementById("id_input_target_url").value = target_url """ js = js.replace('id_input_target_url', random_id) # 执行以上js脚本 driver.execute_script(js)上述js代码的具体步骤为:弹出一个输入文本框,创建一个动态元素,随机命名该元素的id,并将这个动态元素插入到当前页面中,使得可以在python中通过selenium获取到输入文本框的内容。 ...

June 7, 2019 · 2 min · jiezi

码code-巧用2种方法打破20条云开发数据库限制

小程序·云开发是小程序的一种后端开发模式,能够帮助开发者快速构建微信小程序的后端服务,无需再搭建服务器。 然而熟悉云开发的开发者应该了解,即使云开发能基本满足小程序开发需求,但在数据获取上还是有所限制。 为了防止误操作以及保护小程序体验,开发者是需要避免一次性获取过量的数据,只获取必要的数据,所以服务器一次默认并且最多返回 20 条记录。但对于有数据大量获取需求的开发者来说,只能放弃云开发吗?答案是no。 微信团队之前在云课程上就已经分享了打破数据库列表限制的2种方法,通过云函数最多可获得100条数据。 这次的方法分享是以音乐播放器小程序为实例,通过云函数调用云数据库,实现用户上传音乐的功能。 音乐播放器的核心功能是播放歌曲,也就是需要它能够获取数据库所存储的歌曲信息,然后传到小程序端,去实现播放器的播放、暂停、切换。 01 上传歌曲信息至云数据库歌曲信息包括id、歌曲名、歌手、封面、音频文件等。 playlist: [{ _id: '', cover: '', singer: '', title: '', src: ''}],02 利用云函数获取数据列表getlist(){ let that = this; wx.cloud.callFunction({ name: ’getmlist’,//自己的云函数名称 success: res=>{ wx.stopPullDownRefresh() if(res.result){ let playlist = res.result.data console.log({ playlist }) if(playlist = undefined playlist.length == 0){ wx.showToast({ title: ’no data’, }) }else{ that.setData({ isShowArtcle: true, playlist: playlist, }) } } }, fail:err => { wx.stopPullDownRefresh() wx.showToast({ title: ’no data’, }) } })}然而目前的做法只能获取20条数据,也不能支持用户上传音乐文件并正常加载播放。为了实现这一功能,需要我们设置云函数,调用云数据库,从而打破数据限制。 ...

May 31, 2019 · 1 min · jiezi

小程序webview关闭后页面音频没有关闭

问题描述:在web-view的src中,引入了一个HTML5页面,这个页面有个自动播放的音频。在小程序中,点击右上角关闭小程序后,web-view页面中的音频依然会播放。 期待现象期待关闭小程序之后,音频也停止。 通过查找文档,发现没有直接提供方法,网上找了一圈之后,尝试的方案也都无法实现。 所以我这里想到的思路是,当用户关闭小程序时,应该销毁掉web-view。可惜,目前没有这个接口。 所以我就利用了模拟的方式来实现,当前小程序页面onHide时,就将web-view的页面src属性清空。 后来经过测试发现,在ios平台下,需要制定一个url,在android平台下只需要清空。另外为了防止造成缓存,给url后面添加了一个随机的参数。 以下是代码片段。 <template> <view> <web-view :src="webUrl"></web-view> </view></template><script> export default { data() { return { webUrl: 'https://demo.com/weixin/index.html' } }, onLoad() { }, onHide(){ // webview关闭后,刷新url。否则会造成音乐在后台继续播放的bug if (uni.getSystemInfoSync().platform == "ios") { this.webUrl = 'https://demo.com/weixin/index.html?redirect=true'; }else{ // android系统下只能给空值 this.webUrl = ';' } }, onBackPress(){ }, methods: { } }</script><style></style>

May 30, 2019 · 1 min · jiezi

Vue微信公众号兼容微信JSSDK使用分享等功能

很久没有写文章了,最近项目是基于微信公众号的Vue项目,有一个非常重要的分享功能,不搞不知道一搞不得了,发现vue-router和微信SDK配置有很大的兼容性问题,翻遍文档,社区,博客,都没有找到可以适合解决我这个问题的方法,最后是我们一起一个一个方法、一个一个api尝试才找到解决办法,现在和大家分享一下我们遇到的问题和解决方案。 先附上微信SDK文档地址:https://mp.weixin.qq.com/wiki... 这里只针对讨论Vue脚手架搭建,vue-router跳转的SPA单页面项目!!很多是Vue-router和微信JS-SDK之间的BUG问题1.url在IOS端和Android端表现不同当使用vue-router跳转的SPA单页面项目,在IOS端只要不刷新页面,页面URL永远是第一次进来的url!例如: 项目首页地址为:www.baidu.com/home项目详情页地址为:www.baidu.com/detail当你在首页点击详情页跳转按钮触发了this.$router.push('/detail')且!页面已经跳转至详情页,但是你复制当前链接查看后会惊讶的发现,url还是www.baidu.com/home但!你强制刷新页面后,url会变成www.baidu.com/detail有趣的是,Android端不会出现这种情况,url会随着页面跳转而改变。 你要是问我为什么会出现这种情况,等我什么时候进微信团队了,我再给大家解答。。。因为在wx.config中配置需要使用当前url进行签名,这种问题出现导致IOS端和Android端不可共用一个分享代码,需要分开讨论并分开配置。 解决方案://因为问题1,所以我们要在IOS端进入项目时,记住第一次进来的url地址,供签名使用// 判断浏览器是 Android端 or IOS端let userAgent = navigator.userAgent;let isAndroid = userAgent.indexOf("Android") > -1 || userAgent.indexOf("Adr") > -1; let isIOS = !!userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); if (isIOS) { // 是IOS,这里用Vuex进行储存 this.$store.commit("isIosFun", true); //记录好第一次进项目的URL,供签名使用 this.$store.commit("firstUrlFun", window.location.href.split("#")[0]); } else if (isAndroid) { // Android this.$store.commit("isIosFun", false); //安卓无需记录,因为url会随着页面跳转而改变,签名使用window.location.href即可}问题2.微信分享配置在IOS端和Android端api不同微信分享是微信生态很重要的一个功能,特别对于公众号项目,有些靠这个恰饭的啊 ????????????我们先看文档,有什么供我们使用 请注意,原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。请尽快迁移使用客户端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、updateTimelineShareData 接口。上面是文档的原话,即将废弃是什么意思?又不告诉我为什么废弃,什么时候废弃,那我全部用updateAppMessageShareData、updateTimelineShareData这两个是不是就可以了? 经过我们上百次的测试和试验得出的结果是:updateAppMessageShareData、updateTimelineShareData 接口 只能在IOS端使用!onMenuShareTimeline、onMenuShareAppMessage 接口 只能在Android端使用!你要是问我为什么会出现这种情况,等我什么时候进微信团队了,我再一并给大家解答。。。 问题3.进入Vue项目不可以使用定向不可以在第一次进入项目使用定向!否则在ios端会导致首页wx.config失败!{ path: '/', redirect:"/home"},问题4.微信分享地址不可以有端口号!例如供签名的url为www.baidu.com:8080会导致wx.config失败!以上部分方案仅针对使用vue-router的SPA单页面项目,如果使用a链接跳转或者直接window.location.href跳转的小伙伴,直接使用wx.onMenuShareTimeline、wx.onMenuShareAppMessage接口就可以完成分享配置。 ...

May 30, 2019 · 1 min · jiezi

讲case-小程序怎么月收百万抽奖助手有4种模式

小程序的特性是“用完即走”,工具类小程序更是如此。这也就意味着,这类小程序往往面临粘性不够、留存难的问题,“昙花一现”的情况比比皆是。开发者应该如何考量自己小程序未来的发展方向?我们将分期,讨论工具类小程序发展的可能性。 本期是由访问人次过6亿、月收入百万级的抽奖助手小程序产品负责人邱岳带来的经验分享,探讨工具类小程序发展成营销平台的可能性。 转载来源:腾讯公开课 原作者:见实“我们目前实现了百万级的月收入,但真的,收入模式的灵感和实现都是客户推着我们做的”。 邱岳说这话时有些不好意思,看起来有点腼腆的他这时更加局促。 他是无码科技合伙人,一直都在担任产品经理角色。这个由几个人小团队误打误撞做出的小程序抽奖助手,今天已有6亿人次在上面进行了千万次抽奖。 原本,一个简单工具类小程序如何快速获得增长和留存就是一个非常吸引人的话题,现在更要加上“收入”这个关键词了——抽奖助手已积累了200多家品牌客户,每月收入超过百万级。 在深聊之前,原本以为邱岳会讲一个反复试错的故事,如爆款小程序如何在挣钱这件事情上进行反复试错、摔过多少跟头、如何艰难建立收入模式等等,结果听到的完全不一样。邱岳提到,当用户和品牌都在工具上时,更多增值需求会喷薄而出,品牌和用户都会主动找来要求提供更好的服务,付费这件事情也就直接蕴含在里面了。 在抽奖助手“刚刚起步”的收入构成中,明显由四部分构成,分别是:抽奖定制化推广合作、卖流量、增值服务、电商。四类收入的效果如何?中间有哪些思考,邱岳完整地复盘了这个故事。 四种收入模式:从被动到主动构成收入来源第一部分的“抽奖定制化推广合作”,正是客户主动找上门,希望在抽奖活动上进行付费合作,这让最初没有专职销售人员的抽奖助手团队很好奇,到底是怎么回事? 邱岳跑去翻了翻数据,同时也对比了下不同渠道,发现了一个情况:通过抽奖活动所实现的获客效率,相比其它渠道高出4到6倍。这个获客模式十分自然。 不过,这一类推广都需要团队进行定制化设计及个性化的方案设计,需要按项目来推进,对于人手紧张的小团队会受到很多限制。 第二部分收入构成是“卖流量”。截止2018年底,抽奖助手累计用户已经6000万,作为一个有着大量用户的工具类小程序,流量售卖本就是天然收入模式之一。 此前不久,微信也开放了小程序的激励视频广告,抽奖助手是最早接入测试的团队之一。虽然邱岳没有提及实际收入数据,但他明确讲到,“从年初接入内测到现在,每天从激励视频上拿到的收入已增长了十几倍,而且目前依在快速增长。” 第三部分是“增值服务”。如允许用户在安卓端小程序内购买功能更加丰富的高级版抽奖样式,或者购买为线下活动设计的现场抽奖的功能等。 过去抽奖助手曾做过几次安卓版小程序付费功能点的调整,核心逻辑是把简单易懂、使用率更高的功能免费,对那些更复杂、使用率更低的功能收费,和社交场景相关的功能、具有商业场景性质的功能收费。如高级版功能中的公众号绑定、阅读图文详情页功能等,就符合上述逻辑,比较适合设计成为增值点。 邱岳的体会是,选择付费的功能点时要谨慎些,尤其要避免把普适性功能做成收费功能,根据实际数据情况,在用户体验产品层、传播层、收入层三个方面找到平衡点。 第四部分就是电商合作。利用第三方电商工具,帮助用户购买商品、发起抽奖,当然也可以让用户直接下单购物。 这部分收入来源被邱岳放到最后,实际迭代和尝试过程中也最难。抽奖助手的擅长是做工具,而不是卖货。因此,在实际尝试多次后,邱岳建议,创业团队要专注做自己擅长的事情,其他事情就交给专业人士去干。如电商就和专业的电商团队合作。即便团队真的想要自己卖货,也不要往上游走太远,根据自身产品场景做销售或代销就是非常不错的选择。 克制赚快钱的两个原则:选择关键场景、不过度商业化这四个收入构成,邱岳个人最喜欢增值服务部分,“这是工具类产品变现最体面、最健康的方式之一”。邱岳认为这样的变现对产品经理来说最适宜,“付费的用户,和产品能够帮助并创造价值的人群,能够形成两端一致”。在实际运营过程中,抽奖助手从安卓端小程序中获得的增值服务收入一直非常稳定。 如果将工具类型产品当作是一盘好菜的话,这就是让吃的人开心后向炒菜的人付费,大家都得到了回报,这才是“纯粹”。从产品经理的角度来说,这样的收入模式也是比较美好的方向和正向激励。其他如广告等总是要不停的打断用户体验,看起来就不那么纯粹了。 其实这些组成部分背后,也有很多选择。例如,如果仅仅是卖流量,要选择什么样的广告主?最早找上门的客户中,存在着很多做销售、卖金融P2P、养生和保健品等,这些都被抽奖助手拒了。 此外,一款纯工具类型的产品,如何设计广告位置?抽奖助手选择在关键场景加一些广告位置,但尽可能不打断用户体验交互的流程。 “做广告必须要有所克制。不能在用户和产品产生互动时插入广告,必须让用户有绕过广告的空间。” 邱岳说,甚至,用户完全可以对广告视而不见继续后续操作。但做起来其实很难,毕竟多开广告位能多几倍的收入,好处则是聚焦在用户体验上,可以提高转化率。 这两个细节构成了抽奖助手变现的两个原则,一是不把流量卖给不认可的广告主,二是在尽量不影响用户体验的前提下开辟广告位。 这反而吸引了越来越多广告客户上门求合作,不仅包含美妆、化妆品类,还有一些大平台在抽奖助手小程序上做活动,共同特点都是要流量,要曝光。 而邱岳所说的“克制”另一面也表现在:抽奖助手当然也希望获得更大、更多收入,不过这个团队没有投入更多资源: “这跟我们的心态、自身能力相关。一是如果业务量很大,会有客户主动来找到我们。二是我们团队人数不多,没有考虑加很多商务或者销售,也就并没有非常有攻击性地去大量接触更多客户,只在力所能及的范围内去做,服务好每一个合作客户。”幸运的是,虽然没有大家想象中的特别“死磕”的过程,也因此没有犯特别大的戏剧性的错误。 给小程序创业者的三个变现提醒不过,更关键的问题是: 在各种变现策略的背后,如何选择适合自己产品和团队的收入方式? 这是大多创业团队遇到的难题之一。在小程序生态中,如果通过产品或者服务向有需求的B端提供价值?邱岳通常会这样追问自己几个问题。 第一个追问:这个收入模式最终是由谁来买单?他们关注的价值是什么? 如想提升广告收入,就去考虑广告主的广告费从哪里来?客户究竟是做电商还是做游戏的?钱是融资还是赚的利润?购买的服务是希望冲量、希望省钱?还是希望提升转化?等等。 这些反问代表着每一分钱背后的价值诉求。每一分钱背后都有不同价值诉求的交易,想清楚买单的人是谁、钱从哪来,就能去判断具体收入模式的持续性和稳定性,能够判断用户画像是否匹配。如果广告主用一块钱获得用户,但只能创造五毛钱价值,这个生意从长期来看就有危险。 第二个追问是:收入模式背后的引擎是什么?什么要素会影响收入的波动? 如影响广告收益的是曝光和点击,而流量和广告策略则是带来收入的引擎。分析收入引擎有助于确定运营失利点和收入的天花板。邱岳说,“与其去突破或拯救天花板,不如尝试建立新的收入引擎。” 怎么确定这个收入天花板?如果流量稳定在一个量级,死活都拉不上去,那么流量就是整个广告收入的天花板。这时就算再投资源、优化广告策略,都不会有太大作用。因为优化通常带来百分比级别的增长,而尝试建立新收入引擎则会带来十倍,甚至百倍收入增长。 第三个追问:现在做的收入模式是否与生态共赢? 对于小团队在微信生态中创业和挣钱,也要去关注自己产品和微信生态之间的关系。虽然一波流(可以理解为3天应用、7天应用,意思是过完这几天就“死掉”的小程序、小应用。通常这类产品还有一个戏谑的称呼:“日抛型”、“周抛型”小程序)和抄袭党在前期确实能赚到一点钱,但这种依靠消耗生态来赚钱的方式根本无法持续。 了解更多小程序开发相关内容,欢迎微信扫描下方二维码关注「微信极客WeGeek」公众号,共筑微信生态。

May 30, 2019 · 1 min · jiezi

企业微信登陆

引言用户登陆时,原设计是使用工号加密码进行登陆,只是工号不好记,为了推广,设计了企业微信登陆。 企业微信中可以设置自建应用,其实就是内嵌了一个Chrome,点击左侧的自建应用,会在右侧浏览器显示相关应用,所有工作都放在企业微信中,需实现当前企业微信账号自动登陆系统。 开发的过程很坎坷。让微信折腾的一点脾气都没有。 当时不会调试,因为企业微信中的自建应用要求设置成线上地址,写好了,打包,传给服务器,然后再测试。 五点,觉得还有十分钟就写完了,写完了就去吃饭。 六点、八点,改到九点半,都要改哭了,还是不好使,最后放弃了。 后来邢彦年师兄帮我梳理流程,潘老师教我调试方法,才完成这个功能。 感谢邢彦年师兄和潘老师。 实现文档找文档一定要找对地方,两个API,一个服务端,一个客户端。 最开始我以为是使用客户端的API呢?点进去学了学,企业微信小程序可用的API接口,这个用不了,此应用不是小程序。然后JS-SDK不支持登陆授权。 相关文档在服务端API中的身份认证一节中。 OAuth 2.0当我们用微信登陆某个网站时,会出现类似这样的授权页面。 点击确认登陆,该应用就能获取到用户相关的信息。 用户通过用户名和密码的方式进行微信的使用,第三方应用想获取微信用户信息,不是通过用户名密码,而是微信提供的令牌,这就是OAuth 2.0,既可以让应用获取不敏感的信息,又可以保证账户的安全性。 更多内容可学习阮一峰的博客,写得非常好:OAuth 2.0 的一个简单解释 - 阮一峰的网络日志 登陆流程用户点开应用,实际上是访问当前系统微信授权的入口 微信网页授权地址:https://open.weixin.qq.com/connect/oauth2/authorize 参数说明appid企业的CorpIDredirect_uri授权后的回调地址,需使用urlencode处理response_type回调数据返回类型scope应用授权作用域。企业自建应用固定填写:snsapi_basestate回调时额外的参数,非必选#wechat_redirect终端使用此参数判断是否需要带上身份信息看这个表格也是在无聊,下面是我配置好的微信授权链接,大家只需将相应参数改写即可。注:回调的url一定要使用encodeURIComponent处理! https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxxxx&redirect_uri=https%3A%2F%2Falice.dgitc.net%2Fsetup%2Fwechat&response_type=code&scope=snsapi_base#wechat_redirect用户静默授权成功,跳转到回调地址用户授权成功后,会带着code参数重定向到回调地址。 类似这样: https://alice.dgitc.net/setup/wechat?code=xxxxxx前台的组件就通过路由获取到了code,然后通过code去进一步获取用户信息。 const code = this.route.snapshot.queryParamMap.get('code');this.userService.enterpriseWeChatLogin(code).subscribe(...);后台通过code找微信后台获取用户信息这个是分成两次获取,先获取access_token,再通过access_token和code获取用户信息。 GET请求 https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET这个是获取access_token的地址,获取access_token的过程是重点! 上面传的参数名是corpid和corpsecret,企业id和密钥。 这是企业微信的设计,企业id是一个,标识这个企业,每一个功能模块都有相应的secret。 然后企业id和secret配对,获取到只能访问这个功能模块的一个access_token。 就拿当前Alice系统来举例,自建应用Alice存在secret,通过此secret和corpid获取到access_token,即相当于拿到了受保护API的访问权限。 因为这个access_token是通过Alice应用的secret获取到的,所以再用它访问其他的功能,是不合法的。 access_token有访问频率限制,所以设计了一套缓存方案。 @Overridepublic String getAccessTokenBySecret(String secret) { logger.debug("从缓存中获取令牌"); String access_token = this.cacheService.get(secret); logger.debug("如果获取到了,直接返回"); if (null != access_token) { return access_token; } logger.debug("否则,发起HTTP请求"); logger.debug("获取企业验证信息"); String url = enterpriseInformation.getAccessTokenUrl(); String corpId = enterpriseInformation.getCorpid(); logger.debug("获取认证令牌"); ResponseEntity<EnterpriseAuth> responseEntity = restTemplate.getForEntity(url + "?corpid=" + corpId + "&corpsecret=" + secret, EnterpriseAuth.class); logger.debug("如果请求成功"); if (responseEntity.getStatusCode().is2xxSuccessful()) { logger.debug("获取响应体"); EnterpriseAuth enterpriseAuth = responseEntity.getBody(); Assert.notNull(enterpriseAuth, "微信令牌为空"); logger.debug("如果微信请求成功"); if (enterpriseAuth.successed()) { logger.debug("存储缓存,返回令牌"); access_token = enterpriseAuth.getAccessToken(); this.cacheService.put(secret, access_token, enterpriseAuth.getExpiresIn(), TimeUnit.SECONDS); return access_token; } } logger.debug("请求失败,返回空令牌"); return "";}缓存是通过把Redis工具类包装了一下实现的,很简单。 ...

May 29, 2019 · 2 min · jiezi

Vue用Canvas生成二维码合成海报并解决清晰度问题

前言最近接到一个需求,用文字和图片合成一个海报,用于活动结尾页在微信长按分享,接到需求的第一时间,我就想到用 canvas 来画,但是看到 canvas 繁琐的绘制过程,不由得感到头大,后几经搜索,果然发现已经有人造好了轮子。此篇文章主要记录下实现过程,以及遇到的问题。依赖QRCode 这个依赖主要是用于移动端将 url 生成二维码,注意名字叫 qrcodejs2 别安装错 npm install qrcodejs2 --save import QRCode from "qrcodejs2"html2canvas 这个依赖主要是将当前 HTML 结构以及 css 样式转换为 canvas。比自己用 api 去画方便多了 Canvas2Image Github 这个依赖主要是将 canvas 转换为图片,实际上,Canvas2Image.js 也是基于 canvas.toDataURL 的封装,相比原生的 API 对于转为图片的功能上考虑更为具体(未压缩的包大小为 7.4KB ),适合项目使用。 主要思路将所有的海报结构都写在一个父级结构中,然后调用 html2canvas 转换为图片,创建 image,通过 css 层级和定位,将 image 置为最顶层,来实现长按分享 代码html 部分 <!--html 结构,具体 css 不写了--> <!-- 海报 html 元素 --> <div id="posterHtml" :style="{backgroundImage: 'url('+posterHtmlBg+')'}" > <div class="posterHtml"> <div class="posterklass">我是{{name}},邀请您:</div> <!-- 二维码 --> <div id="qrcodeImg" :if="postcode"></div> </div> </div> <!--image 即将要插入的位置,这样的结构处理,配合方法里面的 css 会自动置为最顶层--> <div id="myCanvas"></div> <!--提示用户的文案,其实也可以写在海报 html 结构中,通过 html2canvas 的 ignore 来忽略生成--> <span class="tip">长按保存该海报,邀请好友来测!</span> js 部分 ...

May 19, 2019 · 3 min · jiezi

微信JSSDK获取用户地理位置经纬度

最近一直在做公众号开发,这两天公司让我做一个类似钉钉打卡的功能,这时候我需要获取到用户的经纬度, 但是在这之前我只知道在关注微信公众号的时候获取用户地理位置:https://mp.weixin.qq.com/wiki... 但是这时候在我这里无法使用,我需要在微信公众号的网页中获取用户的地理位置(经纬度) 最后发现,原来微信公众号提供了现成的获取用户地理位置的JS-SDK:https://mp.weixin.qq.com/wiki... 一:绑定域名 登录微信公众号绑定JS接口安全域名(这里我使用的是测试号) 二:引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/... 如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js... (支持https)。 三:通过config接口注入权限验证配置 wx.config(<?php echo Yii::$app->wechat->js->config([ 'getLocation', 'openLocation' ]) ?> );'getLocation','openLocation'表示的是需要使用的JS接口列表,所有JS接口列表参考上面JS-JDK文档中的附录二 这里我是在Yii框架中使用的是easywechat,原生写法可以参考上面的JS-SDK文档 三:获取用户的地理位置(经纬度) 查看文档会找到如上代码,这时候你将代码直接赋复制执行的话,这时候获取地理位置的接口时不会触发的,我们必须要将回去地理位置的接口放到wx.ready方法内部,如: wx.ready(function(){ // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 wx.getLocation({ type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' success: function (res) { var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 var speed = res.speed; // 速度,以米/每秒计 var accuracy = res.accuracy; // 位置精度 } }); });这时候我们就可以获取到用户的地理位置信息了 ...

May 15, 2019 · 1 min · jiezi

微信投票平台

微信投票平台目前分为人工投票和机器刷票两种,目前人工投票平台有很多,本人有机会在2015年前后参与过类似平台的开发工作,对于这里面的一些细节比较清楚。 人工投票平台分为代理端和投手端两个 代理端是提供给代理用于安排投票任务的,代理主要通过淘宝、论坛、官网进行招揽生意,代理端主要提供以下几种功能:充值、任务安排、任务实时监控、任务截图审核、 投手端主要用于任务分发,比如代理安排1000票的任务1,这1000个投票就会陆续分发到对于的投手上去。 投票平台目前本人主要用叮咚平台,需要开户的可以联系

May 10, 2019 · 1 min · jiezi