29

小程序wx.getUserInfo不能弹出授权窗口后的解决方案

微信小程序更新api后,wx.getUserInfo在开发和体验版本都不能弹出授权窗口。微信小程序文档说明:

注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type=”getUserInfo”></button> 引导用户主动进行授权操作

  1. 当用户未授权过,调用该接口将直接报错
  2. 当用户授权过,可以使用该接口获取用户信息

对此,给出以下解决方案。

调取该方法失败后跳转到授权页面。

授权页面加入

并在js中,加入这个方法

至此,即可完成引导用户手动授权的过程。解决此次更新api所带来的问题。

26

小程序与小游戏获取用户信息接口调整,请开发者注意升级

为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。开发者可使用以下方式获取或展示用户信息:

一、小程序:

1、使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/button.html

2、使用 open-data 展示用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html

二、小游戏:

1、使用用户信息按钮 UserInfoButton。

详情参考文档:

https://developers.weixin.qq.com/minigame/dev/document/open-api/user-info/wx.createUserInfoButton.html

2、开放数据域下的展示用户信息。

详细参考文档:

https://developers.weixin.qq.com/minigame/dev/document/open-api/data/wx.getUserInfo.html

请各位开发者注意及时调整接口。

25

codeigniter项目核心类实例

创建核心系统类

每次 CodeIgniter 运行时,都有一些基础类伴随着核心框架自动的被初始化。但你也可以使用你自己类来替代这些核心类或者扩展这些核心类。

大多数用户一般不会有这种需求,但对于那些想较大幅度的改变 CodeIgniter 的人来说,我们依然提供了替换和扩展核心类的选择。

注解

改变系统核心类会产生很大影响,所以在你做之前必须清楚地知道自己正在做什么。

系统类清单

以下是系统核心文件的清单,它们在每次 CodeIgniter 启动时被调用:

  • Benchmark
  • Config
  • Controller
  • Exceptions
  • Hooks
  • Input
  • Language
  • Loader
  • Log
  • Output
  • Router
  • Security
  • URI
  • Utf8

替换核心类

要使用你自己的系统类替换默认的系统类只需简单的将你自己的文件放入目录 application/core 下:

如果这个目录不存在,你可以创建一个。

任何一个和上面清单中同名的文件将被替换成核心类。

要注意的是,你的类名必须以 CI 开头,例如,你的文件是 Input.php,那么类应该命名为:

扩展核心类

如果你只是想往现有类中添加一些功能,例如增加一两个方法,这时替换整个类感觉就有点杀鸡用牛刀了。在这种情况下,最好是使用扩展类的方法。扩展一个类和替换一个类的做法几乎是一样的,除了要注意以下几点:

  • 你定义的类必须继承自父类。
  • 你的类名和文件名必须以 MY_ 开头。(这是可配置的,见下文) Continue reading
25

CI框架目录结构分析

 

2013050900240734

 

17

织梦结合小程序的方法及插件安装

最近发现有很多朋友来到我的某篇文章中找“织梦结合小程序”的方法,但是我那篇文章不是关于这个问题的记录,所以在这里做一个织梦结合小程序的方法的外部链接吧,

织梦CMS万能API插件

这里有详细的文字和视频介绍,如果看不明白,他可联系作者,如果还是不明白可以联系我,一同研究。

25

解决phpStudy错误提示“Starting the ‘Apache2a’ service The ‘Apache2a’ service is running.”

/phpStudy/Apache/logs/error.log

解决方法:安装VC9(x86)、VC11(x86)

下载链接:https://pan.baidu.com/s/1gyLabTPKvojdB-jvzxiNxA 密码:27sy

20

windows 2003 iis服务器支持视频播放,支持FLV,f4v,mp4视频播放

windows 2003 iis服务器支持视频播放,支持FLV,f4v,mp4视频播放
服务器不能播放视频,服务器不能播放mp4视频
网站不能播放视频,网站不能播放mp4视频

1.找到你需要设置的网站项目,右键属性,选择“http头”标签;

2.点击“MIME类型”;

3.新建
f4v格式是扩展名:.f4v,内容类型:application/octet-stream
flv格式是关联扩展名:.flv,内容类型:application/octet-stream
mp4格式是扩展名:.mp4,内容类型:video/mp4

