曲线救国 修复微赞会员中心用户不能修改资料的问题

微信开发 CN-P5 2356℃ 0评论

我使用的微赞有会员中心用户注册后不能修改资料的bug。群里有朋友反映也有这个bug不知道最新版的微赞是否还有bug苦于自己不能更新,感觉微赞代码应该是少了一个步骤,就是公众号后台配置用户注册需要填写和生效的字段。于是研究代码后使用曲线救国的办法解决了这个问题,我的解决方法如下(个人的办法,不排除有其他办法或者官方修复

第一步:修改代码
打开\app\source\mc\profile.ctrl.php文件,找到46行原代码应该类似这样:

$sql = 'SELECT `mf`.*, `pf`.`field` FROM ' . 
tablename('mc_member_fields') . ' AS `mf` JOIN ' . 
tablename('profile_fields') . " AS `pf`
   ON `mf`.`fieldid` = `pf`.`id` WHERE `uniacid` = :uniacid AND `mf`.`available` = :available";
 $params = array(':uniacid' => '7', ':available' => '1');
 $mcFields = pdo_fetchall($sql, $params, 'field');

修改

$params = array(':uniacid' => $_W['uniacid'], ':available' => '1');

为下面这样:

$params = array(':uniacid' => '7', ':available' => '1');

在数据库语句pf.field后添加字段,修改第一句为这样:

$sql = 'SELECT `mf`.*, `pf`.`field`, `pf`.`title` FROM ' . tablename('mc_member_fields') . ' AS `mf` JOIN ' . tablename('profile_fields') . " AS `pf` ON `mf`.`fieldid` = `pf`.`id` WHERE `uniacid` = :uniacid AND `mf`.`available` = :available";

第二步:修改数据库
复制下面的数据库代码,替换ims_mc_member_fields中的ims_为你的数据库前缀

提示:
数据库前缀请打开data\config.php文件,在第13行附近类似于下面的

$config['db']['tablepre'] = 'ims_';

其中ims_就是数据库前缀

数据库语句开始:

INSERT INTO `ims_mc_member_fields` VALUES (4, 7, 4, 'QQ号', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (3, 7, 3, '头像', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (2, 7, 2, '昵称', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (1, 7, 1, '真实姓名', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (5, 7, 5, '手机号码', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (6, 7, 6, 'VIP级别', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (7, 7, 7, '性别', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (8, 7, 8, '出生生日', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (9, 7, 9, '星座', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (10, 7, 10, '生肖', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (11, 7, 11, '固定电话', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (12, 7, 12, '证件号码', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (13, 7, 13, '学号', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (14, 7, 14, '班级', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (15, 7, 15, '邮寄地址', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (16, 7, 16, '邮编', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (17, 7, 17, '国籍', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (18, 7, 18, '居住地址', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (19, 7, 19, '毕业学校', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (20, 7, 20, '公司', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (21, 7, 21, '学历', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (22, 7, 22, '职业', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (23, 7, 23, '职位', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (24, 7, 24, '年收入', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (25, 7, 25, '情感状态', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (26, 7, 26, ' 交友目的', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (27, 7, 27, '血型', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (28, 7, 28, '身高', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (29, 7, 29, '体重', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (30, 7, 30, '支付宝帐号', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (31, 7, 31, '7', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (32, 7, 32, '电子邮箱', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (33, 7, 33, '阿里旺旺', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (34, 7, 34, '主页', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (35, 7, 35, '自我介绍', 1, 0);
 INSERT INTO `ims_mc_member_fields` VALUES (36, 7, 36, '兴趣爱好', 1, 0);

数据库语句结束

本人测试没有问题,不保证大家使用没有问题!如果出现其他问题本人不承担任何责任。

转载请注明:黑白的自留地 » 曲线救国 修复微赞会员中心用户不能修改资料的问题

喜欢 (1)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址