唐金木 %!s(int64=4) %!d(string=hai) anos
pai
achega
f3254699e2
Modificáronse 41 ficheiros con 1757 adicións e 373 borrados
  1. 393 321
      php/.idea/workspace.xml
  2. 20 18
      php/adddata.sql
  3. 35 0
      php/app/admin/controller/Usermanage.php
  4. 33 0
      php/app/common/controller/Upfile.php
  5. 15 0
      php/app/common/model/About.php
  6. 15 0
      php/app/common/model/Banner.php
  7. 15 0
      php/app/common/model/Bond.php
  8. 15 0
      php/app/common/model/BondFinance.php
  9. 15 0
      php/app/common/model/CommissionFinance.php
  10. 1 8
      php/app/common/model/ConfigGroup.php
  11. 15 0
      php/app/common/model/Feedback.php
  12. 15 0
      php/app/common/model/Finance.php
  13. 15 0
      php/app/common/model/GeneralFinance.php
  14. 15 0
      php/app/common/model/GeneralTransfer.php
  15. 15 0
      php/app/common/model/Message.php
  16. 15 0
      php/app/common/model/Mining.php
  17. 15 0
      php/app/common/model/Notice.php
  18. 15 0
      php/app/common/model/Order.php
  19. 15 0
      php/app/common/model/OrderFrequency.php
  20. 15 0
      php/app/common/model/PhoneCode.php
  21. 15 0
      php/app/common/model/Problem.php
  22. 15 0
      php/app/common/model/State.php
  23. 15 0
      php/app/common/model/System.php
  24. 1 8
      php/app/common/model/User.php
  25. 15 0
      php/app/common/model/UserLevel.php
  26. 15 0
      php/app/common/model/UserMessage.php
  27. 15 0
      php/app/common/model/VendibilityFinance.php
  28. 33 0
      php/app/web/controller/Base.php
  29. 97 0
      php/app/web/controller/Index.php
  30. 154 0
      php/app/web/controller/Login.php
  31. 380 0
      php/app/web/controller/My.php
  32. 57 0
      php/app/web/model/Back.php
  33. 161 0
      php/app/web/model/Orders.php
  34. 59 0
      php/app/web/model/Tripartite.php
  35. 9 9
      php/public/static/plugins/layui/extend/echarts.js
  36. 1 1
      php/public/static/plugins/layui/extend/echarts/echarts.js
  37. 4 4
      php/public/static/plugins/layui/extend/layui_exts/excel.js
  38. 1 1
      php/public/static/plugins/layui/extend/layui_exts/excel.min.js
  39. 2 2
      php/public/static/plugins/ueditor/lang/en/en.js
  40. 1 1
      php/public/static/plugins/ueditor/third-party/highcharts/highcharts-more.src.js
  41. BIN=BIN
      ~$BTS需求.docx

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 393 - 321
php/.idea/workspace.xml


+ 20 - 18
php/adddata.sql

