月度归档:2019年04月

织梦自定义表单用js控制必填选项

织梦自定义表单用js控制必填选项代码如下:

 

<script language='javascript'>
function Checkfeedback() {
if (document.myform.name.value.length == 0) {
alert('您的姓名 不能为空');
document.myform.name.focus();
return false;
}
if (document.myform.qq.value.length == 0) {
alert('QQ号码 不能为空');
document.myform.qq.focus();
return false;
}
if (document.myform.email.value.length == 0) {
alert('email 不能为空');
document.myform.email.focus();
return false;
}
if (document.myform.tel.value.length == 0) {
alert('手机 不能为空');
document.myform.tel.focus();
return false;
}
}
</script>


<form action="http://127.0.0.1/plus/diy.php" method="post"

name='myform' onSubmit='return Checkfeedback();'>

关于人人商城小程序开发中遇到的坑

一、首次登陆下叫程序获取用户openid不准确问题
如第一次获取sns_wa
第二次获取sns_wa_sns_wa
等这些空数据 ,使用户进入会员中心也重复验证 还是无法或许信息,只能关闭重新打开小程序才可以

  • 文件路径:..\addons\ewei_shopv2\plugin\app\core\mobile\wxapp.php

修复代码如下:

  • //方法名
  • function check()
  • //修改如下 判断多增加两个条件 openid赋值时也判断下前缀是否重复
  • if( empty($openid) || $openid == ‘sns_wa_’ || $openid == ‘sns_wa_sns_wa_’)
  • {
  • app_error(AppError::$ParamsError);
  • }
  • if(strpos($openid,‘sns_wa_’)!==false){
  • $wxopenid = $openid;
  • }else{
  • $wxopenid = “sns_wa_” . $openid;
  • }

解决思路大概就是获取空openid时返回错误信息 让小程序前端重新获取用户信息,然后传入sns_wa_开头的openid时将重复头部去除来获取正常的openid进行查询,避免重复插入sns_wa_及sns_wa_sns_wa_,也避免重复获取该无用户的用户数据
二、自动授权弹出废除后导致重复授权的解决方法
原理:微信小程序更新后,只有第一次打开页面时调用app.js里的onLaunch方法,解决方法就是用户获取用户信息后再次调用改方法
> bindgetuserinfo
> 用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致 open-type=”getUserInfo”
> 基础库1.3.0
WXML
//授权按钮增加获取用户信息方法同意`
JS

  • var i = getApp();
  • bindGetUserInfo:function(e){
  • i.onLaunch()
  • },

三、因二中重复获取用户信息,ios可能存在打开分享页面丢失上级参数mid的问题(无法绑定上级关系)
原理: 在首次调用login的时候把mid存在了全局变量$_W里,在分销方法中判断:如果全局变量$_W的mid存在,而$_GPC的mid不存在,则让$mid=$_W里的mid。
路径1:addonsewei_shopv2pluginappcoremobilewxapp.php
方法名:login()

  • //保存mid
  • if($_GPC[‘mid’]){
  • $_W[‘up_mid’] = intval($_GPC[‘mid’]);
  • }

路径2:addonsewei_shopv2plugincommissioncoremodel.php
方法名:checkAgent()

  • $parent = false;
  • $mid = intval($_GPC[‘mid’]);
  • //获取保存的mid
  • if (empty($mid) &amp;&amp; $_W[‘up_mid’]&gt;0){
  • $mid = $_W[‘up_mid’];
  • }
  • if (!(empty($mid)))
  • {
  • $parent = m(‘member’)-&gt;getMember($mid);
  • }