+1 同建议。
建议开放 微信自带图片编辑功能目前许多小程序中使用到了图片裁剪、缩放等基本处理编辑功能,如果使用Canvas来处理的话,无疑体验会比较差, 但小程序已有API wx.chooseImage 中选择完图片是可以使用到微信自带的图片编辑功能的, 建议将微信自带图片编辑功能开放为小程序API使用
2019-01-03我们真的迫切需要这个接口,第一种,需要指定裁剪width、height固定的;另一种,自由裁剪。目前网上存在的方案,都会有卡顿,然后部分机型崩溃的现象。 目前我司的解决方案,直接不处理了。让用户使用系统图片编辑功能,或第三方APP处理好,再上传。
图片上传什么时候能支持裁剪- 需求的场景描述(希望解决的问题) 图片上传什么时候能支持裁剪 - 希望提供的能力
2019-01-03我更新了也发生了这个问题。
Cannot read property 'first_column' of u- 需求的场景描述(希望解决的问题) 更新软件后突然 Cannot read property 'first_column' of undefined - 希望提供的能力
2018-12-26目前该接口已经恢复正常,请参考:https://developers.weixin.qq.com/community/develop/doc/00082c23fc4828d232d7d6bd05f400
指纹验证后,密钥验签服务调用返回48001https://developers.weixin.qq.com/miniprogram/dev/api/startSoterAuthentication.html 微信已经提供后台接口,用于可信的密钥验签服务,微信将保证该接口返回的验签结果的正确性与可靠性,并且对于 Android root 情况下该接口具有上述特征(将返回是否保证root情况安全性)。 接口地址: http://api.weixin.qq.com/cgi-bin/soter/verify_signature?access_token=%access_token post 数据内容(JSON 编码): [代码]{"openid":"$openid", "json_string" : "$json", "json_signature" : "$sign" }[代码] [代码] [代码] 其中json_string使用的是指纹验证返回的resultJSON,json_signature使用的是resultJSONSignature。access_token是通过如下文档方式获取的https://developers.weixin.qq.com/miniprogram/dev/api/token.html#%E8%8E%B7%E5%8F%96-access_token openid应该也是没有错的。但是调用这个接口总是返回48001错误。 { errcode: 48001, errmsg: 'api unauthorized hint: [QlUlKa0358vr47!]' } 请问这是为什么?谢谢。
2018-12-25目前该接口已经恢复正常,请参考:https://developers.weixin.qq.com/community/develop/doc/00082c23fc4828d232d7d6bd05f400
官方提供的密钥验签服务究竟怎么使用?一直报错。小程序的密钥验签服务到底怎么使用?一直返回48001,官方文档只有潦草的几句描述。开过别的问题贴,也基本没啥回复,已经不知道如何是好了。参考链接和截图如下: https://developers.weixin.qq.com/miniprogram/dev/api/startSoterAuthentication.html [图片] access_token确保没有问题,是通过如下方式获取的: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + secre [代码]另外openid是对应指纹验证客户的openid,json_string是指纹验证成功后返回的resultJSON, [代码][代码]json_signature是指纹验证成功后返回的resultJSONSignature。 [代码] [代码]如果我胡乱提交个access_token,错误信息就是无效的access_token,但是我access_token确保没问题,就是一直48001。帮忙看下,否则指纹验证就没法使用了,谢谢。 [代码]
2018-12-252018年12月24日 问题还没有修复。
wx.chooseVideo如何设置拍摄最长时间怎么设置wx.chooseVideo中的maxDuration字段不起任何作用,超过预设时间的视频毫无反应,请官方尽快解决一下,最好能截取从手机中导入的视频,谢谢
2018-12-24[代码]var[代码] [代码]a={[代码][代码]"balance"[代码][代码]:[代码][代码]"1"[代码][代码],[代码][代码]"busId"[代码][代码]:[代码][代码]"1"[代码][代码],[代码][代码]"shoId"[代码][代码]:[代码][代码]"1"[代码][代码]}, b={[代码][代码]"userid"[代码][代码]:[代码][代码]"1"[代码][代码]};[代码] [代码]var[代码] [代码]c = Object.assign({}, a);[代码][代码]var[代码] [代码]bKeys = Object.keys(b);[代码][代码]for[代码] [代码]([代码][代码]var[代码] [代码]i=0; i<bKeys.length; i++) {[代码][代码] [代码][代码]var[代码] [代码]bKey = bKeys[i];[代码][代码] [代码][代码]c[bKey] = b[bKey];[代码][代码]}[代码] [代码]JSON.stringify(c);[代码]这个是符合你需要的。
把两个json对象融合怎么样才能把两个json对象合并在一起,例如 a={"balance":"1","busId":"1","shoId":"1"},b={"userid":"1"} 把这两个json对象变成 c ={"balance":"1","busId":"1","shoId":"1","userid":"1"}
2018-12-18反正现在最低金额不是自己能控制的,还要跟微信支付申请。有可能1元以上,能否告诉一下你们的公众号是什么吗?活动开始了通知一下下。 顺便提醒下,企业付款/现金红包开通条件: 1、入账方式为即时入账至商户号,结算周期为T+1的商户,需满足两个条件: 1)入驻满90天; 2)截止今日往回推30天连续不间断保持有交易。 2、其余的商户无限制,可立即前往【商户平台】->【产品中心】申请开通。
公众号开通现金红包/企业付款到零钱怎么发送给用户申请开通商户号,使用现金红包/企业付款的功能,怎样让用户关注公众号之后直接发送给当前关注的用户,关键是当前公众号下的用户openid怎么拿,公众号没有开发只是配置了消息模板和菜单
2018-12-17或者尝试检查系统更新,华为是否有新的系统更新包,或者已经支持微信指纹。iOS目前没有发现此问题。 附上代码,请参考: [代码]let supportResult = await wepy.checkIsSupportSoterAuthentication().then(res => {[代码][代码] [代码][代码]var[代码] [代码]isSupportFinger = [代码][代码]false[代码][代码];[代码][代码] [代码][代码]res.supportMode.forEach((item, index) => {[代码][代码] [代码][代码]if[代码] [代码](item === [代码][代码]'fingerPrint'[代码][代码]) {[代码][代码] [代码][代码]isSupportFinger = [代码][代码]true[代码][代码];[代码][代码] [代码][代码]return[代码] [代码]false[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码] [代码] [代码][代码]return[代码] [代码]isSupportFinger;[代码][代码]}).[代码][代码]catch[代码][代码](() => {[代码][代码] [代码][代码]// 开发者工具不支持[代码][代码] [代码][代码]return[代码] [代码]false[代码][代码];[代码][代码]});[代码] [代码]if[代码] [代码](supportResult) {[代码][代码] [代码][代码]let enrolledResult = await wepy.checkIsSoterEnrolledInDevice({[代码][代码] [代码][代码]checkAuthMode: [代码][代码]'fingerPrint'[代码] [代码]//认证方式[代码][代码] [代码][代码]}).then(settingResult => {[代码][代码] [代码][代码]if[代码] [代码](!settingResult.isEnrolled === [代码][代码]false[代码][代码]) {[代码][代码] [代码][代码]return[代码] [代码]{ success: [代码][代码]true[代码][代码], errMsg: [代码][代码]''[代码] [代码]}[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]return[代码] [代码]{ success: [代码][代码]false[代码][代码], errMsg: settingResult.errMsg }[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码] [代码] [代码][代码]if[代码] [代码](!enrolledResult.success === [代码][代码]false[代码][代码]) {[代码][代码] [代码][代码]// 本机已录入指纹信息[代码][代码] [代码][代码]let authResult = await wepy.startSoterAuthentication({[代码][代码] [代码][代码]requestAuthModes: [[代码][代码]'fingerPrint'[代码][代码]],[代码][代码] [代码][代码]challenge: [代码][代码]'fingerPrintSetting'[代码][代码],[代码][代码] [代码][代码]authContent: [代码][代码]'验证指纹提示语'[代码][代码] [代码][代码]}).then(enableResult => { [代码][代码] [代码][代码]return[代码] [代码]enableResult; [代码][代码] [代码][代码]}).[代码][代码]catch[代码][代码](enableErrResult => {[代码][代码] [代码][代码]if[代码] [代码](enableErrResult.errCode === 90008) {[代码][代码] [代码][代码]wepy.showToast({[代码][代码] [代码][代码]title: [代码][代码]'用户已取消'[代码][代码], [代码][代码]//提示的内容,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码], [代码][代码]//图标,[代码][代码] [代码][代码]duration: 1000, [代码][代码]//延迟时间,[代码][代码] [代码][代码]mask: [代码][代码]true[代码] [代码]//显示透明蒙层,防止触摸穿透[代码][代码] [代码][代码]});[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]if[代码] [代码](enableErrResult.errCode === 90009) {[代码][代码] [代码][代码]wepy.showToast({[代码][代码] [代码][代码]title: [代码][代码]'指纹验证失败'[代码][代码], [代码][代码]//提示的内容,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码], [代码][代码]//图标,[代码][代码] [代码][代码]duration: 1000, [代码][代码]//延迟时间,[代码][代码] [代码][代码]mask: [代码][代码]true[代码] [代码]//显示透明蒙层,防止触摸穿透[代码][代码] [代码][代码]});[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]wepy.showToast({[代码][代码] [代码][代码]title: enableResult.errMsg, [代码][代码]//提示的内容,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码], [代码][代码]//图标,[代码][代码] [代码][代码]duration: 1000, [代码][代码]//延迟时间,[代码][代码] [代码][代码]mask: [代码][代码]true[代码] [代码]//显示透明蒙层,防止触摸穿透[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码] [代码][代码]return[代码] [代码]false[代码][代码];[代码][代码] [代码][代码]});[代码] [代码] [代码][代码]if[代码] [代码](!authResult === [代码][代码]false[代码][代码]) {[代码][代码] [代码][代码]// 将结果上传服务器传输给微信认证结果, TODO:目前服务端报 48001 错误,询问官方中[代码][代码] [代码][代码]wepy.showToast({[代码][代码] [代码][代码]title: [代码][代码]'验证成功'[代码][代码], [代码][代码]// 提示的内容,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码], [代码][代码]// 图标,[代码][代码] [代码][代码]duration: 1500, [代码][代码]// 延迟时间,[代码][代码] [代码][代码]mask: [代码][代码]true[代码][代码], [代码][代码]// 显示透明蒙层,防止触摸穿透[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]wepy.showToast({[代码][代码] [代码][代码]title: settingResult.errMsg, [代码][代码]// 提示的内容,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码], [代码][代码]// 图标,[代码][代码] [代码][代码]duration: 1000, [代码][代码]// 延迟时间,[代码][代码] [代码][代码]mask: [代码][代码]true[代码] [代码]// 显示透明蒙层,防止触摸穿透[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]wepy.showToast({[代码][代码] [代码][代码]title: [代码][代码]'本机无法支持指纹识别'[代码][代码], [代码][代码]// 提示的内容,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码], [代码][代码]// 图标,[代码][代码] [代码][代码]duration: 1000, [代码][代码]// 延迟时间,[代码][代码] [代码][代码]mask: [代码][代码]true[代码] [代码]// 显示透明蒙层,防止触摸穿透[代码][代码] [代码][代码]});[代码][代码]}[代码]
指纹认证wx.startSoterAuthentication总是返回90007- 当前 Bug 的表现(可附上截图) 调用生物认证接口: [代码]wx.startSoterAuthentication({[代码] [代码] [代码][代码]requestAuthModes: [[代码][代码]'fingerPrint'[代码][代码]],[代码] [代码] [代码][代码]challenge: [代码][代码]'123456'[代码][代码],[代码] [代码] [代码][代码]authContent: [代码][代码]'请用指纹解锁'[代码][代码],[代码] [代码] [代码][代码]success(res) {[代码] [代码] [代码][代码] console.log([代码][代码]'指纹成功'[代码][代码], res);[代码] [代码] [代码][代码]},[代码] [代码] [代码][代码]fail(res){[代码] [代码] [代码][代码]console.log([代码][代码]'指纹失败'[代码][代码], res);[代码] [代码] [代码][代码]}[代码] [代码]})[代码] 但是,总是返回90007错误(在官方的小程序《小程序示例》中调用生物认证也是提示认证失败) [代码]{[代码][代码] [代码][代码]authMode: [代码][代码]"fingerPrint"[代码][代码], [代码][代码] [代码][代码]resultJSON: [代码][代码]""[代码][代码], [代码][代码] [代码][代码]resultJSONSignature: [代码][代码]""[代码][代码], [代码][代码] [代码][代码]errCode: 90007, [代码][代码] [代码][代码]errMsg: [代码][代码]"startSoterAuthentication:fail auth key update error"[代码][代码]}[代码] 附上另外2个接口的返回值情况: [代码]wx.checkIsSupportSoterAuthentication({[代码][代码] [代码][代码]success(res) {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][图片] [代码]wx.checkIsSoterEnrolledInDevice({[代码][代码] [代码][代码]checkAuthMode: [代码][代码]'fingerPrint'[代码][代码],[代码][代码] [代码][代码]success(res) {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]}[代码][代码]})[代码][图片] - 预期表现 调用成功,出现指纹输入界面 - 复现路径 - 提供一个最简复现 Demo 查阅微信其他平台的开发文档,对错误说明如下: [图片] 不知道有没有也碰到这种情况的,该怎么解决?
2018-12-17