共计 1520 个字符,预计需要花费 4 分钟才能阅读完成。
前端工夫我这边钻研一下相似百度百科的网站,而后依照百度百科的一些性能,还有联合了海内做得比拟大的 wikipedia 百科性能,做了整合开发,当初把那个我的项目的开发过程等性能,提供给大家参考,心愿可能帮到大家的学习和应用。
零碎语言:反对多语言切换
零碎开发:PHP+MYSQL
零碎显示:PC 版 + 手机版 +APP(前期开发)
仿百度百科网站源码,国外多语言 wikipedia 百科网站开发
第一篇 后盾开发
后盾登录
<?php
namespace app\admin\controller;
use think\facade\Request;
use think\facade\Db;
use think\facade\Session;
class Login
{
// 登录页
public function index()
{
return view(”,[
]);
}
// 登录
public function login(){
if(Request::isPost()){
$data = Request::post();
if(empty($data[‘username’])){
return $this->error(‘ 请输出用户名 ’);
}
if(empty($data[‘password’])){
return $this->error(‘ 请输出明码 ’);
}
// 用户名
$username = $data[‘username’];
// 明码
$password = md5($data[‘password’]);
$res = Db::name(‘manager’)->where([‘username’=>$username,’password’=>$password])->find();
if(!empty($res)){
// 登录信息的增加
$info[‘last_ip’] = getIp();
$info[‘last_login_time’] = time();
$info_res = Db::name(‘manager’)->where([‘id’=>$res[‘id’]])->update($info);
if($info_res){
// 是否禁用
if($res[‘status’] != 1){
return $this->error(‘ 该管理员已停用 ’);
}
session(‘admin’,$res);
// 登录日志
$log_info[‘admin_id’] = $res[‘id’];
$log_info[‘username’] = $username;
$log_info[‘add_time’] = time();
$log_info[‘ip’] = getIp();
$log_info[‘mark’] = ‘ 登录零碎 ’;
$admin_log = Db::name(‘log’)->insert($log_info);
return $this->success(‘ 登录胜利 ’);
}
}else{
return $this->error(‘ 用户名或明码谬误 ’);
}
}else{
return $this->error(‘ 操作有误 ’);
}
}
退出
public function loginOut(){
session(‘admin’, null);
return json([‘code’=>1,’msg’=>’ 退出胜利 ’]);
}
public function success($msg = ”, $data = ”){
return json([‘code’ => 1, ‘msg’ => $msg, ‘data’ => $data]);
}
public function error($msg = ”, $data = ”){
return json([‘code’ => 0, ‘msg’ => $msg, ‘data’ => $data]);
}
}