项目:IT资源共享资源(登录后端)<2>
程序员文章站
2022-03-25 19:10:24
公众号技术标签 小程序 PHP 源码 项目 ThinkPHP5.0目录结构,新建一个模块api,该模块下面有controller、model 目录,前者放控制器,写API接口(这里是简单的api写法)。后者是模型,进行数据库处理。我们先说一下数据库的搭建。 数据库名称:ziliao 表前缀:zili ......
公众号技术标签
小程序
php
源码
项目
thinkphp5.0目录结构,新建一个模块api,该模块下面有controller、model 目录,前者放控制器,写api接口(这里是简单的api写法)。后者是模型,进行数据库处理。我们先说一下数据库的搭建。
-
数据库名称:ziliao
-
表前缀:ziliao_
-
需要在thinkphp数据库配置里面填写相应的数据库信息
-
下面是目录结构图
sql(表ziliao_user)
create table `ziliao_user` (`id` int(6) not null auto_increment comment 'id',`openid` varchar(100) default null comment '小程序openid',`nickname` varchar(50) default null comment '微信名称',`sex` tinyint(1) default null comment '性别:1男0女',`image` varchar(255) default null comment '头像',`jifen` int(6) default null comment '积分',`create_time` int(11) default null comment '加入时间',primary key (`id`)) engine=myisam auto_increment=2 default charset=utf8;
common控制器(获取openid和access_token等公共类)
<?php namespace app\api\controller;use think\controller;/** * 用户类 */class common extends controller{private $appid = '你小程序的appid';private $secret = 'xxxxxx';//获取openidpublic function getopenid() {$code = input('code');//小程序传来的code值 $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$this->appid.'&secret='.$this->secret.'&js_code='.$code.'&grant_type=authorization_code'; //yourappid为开发者appid.appsecret为开发者的appsecret,都可以从微信公众平台获取; $info = file_get_contents($url);//发送https请求并获取返回的数据,推荐使用curl return json(['code'=>200,'msg'=>'获取openid成功','data'=>$info]);}//获取// getaccesstoken.phppublic function getaccesstoken () { $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->$this->secret.'&secret='.$appsecret;$html = file_get_contents($url);$output = json_decode($html, true);$access_token = $output['access_token'];return $access_token;}}?>
user控制器(进行有关于用户的接口)
<?php namespace app\api\controller;use think\controller;/** * 用户类 */class user extends controller{private $resp = ['code'=>-100,'msg'=>''];//首次授权登录插入用户数据public function insert_user( ) {$data = input();$model = model('user');if (empty($model->user_is_exit($data['openid']))) {$data['jifen'] = 20;//新用户积分20$data['create_time'] = time();$result = $model->frist_insert_user($data);if ($result) {$this->resp['code'] = 200;$this->resp['msg'] = '新用户插入成功';$this->resp['status'] = true;}else{$this->resp['msg'] = '新用户插入失败';$this->resp['status'] = false;}}else{$this->resp['code'] = 200;$this->resp['msg'] = '该用户已存在';$this->resp['status'] = 'exit';}return json($this->resp);}}?>
user模型
<?php namespace app\api\model;use think\model;/** * user */class user extends model{//判断用户是否存在public function user_is_exit($openid) {$is_exit = db('user')->where('openid',$openid)->find();return $is_exit;}//插入数据库public function frist_insert_user($where) {$res = db('user')->data($where)->insert();return $res;}}?>
-
如果推送的文章中,大家认可的,别忘了转发分享;
-
为了大家更好的长久查看源码及讲解,阅读后可以收藏
-
长按下图二维码,与小编携手编程之美
上一篇: DAY01、计算机组成及操作系统
下一篇: PHP的数据类型和魔术常量
推荐阅读
-
Srevlet开发的项目——2.登录界面
-
解决前后端分离项目集成shiro后,上传文件需要登录问题
-
vue2 前后端分离项目ajax跨域session问题解决方法
-
前后端分离项目shiro的未登录和权限不足
-
从壹开始前后端分离 41 || Nginx+Github+PM2 快速部署项目(一)
-
前后端分离,注册和登录。涉及Oauth2 Password-Flow 授权方式
-
struts2 国际化 应用级资源文件的使用(登录)
-
【java项目实战】ThreadLocal封装Connection,实现同一线程共享资源
-
项目:IT资源共享资源(登录后端)<2>
-
前后端分离基于Oauth2的SSO单点登录怎样做?