rabin 7 months ago
parent
commit
5aef6ae362

+ 2 - 2
package/manage/index.html

@@ -1,5 +1,5 @@
-<!doctype html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="webkit" name="renderer"/><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport"/><link href="favicon.ico" rel="icon"/><title>Dever Manage</title><meta content="Dever,PHP,PHP框架,轻量,微服务,组件化,接口,低代码,后台,自定义后台,开发,快速开发,AI,人工智能,文档,轻应用,应用,时空之翼,神秘城" name="keywords"/><meta content="rabin@shemic.com" name="author"/><link href="static/css/loading.css?random=2024-07-23 18:56:36-shemic" rel="stylesheet"/><script>document.write(
+<!doctype html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="webkit" name="renderer"/><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport"/><link href="favicon.ico" rel="icon"/><title>Dever Manage</title><meta content="Dever,PHP,PHP框架,轻量,微服务,组件化,接口,低代码,后台,自定义后台,开发,快速开发,AI,人工智能,文档,轻应用,应用,时空之翼,神秘城" name="keywords"/><meta content="rabin@shemic.com" name="author"/><link href="static/css/loading.css?random=2024-08-03 12:46:50-shemic" rel="stylesheet"/><script>document.write(
         "<script type='text/javascript' src='config.js?" +
           Math.random() +
           "'><\/script>"
-      )</script><script defer="defer" src="static/js/app.c6db51b7.js"></script><script defer="defer" src="static/js/213.7f0101c6.js"></script><link href="static/css/app.d065fbce.css" rel="stylesheet"><link href="static/css/213.89045697.css" rel="stylesheet"></head><body><noscript></noscript><div id="app"><div class="first-loading-wrp"><div class="loading-wrp"><span class="dot dot-spin"><i></i> <i></i> <i></i> <i></i></span></div><h1>Dever Manage</h1></div></div></body></html>
+      )</script><script defer="defer" src="static/js/app.3f76bf51.js"></script><script defer="defer" src="static/js/213.14b0c596.js"></script><link href="static/css/app.d065fbce.css" rel="stylesheet"><link href="static/css/213.89045697.css" rel="stylesheet"></head><body><noscript></noscript><div id="app"><div class="first-loading-wrp"><div class="loading-wrp"><span class="dot dot-spin"><i></i> <i></i> <i></i> <i></i></span></div><h1>Dever Manage</h1></div></div></body></html>

+ 2 - 2
package/manage/sector.html

@@ -1,5 +1,5 @@
-<!doctype html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="webkit" name="renderer"/><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport"/><link href="favicon.ico" rel="icon"/><title>Dever Manage</title><meta content="Dever,PHP,PHP框架,轻量,微服务,组件化,接口,低代码,后台,自定义后台,开发,快速开发,AI,人工智能,文档,轻应用,应用,时空之翼,神秘城" name="keywords"/><meta content="rabin@shemic.com" name="author"/><link href="static/css/loading.css?random=2024-07-23 18:56:36-shemic" rel="stylesheet"/><script>document.write(
+<!doctype html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="webkit" name="renderer"/><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport"/><link href="favicon.ico" rel="icon"/><title>Dever Manage</title><meta content="Dever,PHP,PHP框架,轻量,微服务,组件化,接口,低代码,后台,自定义后台,开发,快速开发,AI,人工智能,文档,轻应用,应用,时空之翼,神秘城" name="keywords"/><meta content="rabin@shemic.com" name="author"/><link href="static/css/loading.css?random=2024-08-03 12:46:50-shemic" rel="stylesheet"/><script>document.write(
         "<script type='text/javascript' src='sector_config.js?" +
           Math.random() +
           "'><\/script>"
-      )</script><script defer="defer" src="static/js/app.c6db51b7.js"></script><script defer="defer" src="static/js/213.7f0101c6.js"></script><link href="static/css/app.d065fbce.css" rel="stylesheet"><link href="static/css/213.89045697.css" rel="stylesheet"></head><body><noscript></noscript><div id="app"><div class="first-loading-wrp"><div class="loading-wrp"><span class="dot dot-spin"><i></i> <i></i> <i></i> <i></i></span></div><h1>Dever Manage</h1></div></div></body></html>
+      )</script><script defer="defer" src="static/js/app.3f76bf51.js"></script><script defer="defer" src="static/js/213.14b0c596.js"></script><link href="static/css/app.d065fbce.css" rel="stylesheet"><link href="static/css/213.89045697.css" rel="stylesheet"></head><body><noscript></noscript><div id="app"><div class="first-loading-wrp"><div class="loading-wrp"><span class="dot dot-spin"><i></i> <i></i> <i></i> <i></i></span></div><h1>Dever Manage</h1></div></div></body></html>

