婚恋交友平台小程序制作开发代码案例

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-21 12:15   931   0

这个是目前比较常见的婚恋交友平台小程序制作开发代码案例解析,很多功能大家都可以参考借鉴,比如关注功能,会员付费功能,权限设置等功能。

上几张图片看看效果

首页部分

class DiaryController extends CommonController
{
 private $weather = array("请选择","晴天","阴天","多云","雨天","雷阵雨","雪天");
 private $feel = array('请选择','开心','吃惊','抓狂','伤心','动心','愤怒','傻笑','疑惑','感叹','郁闷','沮丧','一般');
 private $power = array(1=>'公开',2=>'仅自己看');
 
 //个人中心浏览日记
 public function index(){
  $mod = D("Diary");
  $total = $mod->scope('read')->where("userid=".session('user')['id'])->count();
  $page = new \Think\Page($total,15);
  $diaryList = $mod->scope('read')->where("userid=".session('user')['id'])->limit($page->firstRow,$page->listRows)->select();
  
  foreach($diaryList as &$diary){
   $diary['catid'] = M("diary_category")->field("catname")->where("id=".$diary['catid'])->find();
   $diary['comment'] = M('diary_comment')->where('diaryid='.$diary['id'])->count();
  }
  // dump($diaryList);
  $page->setConfig('prev', "上一页"); 
  $page->setConfig('next', "下一页"); 
  $show = $page->show();
  
  $this->assign("show",$show);
  $this->assign("diaryList",$diaryList);
  $this->display("index");
 }
 
 
 //获取添加日记模板
 public function add(){
  $this->assign("cat",M("Diary_category")->select());
  $this->display("add");
 }
 //执行添加日记
 public function insert(){
  $mod = D("Diary");
  $_POST['userid'] = session('user')['id'];
  
  if(!$mod->create($_POST)){
   $this->error($mod->getError());
  }
  if($mod->add()){
   //添加积分
   $userPoints = new \Home\Controller\UserPointsController();
   $userPoints->insert('diary');
   
   echo "<script>window.parent.doAdd('true');</script>";
  }else{
   echo "<script>window.parent.doAdd('false');</script>";
  }
  exit();
 }
 
 //执行日记删除
 public function del(){
  $mod = D("Diary");
  $res = $mod->where("id=".$_POST['id'])->delete();
  if($res){ 
   echo json_encode("true");
  }else{
   echo json_encode("false");
  }
 }
 
 //加载修改日记模板
 public function edit(){
  $mod = D("Diary");
  $info = $mod->where("userid=".session('user')['id'])->find($_GET['id']);
  $cat = M("Diary_category")->select();
  
  $this->assign("info",$info);
  $this->assign("cat",$cat);
  $this->assign("weather",$this->weather);
  $this->assign("feel",$this->feel);
  $this->assign("power",$this->power);
  $this->display("edit");
 }
 
 //执行修改日记
 public function update(){
  $mod = D("Diary");
  if(!$mod->create()){
   $this->error($mod->getError());
  }
  if($mod->save()){
   echo "<script>window.parent.doEdit('true');</script>";
   // $this->success("修改成功!",U("Diary/index"));
  }else{
   echo "<script>window.parent.doEdit('false');</script>";
   // $this->error("修改成功!");
  }
  exit();
 }
 
 
}

权限设置

function C($name=null, $value=null,$default=null) {
    static $_config = array();
    // 无参数时获取所有
    if (empty($name)) {
        return $_config;
    }
    // 优先执行设置获取或赋值
    if (is_string($name)) {
        if (!strpos($name, '.')) {
            $name = strtolower($name);
            if (is_null($value))
                return isset($_config[$name]) ? $_config[$name] : $default;
            $_config[$name] = $value;
            return;
        }
        // 二维数组设置和获取支持
        $name = explode('.', $name);
        $name[0]   =  strtolower($name[0]);
        if (is_null($value))
            return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : $default;
        $_config[$name[0]][$name[1]] = $value;
        return;
    }
    // 批量设置
    if (is_array($name)){
        $_config = array_merge($_config, array_change_key_case($name));
        return;
    }
    return null; // 避免非法参数
}

/**
 * 抛出异常处理
 * @param string $msg 异常消息
 * @param integer $code 异常代码 默认为0
 * @return void
 */
function E($msg, $code=0) {
    throw new Think\Exception($msg, $code);
}

/**
 * 记录和统计时间(微秒)和内存使用情况
 * 使用方法:
 * <code>
 * G('begin'); // 记录开始标记位
 * // ... 区间运行代码
 * G('end'); // 记录结束标签位
 * echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位
 * echo G('begin','end','m'); // 统计区间内存使用情况
 * 如果end标记位没有定义,则会自动以当前作为标记位
 * 其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效
 * </code>
 * @param string $start 开始标签
 * @param string $end 结束标签
 * @param integer|string $dec 小数位或者m
 * @return mixed
 */
function G($start,$end='',$dec=4) {
    static $_info       =   array();
    static $_mem        =   array();
    if(is_float($end)) { // 记录时间
        $_info[$start]  =   $end;
    }elseif(!empty($end)){ // 统计时间和内存使用
        if(!isset($_info[$end])) $_info[$end]       =  microtime(TRUE);
        if(MEMORY_LIMIT_ON && $dec=='m'){
            if(!isset($_mem[$end])) $_mem[$end]     =  memory_get_usage();
            return number_format(($_mem[$end]-$_mem[$start])/1024);
        }else{
            return number_format(($_info[$end]-$_info[$start]),$dec);
        }

    }else{ // 记录时间和内存使用
        $_info[$start]  =  microtime(TRUE);
        if(MEMORY_LIMIT_ON) $_mem[$start]           =  memory_get_usage();
    }
}

/**
 * 获取和设置语言定义(不区分大小写)
 * @param string|array $name 语言变量
 * @param string $value 语言值
 * @return mixed
 */
function L($name=null, $value=null) {
    static $_lang = array();
    // 空参数返回所有定义
    if (empty($name))
        return $_lang;
    // 判断语言获取(或设置)
    // 若不存在,直接返回全大写$name
    if (is_string($name)) {
        $name = strtoupper($name);
        if (is_null($value))
            return isset($_lang[$name]) ? $_lang[$name] : $name;
        $_lang[$name] = $value; // 语言定义
        return;
    }
    // 批量定义
    if (is_array($name))
        $_lang = array_merge($_lang, array_change_key_case($name, CASE_UPPER));
    return;
}

后面的接着上传

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP