我就看看,或许明天就不能用了
利用云函数绕过域名校验和HTTPS配置,实现内网加端口访问闲来无事,无意中发现云函数中的request网络请求可以不用配置校验域名和https,也就是说可以通过云函数封装一个请求通用函数来处理没有域名和https的网络请求(甚至包括内网穿透,可以用非80端口进行实验)。 适用场景: A、没有域名或使用局域网(直接使用IP访问); B、使用花生壳动态域名解析(内网穿透); C、有域名但不想申请配置HTTPS(懒人); D、连自己的服务器都没有,接口直接使用开源或者第三方接口且不能添加域名校验的情况(空壳); E、不愿意直接在小程序中直接暴露自己逻辑API实际请求地址的(安全); ······ 具体步骤如下: 1、给项目添加云函数支持(https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html) 2、新建名为“proxy”的云函数,配置支持request-promise [代码]// package.json[代码][代码]{[代码][代码] [代码][代码]"name"[代码][代码]: [代码][代码]"proxy"[代码][代码],[代码][代码] [代码][代码]"version"[代码][代码]: [代码][代码]"1.0.0"[代码][代码],[代码][代码] [代码][代码]"description"[代码][代码]: [代码][代码]""[代码][代码],[代码][代码] [代码][代码]"main"[代码][代码]: [代码][代码]"index.js"[代码][代码],[代码][代码] [代码][代码]"scripts"[代码][代码]: {[代码][代码] [代码][代码]"test"[代码][代码]: [代码][代码]"echo \"Error: no test specified\" && exit 1"[代码][代码] [代码][代码]},[代码][代码] [代码][代码]"author"[代码][代码]: [代码][代码]""[代码][代码],[代码][代码] [代码][代码]"license"[代码][代码]: [代码][代码]"ISC"[代码][代码],[代码][代码] [代码][代码]"dependencies"[代码][代码]: {[代码][代码] [代码][代码]"wx-server-sdk"[代码][代码]: [代码][代码]"latest"[代码][代码],[代码][代码] [代码][代码]"request"[代码][代码]: [代码][代码]"latest"[代码][代码],[代码][代码] [代码][代码]"request-promise"[代码][代码]: [代码][代码]"latest"[代码][代码] [代码][代码]}[代码][代码]}[代码][代码]// 云函数入口文件index.js[代码] [代码]const cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码][代码]const rq = require([代码][代码]'request-promise'[代码][代码])[代码][代码]cloud.init()[代码][代码]// 云函数入口函数[代码][代码]// event为小程序调用的时候传递参数,包含请求参数uri、headers、body[代码][代码]exports.main = async (event, context) => {[代码][代码] [代码][代码]return[代码] [代码]await rq({[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]uri: event.uri,[代码][代码] [代码][代码]headers: event.headers ? event.headers : {},[代码][代码] [代码][代码]body: event.body[代码][代码] [代码][代码]}).then(body => {[代码][代码] [代码][代码]return[代码] [代码]body[代码][代码] [代码][代码]}).[代码][代码]catch[代码][代码](err => {[代码][代码] [代码][代码]return[代码] [代码]err[代码][代码] [代码][代码]})[代码][代码]}[代码]3、在小程序中调用云函数请求数据请求 [代码]onLoad: [代码][代码]function[代码][代码](){[代码][代码] [代码][代码]// 初始化[代码][代码] [代码][代码]wx.cloud.init()[代码][代码]},[代码][代码]onGetItemList: [代码][代码]function[代码][代码](){[代码][代码] [代码][代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'proxy'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]// http域名 https域名 第三方域名 非验证域名 IP[:prot] 内网IP或花生壳域名[代码][代码] [代码][代码]uri: [代码][代码]'http://192.168.1.100:8081'[代码][代码],[代码][代码] [代码][代码]headers: {[代码][代码] [代码][代码]'Content-Type'[代码][代码]: [代码][代码]'application/json'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]body: {[代码][代码] [代码][代码]uid: 1[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}).then(res => {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]const data = res.result[代码][代码] [代码][代码]console.log(data)[代码][代码] [代码][代码]// do something[代码][代码] [代码][代码]})[代码][代码]}[代码]然后你会发现你已经无所不能了。 个人见解,如有不妥之处,望各位大神指正!~
2018-12-03你应该是没搞明白什么是引用
基本判断语句for循环出错(傻了傻了没事了没事了散了吧)详情见片段,这个有点迷啊,我写错了么?请指正 https://developers.weixin.qq.com/s/N2PR7nml7A4b [图片]
2018-12-03感觉像是数据库存储错误
调用小程序接口获取手机号,报错使用小程序内置方法bindgetphonenumber,获取手机号码,提示错误 1366:Incorrect string value (手机:iPhone 7 plus;手机号是联通号码156开头)
2018-12-03这几个变量打的应该顺手了吧
希望可以添加css变量的功能希望可以添加css变量的功能,比如我在:root里定义background为#efeff4,那么我在下面就可以直接在类名里添加这个变量。css是支持的,希望小程序也可以支持,有的时候,在app.wxss里定义里可以提示颜色,但是在页面子wxss里就不会提示里,如果有变量就可以直接写变量名,而不用在去翻看app.wxss里的色值。 :root { --backgorund: #efeff; --blue: #1c6ee9; --title: #3d3d3d; --text: #8c8c8c; } .container { backgorund: var(--backgorund); } label { color: var(--title); } text { color: var(--text); }
2018-12-03建议用base64
icon图标 IOS下不显示- 当前 Bug 的表现(可附上截图) [图片] 描述: 此情况在5S机子上测试,有5%不到的概率出现,icon图标不显示 调试台元素及class显示正常 [图片] 这样的写法加载的icon也有此类情况 iphone X下正常 (其他IOS没测过) - 提供一个最简复现 Demo <view class="weui-msg" > <view class="weui-msg__icon-area"> <icon type="warn" size="93"/> </view> <view class="weui-msg__text-area"> <view class="weui-msg__title">暂无数据</view> </view> </view>
2018-12-03黑他手机
客服消息被恶意攻击怎么处理?- 需求的场景描述(希望解决的问题) 客服消息被恶意攻击 [图片] 如图,查看客服消息时收到了类似这种的消息,请问怎么处理? 有地方举报么? - 希望提供的能力 有入口举报
2018-12-03这个错误提示好像很明显了
Canvas绘图调用downloadFile保存图片真机上报错- 当前 Bug 的表现(可附上截图) [图片] - 预期表现 - 复现路径 - 提供一个最简复现 Demo components中使用canvas
2018-12-03