File diff suppressed because it is too large
+ 1 - 1
package/manage/static/css/213.89045697.css


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/css/780.4065063c.css


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/css/app.d065fbce.css


File diff suppressed because it is too large
+ 0 - 1
package/manage/static/css/vab-chunk-c6f52c3a.c8416701.css


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/css/vab-plugins.f6f5c03c.css


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/213.14b0c596.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/592.41e25131.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/780.f3d655d2.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/962.faf0c7f7.js


File diff suppressed because it is too large
+ 0 - 1
package/manage/static/js/app.3f76bf51.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/vab-chunk-0b9a05e8.3a2acba3.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/vab-chunk-54e012b3.75c10119.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/vab-chunk-844ca20f.8fd468cb.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/vab-chunk-b3a4eaa1.509e2c01.js


File diff suppressed because it is too large
+ 5 - 0
package/manage/static/js/vab-chunk-c6f52c3a.e361e25b.js


File diff suppressed because it is too large
+ 0 - 5
package/manage/static/js/vab-chunk-c6f52c3a.e3f7cb6e.js


File diff suppressed because it is too large
+ 1 - 1
package/manage/static/js/vab-plugins.6ed7f270.js


+ 4 - 0
package/msg/index.php

@@ -0,0 +1,4 @@
+<?php
+define('DEVER_PACKAGE',  'msg');
+define('DEVER_APP_SETUP', dirname(__FILE__) . DIRECTORY_SEPARATOR);
+include(dirname(__FILE__) . DIRECTORY_SEPARATOR . '../../boot.php');

+ 18 - 15
src/place/api/Data.php

@@ -55,25 +55,14 @@ class Data extends Core
     }
 
     # 验证码登录或者注册
-    public function login_commit(){};
+    public function login_commit(){}
     public function login()
     {
         $account = Dever::input('account', 'is_string', '账户信息');
-        $env = Dever::input('env');
-        if ($env == 3 || $env == 5) {
-            # 如果是jsapi,也需要获取openid
-            $openid = Dever::db('util', 'api')->openid();
-        }
-        if ($env == 5) {
-            # 如果是小程序,需要获取openid
-            $param['code'] = Dever::input('applet_code', 'is_string', '登录信息');
-            $data = Dever::load('account', 'api')->run($account, 'openid', $param, $env);
-            if (isset($data['openid'])) {
-
-            }
-        }
+        $env = Dever::input('env', 'is_numeric', '环境信息', 3);
         $mobile = Dever::input('mobile', 'is_numeric', '手机号');
         $code = Dever::input('code', 'is_numeric', '验证码');
+        Dever::load('template', 'msg')->check('reg_code', $mobile, $code);
         $where['mobile'] = $mobile;
         $member = Dever::db('member', 'place')->find($where);
         if ($member) {
@@ -86,6 +75,20 @@ class Data extends Core
             $data['agent_id'] = -1;
             $id = Dever::db('member', 'place')->insert($data);
         }
-        return array('t' => Secure::login($id));
+        $result['t'] = Secure::login($id);
+        # 获取openid
+        $result = Dever::load('util', 'api')->openid($account, $env, $id, $result);
+        if (isset($result['openid'])) {
+            unset($result['openid']);
+        }
+        return $result;
+    }
+
+    # 发送短信验证码
+    public function sms()
+    {
+        $mobile = Dever::input('mobile', 'is_numeric', '手机号');
+        $data = Dever::load('template', 'msg')->send('reg_code', array('mobile' => $mobile));
+        return $data;
     }
 }

+ 68 - 0
src/place/lib/Sms.php

