- {"errcode":48001,"errmsg":"api unauthorized请问怎么解决?
{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: tehdiuNre-DzAOda ]"}
2020-07-15 - 2021年4月6日,微信小程序开发者模式下无法获取微信头像等信息?
在微信中调用获取微信信息,通过authSetting无法获取userinfo
2021-04-06 - 个人小程序能不能跳转公众号文章?
个人小程序不能使用web-view,那还能跳转公众号文章吗?
2020-08-31 - 获取公众号 素材列表 content_source_url怎么处理才会返回值?怎么才可以显示内容?
[图片]
2020-03-06 - 获取素材列表返回40004 invalid media type
问题一: 调用 https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN 后,我用的是url传参,无论type值是voice, image还是news, 总是给我返回 {"errcode":40004,"errmsg":"invalid media type"} 问题二: 我改用postman、用post传值还是出现问题 [图片] 解决:传参必须json传,下面是示例。不过我用的测试号,获取到的素材列表是空的。 [图片]
2019-08-03 - 获取小程序任何页面链接的方法
小程序不像网站,任何页面都可以复制出来链接。要访问某个页面,直接点击链接就可以了。其实小程序也是可以复制出链接。 不废话,马上上干货~! 1、首先进入小程序后台,把要获取链接的微信添加到项目成员。 [图片] [图片] 2、进入生成小程序码工具,添加获取链接的微信号。 不知道怎么进入生成小程序码工具,请看来一间上一篇文章:一个独特的小程序码生成方法。 [图片] 点“获取更多页面路径”打开窗口,然后输入上面添加的微信号点击“开启”按钮。如上图“开启入口成功”字样就会显示出来。这时代表这个微信号能复制出当前小程序的任意可显示页面的链接。 3、进入当前小程序,就可以获取到当前显示页面的链接。 [图片] 获取到小程序链接有什么用?请看看来一间上一篇文章。 最后再送出一个小彩蛋:其实小程序有个大原则:所见即所得! 就是你进入的页面,转发出去的页面也是当前你打开的页面。
2019-11-19 - 微信公众号开发,永久素材获取到的文章链接与用户获取的文章链接不一致,且无法点赞评论?
api:https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=access_token
2020-07-07 - 微信公众号 获取永久素材列表的接口包含有未发布的文章,怎么过滤?
微信公众号 获取永久素材列表的接口【POST https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN】 包含有未发布的文章,想问下怎么过滤啊?看了官方文档,发现都没讲
2020-02-11 - 小程序web-view打开同主体的公众号文章,没有阅读数和留言?
小程序中web-view打开同主体的公众号文章,没有阅读数和留言,公众号中打开相同文章有留言功能; 哪位大神能否答疑,感谢🙏
2019-09-10 - 个人小程序支持打开公众号文章
前几天写过一个帖子 个人小程序可以跳转到公众号文章了?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0004eec9834b08e8a03b19c7a5b000 现在我对这个问题进行总结并给出结论 目前官方文档已说明可以打开关联公众号的文章,这里并没有对个人进行限制,所以个人小程序是可以打开公众号内的文章的 并且这个已经经过生产场景检验的,身边不少朋友已提供相关小程序,我亲测过。 具体如下图所示 [图片] 本文总结 个人小程序可以打开公众号文章 ~ 在以下两种前提下,小程序 可以嵌入个人公众号文章 1)同一主体 2)不同主体,但是公众号绑定小程序
2020-12-28 - 个人小程序可以跳转到公众号文章了?
首先我认为是不可以的,但是看到有朋友有这个案例小程序,确实是个人小程序,也确实跳转到公众号文章了 小程序: 昵称工具 [图片] 个人小程序能不能跳转公众号文章?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000cecae9e4e00e627eafe3be5b000
2020-11-09 - webview打开已关联的公众号文章,提示不支持打开非业务域名?
小程序已关联同主体公众号,但用webview打开已关联的公众号文章,提示不支持打开非业务域名https://mp.weixin.qq.com? 请问是什么原因呢?
2020-09-09 - wx.getUserProFile()在2.1.6.0成功回调有iv、encryptedData?
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html 把小程序基础库升到2.16.0之后,发现成功回调有iv、encryptedData,文档里没有,以后这个有没有呢?
2021-03-29 - 03.getUserInfo和getUserProfile 对比
最近动态 wx.getUserProFile() 在2.16.0成功回调有iv、encryptedData,具体看这里https://developers.weixin.qq.com/community/develop/doc/000c04d0490118d8a6ebf675a56c00 调整背景 很多开发者在打开小程序时就通过组件方式唤起 getUserInfo 弹窗,如果用户点击拒绝,无法使用小程序,这种做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户。详情可以点击官方调整链接(https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801) 调整前后API功能的对比[图片] [图片] 能力检测 两个前提条件: 1.开发者工具版本不低于 1.05.21030222.基础库版本不低于 2.10.4[图片] 代码片段: https://developers.weixin.qq.com/s/odMs3wmX7Ko3 测试过程 step1: 在开发工具设置清除全部缓存step2: 点击 getUserInfo 按钮,会弹出用户授权,允许后会得到这些信息,见截图[图片] step3: 在终端输入下面代码,也可以获取上面截图数据(今天还不到截止时间,还能获取完整的用户头像和昵称)wx.getUserInfo({ complete: (res) => { console.log(res) } }) step4: 点击 getUserProfile 按钮,会弹出用户授权,允许后会得到这些信息,见截图(只有用户昵称和头像信息)[图片] step5: 通用在终端输入下面代码,获取不到任何信息,符合`若开发者需要获取用户的个人信息(头像、昵称、性别与地区),可以通过wx.getUserProfile接口进行获取,且开发者每次通过该接口获取用户个人信息均需用户确认`wx.getUserProfile({ complete: (res) => { console.log(res) } }) step6: 可以重复点击 getUserInfo 按钮和 getUserProfile 按钮进行测试。功能对比讲解 1.4月13日前未发布的,wx.getUserInfo 能力 wx.getUserInfo(Object object) 会返回 encryptedData、signature、rawData,通过将返回的数据传递给服务器,服务端能解析出用户的身份标识,即 unionId(unionId 获取机制:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html) 【对我们业务来说】 从 wx.getUserInfo 就是要两样东西:unionId和用户信息(头像和昵称)。 但从 2021年2月23日起,可以通过 wx.login 接口获取的登录凭证可直接换取 unionID,可以替代一部分wx.getUserInfo 的功能了。 2.新增 getUserProfile 能力 wx.getUserProfile 能获取到头像和昵称,可以替代 wx.getUserInfo 的另外一部分功能。 3.小结 从这里是不是可以得出,wx.login + wx.getUserProfile 基础可以替代之前的 4月13日前未发布的,wx.getUserInfo 能力。其实不然,如果真是这样的,官方是不是没必要这样搞,咱们接着看。 4.wx.getUserInfo 和 wx.getUserProfile 区别 1.功能上是 wx.getUserInfo 不在返回用户授权的头像昵称,只返回匿名信息,但 wx.getUserProfile 会返回用户授权的头像昵称。2.wx.getUserInfo 授权成功后,当下次调用时,可以直接获取授权成功返回数据,不需要每次都需要用户确认,但 wx.getUserProfile 每次都需要用户确认允许后才能拿到用户信息3.对于业务来说,可以通过 wx.getUserProfile 获取用户信息和昵称后,要存在自己服务器,不能像之前那样每次都通过 wx.getUserInfo 方式获取,否则体验会比较差疑问 1.4月13日后发布的新版本小程序,如果用户未更新到新版本,此时调用 wx.getUserInfo 会不会返回用户授权的头像昵称(如果不确定,业务可能需要兼容处理)2.4月13日后发布的新版本小程序,用户更新到新版本,调用 wx.getUserInfo 返回匿名的头像昵称支持服务器解密吗? 常见问题汇总 1.wx.canIUse 判断getUserProfile结果是false,可以通过直接判断 wx.getUserProfile 即可,类似问题可以查看官方知识库(https://developers.weixin.qq.com/community/develop/doc/000cac40cf0eb8d3e429647c351c09?_at=1614912876047)
2021-04-02 - 调用最新的wx.getUserProfile接口时没有任何反应?
在微信开发者工具中调用了wx.getUserProfile接口时没有任何的反应,开发者工具的版本是1.05.2103042,基础库是2.15.0,也试过了使用wx.getSetting来授权,授权结果返回scope.userInfo:true,调用wx.getUserProfile接口还是没有任何反应,也没有报错,也没有数据返回 wx.getUserProfile({ lang: "en", success(res) { console.log(res.userInfo) } }) wx.getSetting({ success (res){ console.log(res.authSetting) if (res.authSetting['scope.userInfo']) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称 wx.getUserProfile({ success: function(res) { console.log(res.userInfo) } }) }else{ console.log(123) } } }) //最终返回的结果是: //{scope.userInfo: true, scope.address: true, scope.invoice: true, scope.invoiceTitle: true}
2021-03-05 - open-data type="userAvatarUrl" 缓存时间是多少?
问题复现 使用open-data type="userAvatarUrl" 获取用户头像展示用户退出小程序,修改头像,再次进入小程序,头像未改变尝试: 尝试将小程序删除后重新搜索进入 无效在微信app 设置 -》 通用 -》 存储空间 -》 清理缓存无效,清理缓存后重复1操作或3操作均无效点击胶囊按钮中的重新进入小程序无效希望能告知怎么操作能获取最新的头像,或是告知头像缓存时间(缓存规则)
2021-03-16 - 小程序登录的演变过程
1. 初版登录存在问题: 并发请求会有多次登录[图片]2. 存储promise[图片] 3. 使用存储promise优化存在问题: wx.checksession个别时候会出现fasle,原因未知无网络提示逻辑[图片] 4. 添加全局控制&校验网络存在问题: 无登录过期处理逻辑[图片] 5. 添加登录过期逻辑还可优化: 页面跳转预加载接口重试逻辑[图片] 6. 添加页面预加载相关[图片] 7. 完整流程[图片]
2020-09-02 - 微信小程序图片放大预览效果的实现
近期很多刚学习小程序的同学,想做哪种图片点击放大,然后可以左右滑动预览的效果。我也特意去研究下,发现直接用微信程序自己的api就可以很方便的实现。今天就来教大家如何实现小程序图片点击放大的效果。 老规矩,先看效果图 [图片] 效果图有点快,但是可以大致看出来效果了。我再给大家描述下吧 一个页面有3张图片,点击其中任意一张都可以放大预览。然后在预览的时候,左右滑动,还可以看另外两张图片。 话不多说,直接上代码 1,首先定义一个页面image.wxml [代码]<!--pages/image/image.wxml--> <image src="{{imgList[0]}}" bindtap="preview" data-src="{{imgList[0]}}"></image> <image src="{{imgList[1]}}" bindtap="preview" data-src="{{imgList[1]}}"></image> <image src="{{imgList[2]}}" bindtap="preview" data-src="{{imgList[2]}}"></image> [代码] 这个页面很简单,就是放三个image用来显示imgList数组里的三张图片。 2,实现图片放大效果的核心方法如下。 [图片] 上图是官方的示例。我们来看下实际中是如何使用的。 3,把image.js的完整代码贴出来。 [代码]Page({ data: { imgList: [ "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=508387608,2848974022&fm=26&gp=0.jpg", "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3139953554,3011511497&fm=26&gp=0.jpg", "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1022109268,3759531978&fm=26&gp=0.jpg" ] }, //预览图片,放大预览 preview(event) { console.log(event.currentTarget.dataset.src) let currentUrl = event.currentTarget.dataset.src wx.previewImage({ current: currentUrl, // 当前显示图片的http链接 urls: this.data.imgList // 需要预览的图片http链接列表 }) } }) [代码] 这里也很简单,就是定义一个imgList图片数组。然后定义一个方法,在点击图片时实现图片放大预览的效果。 其实代码就这么多,我们就可以轻松的实现小程序图片的点击放大效果了。 是不是很简单。 我也有录制视频讲解:https://edu.csdn.net/course/detail/25749
2019-08-29 - 如何实现快速生成朋友圈海报分享图
由于我们无法将小程序直接分享到朋友圈,但分享到朋友圈的需求又很多,业界目前的做法是利用小程序的 Canvas 功能生成一张带有小程序码的图片,然后引导用户下载图片到本地后再分享到朋友圈。相信大家在绘制分享图中应该踩到 Canvas 的各种(坑)彩dan了吧~ 这里首先推荐一个开源的组件:painter(通过该组件目前我们已经成功在支付宝小程序上也应用上了分享图功能) 咱们不多说,直接上手就是干。 [图片] 首先我们新增一个自定义组件,在该组件的json中引入painter [代码]{ "component": true, "usingComponents": { "painter": "/painter/painter" } } [代码] 然后组件的WXML (代码片段在最后) [代码]// 将该组件定位在屏幕之外,用户查看不到。 <painter style="position: absolute; top: -9999rpx;" palette="{{imgDraw}}" bind:imgOK="onImgOK" /> [代码] 重点来了 JS (代码片段在最后) [代码]Component({ properties: { // 是否开始绘图 isCanDraw: { type: Boolean, value: false, observer(newVal) { newVal && this.handleStartDrawImg() } }, // 用户头像昵称信息 userInfo: { type: Object, value: { avatarUrl: '', nickName: '' } } }, data: { imgDraw: {}, // 绘制图片的大对象 sharePath: '' // 生成的分享图 }, methods: { handleStartDrawImg() { wx.showLoading({ title: '生成中' }) this.setData({ imgDraw: { width: '750rpx', height: '1334rpx', background: 'https://qiniu-image.qtshe.com/20190506share-bg.png', views: [ { type: 'image', url: 'https://qiniu-image.qtshe.com/1560248372315_467.jpg', css: { top: '32rpx', left: '30rpx', right: '32rpx', width: '688rpx', height: '420rpx', borderRadius: '16rpx' }, }, { type: 'image', url: this.data.userInfo.avatarUrl || 'https://qiniu-image.qtshe.com/default-avatar20170707.png', css: { top: '404rpx', left: '328rpx', width: '96rpx', height: '96rpx', borderWidth: '6rpx', borderColor: '#FFF', borderRadius: '96rpx' } }, { type: 'text', text: this.data.userInfo.nickName || '青团子', css: { top: '532rpx', fontSize: '28rpx', left: '375rpx', align: 'center', color: '#3c3c3c' } }, { type: 'text', text: `邀请您参与助力活动`, css: { top: '576rpx', left: '375rpx', align: 'center', fontSize: '28rpx', color: '#3c3c3c' } }, { type: 'text', text: `宇宙最萌蓝牙耳机测评员`, css: { top: '644rpx', left: '375rpx', maxLines: 1, align: 'center', fontWeight: 'bold', fontSize: '44rpx', color: '#3c3c3c' } }, { type: 'image', url: 'https://qiniu-image.qtshe.com/20190605index.jpg', css: { top: '834rpx', left: '470rpx', width: '200rpx', height: '200rpx' } } ] } }) }, onImgErr(e) { wx.hideLoading() wx.showToast({ title: '生成分享图失败,请刷新页面重试' }) //通知外部绘制完成,重置isCanDraw为false this.triggerEvent('initData') }, onImgOK(e) { wx.hideLoading() // 展示分享图 wx.showShareImageMenu({ path: e.detail.path, fail: err => { console.log(err) } }) //通知外部绘制完成,重置isCanDraw为false this.triggerEvent('initData') } } }) [代码] 那么我们该如何引用呢? 首先json里引用我们封装好的组件share-box [代码]{ "usingComponents": { "share-box": "/components/shareBox/index" } } [代码] 以下示例为获取用户头像昵称后再生成图。 [代码]<button class="intro" bindtap="getUserInfo">点我生成分享图</button> <share-box isCanDraw="{{isCanDraw}}" userInfo="{{userInfo}}" bind:initData="handleClose" /> [代码] 调用的地方: [代码]const app = getApp() Page({ data: { isCanDraw: false }, // 组件内部关掉或者绘制完成需重置状态 handleClose() { this.setData({ isCanDraw: !this.data.isCanDraw }) }, getUserInfo(e) { wx.getUserProfile({ desc: "获取您的头像昵称信息", success: res => { const { userInfo = {} } = res this.setData({ userInfo, isCanDraw: true // 开始绘制海报图 }) }, fail: err => { console.log(err) } }) } }) [代码] 最后绘制分享图的自定义组件就完成啦~效果图如下: [图片] tips: 文字居中实现可以看下代码片段 文字换行实现(maxLines)只需要设置宽度,maxLines如果设置为1,那么超出一行将会展示为省略号 代码片段:https://developers.weixin.qq.com/s/J38pKsmK7Qw5 附上painter可视化编辑代码工具:点我直达,因为涉及网络图片,代码片段设置不了downloadFile合法域名,建议真机开启调试模式,开发者工具 详情里开启不校验合法域名进行代码片段的运行查看。 最后看下面大家评论问的较多的问题:downLoadFile合法域名在小程序后台 开发>开发设置里配置,域名为你图片的域名前缀 比如我文章里的图https://qiniu-image.qtshe.com/20190605index.jpg。配置域名时填写https://qiniu-image.qtshe.com即可。如果你图片cdn地址为https://aaa.com/xxx.png, 那你就配置https://aaa.com即可。
2022-01-20 - 开发了一个完整的小程序,用的是云开发。涉及的技术比较多,就不一一写了。看看有没有你需要的技术,给我留言,我会一一解答。
一,云开发端: 1,图片和文字的内容安全检测。 2,将数据导出Excel表, 3,定时触发器(定时器), 4,订阅消息。结合定时触发器,可实现定时推送。 5,生成数据表在云端的好处 6,生成带参数小程序码 7,模糊查询 8,数据实时更新 二,小程序端: 1,用的是原生开发 2,自定义导航栏,且可监听点击右上键箭头,可配置,可弹窗。 3,分享生成的canvas图片 4,统一报错处理, 5,请求封装,状态统一处理。 6,过期头像检测 7,小程序端没啥写的,自己去看页面吧。 三,其它: 1,接入广告流程 四:小程序体验(带有参数的小程序码 + canvas绘图) [图片]
2020-05-08 - 微信小程序如何隐藏scroll-view滚动条
[代码]::-webkit-scrollbar {[代码] [代码]width[代码][代码]: [代码][代码]0[代码][代码];[代码] [代码]height[代码][代码]: [代码][代码]0[代码][代码];[代码] [代码]color[代码][代码]: [代码][代码]transparent[代码][代码];[代码] [代码]}[代码]scroll-view 使用上述代码 无法隐藏滚动条,ios 上 有的时候有,有的时候没有
2018-04-24 - errMsg":"hideLoading:fail:toast can't be found"?
真机调试出现 VM33:2 Uncaught (in promise) thirdScriptError {"errMsg":"hideLoading:fail:toast can't be found"} Object的问题?
2020-03-04