公众号技术标签 小程序 PHP 源码 项目

ThinkPHP5.0目录结构,新建一个模块api,该模块下面有controller、model 目录,前者放控制器,写API接口(这里是简单的api写法)。后者是模型,进行数据库处理。我们先说一下数据库的搭建。

  • 数据库名称:ziliao

  • 表前缀:ziliao_

  • 需要在ThinkPHP数据库配置里面填写相应的数据库信息

  • 下面是目录结构图

 
image

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;}}?>
  • 如果推送的文章中,大家认可的,别忘了转发分享;

  • 为了大家更好的长久查看源码及讲解,阅读后可以收藏

  • 长按下图二维码,与小编携手编程之美

 
image

项目:IT资源共享资源(登录后端)<2>的更多相关文章

  1. 项目:IT资源共享资源(登录前端)<1>

    公众号技术标签 小程序 PHP 源码 项目 IT资源共享项目 这是前年自己收集了一些网络开发资源,上传到百度网盘,提供积分兑换.上线后用户在两个月内达到3427人,其中用java,PHP,前端,Pyt ...

  2. 三、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-配置项目并实现IM登录

    项目文章索引 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入框扩展面板的 ...

  3. 转:C4项目中验证用户登录一个特性就搞定

    转:C4项目中验证用户登录一个特性就搞定   在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性.     // 摘要:    //     表示一个特性,该特性用于限制调用 ...

  4. Intent Flag实际项目 -- 超时跳转登录界面并清理前面所有activity

    项目中涉及到登录超时跳转登录界面的逻辑,我以前的跳转flag为Intent.FLAG_ACTIVITY_CLEAR_TOP,但是点击返回按钮还是会回到上个界面.代码如下: ActivityUtils. ...

  5. Android库项目中的资源ID冲突

    1.前言 Android Studio对模块化开发提供的一个很有用的功能就是可以在主项目下新建库项目(Module),但是在使用库项目时却有一个问题就是资源ID冲突,因为编译时SDK会自动帮我们处理这 ...

  6. 在Tomcat中部署Web项目的操作方法,maven项目在Tomcat里登录首页报404

     maven项目在Tomcat里登录首页报404, 解决:编辑conf/server.xml进行配置<Host>里的<Context>标签里的path. <Context ...

  7. 项目平台统一(前后端IDE、代码风格)

    项目平台统一(前后端IDE.代码风格) 记录人:娄雨禛 前端:Webstorm(HTML+CSS+JavaScript) 后端:IntelliJ IDEA(Java) 代码风格:Java风格代码 代码 ...

  8. 最简单的Android项目(含有资源文件)

    上次的项目没有使用资源文件,打包出的apk安装后是系统默认图标,程序标题也是包名加类名. 添加资源需要对编译的命令做一点调整. 首先在项目根目录新建res和assets目录,在res内新建drawab ...

  9. 关于web项目中的资源跳转

    1.跳转包括两种方式: 转发 forward 重定向 redirect 2.两种方式的代码: AServlet类: //向request范围中存储数据 request.setAttribute(&qu ...

  10. linux项目部署(非前后端分离crm)

    参考博客 参考博客2---部署过程 导论:看参考博客1 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收 ...

随机推荐

  1. Web Worker浅学

    Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面.它独立于其他脚本,不会影响页面的性能.您 ...

  2. TinkPHP 简单知识摘要

    1.Session处理 赋值:session('name','value'); //设置session 与 $_SESSION['think']['name'] = 'value';相等 取值:$va ...

  3. Mysql总结_03_mysql常用命令

    一.MySQL服务的启动和停止 net stop mysql net start mysql 二.登陆mysql mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后 ...

  4. codeforces 650 C. Watchmen(数学公式)

    C. Watchmen time limit per test 3 seconds memory limit per test 256 megabytes input standard input o ...

  5. 在Windows下搭建Android开发环境

    随着移动互联网的迅速发展,前端的概念已发生很大的变化,已不仅仅局限在网页端.而Android系统作为智能机市场的老大,作为前端开发工程师, 非常有必要了解和学习.但面对众多学习资料,站在前端开发工程师 ...

  6. 继续学习C:运算符

     " / "  两整数相除,结果为整数,有一方是实数形式,结果保留小数         " % "  求余运算符要求两侧均为整型数据, 数值取余,符号与被除数一 ...

  7. 幻想乡三连B:连在一起的幻想乡

    $G[k][x]$表示所有$x$个点的无向图中每一个图的边数的$k$次方之和. $F[k][x]$就是在$G[k][x]$的基础上加了一个整体连通的性质. 有一个经典的套路就是对于$F$在对应的$G$ ...

  8. bzoj 3779: 重组病毒 LCT+线段树+倍增

    题目: 黑客们通过对已有的病毒反编译,将许多不同的病毒重组,并重新编译出了新型的重组病毒.这种病毒的繁殖和变异能力极强.为了阻止这种病毒传播,某安全机构策划了一次实验,来研究这种病毒. 实验在一个封闭 ...

  9. [CERC 2008] Suffix reconstruction

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4319 [算法] 首先 , 我们可以求出这个字符串的rank数组 按照SA逐位枚举 , ...

  10. Windows常用的命令

    wmic msinfo32 regedit msconfig