个人案例
- 超人投票
每日投票,分享海报,看视频投票,轻松赚钱!
投票小程序扫码体验
- 超人二手市场
闲置物品转让、求购、商家尾货库存、生活服务等,小程序综合平台。
二手闲置物品商城扫码体验
- 委托代扣问的人很多,我发一下基本要求,劝退一波人吧
1、什么是扣款服务(原委托代扣)? 委托代扣是指商户取得用户的扣款授权后,向微信支付发起从用户账户扣款至商户账户的扣款指令,微信支付无需验证用户的支付密码,即可完成扣款。这块大家可以从指引文档里面去找。 产品链接https://pay.weixin.qq.com/index.php/public/product/detail?pid=1&productType=0 接入指引链接https://pay.weixin.qq.com/wiki/doc/api/wxpay_v2/papay/chapter1_1.shtml [图片] 2、申请流程是什么? 申请流程可以参考这个指引https://pay.weixin.qq.com/wiki/doc/api/wxpay_v2/papay/chapter2_6.shtml 3、开通要求? 开通这个首先要自查商户号如下: (1)商户需要提供服务电话(要求通过微信支付认证,并展示在账单详情页中); (2)客诉要求,近一个月客诉小于万分之一(含主体) (3)商户主体无违规 (4)交易量要求,3个月以上,主动支付的日交易笔数超过1000笔; 具体审核请联系您对接的BD跟进 4、开通结论 总结来说,满足要求的基本都是头部商户。这一块发出来给大家参考,因为开通要求可能也会随政策来调整。具体情况咨询您对接的BD 5、委托代扣API的常见疑问解答指引 https://developers.weixin.qq.com/community/pay/doc/0004aaa01e8908b165985d15e5bc08
2022-07-05 - 微信访问网站出现:无法确认该网页的安全性,请谨慎访问,这个是什么原因?
只是一个活动介绍,检查过无违法垃圾信息,从微信里面点开就提示:无法确认该网页的安全性,请谨慎访问的提示,在下面图片中申请恢复也好多天了,没有结果。请问这个是个人微信号出现问题,还是网络的原因,还是网页误报,帮忙处理一下。 具体的链接:http://q3mfo5cn.7pz8xjulmgtuq49o.hd0530hddomain.weilqitiych343.cn/app/FNbJnQgRrI/home 具体微信号:xcx90009 具体拦截时间:2024-6-7 15:24 [图片]
06-07 - 微信sdk扫一扫可以像微信的扫一扫支持选择某个码吗?
微信sdk扫一扫可以像微信的扫一扫支持选择某个码吗?
2022-09-26 - 小程序代码加固功能上线公告
为提高微信开放平台生态安全性,针对小程序开发过程中的安全问题,如代码易被反编译,核心业务逻辑被破译,算法易被二次打包等,导致小程序存在被破解、核心代码被盗取的风险,平台在微信开发者工具上线了代码加固功能,协助开发者保护小程序安全。 一、功能介绍 小程序代码加固是提供给开发者对小程序前端代码进行加密的功能,以防止代码暴露。该功能可将 JavaScript 文件传递给加密工具,从而实现字符串加密、属性加密、调用转换、代码混淆等多项保护措施,提高攻击者阅读前端代码逻辑的难度。 二、解决方案 微信开放平台通过在微信开发者工具中提供插件的方式,以便开发者进行功能的使用。同时还提供了Sourcemap代码加固调试工具,来帮助开发者对于加固后的文件进行错误分析。 三、功能使用 1、首先需在微信开发者工具选择代码加固插件进行安装; 2、选择需要加固的文件并进行配置操作,建议加固小程序中的敏感数据信息、核心算法逻辑、关键执行路径、接口(签名算法、协议、密钥等)。 另:界面操作和渲染、引用的第三方开源库等非必要安全保护内容可不进行加固,避免过多影响小程序体积及性能。 3、最后加固成功后可进行后续页面的预览,具体使用说明详见 功能介绍文档。 四、常见问题 Q1: 加固后显示编译结果失败? A1: 表示所加固的小程序内容,在小程序编译结果中没有对应的代码,所以导致替换失败,可以根据失败的提示信息,进行具体排查 [图片] Q2: 如果想一次性批量进行代码加固,应该如何操作呢?A2: 若需要批量进行代码加固,可直接修改[代码]code_obfuscation_config.json[代码]中的[代码]configs[代码]字段即可 [图片] 代码示例如下: [图片] Q3: 使用 Sourcemap 代码加固调试时,为什么查找不到报错路径?A3: srcMiniprogramRoot目录下不存在该报错文件所对应的源文件 [图片] Q4: 代码加固后会对产品性能有影响吗?A4: 产品性能影响与代码加固的内容、大小和数量有关,可能会影响代码体积,产品初始化耗时和执行速度,可通过 性能说明文档 作进一步了解。 如有其他相关疑问,欢迎随时参与社区讨论。
2022-07-22 - 资讯微信支付服务商尽职调查中的个人信息保护项填写规则
证明材料没有提供模板,需要我们怎么填写呢?把我们的技术方案用word提交上去还是怎样?这种隐私的信息暴露给微信会不会有风险呢 [图片]
2021-08-26 - 投票小程序
投票小程序支持每日投票、生成海报分享,开通流量主广告后,通过看视频获得额外投票权益,功能操作简单,轻松赚钱! 注意:演示小程序暂未开启流量主广告。
2023-06-26 - iOS 8.0.37 微信内二次分享 右上三个点点击无反应或者反应慢
二次分享,在微信打开,点击右上角三个点,十次能成功一次。 测试链接见下方。 https://w.yangshipin.cn/video?type=0&vid=m000094uczs&ptag=4_2.8.0.23333_wxf
2023-05-14 - IOS 微信 h5 页面, 标题过长时点击三个点无响应, 响应慢
IOS 微信 h5 页面, 标题过长时点击三个点无响应, 响应慢 无法点击,所有 ios 手机都能复现。 官方大大关注下
2023-05-06 - 微信退款通知收到...ENTITY+xxe+SYSTEM...的异常通知,是微信通知还是XXE攻击?
通知报文如下: <?xml+version="1.0"+encoding="UTF-8"?> <!DOCTYPE+foo+[ <!ENTITY+xxe+SYSTEM+"http://tst.qq.com/xxe_inject/bc0f448a9fa963ccebf897f19543188c">]> <foo><value>&xxe;</value></foo>= 我看也有遇到这种情况的:https://developers.weixin.qq.com/community/develop/doc/0000ee0091cac80474acafa8051800?jumpto=
2021-08-27 - 关于快照页模式的问题?集合(非官方)
最近开放社区出现了不少关于快照页模式的问题,见到对项目业务都很受影响的,目前暂未看见官方技术人员回复有效处理的方案。 开放社区默默承担着“工单”和“issues"的职责,鉴于没有类似github的duplicate或mention功能,为此做个帖来“收集”一下我看到有意义的提问。 先贴一下关于快照页模式的官方公告 --- 微信网页授权能力调整公告 根据看到的反馈,我总结以下几个点: 1、快照页模式是针对snsapi_userinfo的授权,snsapi_base授权不受影响; 2、当网站被微信“认为”是公告里面的违规情况,才有可能触发快照页模式; 3、不清楚是否在快照页功能灰度期间(有专员回复已全量),但从反馈中依然看到是部分新用户能如常成功授权,部分进入了快照页功能; 4、开发者无法体验快照页功能,即使根据公告、文档、官方回复设置了forceSnapShot=true,依然无效(不止一个开发者反馈过),开发者工具也完全没这功能的体验; 5、snsapi_userinfo的授权地址,一直是由开发者自行拼凑和引导跳转的,现在点“使用完整服务”是怎样跳转,无法知晓; 其他遇到类似问题的小伙伴留言交流,我尽可能持续关注问题并更新。。。 08-03 ---- 《微信网页授权已经按照要求修改了,为什么Android 手机正常,ios手机依然进入了快照模式?》 08-09 ---- 《网页中在如何规范使用发起 snsapi_userinfo 网页授权时不被进入微信网页快照?》 08-10 ---- 《为什么公众号H5页面显示了快照页,但是授权弹窗也同样显示,完全看不到页面里的内容?》 08-10 ---- 《网页授权快照bug》 08-11 ---- 《公众号发起网页显示授权已经增加了forcePopup=true,为何还会返回匿名(快照)用户?》 08-12 ---- 《快照模式太不合理了,各种问题》 08-12 ---- 《快照用户的前台确认页面UI设计需要调整》 08-17 ---- 《微信公众号:返回"errcode":48001,(偶现)?》 08-17 ---- 《接口报文提示无权限,但公众号后台显示有这个接口权限!全线业务崩溃!》 08-18 ---- 《在企业微信打开网页,弹出框提示,点击调用微信授权,提示在微信客户端打开,会影响授权进入快照模式嘛?》 08-18 ---- 《开发者如何复现快照页模式?》 说说我个人看法: 这个功能从贴公告开始,就骂声一片,现在线上使用居然还这么多bug,我是真不明白。。。 即使非得要上线这个功能,也还请先做好充分的测试,以及先与开发者做好充分磨合,才真正发布啊,授权几乎是微信网页项目的用户入口流程,入口出问题能掐死很多东西的。 面对目前:有bug但及时修复渺茫、官方坚持使用这个功能、项目需要正常运行等各方面的压力,我只能选择“放弃snsapi_userinfo的授权”,分析我手上的项目只需获取微信用户的头像、昵称、unionid,大致上只要抉择放弃能用户的unionid就行,至少先别把入口卡死嘛~~
2022-08-19 - 第三方平台开发域名提示“包含高风险域名”
微信开放平台 提示此域名为高风险域名 m-www.diysheji.com m-diy.diysheji.com
2021-03-12 - 微信网页授权能力调整公告
微信网页授权 能力是为了优化用户在微信内登录网站应用的体验而设计的。为进一步规范能力使用,保障用户合法权益,平台将对能力进行调整。 当开发者在网页中在不规范使用发起 snsapi_userinfo 网页授权时,微信将默认打开网页快照页模式进行基础浏览。能力调整将于 2022 年 7 月 12 日 24 时生效。 网页快照页模式介绍快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 “该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。 开发者在快照页内所获取的头像、昵称、openId、unionId 均为虚拟账号数据;快照页与正常页面不共用缓存,快照页的缓存会在用户离开快照页时被清理;快照页内也无法使用微信其它 JS-SDK 的能力。 [图片] 微信网页授权规范授权流程需引导清晰、准确:在申请获取用户信息的弹窗出现前,应该清晰、准确地告知用户获取信息的范围及获取信息的目的;必要场景申请:在必须获取用户信息时才申请,而不是用户尚未了解服务前就强制弹窗。如使用医院挂号时才需要获取用户信息;不强制登录:提供游客模式,供用户了解网页提供的基础服务,不强制用户允许网页获取用户信息后才能使用网页服务。 常见的微信网页授权不规范使用案例强制登录:在用户打开网页时立即要求用户授权,用户拒绝后无法使用网页提供的服务;违规收集个人信息:未在网页提前告知使用个人信息的目的、方式和范围;非必要收集:非必要获取用户信息的网页,如文章、视频等,要求用户在浏览内容前登录;差别对待微信用户:同样的网页在浏览器内可以无需登录直接访问,在微信内却要求用户先登录才可访问。 微信团队 2022年5月9日
2022-05-10 - 同一个公司(主体)可以申请多少个微信支付商户号?
请问同一个公司(主体)可以申请多少个微信支付商户号,具体怎么申请多个微信支付商户号?
2019-09-02 - 请问一个公司主体(营业执照)能申请多少个微信支付商户号?
请问一个公司主体(营业执照)能申请多少个微信支付商户号?
2019-04-24 - 公众号内容转发朋友圈只能自己看到是什么情况?
凯芊君教育 AppID:wxd1393dac06a73ed4
2022-05-13 - 关于虚拟支付的汇总整理
本文场景 在iso端做支付,虚拟支付问题是绕不过去,没有处理好,轻则封禁搜索,重则永久封号,所以对待这个问题不可谓不慎重 本文内容本文主要汇总社区相关的几个经典帖子,特别是带有官方回复的帖子,进行截图,最后做一个总结 截图一 [图片] 截图二 [图片] 截图三 [图片] 截图四 [图片] 参考文章 为什么“小鹅通”的小程序可以做虚拟支付?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/84ef0895eb9e4261b114a88d73dc7621 所谓的小程序IOS不允许虚拟支付到底限制的是谁?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/000246265d01201064ea17bc65b813 实名举报手机充值小程序虚拟支付可以正常使用?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/00066aedd70a907b38ea5043856400 跑腿小程序,支付跑腿费,属于虚拟支付吗?可以在ios里进行支付吗?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0002e8ec24cbd0f29cba2e28156400 虚拟业务指南请收好。? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000cc6c0b383a047c7798e0045b409 本文总结关于虚拟支付的整理 关于一个支付业务到底是不是虚拟支付,在有参考的情况,可以根据官方的 上面社区的锅巴同学整理的非常详细,给出了官方明确定义为非虚拟支付的6种情况 以下内容摘录自锅巴同学的社区回帖内容 小程序在线直播课程,充值加油卡,手机流量等这6种,不算小程序虚拟支付,请参照以下6种情况即可,因为你不符合这6种情况,所以被判定为违规 ① 小程序在线课程直播。用户先买课程,后续在线上安排老师在小程序直播。补充选择教育-在线视频课程类目 ② 线上报名活动,线下培训的类型 ③ 充值加油卡加油,涉及预付卡销售服务,补充商家自营-预付卡销售类目 ④ 充值手机流量,补充IT科技-电信运营商类目 ⑤ 悬赏问答功能,需选择社交红包-社交红包类目,并完成新商户号申请后,再提交代码审核。 ⑥ 微信支付充值积分,签到积分等,积分兑换实物商品,兑换成功后,会直接给用户寄过去。有实际服务存在 最后总结下 你所认为的虚拟支付可能并不是虚拟支付,你所强调的非虚拟支付也有可能被定义为虚拟支付,所以一切以官方口径为依据。
2020-09-07 - 虚拟业务指南请收好。
在小程序生态中,基于苹果运营规范,小程序内暂不支持iOS端虚拟支付业务。为此小编为大家整理了一份虚拟支付业务指南,希望大家在做虚拟业务时有所帮助: [视频] 那么,到底什么是虚拟支付业务呢? 虚拟支付业务是指购买非实物商品。比如:VIP会员、充值、录制课程、录制音频视频等虚拟产品。目前iOS端暂不支持虚拟支付业务。 我们常见iOS虚拟支付的不合规示例有哪些呢? 示例一 :小程序内存在付费购买虚拟内容或道具。商品多体现为提前编辑好的、录制好的虚拟商品。如录制视频课程、游戏道具。 整改建议 :建议去除小程序内所有付费购买虚拟服务,并根据提示修改相关内容及文案,文案可参照“由于相关规范,iOS功能暂不可用”。 [图片] 示例二 :付费解锁优质服务。多体现为提供虚拟商品的小程序可通过支付购买、开通虚拟会员等形式,体验小程序付费服务。比如:支付阅读章节小说、同城生活服务平台付费发帖/付费置顶等。 整改建议 :建议可以关闭iOS端虚拟支付通道,并将【马上充值】更改为【由于相关规范,iOS功能暂不可用】,并不再提供iOS端会员服务。 [图片] 示例三 :关闭iOS端虚拟支付功能后,虚拟商品页面仍然保留货架价格标签展示、购买/付费/订阅等功能或按钮。 整改建议 :建议去除小程序中的虚拟商品的价格展示,并更改为【免费】;并将【订阅 ¥128】更改为【由于相关规范,iOS功能暂不可用】,并不再提供iOS端虚拟商品购买服务。 [图片] 示例四 :关闭iOS端虚拟支付功能后,提供引导用户前往其他支付的路径/文案,完成虚拟支付闭环。 整 改建议 :建议去除iOS端小程序内引导用户前往其他支付路径/文案,并不再提供iOS端虚拟商品购买服务。 [图片] 示例五 :小程序含需要付费的虚拟商品,并设置限时免费的服务,限时免费结束后需付费才能继续提供服务。 整改建议 :建议将iOS端小程序中所有虚拟付费内容更改为免费,并不再提供iOS端虚拟商品购买服务。 [图片] 示例六 :关闭iOS端虚拟支付功能后,小程序中虚拟产品页面不可以含有付费性质的关键字(如:购买、已购、付费、支付等),包括但不限于功能按钮、功能页面、支付提示及任何商品介绍等。 整改建议 :建议将小程序iOS端虚拟产品页面中的文案/按钮/功能tab含有限制的关键字更改为【免费】或删除。并不再提供iOS端虚拟商品购买服务。 [图片] 如小程序内存在以上不合规的虚拟支付内容,请开发者重视并及时整改。对于首次违规的小程序,平台将下发站内信整改通知,并给予三天整改时间,请开发者按照提示在限期内完成整改。平台将会对到期未完成整改的小程序进行搜索策略调整,并在小程序功能使用上进行一定的限制,直到小程序完成内容整改。
2020-04-23 - 首次访问弹出的“为给你更好的服务”【提醒】功能请问是原生提供的吗?
[图片] [图片]
2022-04-02 - 微信支付商户经营工具-「企业付款到零钱」产品介绍及开通使用过程中的问题说明
1、功能说明 企业付款到零钱是一种由微信支付商户号直接付钱至用户微信零钱的能力,资金到账速度快,使用及查询方便,主要用来解决合理的商户对用户付款需求,支持平台操作及接口调用两种方式。 产品特点 免费:不收取付款手续费,节省企业成本。 灵活:可通过页面或接口发起付款,灵活满足企业不同场景的付款需求。 友好:通过openid即可实现付款,用户授权即可,体验更好。 快速:在发起后,及时到账用户零钱。通过微信消息触达,用户及时获知入账详情。 安全:提供多种安全工具,满足不同场景安全需求。如:按需调整付款额度;支持收款账户限制;支持安全防刷,拦截恶意用户、小号、机器号码;支持自定义大额通知等。 2、适用场景 费用报销:公司小额报销 员工福利:日常节假日福利金发放 保险理赔:小额保险款项发放 用户奖励:邀请奖励 佣金发放:一般适用于产品分销小额佣金的发放 3、开通条件 结算周期为T+1的商户,需满足三个条件: 1)商户号入驻满90天 2)截止今日往回推30天连续不间断保持有交易。 3)保持正常健康交易 其他说明 1、连续30天交易无金额限制,请保持正常交易。 2、同一主体下,若有一个商户号满足企业付款到零钱开通条件,其余商户号也一样可以开通,没有30天/90天的限制。 4、为什么会有30天/90天的限制 此项规定是根据中国人民银行文件银发〔2016〕261号文件的通知 详见第二项的第十二条说明 [图片] 更多可以看公告原文:点我查看 5、企业付款到零钱的限额说明 针对同一个商户,所有付款来源加总限制(商户平台&接口): 1)付款给同一个用户(实名用户):单日、单笔上限:2W元(单笔最多2W,当日最多也2W); 2)日付款总金额:100W元 ; 3)单笔付款最低额度:0.3元(范围:企业付款api、商户平台企业付款) 备注:开发文档的链接:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1 6、写在最后 其实你们更想知道的是「何为健康交易」,那就简单透露一点点吧 1)符合行业属性的交易(自己领悟,你那么聪明一定可以悟到的) 2)符合用户消费习惯的交易(自己领悟,你那么聪明一定可以悟到的) 如果有问题可以跟帖回复,也可以私信,欢迎交流沟通 最后的最后,告诫开通了朋友千万不要拿去做坏事哦 本文还会更新其他内容,可以收藏一下下~~~ 更多商户相关文档可查看:https://developers.weixin.qq.com/community/develop/article/doc/000ce0be104fe8db37fbf478b5b813
2021-04-28 - Scope 参数错误或没有 Scope 权限,错误码:10005
登录提示:Scope 参数错误或没有 Scope 权限 [图片] 排查方案: 1:使用的是订阅号,订阅号没有权限使用网页授权,详细可参考接口权限:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Explanation_of_interface_privileges.html 2:需要已认证的服务号 3:网页授权回调域名填写错误 4:Scope参数顺序不对 5:服务号不支持扫码登录,要网站应用才支持:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html 6:snsapi_userinfo的接口权限被封
2021-07-07 - 有什么好的方案能统计到微信授权弹窗的曝光次数和同意的点击次数?
最近需要统计到用户同意或拒绝定位授权的数据,但是发现微信给的统计方法中,如果用户原来同意授权过了,那么他再进来就算一次曝光,一次同意。 我们的需求仅仅想要统计用户真实看到的授权弹窗的曝光数据和点击“同意”按钮的数据,不知道有什么方案能实现。
2021-06-10 - PHP开发调用msgSecCheck,违规内容也返回无问题
通过PHP调用msgSecCheck,无论什么内容均返回OK,无问题,即使是很明显的违规词也返回无问题。 而且看过相关的问题处理,已经是post提交,且验证的内容也是utf-8。 复现demo: <?php $checkContent = '要检测的内容'; $url = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN'; $data = json_encode(array('content'=>$checkContent)); $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_URL,$url); // url curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // json数据 $res = curl_exec($ch); // 返回值 curl_close($ch); $result = json_decode($res,true); echo "<pre>"; var_dump($result); echo "</pre>"; ?>
2018-08-28 - 微信访问网站被限制的相关问题
一、哪种行为或内容不应在朋友圈出现? 我们鼓励用户自发地分享所见所闻,但反对所有违反《微信外部链接内容管理规范》的内容或行为。 二、如果我的链接违反了《微信外部链接内容管理规范》将会被怎样处理? 对于违反《微信外部链接内容管理规范》的内容,一经发现将立即进行处理,包括但不限于停止链接内容在朋友圈继续传播、停止对相关域名或IP地址进行访问、屏蔽相关链接等。 由微信公众平台或开放平台帐号施行或者发起的,一经查实,前述帐号、主体也将按照微信相关规则进行处罚,包括但不限于限制或禁止使用部分或全部功能、帐号封禁直至注销等,并公告处理结果;微信也有权依照本规范及相关协议、专项规则的规定,拒绝再向前述主体提供服务。 三、我的链接被禁止在微信访问,如何才能恢复正常访问? [图片]注: 1、链接的封禁时间将根据链接的累计违规次数(最近半年)来判定。被禁止访问的链接若不发起解封申请,将不予解封。若出现解封申请的数量过多,审核团队无法较快处理的情况,对于超出封禁时间的链接,审核通过后立即解封。 2、首次违规的链接修改完可申请解封,经平台评估符合规范的链接可申请解除处理,第二次封禁12小时,第三次封禁一天,第四次及以上封禁一周。之后若未修改完成不予解封。对于重复、情节严重或多次违规的行为,平台将视具体情节采取不同程度的阶梯处罚措施。 四、我的链接在朋友圈分享了之后仅自己可见,怎么办? 1、若此域名未在工信部ICP备案,分享频率会受到限制,请先完成备案。点击这里了解详情。 2、请根据《微信外部链接内容管理规范》检查该页面所用的域名、IP地址下是否存在违规内容。若存在,请修改页面内容。 3、确认域名、IP地址不存在违规内容,可以通过电子邮件发送至腾讯指定邮箱:moment@tencent.com进行反馈。 邮件标题请采用如下格式: 【链接解封反馈】“反馈人或企业” + “页面主题” 正文请附上仅自己可见的链接以及情况说明。 Q:公众号发的图文消息是否受影响? A:微信公众号图文消息的域名是已备案域名:qq.com。因此,公众号推送的图文消息不受频率限制的影响。 Q:未备案域名分享频率是否会受到限制? A:未备案的一级域名每天分享至朋友圈的次数将有限制。 Q:不备案会出现什么情况? A:未备案域名,分享达一定次数后,再分享将仅自己可见。 Q:公众号阅读原文或编辑文案中插入了网址需要备案吗? A:阅读原文或文中插入的网址没有强制备案要求。若用户点击此网址后并将其分享到朋友圈,需遵循备案要求。 Q:为何个别域名已经备案了,在朋友圈还是分享仅自己可见? A:可查看该域名是否违反了《微信外部链接内容管理规范》,具体可点击查看:朋友圈管理常见问题 五、如果我的应用被禁止在朋友圈分享,如何才能解封? 1、请根据《微信外部链接内容管理规范》检查应用是否存在违规内容,若存在,请进行修改。 2、修改后,可以通过电子邮件发送至腾讯指定邮箱:moment@tencent.com申请解封。 注:若公众帐号功能被封禁,请按公众平台的相应提示等待解封,目前此邮箱(moment@tencent.com)不接受公众帐号解封申请。 邮件标题请采用如下格式: 【应用解封反馈】“反馈人或企业” + “应用名称” 正文请附上开放平台应用appid和分享链接,以及情况说明。 六、如果我的链接因被他人恶意利用生成违规内容而限制在微信内分享,怎么办? 1.点击“申请恢复访问”按钮,跳转“更多信息页”查看具体被恶意利用的链接; 2.根据违规链接核实被注入情况,修复漏洞,清理违规内容。(腾讯安全应急响应中心博客:xss漏洞解决方案https://security.tencent.com/index.php/blog/msg/53) 3.确认漏洞彻底修复后,提交解封申请。 被注入页面违规内容样式示例: [图片]
2019-11-21 - 微信公众号开发使用测试号不能测试支付接口的解决方案
概述大家很清楚,在测试环境中公众号的app id是绝对不能和生产环境的app id相同!!!如果这个问题都不清楚的就应该面壁去。。。 通常在测试环境上使用的的app id有两种,分别如下。 (1)公众号内提供的测试号 [图片] (2)另外一个公众号 [图片] 对于测试环境使用另一个公众号,不存在不能测试支付的问题,主要这个公众号必须开通拥有权限。虽然有点浪费资源,但这方式最最简单直接,我们可以放开手脚去开发!!! 在测试环境不能测试支付相关的代码,通常都是使用的测试号。因为微信团队并没有为测试号开通支付权限。 解决方案在支付页面,所用到的appid、key、商户号以及open id需要使用正式的。大致包括: (1)页面的微信JS的配置参数以及签名使用的app id要使用正式的app id。 (2)调用微信统一下单接口的app id、商户号、key以及open id需要使用正式的。 BTW,测试环境的open id最好和正式的open id做一个映射,至于采用怎样的存储方案视团队情况,可以使用property文件、数据库、甚至是hard code(不建议)。 (3)在正式号的支付开发配置页面配置支付测试目录和白名单,如下。 [图片] 这都做好后,对于测试环境中的支付链接,还不能在测试号内打开,会出现不允许跨号支付的问题,如下。 [图片] 处理方式是,把测试环境的支付链接复制粘贴到正式公众号内,并点击支付。
2018-12-19 - http://toplist.pub提示恶意营销垃圾信息被拦截?
请问http://toplist.pub这个域名,明明没有恶意欺诈和垃圾信息,但是在微信内却被拦截了,申诉也不通过,已经自查,确实没有相关的违禁内容
2021-05-13 - 微信 for Mac 3.0.0 Beta1 更新体验汇总
早上例行打开微信社区,刚发完几个邀请回复,无聊的刷着列表页,突然眼前一亮:微信 for Mac 3.0.0内测版本来了! 怀着激动兴奋的心情,赶紧下载更新升级,下面来分享下新鲜出炉的功能体验: [图片] [图片] 第1个重要功能:朋友圈 先来看图 [图片] [图片] [图片] [图片] 测试结论:朋友圈浏览、消息通知、点赞、评论都可以正常使用,一句话概括:除了不能发,其它都行。 第2个次要功能:视频号 先来看图 [图片] [图片] [图片] 测试结论:只有转发和投诉功能,重点的作者主页、关注、点赞、评论全都没有,只能单个的看视频,不能看作者更多内容,一句话概括:只能看和转发。 第3个…… 意外发现多了一个意见反馈的功能,这是不是意味着微信mac版将更加的开放,期待未来有更多的功能更新迭代,给开发团队大大的👍 [图片] [图片] ========================================================= 最后总结: 朋友圈功能比较完善,只是不能发而已,不过发朋友圈已经很适应在手机上操作,当然如果有PC的也不错,不嫌多。视频号的功能更新的很仓促,至少上面提到那几个重要功能都没有,不过现在是beta1,希望发布正式版时会有更多惊喜。 分享到此结束,如有更好的发现和观点欢迎留言。
2021-03-13 - 二手闲置物品商城
社区跳蚤市场和环保回收线上小程序平台,支持物品转让、求购、预约回收等基本功能,满足线上C2C交易,还支持社区周边生活服务需求运营,搬家、保洁、开锁、保姆等等生活服务者可线上入驻推广,一站式社区服务平台。
2023-06-16 - ios 7.0.8 公众号页面无法自动播放 audio了?
android 的问题 刚解决完,ios 的问题又来了,行为又又又又又又变了。 观察到的改变有以下 2 点: WeixinJSBridgeReady 事件没有了,无法监听此事件进行自动播放。 audio 元素不会预加载音乐文件,loadedmetadata 也不会被发射。在 safari 里打开下面的代码会有直接有 alert,在微信里打开下面的页面,只有点击播放的时候才会有 alert [代码]<[代码][代码]html[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]body[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]audio[代码] [代码]loop preload [代码][代码]controls[代码][代码]=[代码][代码]"controls"[代码] [代码]id[代码][代码]=[代码][代码]'audio'[代码] [代码]src[代码][代码]=[代码][代码]"https://www.meipian.cn/service/music/redirect/83969?song_id=7A932141D63509775569BB40AF7AEF08&song_list_id=D9A047C7540C751F&source_platform=tme&id=83969"[代码][代码]></[代码][代码]audio[代码][代码]>[代码][代码] </[代码][代码]body[代码][代码]>[代码] [代码] <[代码][代码]script[代码][代码]>[代码][代码] [代码][代码]document.getElementById('audio').addEventListener('loadedmetadata', data => {[代码][代码] [代码][代码]console.log(data)[代码][代码] [代码][代码]alert(JSON.stringify(data))[代码][代码] [代码][代码]})[代码][代码] </[代码][代码]script[代码][代码]>[代码] </html> 目前我通过 touchstart 事件来启动音乐播放,作为备用方案。
2019-11-29 - Android微信内网页音频自动播放能力调整
各位开发者: 微信内网页在不经过用户允许的情况下自动播放音频,会导致用户没有预期、用户体验差等问题。此外,音频自动播放可能会在用户不知情的情况下给用户带来较大的流量消耗。基于此,微信公众平台将对微信内网页自动播放音频能力进行如下调整: 自2020年04月28日起,用户打开微信内网页时将无法自动播放音频。必须在得到用户手动允许(比如触摸屏幕,单击按钮等)的情况下,才能播放音频,开发者可以提前进行适配调试。 具体的适配调试方法如下: 1、下载安装包:http://dldir1.qq.com/weixin/android/wechat_0x27000C70_1620_autoplay.apk 2、扫描二维码安装浏览器内核 [图片] 3、打开网页,点击右上方菜单,第二行最后一项禁止自动播放(注:再点一次可以变回允许自动播放) [图片] 4、退出页面,重新进入即可体验禁止自动播放的效果。 附测试用例:https://docs.qq.com/sheet/DWlduYWxhVEFkRkVa?tab=BB08J2&c=B12A0F0 微信团队 2020年03月30日
2020-03-30 - 小程序API的异步优雅用法
先上代码,写一个全局的 [代码]wx.$promisify()[代码] 方法 [代码]wx.$promisify = (method, opts, ...params) => new Promise((resolve, reject) => wx[method]( { ...opts, success: resolve, fail: reject }, ...params ) ) [代码] 举一个几乎大家都会用到的登录为例(虽然图1我已经改进了很多次,但嵌套问题还是很刺眼) [图片] 改进后,多层嵌套变扁平了 [图片]
2020-05-20 - 小程序分享及用户信息授权等接口能力的调整通知
针对近期部分小程序接口能力使用不合理的情况,微信公众平台将对下列能力进行调整。开发者可在最新版开发者工具内,选择最新基础库版本体验。调整方案具体如下,请开发者尽快完成适配。 1、分享监听接口 10月10日起新提交的版本,用户从小程序、小游戏中分享消息给好友时,开发者将无法获知用户是否分享完成,也无法在分享后立即获得群ID。请参考调整指引 2、getUserInfo接口 10月10日起新提交的版本,用户在小程序、小游戏中需要点击组件后,才可以触发登录授权弹窗、授权自己的昵称头像等数据。请参考调整指引 3、openSetting接口 10月10日起新提交的版本,用户在小程序、小游戏中需要点击行为后,才可以跳转打开设置页,管理授权信息。请参考调整指引
2018-09-12 - 借助CSS代码实现几个简单的渐变色的Demo
话不多说先上图: [图片] wxml页面代码: <view class="color"> <view class="linear-gradient color1">1</view> <view class="linear-gradient color2">2</view> <view class="linear-gradient color3">3</view> <view class="linear-gradient color4">4</view> <view class="linear-gradient color5">5</view> <view class="linear-gradient color6">6</view> <view class="linear-gradient color7">7</view> <view class="linear-gradient color8">8</view> <view class="linear-gradient color9">9</view> <view class="linear-gradient color10">10</view> </view> wxss模块代码: .color{ display: flex; flex-wrap: wrap; justify-content: space-around; padding: 5rpx; color: white; text-align: center; font-weight: bold; } .linear-gradient{ height: 200rpx; } .color1{ width: 48%; background-image: linear-gradient(45deg, #29bdd9 0%, #276ace 100%); } .color2{ width: 48%; background-image: linear-gradient(45deg, #ff9569 0%, #e92758 100%); } .color3{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #FF416C 0%, #FF4B2B 100%); } .color4{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #8A2387 0%, #E94057 50%, #F27121 100%); } .color5{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #ec008c 0%, #fc6767 100%); } .color6{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #2980B9 0%, #6DD5FA 50%, #FFFFFF 100%); } .color7{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #f12711 0%, #f5af19 100%); } .color8{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #C6FFDD 0%, #FBD786 50%, #f7797d 100%); } .color9{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #ee9ca7 0%, #ffdde1 100%); } .color10{ margin-top: 10rpx; width: 48%; background-image: linear-gradient(45deg, #12c2e9 0%, #c471ed 50%, #f7797d 100%); }
2020-04-26 - 云开发 For Web:一站式开发下一代 Serverless Web 应用
近两年来,Serverless 无疑是前端圈里最火热的话题之一,在各种技术峰会、各种技术文章里都能看到它的身影。如果你是一名前端开发者,一定很奇怪: “我们这些前端切图仔,为什么要关注 Serverless 这种云计算的概念?” 我们就从这个话题开始聊起吧。 为什么前端开发者要关注 Serverless ? 这个问题用一句话回答就是: “Serverless 解放了端开发者(不仅仅是 Web 开发者)的生产力,让端开发者可以更快、更好、更灵活地开发各种端上应用,不需要投入太多精力关注于后端服务的实现。” 下面我们就来慢慢解释这句话。 在前端的史前时代,那个时候甚至还没有”前端工程师“这个职位分类,所有人都是后台开发,所有的网页和 Web 应用都是来自于后台渲染,CGI、PHP (甚至你可能都没听说过的 Perl)便是当时 Web 技术的代名词,那个时候的 JS 和 CSS,不过是“切图仔”在网页里写动效和弹窗的小玩具而已。 后来,AJAX 技术出现了,最早在 Outlook Web Access 中出现,随后随着 Google Map、Gmail 等大型 Web 应用的实践,逐步为人所知。这项技术让页面内的 JS 也能异步地向服务器发起各种请求,并且把数据渲染到页面上。这个时候,前端工程师们开始接管视图层逻辑: [图片] 再后来,Node.js 诞生,大大降低了前端开发者开发一个后台服务的难度,这也让前端开发者逐渐接管了接管了渲染逻辑,在这期间,各大前端框架(代表性的 React、Vue)的服务器端渲染也逐步成熟。 [图片] 既然能用 Node.js 来做服务端渲染,那么拿 Node.js 来写后台业务逻辑、实现各种 HTTP API 当然也不在话下,所以在一些公司里,前端接管业务逻辑,后台只负责各种底层微服务的架构就出现了,这也是目前很多大公司在实行的架构: [图片] 细心的你可能已经注意到了,在这个时候,渲染、HTTP API、后台业务逻辑这些东西,从端的角度看是属于服务端的,但是从分工角度看却属于前端开发的范畴,这就是 BFF(Backend for Frontend)的概念,它的优势在于: 把核心业务逻辑完全交给前端工程师,让业务逻辑可以更加灵活快速地变更; 让后端工程师可以更加关注于海量服务的稳定性和可靠性,提升服务质量。 这就是为什么大公司的很多业务,都开始越来越多地招 Node.js 全栈工程师的原因。 但是 BFF 并不是银弹,它还是有一定问题的,比如在国内通晓前后端开发的全栈工程师太少,很难撑起大体量的业务开发。而且国内大多数前端工程师缺少服务端开发的经验,让他们运维上百台服务器和一整套海量服务,有点强人所难: 每个服务器实例应该有多少核?多少内存? 怎么优化 Linux 网络栈的各种参数? 服务器宕机怎么办?双活、多活、同城、异地怎么搞? 而 Serverless 正是帮助前端工程师解决运维开发 BFF 的良药。 Serverless 这个单词,直译成中文的话,应该是“无服务器”。当然,这里的“无服务器”绝对不是说不需要任何服务器资源了,而是说不需要关心服务器的具体运维和管理,只需要写代码然后发布即可。 它包含了 FaaS(函数即服务)和 BaaS(后端即服务)两大块功能,把各种基础设施进行了抽象,即使不熟悉后端的开发者,也能快速高质量地开发出海量、稳定的后端服务,而这对于前端工程师维护 BFF 服务来说,几乎是量身定做的。 [图片] 举一个最简单的例子,你现在需要上线一个新的 HTTP API(比如 [代码]/getUser?id=123[代码]),如果使用 Serverless 服务的话,有多快呢? 你只需要写下面这个云函数: [代码]module.exports = async function(events, context) { const { id } = events.query.id const userInfo = await fetchUserInfo(id) // 调用后端微服务,拉取用户信息 return userInfo } [代码] 然后发布这个云函数(假设命名为 [代码]getUser[代码]),并且为它设置一条路由: [代码]cloudbase service:create -f getUser -p /getUser [代码] 然后你就可以通过 [代码]https://xxx.com/getUser[代码] 来拉取数据了,同时还附赠海量弹性伸缩、异地多活、日志监控等多方位的能力。 如果你觉得这样很酷炫,那么不如来试一试 云开发 Cloudbase 吧! 云开发是什么? 云开发(Cloudbase)是腾讯云 TCB 团队(Tencent Cloudbase)出品的云端一体化产品方案,为广大的小程序、Web、移动端开发者提供一站式的 Serverless 服务。 当然这是官方的说法,用人话讲就是: 用了云开发,各个端的开发者就可以一站式地解决后端服务问题了! 实际上早在 2018 年,云开发就联合微信团队推出了「小程序·云开发」,如果你对它还不怎么了解,可以看这两篇文章: 《为小程序搭把手,小程序「云开发」能力上线》 《玩转订阅消息,小程序·云开发为开发者准备了这些内容》 而现在,云开发 For Web 也正式上线了! 云开发有哪些能力? 云开发提供了云数据库、云函数、云存储、用户登录体系等一系列的后端能力,并且提供了各端的 SDK,让各个端的开发者能够基于这些能力,快速、优质地开发出功能丰富的应用。 [图片] Talk is cheap, Show me the code! 口说无凭,我们还是来直接看代码吧! 云数据库 云开发提供了一个文档型的 NoSQL 数据库,与传统的云上数据库不同的是,云开发的数据库可以在各种客户端内使用 SDK 直接进行读写,比如 Web 应用、小程序内、Flutter 客户端等等。 下面我们以 Web 应用为例,展示云数据库的一系列功能。 基础读写 CURD是数据库最基础的功能,云开发 SDK 提供了一套链式调用接口,对数据库进行读写: [代码]// 使用 Web 端 SDK const cloudbase = require('tcb-js-sdk') const app = cloudbase.init({ /* 初始化... */ }) const db = app.database() // 插入文档 await db.collection('messages').add({ author: 'stark', message: 'Hello World!' }) // 查询文档 const data = await db.collection('messages').where({ author: 'stark' }).get() // 更新文档 await db.collection('messages').where({ author: 'stark' }).update({ message: 'Hi, Cloudbase!' }) // 删除文档 await db.collection('messages').where({ author: 'stark' }).remove() [代码] 聚合搜索 普通的查询可能无法满足一些复杂的需求,比如联表、group等等。 云开发针对这些复杂的查询场景,推出了聚合搜索的功能,把一系列操作抽象为一个管道(pipeline),单次执行即可,避免了多次读的性能问题,我们以 group 操作为例: [代码]const $ = db.command.aggregate const result = await db .collection('message') .aggregate() .group({ // 以 author 字段作为 key,统计相同 author 的数量 _id: '$author' messagesCount: $.sum(1) }) .end() //=> { "_id": "stark", messagesCount: 12 } [代码] 更多的聚合搜索功能,可以参考:Aggregate | 云开发 Cloudbase 事务 在订票、预约、转账等等场景下,开发者可能会要求数据库能够保证一连串读写的原子性,避免出现竞争条件,这就是数据库事务的使用场景。 云开发数据库当然也提供了事务功能: [代码]// 启动事务 const transaction = await db.startTransaction() // 在事务内读 const data = await transaction.collection('messages') .where({ /* <query> */}) .get() // 在事务内写 await transaction.collection('messages') .where({ /* <query> */}) .update({ /* <data> */}) // 提交事务 await transaction.commit() [代码] 实时推送 在实时聊天室、实时数据看板等等场景下,我们经常会需要订阅数据库的更新,从而实现实时数据推送。 云开发的数据库提供的 [代码]watch()[代码] 方法就是为此设计的,每当数据库符合条件的文档发生变化时,都会触发 [代码]onChange[代码] 回调,示例代码如下: [代码]await db.collection('messages') .where({/* <query> */}) .watch({ onChange: snapshot => { console.log("收到snapshot!", snapshot) }, onError: error => { console.log("收到error!", error) } }) [代码] 更多信息可以参考:数据库实时推送 | 云开发 Cloudbase 云函数 所谓的云函数,便是在云端运行的、事件驱动的一段代码,它可以被 SDK 调用,也可以直接通过 HTTP 调用,还可以设置定时器让它定期运行: [代码]// sum.js module.exports = async function(events) { return events.a + events.b } [代码] 这一小段代码很简单,但是隐藏在它之下的却是一整套庞大的 FaaS(函数即服务)基础设施,提供了诸如弹性伸缩、日志、监控告警等多方面的能力。 使用调用云函数 使用云开发的客户端 SDK,可以轻而易举地在各个端上调用云函数,我们以 Web 应用为例: [代码]const cloudbase = require("tcb-js-sdk"); const app = cloudbase.init({/* 初始化 */}); app.callFunction({ // 云函数名称 name: "sum", // 传给云函数的参数 data: { a: 1, b: 2 } }) .then(res => { console.log(res); // 输出 "3" }) .catch(error); [代码] HTTP 访问 你也许会觉得 SDK 体积庞大,太沉重了,那么你也可以选择使用 HTTP 来调用云函数,响应 HTTP 请求。 [代码]// hello.js module.exports = function() { return 'Hello, World!' } [代码] 然后我们直接通过命令行发布这个函数,并为它创建一条路由: [代码]$ cloudbase functions:deploy hello $ cloudbase service:create -f hello -p /hello [代码] 随后便可以通过 url 直接访问这个云函数: [代码]$ curl https://xxx.service.tcloudbase.com/hello Hello, World! [代码] 具体可以参考:https://docs.cloudbase.net/service/quick-start.html 在云函数内部使用服务端 SDK 在 Cloudbase 的云函数内,你可以直接使用 Node.js SDK,无需在初始化的时候额外注入秘钥: [代码]const cloudbase = require('@cloudbase/node-sdk') // 无需使用服务端秘钥 const app = cloudbase.init() const data = await app.database().where().get() [代码] 更详细的内容可以参考:https://docs.cloudbase.net/api-reference/server/node/initialization.html 云存储 我们在开发应用的过程中,经常会遇到图片、文件上传的需求,并且可能需要为这些文件设置 CDN 访问。传统的流程是下面这样的: 前端应用调用上传接口; 后台接收文件,把文件放置到文件存储服务内(例如 腾讯云 COS); 如果需要 CDN 加速文件访问,需要为 CDN 设置回源路径到后端 COS 上。 但如果使用云开发,只需要在客户端调用 [代码]uploadFile[代码],就可以一步完成上面的三件事情: [代码]const tcb = require("tcb-js-sdk"); const app = tcb.init({ env: 'your-env-id' }) const { fileID } = await app.uploadFile({ // 云端路径 cloudPath: "/a/b/c/filename", // 需要上传的文件,File 类型 filePath: document.getElementById('file').files[0] }) [代码] [代码]uploadFile[代码] 会返回一个 [代码]fileID[代码],是云开发内文件的唯一标识符,我们可以使用 [代码]getTempFileURL[代码] 来获取文件 URL 访问链接: [代码]const tcb = require("tcb-js-sdk"); const app = tcb.init({ env: 'your-env-id' }) const { fileList } = app.getTempFileURL({ fileList: [ 'cloud://a/b/c' ] }) // fileList 是一个有如下结构的对象数组 // [{ // fileID: 'cloud://a/b/c', // 文件 ID // tempFileURL: 'http://xxx/xxx/xxx', // 临时文件网络链接 // maxAge: 120 * 60 * 1000, // 有效期 // }] [代码] 更详细的内容,可以参考:https://docs.cloudbase.net/storage/introduce.html 扩展能力 云开发除了上述的基础功能之外,还提供了一系列的扩展能力,包括但不仅限于: 图像安全审核 图像处理 图像标签 实时音视频 更详细的内容,可以参考:https://docs.cloudbase.net/extension/introduce.html 总结 上面的能力是不是有些让你看花眼了,完全不知道要怎么搭配起来使用? 其实一张图就可以解决: [图片] 图中的客户端SDK包括: Web 小程序(已经内置在 [代码]wx.cloud[代码] 中) Flutter 安卓(内测中) 服务端 SDK 包括: Node.js PHP Golang 使用云开发快速搭建实时聊天室 光看示例代码当然没有什么意思,我们接下来就拿云开发的一些能力,来快速开发一个实时在线聊天室吧。 项目代码:https://github.com/TencentCloudBase/cloudbase-realtime-demo 这是一个由 [代码]create-react-app[代码] 快速生成的脚手架项目,所以大部分构建和工程化的细节这里就略过不谈了,我们直接来看代码实现,大致上实现了三个功能,括号中是使用的云开发能力: 登录(匿名登录) 实时同步消息(数据库实时推送) 发送消息(数据库写) 首先是我们的初始化流程,先使用匿名登录,然后建立实时数据推送的连接: [代码]async function init() { // 使用匿名登录 await auth.anonymousAuthProvider().signIn(); // 使用 refreshToken 的前 6 位作为 uid setUid(auth.hasLoginState().credential.refreshToken.slice(0, 6)); // 建立实时数据推送连接 await db .collection("messages") .where({}) .watch({ onChange(snapshot) { setList(snapshot.docs); setLoading(false); }, onError(err) { console.log(err); }, }); } [代码] 建立实时连接之后,集合中的任何变化,都会触发 [代码]onChange()[代码] 回调,然后我们使用 [代码]setList()[代码] 来更新界面上的消息数据。 当然只读消息是不够的,我们还需要发送消息,具体实现非常简单,可以看 [代码]sendMessage()[代码] 方法,直接使用 [代码]add()[代码] 方法向数据库写入数据就可以了: [代码]// 发送消息 async function sendMessage() { const message = { timestamp: new Date().getTime(), text, uid, }; await db.collection("test").add(message); // 清空输入栏 setText(""); } [代码] 当然以上只是局部的代码片段,整体代码可以参考: https://github.com/TencentCloudBase/cloudbase-realtime-demo/blob/master/src/App.js 开发完毕之后,我们便可以使用 云开发静态网站 来托管我们的这个聊天室 Web 应用。 首先我们构建我们的应用: [代码]$ npm run build [代码] 构建产物会生成到 [代码]build[代码] 目录下。 然后我们发布到静态托管即可(托管前,请先开通静态网站): [代码]$ cloudbase hosting:deploy ./build -e your-env-id [代码] 发布完成后,你便可以通过 [代码]https://xxxx.tcb.qcloud.la/xxxx[代码] 的来访问你的应用了。进一步,你还可以为它绑定自定义域名。 PS:实际上,云开发的主页和官方文档,就是这样托管的(毕竟做云服务的,最重要的就是 Eating your own dog food 嘛)。 当然,除了这个实战 Demo 以外,还可以看看一些真正业务的实践: 《英雄联盟线下赛事背后的技术实践》 《一场峰会下的前端技术实践与思考》 《腾讯高级前端工程师支招,云开发实现小程序打赏和提现》 展望 给 Web 开发者带来效率和质量上的提升,帮助他们开发更多更优质的应用,免去运维、后台开发的烦恼,是云开发不变的愿景。虽然我们目前已经有了很多强大又方便使用的能力,但这远不是我们的终点(实际上我们才刚刚起步),在未来我们将会持续完善下面的能力,进一步完善云开发的体系: 更多的支持平台 更完整的用户登录鉴权体系 对 Vue、React 等主流框架的深度集成 对 Vue、React SSR 的一站式支持 更好的开发者工具、CLI、脚手架 更加强大的日志、监控告警能力 PS:如果你觉得这篇文章对你有帮助,不妨花几分钟时间,来试一试快速开始吧。
2020-03-24