
原因:
需要授权 scope.userLocation、scope.userLocationBackground 时必须配置地理位置用途说明。
解决:
在app.json中,根据开发文档的提示,将下面的代码添加在与pages同级下
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
}
在提前授权时,选择了拒绝授权,没有拿到授权,也会报一下错误

清除缓存,点击同意授权,就不会再报这个错误了。
我们小程序注册时主体都是个人,无法获取用户的手机号,只有小程序的主体是企业才能获取用户的手机号,好在开发时小程序提供了一个测试号供我们测试,工作时还是要使用主体为企业的appid。
个人注册主体,可以通过修改测试号来模拟企业主体。
个人测试号地址:https://developers.weixin.qq.com/sandbox
每个人的企业主体测试号都是唯一的,将测试号地址的AppID,复制下来,打开“详情”–>“基本信息”–>将我们的AppID修改为测试号的id。即可模拟企业号获取用户手机号。
转自网友总结,如有冒昧之处,请私我
‘-1’ => ‘系统繁忙,此时请开发者稍候再试’,
‘0’ => ‘请求成功’,
‘40073’ => ‘不合法的 cardid’,
‘40009’ => ‘图片文件超长。’,
‘40013’ => ‘不合法的Appid,请开发者检查AppID的正确性,避免异常字符,注意大小写。’,
‘40053’ => ‘不合法的actioninfo,请开发者确认参数正确。’,
‘40071’ => ‘不合法的卡券类型。’,
‘40072’ => ‘不合法的编码方式。’,
‘40078’ => ‘不合法的卡券状态。’,
‘40079’ => ‘不合法的时间。’,
‘40080’ => ‘不合法的CardExt。’,
‘40099’ => ‘卡券已被核销。’,
‘40100’ => ‘不合法的时间区间。’,
‘40116’ => ‘不合法的Code码。’,
‘40122’ => ‘不合法的库存数量。’,
‘40124’ => ‘会员卡设置查过限制的 custom_field字段。’,
‘40127’ => ‘卡券被用户删除或转赠中。’,
‘41012’ => ‘缺少cardid参数。’,
‘45030’ => ‘该cardid无接口权限。’,
‘45031’ => ‘库存为0。’,
‘45033’ => ‘用户领取次数超过限制get_limit’,
‘41011’ => ‘缺少必填字段。’,
‘45021’ => ‘字段超过长度限制,请参考相应接口的字段说明。’,
‘40056’ => ‘不合法的Code码。’,
‘43009’ => ‘自定义SN权限,请前往公众平台申请。’,
‘43010’ => ‘无储值权限,请前往公众平台申请。’,
‘40001’ => ‘获取access_token时AppSecret错误’,
‘40002’ => ‘不合法的凭证类型’,
‘40003’ => ‘不合法的OpenID’,
‘40004’ => ‘不合法的媒体文件类型’,
‘40005’ => ‘不合法的文件类型’,
‘40006’ => ‘不合法的文件大小’,
‘40007’ => ‘不合法的媒体文件id’,
‘40008’ => ‘不合法的消息类型’,
‘40009’ => ‘不合法的图片文件大小’,
‘40010’ => ‘不合法的语音文件大小’,
‘40011’ => ‘不合法的视频文件大小’,
‘40012’ => ‘不合法的缩略图文件大小’,
‘40013’ => ‘不合法的AppID’,
‘40014’ => ‘不合法的access_token’,
‘40015’ => ‘不合法的菜单类型’,
‘40016’ => ‘不合法的按钮个数’,
‘40017’ => ‘不合法的按钮个数’,
‘40018’ => ‘不合法的按钮名字长度’,
‘40019’ => ‘不合法的按钮KEY长度’,
‘40020’ => ‘不合法的按钮URL长度’,
‘40021’ => ‘不合法的菜单版本号’,
‘40022’ => ‘不合法的子菜单级数’,
‘40023’ => ‘不合法的子菜单按钮个数’,
‘40024’ => ‘不合法的子菜单按钮类型’,
‘40025’ => ‘不合法的子菜单按钮名字长度’,
‘40026’ => ‘不合法的子菜单按钮KEY长度’,
‘40027’ => ‘不合法的子菜单按钮URL长度’,
‘40028’ => ‘不合法的自定义菜单使用用户’,
‘40029’ => ‘不合法的oauth_code’,
‘40030’ => ‘不合法的refresh_token’,
‘40031’ => ‘不合法的openid列表’,
‘40032’ => ‘不合法的openid列表长度’,
‘40033’ => ‘不合法的请求字符,不能包含\uxxxx格式的字符’,
‘40035’ => ‘不合法的参数’,‘40038’ => ‘不合法的请求格式’,
‘40039’ => ‘不合法的URL长度’,
‘40050’ => ‘不合法的分组id’,
‘40051’ => ‘分组名字不合法’,
‘40097’ => ‘参数不正确,请参考字段要求检查json 字段’,
‘65104’ => ‘门店的类型不合法,必须严格按照附表的分类填写’,
‘65105’ => ‘图片url 不合法,必须使用接口1 的图片上传接口所获取的url’,
‘65106’ => ‘门店状态必须未审核通过’,
‘65107’ => ‘扩展字段为不允许修改的状态’,
‘65109’ => ‘门店名为空’,
‘65110’ => ‘门店所在详细街道地址为空’,
‘65111’ => ‘门店的电话为空’,
‘65112’ => ‘门店所在的城市为空’,
‘65113’ => ‘门店所在的省份为空’,
‘65114’ => ‘图片列表为空’,
‘65115’ => ‘poi_id 不正确’,
‘40117’ => ‘分组名字不合法’,
‘40118’ => ‘media_id大小不合法’,
‘40119’ => ‘button类型错误’,
‘40120’ => ‘button类型错误’,
‘40121’ => ‘不合法的media_id类型’,
‘40132’ => ‘微信号不合法’,
‘40137’ => ‘不支持的图片格式’,
‘40155’ => ‘请勿添加其他公众号的主页链接’,
‘41001’ => ‘缺少access_token参数’,
‘41002’ => ‘缺少appid参数’,
‘41003’ => ‘缺少refresh_token参数’,
‘41004’ => ‘缺少secret参数’,
‘41005’ => ‘缺少多媒体文件数据’,
‘41006’ => ‘缺少media_id参数’,
‘41007’ => ‘缺少子菜单数据’,
‘41008’ => ‘缺少oauth code’,
‘41009’ => ‘缺少openid’,
‘42001’ => ‘access_token超时’,
‘42002’ => ‘refresh_token超时’,
‘42003’ => ‘oauth_code超时’,
‘42007’ => ‘用户需要重新授权’,
‘43001’ => ‘需要GET请求’,
‘43002’ => ‘需要POST请求’,
‘43003’ => ‘需要HTTPS请求’,
‘43004’ => ‘需要接收者关注’,
‘43005’ => ‘需要好友关系’,
‘43019’ => ‘需要将接收者从黑名单中移除’,
‘44001’ => ‘多媒体文件为空’,
‘44002’ => ‘POST的数据包为空’,
‘44003’ => ‘图文消息内容为空’,
‘44004’ => ‘文本消息内容为空’,
‘45001’ => ‘多媒体文件大小超过限制’,
‘45002’ => ‘消息内容超过限制’,
‘45003’ => ‘标题字段超过限制’,
‘45004’ => ‘描述字段超过限制’,
‘45005’ => ‘链接字段超过限制’,
‘45006’ => ‘图片链接字段超过限制’,
‘45007’ => ‘语音播放时间超过限制’,
‘45008’ => ‘图文消息超过限制’,
‘45009’ => ‘接口调用超过限制’,
‘45010’ => ‘创建菜单个数超过限制’,
‘45011’ => ‘API调用太频繁,请稍候再试’,
‘45015’ => ‘回复时间超过限制’,
‘45016’ => ‘系统分组,不允许修改’,
‘45017’ => ‘分组名字过长’,
‘45018’ => ‘分组数量超过上限’,
‘45047’ => ‘客服接口下行条数超过上限’,
‘46001’ => ‘不存在媒体数据’,
‘46002’ => ‘不存在的菜单版本’,
‘46003’ => ‘不存在的菜单数据’,
‘46004’ => ‘不存在的用户’,
‘47001’ => ‘解析JSON/XML内容错误’,
‘48001’ => ‘api功能未授权’,
‘48002’ => ‘粉丝拒收消息’,
‘48004’ => ‘api接口被封禁,请登录mp.weixin.qq.com查看详情’,
‘48005’ => ‘api禁止删除被自动回复和自定义菜单引用的素材’,
‘48006’ => ‘api禁止清零调用次数,因为清零次数达到上限’,
‘50001’ => ‘用户未授权该api’,‘50002’ => ‘用户受限,可能是违规后接口被封禁’,
‘61451’ => ‘参数错误(invalid parameter)’,
‘61452’ => ‘无效客服账号(invalid kf_account)’,
‘61453’ => ‘客服帐号已存在(kf_account exsited)’,
‘61454’ => ‘客服帐号名长度超过限制(仅允许10个英文字符,不包括@及@后的公众号的微信号)’,
‘61455’ => ‘客服帐号名包含非法字符(仅允许英文+数字)’,
‘61456’ => ‘客服帐号个数超过限制(10个客服账号)’,
‘61457’ => ‘无效头像文件类型’,
‘61450’ => ‘系统错误’,
‘61500’ => ‘日期格式错误’,
‘65301’ => ‘不存在此menuid对应的个性化菜单’,
‘65302’ => ‘没有相应的用户’,
‘65303’ => ‘没有默认菜单,不能创建个性化菜单’,
‘65304’ => ‘MatchRule信息为空’,
‘65305’ => ‘个性化菜单数量受限’,
‘65306’ => ‘不支持个性化菜单的帐号’,
‘65307’ => ‘个性化菜单信息为空’,
‘65308’ => ‘包含没有响应类型的button’,
‘65309’ => ‘个性化菜单开关处于关闭状态’,
‘65310’ => ‘填写了省份或城市信息,国家信息不能为空’,
‘65311’ => ‘填写了城市信息,省份信息不能为空’,
‘65312’ => ‘不合法的国家信息’,
‘65313’ => ‘不合法的省份信息’,
‘65314’ => ‘不合法的城市信息’,
‘65316’ => ‘该公众号的菜单设置了过多的域名外跳(最多跳转到3个域名的链接)’,
‘65317’ => ‘不合法的URL’,
‘9001001’ => ‘POST数据参数不合法’,
‘9001002’ => ‘远端服务不可用’,
‘9001003’ => ‘Ticket不合法’,
‘9001004’ => ‘获取摇周边用户信息失败’,
‘9001005’ => ‘获取商户信息失败’,
‘9001006’ => ‘获取OpenID失败’,
‘9001007’ => ‘上传文件缺失’,
‘9001008’ => ‘上传素材的文件类型不合法’,
‘9001009’ => ‘上传素材的文件尺寸不合法’,
‘9001010’ => ‘上传失败’,
‘9001020’ => ‘帐号不合法’,
‘9001021’ => ‘已有设备激活率低于50%,不能新增设备’,
‘9001022’ => ‘设备申请数不合法,必须为大于0的数字’,
‘9001023’ => ‘已存在审核中的设备ID申请’,
‘9001024’ => ‘一次查询设备ID数量不能超过50’,
‘9001025’ => ‘设备ID不合法’,‘9001026’ => ‘页面ID不合法’,
‘9001027’ => ‘页面参数不合法’,
‘9001028’ => ‘一次删除页面ID数量不能超过10’,‘9001029’ => ‘页面已应用在设备中,请先解除应用关系再删除’,
‘9001030’ => ‘一次查询页面ID数量不能超过50’,‘9001031’ => ‘时间区间不合法’,‘9001032’ => ‘保存设备与页面的绑定关系参数错误’,
‘9001033’ => ‘门店ID不合法’,
‘9001034’ => ‘设备备注信息过长’,
‘9001035’ => ‘设备申请参数不合法’,
‘9001036’ => ‘查询起始值begin不合法’,
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search