微信小程序开发文档 微信开发者工具 WeUI微信小程序前端框架ui简明入门指南 微信小程序之购物车功能 微信小程序撸图片小试手
小程序让每个页面都有tabbar
写入日志
PHP调式bug
手机网页前端开发者调试面板 vConsole
<?php
function xl_bug_log_text($content){
$file = 'xllog/'.date('Y-m-d').'.txt';//要写入文件的文件名(可以是任意文件名),如果文件不存在,将会创建一个
$content .= $content."\r\n";
if($f = file_put_contents($file, $content,FILE_APPEND)){
// 这个函数支持版本(PHP 5)
//echo "写入成功。<br />";
//return true;
}
return $f;
}
xl_bug_log_text('iswtf');微信小程序 MD5
md5.js
使用
var utilMd5 = require('../../utils/md5.js');
var password = utilMd5.hexMD5(password);构造令牌token
1.使用本地时间 注意时区差
//构造令牌
// 在需要使用的js文件中,导入js
//var util = require('../../utils/util.js');
var ttken ='JLI5vvqq0KRnzfla';//密钥
var ttime = parseInt(Date.parse(new Date())/1000);//时间 秒
//var ttime = util.ntime();
var ntoken=ttken+ttime;
var token = utilMd5.hexMD5(ntoken);
console.log(token);
//end2.使用服务器时间戳
小程序不支持wx.request同步请求
小程序为了用户体验,所有的request均为异步请求,不会阻塞程序运行
所以当你需要同步请求,锁死操作时,最好将所有的逻辑写在success:function(){}里面
//构造令牌 使用服务器时间戳
var util = require('../../utils/util.js');
util.ntime(utilMd5);util.js
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : '0' + n
}
//服务器时间戳
function ntime(utilMd5){
wx.request({
url: 'https://lizhenqiu.com/ntime.php',//请修改为你服务器
data: {
},
header: {
'content-type': 'application/json'
},
success: function (res) {
//return res;
var ttken = 'JLI5vvqq0KRnzfla';//密钥
//var ttime = parseInt(Date.parse(new Date()) / 1000);//时间 秒
var ttime = res;//util.ntime();
var ntoken = ttken + ttime;
var token = utilMd5.hexMD5(ntoken);
console.log(token);
//return token;
}
})
}
//构造令牌
// 在需要使用的js文件中,导入js
//var util = require('../../utils/util.js');
/*var ttken ='JLI5vvqq0KRnzfla';//密钥
var ttime = parseInt(Date.parse(new Date())/1000);//时间 秒
//var ttime = util.ntime();
var ntoken=ttken+ttime;
var token = utilMd5.hexMD5(ntoken);
console.log(token);*/
//end
module.exports = {
formatTime: formatTime,
ntime: ntime
}ntime.php
<?PHP
header("Content-type: text/html; charset=utf-8");
echo json_encode(time());服务器解密验证令牌
<?php
header("Content-type: text/html; charset=utf-8");
/*d s*/
error_reporting(E_ALL); //E_ALL
function cache_shutdown_error() {
$_error = error_get_last();
if ($_error && in_array($_error['type'], array(1, 4, 16, 64, 256, 4096, E_ALL))) {
echo '<font color=red>你的代码出错了:</font></br>';
echo '致命错误:' . $_error['message'] . '</br>';
echo '文件:' . $_error['file'] . '</br>';
echo '在第' . $_error['line'] . '行</br>';
}
}
register_shutdown_function("cache_shutdown_error");
function dump($vars){
echo '<pre>';
print_r($vars);
echo '</pre>';
}
/*d e*/
//返回服务器时间戳
function ntime(){
return time();
}
//令牌验证 $t 时间 +- 范围 分
function xl_c_n_token($token,$t,$key){
$nt=ntime();
$t=($t+0)*60;//分化秒
$io=$nt-$t;
$it=$nt+$t;
for($i=$io;$i<$it;$i++){
$tokenlist[]=md5($key.$i);//所有时间误差返回内的token令牌
}
$iin=in_array($token,$tokenlist);
return $iin;
}
$ctoken=xl_c_n_token('80527e16009444c5d554d76134bf2471',5,'JLI5vvqq0KRnzfla');
//dump(xl_c_n_token('80527e16009444c5d554d76134bf2471',5,'JLI5vvqq0KRnzfla'));
function xl_bug_log_text($content){
$file = 'xllog/'.date('Y-m-d').'.txt';//要写入文件的文件名(可以是任意文件名),如果文件不存在,将会创建一个
$content .= $content."\r\n";
if($f = file_put_contents($file, $content,FILE_APPEND)){
// 这个函数支持版本(PHP 5)
//echo "写入成功。<br />";
return true;
}
return $f;
}
//xl_bug_log_text('iswtf');
//echo md5('password');
微信小程序引用其他js文件
1.先建立一个common.js文件,在common.js编写程序,
在文件域js内
微信小程序-调用工具js文件/utils文件中的函数/变量
在小程序中,定义了一项工具文件utils,此文件的js旨在本文件之内有效,当其他子页面想调用其中的js方法或者变量时,需要两步骤:
1:在utils被调用的js文件中,面向对象的方式模型输出:
2:在要调用的js文件中模块化引入utils的js文件
可以输出一下object就能看到被调用的方法了;
utils中被调用的js:
要调用的js文件:
微信小程序 setdata自动设置
JS 循环遍历JSON数据
或是
这个count最大只能填写9(官方文档少了这个参数的具体描述)
js获取时间new date()
JavaScript 获取当前时间戳:
第一种方法:
得到的结果:1280977330000 注意:这里得到的结果将后三位(毫秒)转换成了000显示
第二种方法:
结果:1280977330748
第三种方法:
结果:1280977330748
js中单独调用new Date(),例如document.write(new Date());
显示的结果是:Mar 31 10:10:43 UTC+0800 2012 这种格式的时间
但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数。
#2
js取整数、取余数的方法
#5js 取整数部分
更新数据
微信小程序swiper高度
WXML
JS
微信小程序开发之图片等比例缩放 获取屏幕尺寸图片尺寸 自适应
小程序swiper高度自适应
#2
#2
#2
微信小程序swiper图片高度自适应宽度100%
修复版本高度100%bug上算法计算高度有问题
上传 https://github.com/dubaiyouyue/xcx/blob/master/wd/wd/wd.js
小程序购物者加减数量输入框获取value
微信小程序获取value 微信小程序如何获取单个input值
微信小程序—如何获取用户输入文本框的值
微信小程序获取用户输入 微信小程序怎么获取用户输入
参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;
test?id=1 中id为参数键,1 为参数值
在目的页面中onLoad()方法中option对象即为参数对象,可以通过参数键来取出参数值
点击切换
微信模板文件wxml循坏遍历怎么json键名变量??😅
#2小程序函数传参
this.setData() 异步回调
微信小程序 swiper组件
常用属性:
swiper.wxml添加代码:
js:
css:
swiper 滑块视图容器
某些手机机型不显示,加最上面层级 z-index:9999
wx.reLaunch fail can not invoke reLaunch in background
解决办法:用setTimeout将wx.reLaunch包裹起来,200ms就差不多
似乎wx.reLaunch触发是在页面onshow之后,所以给了一个200ms的延迟
常受到微信打开页面时有上次打开缓存的困扰?
mpvue,可以在 onLoad 时用 Object.assign(this, this.$options.data()) 来清理微信缓存
输入框自动去除空格提交
wx.showModel内容content自动换行(如果开发者工具没效果,记得用真机看。)
wx.uploadFile调用接口失败 php json 返回数据头部空白乱码
php返回json数组前面出现乱码“锘縶”解决办法
去除了半天bom没好使,真是坑爹,最后在返回接口前面加ob_clean()完美解决:
thinkphp json头部乱码 
PHP去掉头部BOM
微信小程序获取自定义属性
wx.reLaunch(OBJECT),小程序关闭所有页面
去掉微信小程序图片默认宽度
larval update 字段累加
PHP合并两张图片的实现
thinkphp模板转换时间格式
TP5图片上传,获取对象属性
小程序后退刷新
错误789:L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理
thinkphp alias jion
微信小程序刷新
微信小程序**this
小程序Bad attr `wx:key` with message: unexpected token `*`.
微信公众号获取设备信息
微信公众号获取手机型号
\DB::table
thinkphp foreach 空
百度地图经纬度校正
js中load与onload的区别
DolphinPHP
myql join 相同字段
thinkphp field as
$conn->connect_error
Laravel 清理缓存 "php artisan config:clear"
设置navicat for mysql导入文件大小限制
把max_allowed_packet设置为100M
thinkphp join联表查询 多表联查:
$user 表的 user_id 等于$b_user表的b_userid;
$c_user表的 c_userid 等于$b_user表的b_userid;
小q书桌
php字符串截取函数,支持中文截取
count(): Parameter must be an array or an object that implements Countable
PHP版本,从7.1升级到7.2
当传递一个无效参数时,count()函数将抛出warning警告:
之前版本写法
在7.2版本中将严格执行类型区分,参数类型不正确,将会出现警告,所以需要在使用count方法时注意参数的值,不过也可以通过自己修改方法来替代(不建议):
win10打开程序不弹出窗口,只在任务栏显示
laravel的orderBy
Laravel 系列:orWhere 条件式
这一段其实执行的就是
JS中对URL进行转码与解码
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
encodeURIComponent() 用于参数的传递,参数包含特殊字符可能会造成间断。
js转码url特殊字符参数
小程序 undefined is not an object evaluating 't.id';
小程序invokeWebviewMethod 数据传输长度为 1427297 已经超过最大长度 1048576
设置数据过大
#28这个报错应该不是请求数据过大导致的,而是setData时操作的数据过大导致的。可能请求返回的数据太大,而您又将这个大的数据一次性用setData赋值。
PHP7.2 下 微信支付Sdk中 mcrypt_module_open() 无法使用的解决方法
微信官方SDK在PHP7中提示:mcrypt_module_open() is deprecated,mcrypt已被OPENSSL代替 具体修改如下
1:WXBizDataCrypt.php
2:PKCS7Encoder.php
箭头函数是不绑定作用域的,不会改变当前this的作用域
PHP判断是否在微信内部浏览器访问
navigator无反应
微信小程序版本库过低导致的兼容问题。
微信接收下载文件文件夹
存储》Tencent》MicroMsg|微信》Download
调用wx.relaunch报错:fail can not invoke relaunch in background。
reLaunch 在小程序进入后台不能调用。
reLaunch:fail can not invoke reLaunch in background
微信小程序常见Q&A
onShow()
页面显示/切入前台时触发。
可多次触发,用于后退等刷新操作。
微信小程序回到顶部
小程序之动态修改页面标题
微信小程序 wx:if 多条件判断
小程序( rpx、px、rem )
rpx 是微信小程序解决自适应屏幕尺寸的尺寸单位。微信小程序规定屏幕的宽度为750rpx。
无论是在iPhone6上面还是其他机型上面都是750rpx的屏幕宽度,拿iPhone6来讲,屏幕宽度为375px,把它分为750rpx后, 1rpx = 0.5px。
微信小程序同时也支持rem尺寸单位, rem 规定屏幕的宽度为20rem, 所以 1rem = (750/20)rpx = 37.5 rpx
微信小程序提交后路由返回上一步
js判断json对象是否为空
navicate连接MySQL出现报错client does not support authentication protocol requested by server consider ...
命令如下:
在命令窗口 输入mysql -uroot -p 通过cmd进入mysql
初始化数据库:
mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码,如:
...
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
输入以下安装命令:
mysqld install
启动输入以下命令即可:
net start mysql
(下载解压mysql后可能要重启,如果提示服务启动失败没有报错信息)
C#中强制关闭某个进程
🤔🤔🤔愿我如星君如月,夜夜流光相皎洁。