@@ -0,0 +1,68 @@
+<?php namespace Place\Lib;
+use Dever;
+class Sms
+{
+    # 发送短信验证码
+    public function sendCode($mobile, $state = true)
+    {
+        $day = date('Ymd', time());
+
+        # 检测当前手机号最新一次发送时间,不允许一分钟之内发送
+        $param['day'] = $day;
+        $param['mobile'] = $mobile;
+
+        # 检测当前手机号今天已经发送多少验证码了
+        $info = Dever::db('place/sms_code')->count($param);
+        if ($info >= 1) {
+            $check = Dever::db('place/sms_code')->find($param);
+            if ($check) {
+                if (time() - $check['cdate'] < 60) {
+                    Dever::alert('请不要在一分钟之内申请多次验证码,请您稍后再试');
+                }
+            }
+        }
+        $total = 10;
+        if ($info >= $total) {
+            Dever::alert('很抱歉,您已经申请获取验证码超过' . $total . '次,今天您已经无法获取验证码了,请您明天再来');
+        }
+        $code = $this->createCode();
+        # 启动发送
+        $param['mobile'] = $mobile;
+        $param['TemplateCode'] = 'SMS_216755222';
+        $param['TemplateParam'] = array('code' => $code);
+        $param['log'] = true;
+        if ($state) {
+            $result = Dever::load('account', 'api')->run('aliyun', 'sms_code', $param);
+        }
+        
+        # 记录当前的验证码
+        $insert = array();
+        $insert['mobile'] = $mobile;
+        $insert['day'] = $day;
+        $insert['code'] = $code;
+        $insert['status'] = 1;
+        $insert['result'] = Dever::json_encode($result);
+        $id = Dever::db('place/sms_code')->insert($insert);
+        $msg = '验证码已发送至您的手机,请注意查收,十分钟之内有效';
+        return $code;
+    }
+
+    public function checkCode($mobile = false, $code = false, $update = 1)
+    {
+        if ($code && $mobile) {
+            $info = Dever::db('place/sms_code')->find(array('mobile' => $mobile), array('order' => 'id desc'));
+            if ($info && $info['status'] == 1 && $code == $info['code']) {
+                if ($update == 1) {
+                    Dever::db('place/sms_code')->update($info['id'], array('status' => 2));
+                }
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private function createCode()
+    {
+        return \Dever\Helper\Str::rand(4, 0);
+    }
+}

+ 0 - 25
src/place/table/openid.php

@@ -1,25 +0,0 @@
-<?php
-return array
-(
-    'name' => 'openid表',
-    'struct' => array
-    (
-        'account_id'        => array
-        (
-            'type'      => 'int(11)',
-            'name'      => '账户',
-        ),
-
-        'uid'       => array
-        (
-            'type'      => 'int(11)',
-            'name'      => '用户ID',
-        ),
-
-        'openid'        => array
-        (
-            'type'      => 'varchar(60)',
-            'name'      => 'openid',
-        ),
-    ),
-);

+ 18 - 0
src/resource/content/api/Member.php

@@ -36,4 +36,22 @@ class Member extends Core
     {
         $code = Dever::input('code', 'is_string', '验证码');
     }
+
+    # 我的收藏
+    public function collect()
+    {
+
+    }
+
+    # 我的下载
+    public function down()
+    {
+
+    }
+
+    # 我的评论
+    public function review()
+    {
+
+    }
 }

+ 7 - 1
src/resource/content/api/Value.php

@@ -18,7 +18,13 @@ class Value extends Core
     {
         $account = Dever::input('account', 'is_string', '账户', 'wechat');
         $env = Dever::input('env', 'is_numeric', '运行环境', 3);
+        $result = Dever::load('util', 'api')->openid($account, $env, $this->member['id']);
+        if (isset($result['openid'])) {
+            $this->member['openid'] = $result['openid'];
+        } elseif (isset($result['link'])) {
+            return $result;
+        }
         $info = Dever::load('value', 'content')->getInfo($this->member);
-        return Dever::load('value', 'content')->getPay($this->member, $info, $account, $env); 
+        return Dever::load('value', 'content')->getPay($this->member, $info, $account, $env);
     }
 }

+ 6 - 5
src/resource/content/lib/Value.php

@@ -103,27 +103,28 @@ class Value
         (
             'uid' => $member['id'],
             'username' => $member['name'],
-            'openid' => true,
+            'openid' => $member['openid'] ?? '',
             'order_num' => Dever::load('util', 'api')->createNumber('C', 'content/order'),
             'cash' => ($info['price']/$member['score_per'])*100,#每个人的积分换算公式可能不一样
             'name' => $info['name'],
             'time_expire' => time() + 3600,
         );
         # 设置支付成功的回调信息,多个参数用|隔开
-        $param['notify'] = 'content/value.paySuccess|' . $order['order_num'];
+        $param['notify'] = 'content/value.paySuccess|' . Dever::input('p') . '|' . $order['order_num'];
         $data = Dever::load('account', 'api')->run($account, 'order', $order, $env);
         if ($data) {
             $order['info_id'] = $info['id'];
-            $order['account_id'] = $data[0]['account_id'];
-            $order['api_id'] = $data[0]['api_id'];
+            $order['account_id'] = $data['account_id'];
+            $order['api_id'] = $data['api_id'];
             $data['order_id'] = Dever::db('order', 'content')->insert($order);
         }
         return $data;
     }
 
     # 支付成功
-    public function paySuccess($order_num, $status, $body)
+    public function paySuccess($place, $order_num, $status, $body)
     {
+        Dever::input('authorization', 'is_string', '入口码', $place);
         $order = Dever::db('order', 'content')->find(array('order_num' => $order_num));
         if ($order && $order['status'] == 1) {
             if ($status == 1) {

Some files were not shown because too many files changed in this diff