微信公众号中开发一个商户注册功能,没有难点,只是页面排版、微信的一些控件(扫码、上传图片)不熟悉可能会花一点时间。
商户注册功能分两页:第一页填写手机号,获取验证码,输入验证码,输入密码和确认密码,点击下一步,然后填写商户名称,上传商户营业执照和门店照片,扫描我们给商户的收款二维码用来绑定商户号,点击确定保存即商户注册成功。
先说下上传图片功能,刚开始直接做的是用type是file的input来选择手机图片。
var allowTypes = ['image/jpg', 'image/jpeg', 'image/png', 'image/gif'];
// 1024KB,也就是 1MB
var maxSize = 1024 * 1024;
// 图片最大宽度
var maxWidth = 300;
// 最大上传图片数量
var maxCount = 2;
$('.js_file').on('change', function(event) {
var files = event.target.files;
// 如果没有选中文件,直接返回
if (files.length === 0) {
return;
}
for (var i = 0, len = files.length; i < len; i++) {
var file = files[i];
var reader = new FileReader();
// 如果类型不在允许的类型范围内
if (allowTypes.indexOf(file.type) === -1) {
$.weui.alert({
text: '该类型不允许上传'
});
continue;
}
if (file.size > maxSize) {
$.weui.alert({
text: '图片太大,不允许上传'
});
continue;
}
if ($('.weui_uploader_file').length >= maxCount) {
$.weui.alert({
text: '最多只能上传' + maxCount + '张图片'
});
return;
}
reader.onload = function(e) {
var img = new Image();
img.onload = function() {
// 不要超出最大宽度
var w = Math.min(maxWidth, img.width);
// 高度按比例计算
var h = img.height * (w / img.width);
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
// 设置 canvas 的宽度和高度
canvas.width = w;
canvas.height = h;
ctx.drawImage(img, 0, 0, w, h);
var base64 &