@@ -51,21 +51,6 @@ CREATE TABLE `lm_user_level`  (
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '会员等级优惠' ROW_FORMAT = Compact;
 
 
-DROP TABLE IF EXISTS `lm_mining`;
-CREATE TABLE `lm_mining`  (
-  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-  `num` int (11)  DEFAULT 0 COMMENT '数量',
-  `mining` int (11)  DEFAULT 0 COMMENT '矿池数量',
-  `enlarge_quota` int (11)  DEFAULT 0 COMMENT '放大额度',
-   `ensure_money` decimal (20,2)  DEFAULT '0' COMMENT '保证金',
-   `breach_money` decimal (20,2)  DEFAULT '0' COMMENT '违约金',
-   `out_game` decimal (20,2)  DEFAULT '0' COMMENT '出局手续费',
-   `direct_push` decimal (20,2)  DEFAULT '0' COMMENT '直推获得',
-   `second_push` decimal (20,2)  DEFAULT '0' COMMENT '次推获得',
-   `create_time` varchar (20)DEFAULT '' COMMENT '创建时间',
-   `status` int (1)DEFAULT 0 COMMENT '0 进行中 1 暂停中',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '矿区' ROW_FORMAT = Compact;
 
 DROP TABLE IF EXISTS `lm_banner`;
 CREATE TABLE `lm_banner`  (
@@ -90,6 +75,7 @@ CREATE TABLE `lm_message`  (
   `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
   `type` int (10)  DEFAULT '0' COMMENT '0 系统提示 1 资金 2 交易',
   `name` varchar (255)  DEFAULT '' COMMENT '标题',
+  `add_time` varchar (20)  DEFAULT '' COMMENT '添加时间',
   `status` int (1)  DEFAULT '0' COMMENT '0 未度 1 已读',
   `content` varchar (255)  DEFAULT '' COMMENT '说明',
   PRIMARY KEY (`id`) USING BTREE
@@ -108,8 +94,9 @@ CREATE TABLE `lm_problem`  (
 DROP TABLE IF EXISTS `lm_phone_code`;
 CREATE TABLE `lm_phone_code`  (
   `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-  `phone` varchar (20)  DEFAULT '' COMMENT '手机号',
+  `phone` varchar (255)  DEFAULT '' COMMENT '手机号',
   `code` varchar (20)  DEFAULT '' COMMENT '验证码',
+  `type` int (1)  DEFAULT 0 COMMENT '0 手机号码 1 邮箱验证',
   `add_time` varchar (20)  DEFAULT '' COMMENT '验证码',
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '验证码' ROW_FORMAT = Compact;
@@ -135,17 +122,32 @@ CREATE TABLE `lm_state`  (
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '申述' ROW_FORMAT = Compact;
 
+DROP TABLE IF EXISTS `lm_mining`;
+CREATE TABLE `lm_mining`  (
+  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `num` int (11)  DEFAULT 0 COMMENT '数量',
+  `mining` int (11)  DEFAULT 0 COMMENT '矿池数量',
+  `enlarge_quota` int (11)  DEFAULT 0 COMMENT '放大额度',
+   `ensure_money` decimal (20,2)  DEFAULT '0' COMMENT '保证金',
+   `breach_money` decimal (20,2)  DEFAULT '0' COMMENT '违约金',
+   `out_game` decimal (20,2)  DEFAULT '0' COMMENT '出局手续费',
+   `direct_push` decimal (20,2)  DEFAULT '0' COMMENT '直推获得',
+   `second_push` decimal (20,2)  DEFAULT '0' COMMENT '次推获得',
+   `create_time` varchar (20)DEFAULT '' COMMENT '创建时间',
+   `status` int (1)DEFAULT 0 COMMENT '0 进行中 1 暂停中',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '矿区' ROW_FORMAT = Compact;
 DROP TABLE IF EXISTS `lm_order`;
 CREATE TABLE `lm_order`  (
   `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-  `type` int (1)  DEFAULT 0 COMMENT '0 买入 1 卖出',
+  `type` int (1)  DEFAULT 0 COMMENT '0 买入 1 卖出 废除',
   `buy_user` int (11)  DEFAULT 0 COMMENT '购买用户id',
   `push_user` int (11)  DEFAULT 0 COMMENT '卖出用户id',
   `number` int (11)  DEFAULT 0 COMMENT '发布数量',
   `enlarge_quota` int (11)  DEFAULT 0 COMMENT '放大额度',
   `order` varchar (255)  DEFAULT '' COMMENT '订单编号',
   `mining_id` int (11)  DEFAULT 0 COMMENT '区块id',
-  `status` int (1)  DEFAULT 0 COMMENT '0 无匹配或待支付 1 已匹配或已支付 3 已完成 4 已撤销 5 交易失败',
+  `status` int (1)  DEFAULT 0 COMMENT '0 未匹配 1 已匹配或待支付 2已上传数据 3 已完成 4 已撤销 5 交易失败',
   `add_time` varchar (20)  DEFAULT '' COMMENT '添加时间',
   `stat_time` varchar (20)  DEFAULT '' COMMENT '未支付结束时间',
   `end_time` varchar (20)  DEFAULT '' COMMENT '完成时间',

+ 35 - 0
php/app/admin/controller/Usermanage.php

@@ -18,4 +18,39 @@ class Usermanage
     {
 
     }
+
+    // 用户详细信息
+    public function show()
+    {
+
+    }
+
+    // 密码重置
+    public function update_pwd()
+    {
+
+    }
+
+    // 封号
+    public function fenhao()
+    {
+
+    }
+//用户充值
+    public function chongzhi()
+    {
+        
+    }
+
+    // 用户通证记录
+    public function tongxingzheng()
+    {
+
+    }
+
+    //设置会员等级
+    public function update_level()
+    {
+        
+    }
 }

+ 33 - 0
php/app/common/controller/Upfile.php

@@ -0,0 +1,33 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/4/17
+ * Time: 9:56
+ */
+
+namespace app\common\controller;
+
+
+class Upfile
+{
+
+
+    // TODO 文件类处理
+
+    //上传服务器文件
+    public  static function uploadone($files){
+        $wheatpic = '';
+        // 移动到框架应用根目录/public/uploads/ 目录下
+        $info = $files->validate(['size'=>1567800,'ext'=>'jpg,png,gif,jpeg,pdf,word,excel,xls,ppt,zip,rar,doc,docx'])->move(ROOT_PATH . 'public' . DS . 'uploads');
+        if($info){
+            // 成功上传后 获取上传信息
+            // 输出 jpg
+            $wheatpic = '/uploads/' . str_replace('\\', '/', $info->getsaveName ());
+        }else{
+            // 上传失败获取错误信息
+            self::error($files->getError());
+        }
+        return $wheatpic;
+    }
+}

+ 15 - 0
php/app/common/model/About.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:25
+ */
+
+namespace app\common\model;
+
+
+class About extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Banner.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:20
+ */
+
+namespace app\common\model;
+
+
+class Banner  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Bond.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:24
+ */
+
+namespace app\common\model;
+
+
+class Bond extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/BondFinance.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:24
+ */
+
+namespace app\common\model;
+
+
+class BondFinance  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/CommissionFinance.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:23
+ */
+
+namespace app\common\model;
+
+
+class CommissionFinance  extends Common
+{
+
+}

+ 1 - 8
php/app/common/model/ConfigGroup.php

@@ -1,13 +1,6 @@
 <?php
 /**
- * lemocms
- * ============================================================================
- * 版权所有 2018-2027 lemocms,并保留所有权利。
- * 网站地址: https://www.lemocms.com
- * ----------------------------------------------------------------------------
- * 采用最新Thinkphp6实现
- * ============================================================================
- * Author: yuege
+ * user:anyluck
  * Date: 2019/10/26
  */
 

+ 15 - 0
php/app/common/model/Feedback.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:22
+ */
+
+namespace app\common\model;
+
+
+class Feedback extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Finance.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:25
+ */
+
+namespace app\common\model;
+
+
+class Finance  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/GeneralFinance.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:24
+ */
+
+namespace app\common\model;
+
+
+class GeneralFinance  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/GeneralTransfer.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:25
+ */
+
+namespace app\common\model;
+
+
+class GeneralTransfer  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Message.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:21
+ */
+
+namespace app\common\model;
+
+
+class Message  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Mining.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:20
+ */
+
+namespace app\common\model;
+
+
+class Mining  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Notice.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:21
+ */
+
+namespace app\common\model;
+
+
+class Notice  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Order.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:23
+ */
+
+namespace app\common\model;
+
+
+class Order extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/OrderFrequency.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:23
+ */
+
+namespace app\common\model;
+
+
+class OrderFrequency  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/PhoneCode.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:22
+ */
+
+namespace app\common\model;
+
+
+class PhoneCode extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/Problem.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:21
+ */
+
+namespace app\common\model;
+
+
+class Problem  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/State.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:22
+ */
+
+namespace app\common\model;
+
+
+class State  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/System.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:25
+ */
+
+namespace app\common\model;
+
+
+class System extends Common
+{
+
+}

+ 1 - 8
php/app/common/model/User.php

@@ -1,13 +1,6 @@
 <?php
 /**
- * lemocms
- * ============================================================================
- * 版权所有 2018-2027 lemocms,并保留所有权利。
- * 网站地址: https://www.lemocms.com
- * ----------------------------------------------------------------------------
- * 采用最新Thinkphp6实现
- * ============================================================================
- * Author: yuege
+ * user:anyluck
  * Date: 2019/9/2
  */
 namespace app\common\model;

+ 15 - 0
php/app/common/model/UserLevel.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:20
+ */
+
+namespace app\common\model;
+
+
+class UserLevel  extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/UserMessage.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:20
+ */
+
+namespace app\common\model;
+
+
+class UserMessage extends Common
+{
+
+}

+ 15 - 0
php/app/common/model/VendibilityFinance.php

@@ -0,0 +1,15 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:23
+ */
+
+namespace app\common\model;
+
+
+class VendibilityFinance extends Common
+{
+
+}

+ 33 - 0
php/app/web/controller/Base.php

@@ -0,0 +1,33 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:30
+ */
+
+namespace app\web\controller;
+
+
+use app\common\model\User;
+
+class Base
+{
+    public $user;
+    public $user_id;
+    public function __construct()
+    {
+        $token=input("token");
+        if (!$token){
+            json_result(9,"请登录后在操作");
+        }
+        $where["token"]=$token;
+        $user=User::where($where)->find();
+        if (!$user){
+            json_result(9,"账号已经在其他设备登录,请重新登录");
+        }
+        $this->user=$user;
+        $this->user_id=$user->id;
+    }
+
+}

+ 97 - 0
php/app/web/controller/Index.php

@@ -0,0 +1,97 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 10:22
+ */
+
+namespace app\web\controller;
+
+
+use app\common\model\Banner;
+use app\common\model\Mining;
+use app\common\model\Notice;
+use app\common\model\State;
+use app\web\model\Back;
+use app\web\model\Orders;
+
+class Index extends Base
+{
+ // todo 首页
+
+
+    // 首页
+    public function index()
+    {
+        $data=[];
+        $banner=Banner::where(["status"=>0])->select();
+        $data["banner"]=$banner;// 轮播图
+        // 交易区块
+        $back=Back::back();
+        $data["back"]=$back;
+        // 公告
+        $notice=Notice::where(["status"=>0])->select();
+        $data["notice"]=$notice;
+        json_result(200,"",$data);
+
+
+
+
+    }
+
+    // 获取交易区块
+    public function back()
+    {
+        $back=Back::back();
+        json_result(200,"",$back);
+    }
+
+    // 根据个人信息查询交易区块
+    public function persion_back()
+    {
+        $back=Back::persion_back($this->user_id);
+        json_result(200,"",$back);
+
+    }
+
+    // 交易数据列表
+    public function order_list()
+    {
+        $page=input("page")?:1;
+        $limit=input("limit")?:10;
+        $type=input("type")?:0;//0买入数据 1卖出数据 2我的购买数据 3我的卖出数据
+        $status=input("status");//0 未匹配 1 已匹配或待支付 2已上传数据 3 已完成 4 已撤销 5 交易失败
+        $user_id=$this->user_id;
+        $res=Orders::order_list($type,$user_id,$status,$page,$limit);
+        json_result(200,"",$res);
+    }
+
+
+    // 买入和卖出
+    public function order_buy()
+    {
+        $type=input("type")?:0;
+        $mining_id=input("mining_id")?:0;
+        $order_id=input("order_id");
+        Orders::push_order($this->user,$this->user_id,$type,$order_id,$mining_id);
+
+    }
+
+    // 申述
+    public function state()
+    {
+        $order_id=input("order_id");
+        $content=input("content");if (!$content)json_result(400,"请填写申述内容");
+        $image=input("image");
+        $add["add_time"]=time();
+        $add["user_id"]=$this->user_id;
+        $add["order"]=$order_id;
+        $add["content"]=$content;
+        $add["image"]=$image;
+        State::create($add);
+        json_result(200,"申述提交成功");
+    }
+
+
+}

+ 154 - 0
php/app/web/controller/Login.php

@@ -0,0 +1,154 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:46
+ */
+
+namespace app\web\controller;
+
+
+use app\common\controller\Upfile;
+use app\common\model\PhoneCode;
+
+use app\common\model\User;
+use app\web\model\Tripartite;
+use Ramsey\Uuid\Uuid;
+
+class Login
+{
+ // todo 登录注册
+
+    // 登录
+    public function in_login()
+    {
+        $phone=input("phone");if (!$phone)json_result(400,"请输入手机号码或者邮箱账号");
+        $pwd=input("pwd");if (!$pwd)json_result(400,"请输入登录密码");
+        $where["phone|mail"]=$phone;
+        $user=User::where($where)->find();
+        if (!$user){
+            json_result(400,"账号不存在");
+        }
+        if (!password_verify($pwd,$user->pwd)){
+            json_result(400,"密码错误");
+        }
+        json_result(200,"登录成功",$user);
+    }
+
+
+    // 获取验证码
+    public function code()
+    {
+        $phone=input("phone");if (!$phone)json_result(400,"请输入手机号或者邮箱");
+        $type=input("type")?:0;
+        
+        // 查询是否重复发送
+        $where["phone"]=$phone;
+        $where["add_time"]=["<",time()-(1*60)];
+        $phone_code=PhoneCode::where($where)->find();
+        if ($phone_code){
+            json_result(400,"验证码已发送请稍后再发送");
+        }
+        $res=Tripartite::send_code($phone,$type);
+        json_result(200,"验证码发送成功",$res);
+        
+    }
+
+    // 注册
+    public function register()
+    {
+        $phone=input("phone");if (!$phone)json_result(400,"请输入手机号或者邮箱");
+        $code=input("code");if (!$code)json_result(400,"请输入验证码");
+        $name=input("name");if (!$name)json_result(400,"请输入账户呢称");
+        $type=input("type")?:0;
+        $pwd=input("pwd");if (!$pwd)json_result(400,"请输入密码");
+        $pid=input("pid");
+
+        // 查看账号是存在
+        $where["phone|mail"]=$phone;
+        $user=User::where($where)->find();
+        if ($user){
+            json_result(400,"账号已注册,请前去登录");
+        }
+
+        // 验证码
+        $phone_code=Tripartite::push_code($phone);
+        if ($phone_code!=$code){
+            json_result(400,"验证码错误");
+        }
+
+        if ($pid){
+            $where["code"]=$pid;
+            $pid_user=User::where($where)->find();
+            if (!$pid_user){
+                json_result(400,"上级账号不存在");
+            }
+            $add["pid"]=$pid_user->id;
+        }
+        $add["code"]=uniqid();
+        if ($type==0){
+            $add["phone"]=$phone;
+        }else{
+            $add["mail"]=$phone;
+        }
+        $add["name"]=$name;
+        $uuid=Uuid::uuid1();
+        $add["token"]=$uuid->getHex();;
+        $add["add_time"]=time();
+        $add["pwd"]= password_hash($pwd, PASSWORD_DEFAULT);;
+        User::create($add);
+        json_result(200,"测试成功");
+
+    }
+
+    // 忘记密码 第一部
+    public function forget_password()
+    {
+        $phone=input("phone");if(!$phone)json_result(400,"请输入手机号码或者邮箱");
+        $type=input("type")?:0;
+        $code=input("code");if (!$code)json_result(400,"请输入验证码");
+        $name=input("name");
+        // 查看账号是存在
+        $where["phone|mail"]=$phone;
+        $user=User::where($where)->find();
+        if (!$user){
+            json_result(400,"账号不存在");
+        }
+        // 验证码
+        $phone_code=Tripartite::push_code($phone,$type);
+        if ($phone_code!=$code){
+            json_result(400,"验证码错误");
+        }
+        json_result(200,"验证码成功");
+    }
+
+    // 修改密码--第二步
+    public function update_password()
+    {
+        $pwd=input("pwd");if (!$pwd)json_result(400,"请输入密码");
+        $phone=input("phone");if(!$phone)json_result(400,"请输入手机号码或者邮箱");
+        // 查看账号是存在
+        $where["phone|mail"]=$phone;
+        $user=User::where($where)->find();
+        if (!$user){
+            json_result(400,"账号不存在");
+        }
+        $add["pwd"]= password_hash($pwd, PASSWORD_DEFAULT);;
+        User::where(["id"=>$user->id])->update($add);
+        json_result(200,"设置密码成功");
+    }
+
+    // 上传图片
+    public function up_image()
+    {
+          $img = request()->file('image');
+        if ($img){
+            $up['image']=Upfile::uploadone($img);
+            json_result(1,"成功",$up['image']);
+        }else{
+            json_result(2,"请上传图片");
+        }
+    }
+
+}

+ 380 - 0
php/app/web/controller/My.php

@@ -0,0 +1,380 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 13:13
+ */
+
+namespace app\web\controller;
+
+
+use app\common\model\About;
+use app\common\model\Bond;
+use app\common\model\BondFinance;
+use app\common\model\CommissionFinance;
+use app\common\model\Feedback;
+use app\common\model\GeneralFinance;
+use app\common\model\GeneralTransfer;
+use app\common\model\Message;
+use app\common\model\Notice;
+use app\common\model\Problem;
+use app\common\model\User;
+use app\common\model\UserMessage;
+use app\web\model\Tripartite;
+use think\Db;
+
+class My extends Base
+{
+    // todo 个人中心
+
+    // 获取个人信息
+    public function index()
+    {
+
+        // 给用户加活跃度
+        $where["id"]=$this->user_id;
+        $update["update_time"]=time();
+        User::update($update,$where);
+
+        json_result(200, "", $this->user);
+    }
+
+
+    // 更新头像
+    public function update_image()
+    {
+        $image = input("image");
+        if (!$image) json_result(400, "请上传图片路径");
+        $where["id"] = $this->user_id;
+        $update["image"] = $image;
+        User::update($update, $where);
+        json_result(200, "设置成功");
+    }
+
+
+    // 更新用户名
+    public function update_name()
+    {
+        $name = input("name");
+        $where["id"] = $this->user_id;
+        $update["name"] = $name;
+        User::update($update, $where);
+        json_result(200, "设置成功");
+    }
+
+// 更新手机号码
+    public function update_phone()
+    {
+        $phone = input("phone");
+        if (!$phone) json_result(400, "请输入手机号");
+        $code = input("code");
+        if (!$code) json_result(400, "请输入验证码");
+        $rest = Tripartite::push_code($phone, 0);
+        if ($rest != $code) {
+            json_result(400, "验证码错误");
+        }
+        $where["id"] = $this->user_id;
+        $update["phone"] = $phone;
+        User::update($update, $where);
+        json_result(200, "设置成功");
+    }
+
+// 更新邮箱
+    public function update_mail()
+    {
+        $phone = input("mail");
+        if (!$phone) json_result(400, "请输入邮箱");
+        $code = input("code");
+        if (!$code) json_result(400, "请输入验证码");
+        $rest = Tripartite::push_code($phone, 1);
+        if ($rest != $code) {
+            json_result(400, "验证码错误");
+        }
+        $where["id"] = $this->user_id;
+        $update["mail"] = $phone;
+        User::update($update, $where);
+        json_result(200, "设置成功");
+    }
+
+    // 显示收账信息
+    public function receivable_show()
+    {
+
+        $where["user_id"] = $this->user_id;
+        $user_message = UserMessage::where($where)->find();
+        if (!$user_message) {// 没有数据就添加数据
+            $add["user_id"] = $this->user_id;
+            UserMessage::create($add);
+            $user_message = UserMessage::where($where)->find();
+        }
+        json_result(200, $user_message);
+
+    }
+
+    // 修改收账信息
+    public function update_receivable()
+    {
+        $id = input("id");
+        if (!$id) json_result(400, "请上传更新id");
+        $data["phone"] = input("phone");
+        $data["name"] = input("name");
+        $data["bank_name"] = input("bank_name");
+        $data["bank_number"] = input("bank_number");
+        $data["bank_branch"] = input("bank_branch");
+        $data["ali_pay"] = input("ali_pay");
+        $data["wx_pay"] = input("wx_pay");
+        $data["ali_pay_image"] = input("ali_pay_image");
+        $data["wx_pay_image"] = input("wx_pay_image");
+        $where["id"] = $id;
+        UserMessage::update($data, $where);
+        json_result(200, "操作成功");
+    }
+
+
+    // 消息 获取最新的三条数据
+    public function notice()
+    {
+        $notice = Message::where(["type" => 0])->order("id desc")->find(); // 公告
+        $message_jiaoyi = Message::where(["type" => 2])->order("id desc")->find();// 交易
+        $message_zijin = Message::where(["type" => 1])->order("id desc")->find();// 资金
+        $data["notice"] = $notice;
+        $data["message_jiaoyi"] = $message_jiaoyi;
+        $data["message_zijin"] = $message_zijin;
+        json_result(200, "", $data);
+    }
+
+
+    // 消息列表
+    public function notice_list()
+    {
+        $type = input("type") ?: 0;
+        $page = input("page") ?: 1;
+        $limit = input("limit") ?: 10;
+
+        $where["type"] = $type;
+        $where["user_id"] = $this->user_id;
+        $list = Message::where($where)->order("id desc,status asc")->paginate(['list_rows' => $limit, 'page' => $page])->each(function ($item) {
+            $item["add_time"] = date("Y-m-d H:i", $item["add_time"]);
+            return $item;
+        });
+
+        json_result(200, "", $list);
+    }
+
+    // 更新消息是否已读
+    public function notice_status()
+    {
+        $id = input("id");
+        $where["id"] = $id;
+        $update["status"] = 1;
+        Message::update($update, $where);
+        json_result(200);
+    }
+
+
+// 反馈意见
+    public function feedback()
+    {
+        $content = input("content");
+        $image = input("image");
+        $add["user_id"] = $this->user_id;
+        $add["content"] = $content;
+        $add["image"] = $image;
+        $add["add_time"] = time();
+        Feedback::create($add);
+        json_result(200, "反馈成功");
+    }
+
+    // 常见问题
+    public function problem()
+    {
+        $page = input("page") ?: 1;
+        $limit = input("limit") ?: 10;
+
+        $list = Problem::order("id desc")->paginate(['list_rows' => $limit, 'page' => $page]);
+
+        json_result(200, "", $list);
+    }
+
+    // 常见问题详情
+    public function problem_show()
+    {
+        $id = input("id");
+        $where["id"] = $id;
+        $data = Problem::where($where)->find();
+        json_result(200, "", $data);
+    }
+
+
+    // 修改密码
+    public function update_pwd()
+    {
+//        $phone=input("phone");// 系统内置手机号或邮件
+        $yuan = input("ypwd");
+        if (!$yuan) json_result(400, "请输入原密码");
+        $pwd = input("pwd");
+        if (!$pwd) json_result(400, "请输入新密码");
+        $where["id"] = $this->user_id;
+        $update["pwd"] = password_hash($pwd, PASSWORD_DEFAULT);;
+        $user = User::where($where)->find();
+        if ($user->pwd == $update["pwd"]) {
+            json_result(400, "原密码不能和新密码一样");
+        }
+        User::update($update, $where);
+        json_result(200, "设置成功");
+    }
+
+    // 关于我们
+    public function about()
+    {
+        $where["id"] = 1;
+        $about = About::where($where)->find();
+        json_result(200, "", $about);
+    }
+
+    // 我的推广显示页面
+    public function extension()
+    {
+        $where["pid"] = $this->user_id;
+        $count = User::where($where)->count();
+
+        $data["push"] = $count;
+        $data["team"] = $this->user["team"];
+        json_result(200, "", $data);
+
+    }
+
+    // 直推列表
+    public function extension_list()
+    {
+        $pid = input("pid");
+        $page = input("page") ?: 1;
+        $limit = input("limit") ?: 10;
+        $where = [];
+        if ($pid) {
+            $where["pid"] = $pid;
+        } else {
+            $where["pid"] = $this->user_id;
+        }
+        $list = Problem::where($where)->order("id desc")->field("id,image,phone,name,mail,add_time")->paginate(['list_rows' => $limit, 'page' => $page])->each(function ($item) {
+            // 统计人数
+            $where["pid"] = $item["id"];
+            $count = User::where($where)->count();
+            $item["team"] = $count;
+            if ($item["add_time"]) {
+                $item["add_time"] = date("Y-m-d H:i", $item["add_time"]);
+            }
+            return $item;
+        });
+        json_result(200,"",$list);
+    }
+
+    // 可售额度
+    public function vendibility_list()
+    {
+        $page = input("page") ?: 1;
+        $limit = input("limit") ?: 10;
+        $where["user_id"]=$this->user_id;
+        $list = Problem::where($where)->order("id desc")->paginate(['list_rows' => $limit, 'page' => $page])->each(function ($item) {
+            if ($item["add_time"]) {
+                $item["add_time"] = date("Y-m-d H:i", $item["add_time"]);
+            }
+            return $item;
+        });
+        json_result(200,"",$list);
+    }
+
+    // 保证金交易明细
+    public function bond_list()
+    {
+        $page = input("page") ?: 1;
+        $limit = input("limit") ?: 10;
+        $where["user_id"]=$this->user_id;
+        $list = BondFinance::where($where)->order("id desc")->paginate(['list_rows' => $limit, 'page' => $page])->each(function ($item) {
+            if ($item["add_time"]) {
+                $item["add_time"] = date("Y-m-d H:i", $item["add_time"]);
+            }
+            return $item;
+        });
+        json_result(200,"",$list);
+    }
+
+    //佣金记录
+    public function commission_list()
+    {
+        $page = input("page") ?: 1;
+        $limit = input("limit") ?: 10;
+        $where["user_id"]=$this->user_id;
+        $list = CommissionFinance::where($where)->order("id desc")->paginate(['list_rows' => $limit, 'page' => $page])->each(function ($item) {
+            if ($item["add_time"]) {
+                $item["add_time"] = date("Y-m-d H:i", $item["add_time"]);
+            }
+            return $item;
+        });
+        json_result(200,"",$list);
+    }
+
+    // 充值和提现保证金
+    public function bond()
+    {
+        $money=input("money");if (!$money)json_result(400,"请输入提现金额");
+        $type=input("type")?:0;//0 充值 1 提现
+
+        // 查看账号余额
+        if ($this->user->ensure_money<$money){
+            json_result(400,"账号保证金不足");
+        }
+        $add["money"]=$money;
+        $add["type"]=$type;
+        $add["status"]=0;
+        $add["add_time"]=time();
+        $add["user_id"]=$this->user_id;
+        Bond::create($add);
+        json_result(200,"申请成功");
+    }
+
+    // 通证充值
+    public function general()
+    {
+        $money=input("money");
+        $actual_money=input("actual_money");
+        $charge_money=input("charge_money");
+
+        $add["money"]=$money;
+        $add["user_id"]=$this->user_id;
+        $add["actual_money"]=$actual_money;
+        $add["charge_money"]=$charge_money;
+        $add["status"]=0;
+        $add["add_time"]=time();
+        GeneralFinance::create($add);
+        json_result(200,"申请成功");
+    }
+
+    //通证转账
+    public function general_transfer()
+    {
+        $account=input("account");
+        $money=input("money");
+        if ($money>$this->user->money){
+            json_result(400,"账号通证余额不足");
+        }
+        $where["phone|mail"]=$account;
+        $user=User::where($where)->find();
+        if (!$user){
+            json_result(200,"账号不存在");
+        }
+        $add["user_id"]=$this->user_id;
+        $add["puser_id"]=$user->id;
+        $add["account"]=$account;
+        $add["money"]=$money;
+        $add["status"]=0;
+        $add["add_time"]=time();
+        GeneralTransfer::create($add);
+        json_result(200,"申请成功");
+
+    }
+
+
+
+}

+ 57 - 0
php/app/web/model/Back.php

@@ -0,0 +1,57 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 10:27
+ */
+
+namespace app\web\model;
+
+
+use app\common\model\Mining;
+use app\common\model\OrderFrequency;
+use app\web\controller\Base;
+
+class Back extends Base
+{
+ // 交易区块处理
+
+    /** 查看交易区块
+     * @param array $where
+     */
+    public static function back($where=[])
+    {
+        $wheres["status"]=0;
+        $mining=Mining::where($where)->where($wheres)->order("num asc")->select();
+        if ($mining){
+            return $mining->toArray();
+        }
+        return [];
+    }
+
+    // 根据个人信息查看交易区块
+    public static function persion_back($user_id)
+    {
+        $back=self::back();
+        if ($back){
+            foreach ($back as $k=>$v){
+                $where["user_id"]=$user_id;
+                $where["mining_id"]=$v["id"];
+                $order_frequerncy=OrderFrequency::where($where)->find();
+                if ($order_frequerncy){
+                    $back[$k]["buy"]=$order_frequerncy->buy;
+                    $back[$k]["push"]=$order_frequerncy->push;
+                }else{
+                    $back[$k]["buy"]=0;
+                    $back[$k]["push"]=0;
+                }
+            }
+            return $back;
+        }else{
+            return [];
+        }
+    }
+
+
+}

+ 161 - 0
php/app/web/model/Orders.php

@@ -0,0 +1,161 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 10:55
+ */
+
+namespace app\web\model;
+
+
+use app\common\model\Mining;
+use app\common\model\Order;
+use app\common\model\OrderFrequency;
+use app\common\model\UserMessage;
+use Ramsey\Uuid\Uuid;
+
+class Orders
+{
+    // todo 订单
+
+    /** 发布订单列表
+     * @param $type 0买入数据 1卖出数据 2我的购买数据 3我的卖出数据
+     * @param int $user_id 用户id
+     * @param int $status 0 未匹配 1 已匹配或待支付 2已上传数据 3 已完成 4 已撤销 5 交易失败
+     * @param int $page
+     * @param int $limit
+     * @throws \think\db\exception\DbException
+     */
+    public static function order_list($type, $user_id = 0, $status = 0, $page = 1, $limit = 10)
+    {
+        $where = [];
+        switch ($type) {
+            case 0:// 买入数据
+                $where[] = ["type", "=", 0];
+                break;
+            case 1: // 卖出数据
+                $where[] = ["type", "=", 1];
+                break;
+            case 2:// 我的购买数据
+                $where[] = ["buy_user", "=", $user_id];
+                break;
+            case 3:// 我的卖出数据
+                $where[] = ["push", "=", $user_id];
+                break;
+        }
+        if ($status != "") {
+            $where[] = ["status", "=", $status];
+        }
+        $order = Order::where($where)->order("status asc,id asc")->paginate(['list_rows' => $limit, 'page' => $page])->each(function ($item) {
+            if ($item["status"] == 0) {// 未支付结算时间计算
+                if (time() > $item["add_time"]) {
+                    $item["stat_time"] = time() - $item["add_time"];
+                } else {
+                    $item["stat_time"] = 0;
+                }
+            } else {
+                $item["stat_time"] = 0;
+            }
+            // 添加时间
+            $item["add_times"] = date("Y-m-d H:i", $item["add_time"]);
+            if ($item["end_time"]) {
+                $item["end_time"] = date("Y-m-d H:i", $item["end_time"]);
+            }
+            return $item;
+        })->toArray();
+        return $order;
+    }
+
+    /** 买入和卖出
+     * @param $user 用户数据
+     * @param $user_id 用户id
+     * @param int $type 0 卖出 1 买入
+     * @param int $qit_id // 卖出传买入的id
+     * @param int $ming_id // 买入传 区块id
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public static function push_order($user,$user_id,$type=0,$qit_id=0,$ming_id=0)
+    {
+        // todo 未完成卖出订单时间控制,
+
+
+        // 查看用户是否添加收账信息
+        $userMeesage=UserMessage::where(["user_id"=>$user_id])->find();
+        if (!$userMeesage){
+            json_result(400,"请完善收账信息");
+        }
+
+        if ($type==0){// 直接卖出 更新原有数据
+            $where["id"]=$qit_id;
+            $order=Order::where($where)->find();
+            if (!$order){
+                json_result(400,"买入订单id错误");
+            }
+            // 查看矿区
+            $mining=Mining::where(["id"=>$order->mining_id])->find();
+            if ($user->ensure_money<$mining->ensure_money){
+                json_result(400,"保证金不足");
+            }
+            if ($user->push_money<$order->number){
+                json_result(400,"可售额度不足");
+            }
+            // 查看未完成订单
+            $where_status[]=["status","in",[0,1,2]];
+            $where_status[]=["push_user","=",$user_id];
+            $count_order=Order::where($where_status)->count();
+            // 查看该矿区交易次数
+            $order_frequency=OrderFrequency::where(["user_id"=>$user_id,"mining_id"=>$order->mining_id])->find();
+            if ($order_frequency){// 因为后台交易不加次数
+                $count_order=$order_frequency->push+$count_order;
+                if ($count_order==5){
+                    json_result(400,"每个区块只能卖出5次");
+                }
+            }
+            $update["push_user"]=$user_id;
+            $update["status"]=1;
+            $update["stat_time"]=time()+4*3600;
+            Order::where($where)->update($update);
+
+        }else{// 下单买入
+            $where_ming["id"]=$ming_id;
+            $mining=Mining::where($where_ming)->find();
+            if (!$mining){
+                json_result(400,"交易区块id错误");
+            }
+            // 查看未完成订单
+            $where_status[]=["status","in",[0,1,2]];
+            $where_status[]=["buy_user","=",$user_id];
+            $count_order=Order::where($where_status)->count();
+            // 查看该矿区交易次数
+            $order_frequency=OrderFrequency::where(["user_id"=>$user_id,"mining_id"=>$ming_id])->find();
+            if ($order_frequency){// 因为后台交易不加次数
+                $count_order=$order_frequency->buy+$count_order;
+                if ($count_order==4){
+                    json_result(400,"每个区块只能买入4次");
+                }
+            }
+            $uuid = Uuid::uuid4(time());
+            $order =  $uuid->getHex();
+            $add["type"]=0;
+            $add["buy_user"]='';
+            $add["push_user"]=$user_id;
+            $add["number"]=$mining["num"];
+            $add["enlarge_quota"]=$mining["enlarge_quota"];
+            $add["order"]=$order;
+            $add["mining_id"]=$ming_id;
+            $add["status"]=0;
+            $add["add_time"]=time();
+            $add["breach_money"]=$mining["breach_money"];
+            $add["out_game"]=$mining["out_game"];
+            Order::create($add);
+
+        }
+        json_result(200,"操作成功");
+    }
+
+
+
+}

+ 59 - 0
php/app/web/model/Tripartite.php

@@ -0,0 +1,59 @@
+<?php
+/**
+ *
+ * User: anyluck
+ * Date: 2020/6/3
+ * Time: 9:35
+ */
+
+namespace app\web\model;
+
+
+use app\common\model\PhoneCode;
+
+class Tripartite
+{
+ // todo 第三方
+
+    // 获取验证码
+    public static function push_code($phone,$type=0)
+    {
+        $where["phone"]=$phone;
+        $phone_code=PhoneCode::where($where)->order("id desc")->find();
+        if ($phone_code->add_time+10*60<time()){
+            json_result(400,"验证码已失效,请重新获取");
+        }
+        return $phone_code->code;
+    }
+
+    // 发送验证码
+    public static function send_code($phone,$type=0)
+    {
+        $code= str_pad(mt_rand(111111, 999999), 6, "0", STR_PAD_BOTH);;
+            $add["phone"]=$phone;
+            $add["type"]=$type;
+            $add["code"]=$code;
+            $add["add_time"]=time();
+            PhoneCode::create($add);
+
+            if ($type==0){// 手机验证码
+                    self::send_phone($phone);
+            }else{// 邮件
+                self::send_mail($phone);
+            }
+        return $code;
+    }
+
+    // 发送手机号码
+    public static function send_phone($phone)
+    {
+
+    }
+
+    // 发送邮件
+    public static function send_mail($mail)
+    {
+
+    }
+
+}

+ 9 - 9
php/public/static/plugins/layui/extend/echarts.js

@@ -19671,7 +19671,7 @@
     }
 
     /**
-     * Order intervals asc, and split them when overlap.
+     * Orders intervals asc, and split them when overlap.
      * expect(numberUtil.reformIntervals([
      *     {interval: [18, 62], close: [1, 1]},
      *     {interval: [-Infinity, -70], close: [0, 0]},
@@ -93801,12 +93801,12 @@
         type: 'visualMap.piecewise',
 
         /**
-         * Order Rule:
+         * Orders Rule:
          *
          * option.categories / option.pieces / option.text / option.selected:
          *     If !option.inverse,
-         *     Order when vertical: ['top', ..., 'bottom'].
-         *     Order when horizontal: ['left', ..., 'right'].
+         *     Orders when vertical: ['top', ..., 'bottom'].
+         *     Orders when horizontal: ['left', ..., 'right'].
          *     If option.inverse, the meaning of
          *     the order should be reversed.
          *
@@ -93842,9 +93842,9 @@
                                         // {min, max, lt, gt, lte, gte, value,
                                         // color, colorSaturation, colorAlpha, opacity,
                                         // symbol, symbolSize}, which customize the range or visual
-                                        // coding of the certain piece. Besides, see "Order Rule".
+                                        // coding of the certain piece. Besides, see "Orders Rule".
             categories: null,           // category names, like: ['some1', 'some2', 'some3'].
-                                        // Attr min/max are ignored when categories set. See "Order Rule"
+                                        // Attr min/max are ignored when categories set. See "Orders Rule"
             splitNumber: 5,             // If set to 5, auto split five pieces equally.
                                         // If set to 0 and component type not set, component type will be
                                         // determined as "continuous". (It is less reasonable but for ec2
@@ -94220,7 +94220,7 @@
                 });
             }, this);
 
-            // See "Order Rule".
+            // See "Orders Rule".
             normalizeReverse(thisOption, this._pieceList);
         },
 
@@ -94289,7 +94289,7 @@
 
             }, this);
 
-            // See "Order Rule".
+            // See "Orders Rule".
             normalizeReverse(thisOption, pieceList);
             // Only pieces
             reformIntervals(pieceList);
@@ -94493,7 +94493,7 @@
             var orient = visualMapModel.get('orient');
             var inverse = visualMapModel.get('inverse');
 
-            // Order of model pieceList is always [low, ..., high]
+            // Orders of model pieceList is always [low, ..., high]
             if (orient === 'horizontal' ? inverse : !inverse) {
                 viewPieceList.reverse();
             }

+ 1 - 1
php/public/static/plugins/layui/extend/echarts/echarts.js

@@ -18688,7 +18688,7 @@
         return e ? v + e * (ascArr[h] - v) : v;
     }
     /**
-     * Order intervals asc, and split them when overlap.
+     * Orders intervals asc, and split them when overlap.
      * expect(numberUtil.reformIntervals([
      *     {interval: [18, 62], close: [1, 1]},
      *     {interval: [-Infinity, -70], close: [0, 0]},

+ 4 - 4
php/public/static/plugins/layui/extend/layui_exts/excel.js

@@ -11718,8 +11718,8 @@ function make_xlsx_lib(XLSX){
     function check_shifts(blob, mver) {
       var shift = 0x09;
 
-      // Byte Order
-      //blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff
+      // Byte Orders
+      //blob.chk('feff', 'Byte Orders: '); // note: some writers put 0xffff
       blob.l += 2;
 
       // Sector Shift
@@ -15559,7 +15559,7 @@ function make_xlsx_lib(XLSX){
     prep_blob(blob, 0);
 
     var NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;
-    blob.chk('feff', 'Byte Order: ');
+    blob.chk('feff', 'Byte Orders: ');
 
     /*var vers = */blob.read_shift(2); // TODO: check version
     var SystemIdentifier = blob.read_shift(4);
@@ -26183,7 +26183,7 @@ function write_cc(data, name:string, opts) {
               case 'Max': break;
               case 'Sort': break;
               case 'Descending': break;
-              case 'Order': break;
+              case 'Orders': break;
               case 'CaseSensitive': break;
               case 'Value': break;
               case 'ErrorStyle': break;

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
php/public/static/plugins/layui/extend/layui_exts/excel.min.js


+ 2 - 2
php/public/static/plugins/ueditor/lang/en/en.js

@@ -178,9 +178,9 @@ UE.I18N['en'] = {
         'enablesort':'Sorting Enable',
         'disablesort':'Sorting Disable',
         'reversecurrent':'Reverse current',
-        'orderbyasc':'Order By ASCII',
+        'orderbyasc':'Orders By ASCII',
         'reversebyasc':'Reverse By ASCII',
-        'orderbynum':'Order By Num',
+        'orderbynum':'Orders By Num',
         'reversebynum':'Reverse By Num',
         'borderbk':'Border shading',
         'setcolor':'interlaced color',

+ 1 - 1
php/public/static/plugins/ueditor/third-party/highcharts/highcharts-more.src.js

@@ -2004,7 +2004,7 @@ seriesProto.toXY = function (point) {
 };
 
 /** 
- * Order the tooltip points to get the mouse capture ranges correct. #1915. 
+ * Orders the tooltip points to get the mouse capture ranges correct. #1915. 
  */
 seriesProto.orderTooltipPoints = function (points) {
 	if (this.chart.polar) {

BIN=BIN
~$BTS需求.docx