安全更新
安全更新
v1.6.3
影响版本:版本号等于v1.6.2的高级授权版本
更新说明:v1.6.3发布一处重要安全更新,请受影响的版本立即更新升级到最新版本,如果无法更新升级,请尝试手动进行修复。
后端文件修改
找到后端文件addons\exam\controller\User.php,搜索函数名getWechatPhone,将整个函数替换为以下代码(大概348行-397行)
/**
* 手机号码快速获取
*/
public function getWechatPhone()
{
$code = input('code/s', '');
if (!$code) {
fail('缺少小程序参数code');
}
$type = input('type/s', '');
$kind = input('kind/s', '');
$service = new WechatService();
$phone = $service->getMobile($code);
// 登录或注册
if ($type == 'regOrLogin') {
$user = UserModel::get(['username' => $phone]);
$operate = 'login';
$password = '';
if (!$user) {
// 随机生成6位密码
$password = strtolower(\fast\Random::alnum(6));
$user = UserModel::fastRegister($phone, $phone, '', 0, $password, $phone);
$operate = 'register';
}
$this->auth->direct($user->id);
// 用户扩展信息
$user['info'] = UserInfoModel::getUserInfo($user->id);
succ([
'token' => $this->auth->getToken(),
'user' => $user->only($this->visibleFields),
'mobile' => $phone,
'password' => $password,
'operate' => $operate,
]);
}
succ([
'mobile' => $phone,
]);
}前端文件修改
找到前端文件uniapp\pages\user\login-reg.vue,第449行-452行替换为以下代码:
// 注册成功,弹窗提示密码,跳转首页
this.utils.alert("注册成功,请保存好密码:" + res.data.password, () => {
this.utils.goto("/pages/user/user");
});替换完成后请重新提审小程序并发布。
文档最后更新时间:2025-02-27 10:53:22
著作权归应用插件开发者所有,未经许可,禁止转载、复制此文档的任何内容。
未解决你的问题?请到问答社区「答题考试系统专区」反馈你遇到的问题