TIM20180520072320

10

wdcp3.2.21配置https失败的解决方法

最近在做微信小程序,使用它们的免费服务器,上传文件感觉很不顺手,因为在修改后端代码时,有时可能会频繁上传,这样用它们的服务器就不爽了。所以需要自己配置个测试环境,必须使用https协议。那么就自己下手开弄吧,结果在配置证书后,使用HTTPS怎么弄也是不能正常访问,但还好,哥是无敌的,现在已经完美解决,记录如下:

基本环境:

阿里云服务器
CentOS系统(Linux)
wdCP服务器管理系统(v3.2.21)
阿里云申请的免费证书(Symantec 免费版 SSL)
WEB服务器(Nginx+Apache)

配置步骤如下: Continue reading

30

解决微信小程序报错:Do not have getUserInfo handler in current page: pages/index/index…

如果是来找织梦结合小程序的朋友请移步“织梦结合小程序的方法”,如果是想解决标题中提到的问题请向下看。

Do not have getUserInfo handler in current page: pages/index/index. Please make sure that getUserInfo handler has been defined in pages/index/index, or pages/index/index has been added into app.json

放了好几周才又开始做的微信小程序,之前在页面中做了一些代码测试,隔了这么长时间了,也不记得都动了哪里。

涉及到制作交互部分了,打开了默认的获取用户信息的代码的注释,点击后,报错,报文如上。index.js中、app.js中、…有一些小改,但是都不是真正的原因。

百度上查查吧,但查到的内容也是过来人犯过的错,在这里也记录一下,我也出现了这些提到的。

1. 检查报错对应js在Page之外是不是var了一些不对的值,如:  var RSA = require(‘../utils/wx_rsa.js’);

2.调整app.json中Pages里面的页面注册顺序 ;

3.检查wxml中bindtap是否在js里面将方法创建。

上面第1条是我存在的问题,我在app.js文件中的app({……})之个引用了文件const cfg = require('./config');而且在./config.js文件中还有var的定义,改为let后,没有解决我的问题(但是这不代表不能解决别人的问题)。

再说一下上面的第2条,有个朋友是通过修改app.json中的pages下定义路由的顺序修改了BUG,他的原话如下:

位置调换到后面的 “pages/personal/personal  页面 ,.js 文件中 没有使用Page() 函数注册页面,导致后续页面注册被中断了

测试了一下,把某模块中的js文件清空,控制台提示内容如下:

pages/regulation/regulation.js 出现脚本错误或者未正确调用 Page()

估计那位朋友也不是撒谎,也许是还有别的情况不同的关系吧。

下面说一下这次(pages/index/index.js文件中)我认为很严重的直接造成上面报错的一堆错误:

在上面“…111…”中,有很多代码,但都是事件处理函数等,是不应该在Page.data下的,应该是同级的,Page.data的闭合括号不知道什么时候弄到结尾去的,刚才我是一直没查出来这个错,也是无意间发现的,这个错误比天大啊。

也许是我在上次做测试的时候,复制完代码准备改还没改的情况下放手的,也真是记不清了。

所以,当出现上面出现上面报错时,解决方法还要加上一条,查查自己的代码是否有闭合位置错误的情况发生。

右键点击编辑器区域,选择“格式化文件”,仔细查一查函数的闭合情况。

—————————— 2018-09-05 ——————————

又是一个低级错误,造成这样的报错。

.wxml文件中的部分源码:

报错原因:引号内getUserInfo的后面多了一个空格

买疙瘩,各种错误,不重样儿。

28

三角函数、公式、勾股定理、三角形

一般三角形
b7003af33a87e9500613e51118385343fbf2b442
设三角形三边为AC,BC,AB,

点D垂直于AB,为三角形ABC的高
如图,利用勾股定理,得
AC2-AD2=CD2① CB2-BD2=CD2
①=②
AC2-AD2 =CB2-BD2
因为 AD+BD=AB

所以 AC2-(AB-BD)2=CB2-BD2
同样也有AC2-AD2=CB2-(AB-AD)2
③化简得:(AB2+CB2-AC2)÷2AB=BD
④化简得:(AB2-CB2+AC2)÷2AB=AD

直角三角形

