微信小程序开发记账应用之用户注册登录基于ThinkPHP5(微信小程序开发记账应用之用户注册登录基于ThinkPHP5)
微信小程序开发记账应用之用户注册登录基于ThinkPHP5(微信小程序开发记账应用之用户注册登录基于ThinkPHP5)第一个index是模块名,第二个index是控制器名,第三个index是方法名http://localhost/thinkphp_5.0.1_core/public/index.php/index/index/index:) ThinkPHP V5 十年磨一剑 - 为API开发设计的高性能框架 [ V5.0 版本由 七牛云 独家赞助发布 ] 新手快速入门完全开发手册说明安装成功。以上url等同于
摘要: 新用户则自动注册再登录返回用户信息,老用户直接登录返回用户信息
1.下载ThinkPHP 5.0.1:http://www.thinkphp.cn/down/855.html
2.安装 解压到站点根目录
http://localhost/thinkphp_5.0.1_core/public/访问,可以看到
:) ThinkPHP V5 十年磨一剑 - 为API开发设计的高性能框架 [ V5.0 版本由 七牛云 独家赞助发布 ] 新手快速入门完全开发手册
说明安装成功。
以上url等同于
http://localhost/thinkphp_5.0.1_core/public/index.php/index/index/index
第一个index是模块名,第二个index是控制器名,第三个index是方法名
出处参见config.php Line 60-67
// 默认模块名
'default_module' => 'index' // 禁止访问模块
'deny_module_list' => ['common'] // 默认控制器名
'default_controller' => 'Index' // 默认操作名
'default_action' => 'index'
3.用户登录控制器
目标是我们需要一个如下的接口,供我们提交用户信息
http://localhost/thinkphp_5.0.1_core/public/index.php/index/user/login
8. 查询是否用户是否已经存在
通过openid查询数据库,判断用户是否已经注册
如有,返回用户的id accessToken username
// 判断是否已经注册
$user = \app\index\model\User::get(['openid' => $openid]); if (!empty($user)) {
$response = [ 'code' => 200 'msg' => '登录成功' 'data' => $user
]; return $response;
}
9. 插入新用户
创建并返回用户信息
//插入一行数据
$user = new \app\index\model\User(); // 由于没有内测号,拿不到openid,用res.nickname代替
$user->openid = $openid; // 用户名即昵称
$user->username = $openid; // 生成一个accessToken
$user->accessToken = md5(time().'mysalt'); if ($user->save()) {
$response = [ 'code' => 200 'msg' => '注册成功' 'data' => $user
];
} // 如果配置了返回为json不必经过toArray()处理后,就能得到一个是纯净的数组,不然是一个对象,包含了诸多信息
return $response;
10. json输入用户信息,供小程序本地缓存,主要是accessToken
配置文件config.php指定了返回类型是json的话,不必通过$user->toArray(),即为纯净的array。而不是如下的对象格式。
object(app\index\model\User)#4 (27) {
["connection":protected]=> array(0) {
}
["query":protected]=> NULL
["name":protected]=>
string(4) "User"
["table":protected]=> NULL
["class":protected]=>
string(20) "app\index\model\User"
["error":protected]=> NULL
["validate":protected]=> NULL
["pk":protected]=> NULL
["field":protected]=> array(0) {
}
["readonly":protected]=> array(0) {
}
["visible":protected]=> array(0) {
}
["hidden":protected]=> array(0) {
}
["append":protected]=> array(0) {
}
["data":protected]=> array(3) {
["openid"]=>
string(14) "灵犀网络12"
["username"]=>
string(14) "灵犀网络12"
["accessToken"]=>
string(32) "b6c643a133c531728d9829db0d756eaf"
}
["change":protected]=> array(3) {
[0]=>
string(6) "openid"
[1]=>
string(8) "username"
[2]=>
string(11) "accessToken"
}
["auto":protected]=> array(0) {
}
["insert":protected]=> array(0) {
}
["update":protected]=> array(0) {
}
["autoWriteTimestamp":protected]=>
bool(false)
["createTime":protected]=>
string(11) "create_time"
["updateTime":protected]=>
string(11) "update_time"
["dateFormat":protected]=>
string(11) "Y-m-d H:i:s"
["type":protected]=> array(0) {
}
["isUpdate":protected]=>
bool(false)
["updateWhere":protected]=> NULL
["relation":protected]=> NULL
["failException":protected]=>
bool(false)
}
源码下载:关注下方的公众号->回复数字1008
对小程序开发有趣的朋友关注公众号: huangxiujie85,QQ群: 575136499,微信: small_application,陆续还将推出更多作品。