性质1:直角三角形两直角边的平方和等于斜边的平方。
性质2:在直角三角形中,两个锐角互余。
性质3:在直角三角形中,斜边上的中线等于斜边的一半。
性质4:直角三角形的两直角边的乘积等于斜边与斜边上高的乘积。
性质5:如图,Rt△ABC中,∠BAC=90°,AD是斜边BC上的高,则有射影定理如下:

(1) AD^2=BD·DC,
(2) AB^2=BD·BC , 射影定理图
(3) AC^2=CD·BC 。 等积式
(4)AB*AC=AD*BC (可用面积来证明)
(5)直角三角形的外接圆的半径R=1/2BC,
(6)直角三角形的内切圆的半径r=1/2(AB+AC-BC)(公式一);r=AB*AC/(AB+BC+CA)(公式二)
5243fbf2b211931333d4280965380cd790238df0
等腰直角三角形三边之比:1:1:根号二

============================

三角函数公式

sin30°=1/2 sin45°=√2/2 sin60°=√3/2
cos30°=√3/2 cos45°=√2/2 cos60°=1/2
tan30°=√3/3 tan45°=1 tan60°=√3
cot30°=√3 cot45°=1 cot60°=√3/3
sin15°=(√6-√2)/4 sin75°=(√6+√2)/4 cos15°=(√6+√2)/4
cos75°=(√6-√2)/4(这四个可根据sin(45°±30°)=sin45°cos30°±cos45°sin30°得出)
sin18°=(√5-1)/4 (这个值在高中竞赛和自招中会比较有用,即黄金分割的一半)
正弦定理:在△ABC中,a / sinA = b / sin B = c / sin C = 2R (其中,R为△ABC的外接圆的半径。)

三角函数的诱导公式(六公式)
公式一:
sin(α+k*2π)=sinα cos(α+k*2π)=cosα tan(α+k*2π)=tanα
公式二:
sin(π+α) = -sinα cos(π+α) = -cosα tan(π+α)=tanα
公式三:
sin(-α) = -sinα cos(-α) = cosα tan (-α)=-tanα
公式四:
sin(π-α) = sinα cos(π-α) = -cosα tan(π-α) =-tanα
公式五:
sin(π/2-α) = cosα cos(π/2-α) =sinα
由于π/2+α=π-(π/2-α),由公式四和公式五可得
公式六:
sin(π/2+α)= cosα cos(π/2+α) = -sinα sin(π/2+α)= cosα
cos(π/2+α)= -sinα tan(π/2+α)= -cotα cot(π/2+α)= -tanα
sin(π/2-α)= cosα cos(π/2-α)= sinα tan(π/2-α)= cotα
cot(π/2-α)= tanα sin(3π/2+α)= -cosα cos(3π/2+α)= sinα
tan(3π/2+α)= -cotα cot(3π/2+α)= -tanα sin(3π/2-α)= -cosα
cos(3π/2-α)= -sinα tan(3π/2-α)= cotα cot(3π/2-α)= tanα
诱导公式记背诀窍:奇变偶不变,符号看象限。

和(差)角公式
三角和公式
sin(α+β+γ)=sinα·cosβ·cosγ+cosα·sinβ·cosγ+cosα·cosβ·sinγ-sinα·sinβ·sinγ
cos(α+β+γ)=cosα·cosβ·coscγ-osα·sinβ·sinγ-sinα·cosβ·sinγ-sinα·sinβ·cosγ
tan(α+β+γ)=(tanα+tanβ+tanγ-tanα·tanβ·tanγ)/(1-tanα·tanβ-tanβ·tanγ-tanα·tanγ)
(α+β+γ≠π/2+2kπ,α、β、γ≠π/2+2kπ)
积化和差的四个公式
sina*cosb=(sin(a+b)+sin(a-b))/2
cosa*sinb=(sin(a+b)-sin(a-b))/2
cosa*cosb=(cos(a+b)+cos(a-b))/2
sina*sinb=-(cos(a+b)-cos(a-b))/2
和差化积的四个公式:
sinx+siny=2sin((x+y)/2)*cos((x-y)/2)
sinx-siny=2cos((x+y)/2)*sin((x-y)/2)
cosx+cosy=2cos((x+y)/2)*cos((x-y)/2)
cosx-cosy=-2sin((x+y)/2)*sin((x-y)/2)