├── .example.env ├── .gitignore ├── .travis.yml ├── Database.sql ├── LICENSE ├── README.md ├── app ├── AppService.php ├── ExceptionHandle.php ├── Request.php ├── api │ ├── BaseController.php │ ├── controller │ │ ├── Activity.php │ │ ├── Attach.php │ │ ├── Badge.php │ │ ├── Error.php │ │ ├── Index.php │ │ ├── Message.php │ │ ├── Room.php │ │ ├── Sms.php │ │ ├── Song.php │ │ ├── System.php │ │ ├── User.php │ │ └── Weapp.php │ └── view │ │ ├── activity │ │ └── index.html │ │ ├── badge │ │ ├── bg.html │ │ └── player.html │ │ └── song │ │ └── search_chrome.html ├── command │ ├── BaseCommand.php │ ├── Download.php │ └── Song.php ├── common.php ├── event.php ├── index │ ├── BaseController.php │ └── controller │ │ ├── Error.php │ │ └── Index.php ├── middleware.php ├── model │ ├── Access.php │ ├── App.php │ ├── Attach.php │ ├── BaseModel.php │ ├── Conf.php │ ├── Keywords.php │ ├── Message.php │ ├── Room.php │ ├── Sms.php │ ├── Song.php │ ├── User.php │ └── Weapp.php ├── provider.php └── service.php ├── composer.json ├── config ├── app.php ├── cache.php ├── console.php ├── cookie.php ├── database.php ├── filesystem.php ├── lang.php ├── log.php ├── middleware.php ├── route.php ├── session.php ├── trace.php └── view.php ├── extend └── .gitignore ├── public ├── .htaccess ├── chrome.xml ├── favicon.ico ├── index.html ├── index.php ├── new │ ├── favicon.ico │ ├── images │ │ ├── bg.jpg │ │ ├── bg_dark.jpg │ │ ├── bg_light.jpg │ │ ├── button_emoji.png │ │ ├── button_image.png │ │ ├── emoji │ │ │ ├── 1.png │ │ │ ├── 10.png │ │ │ ├── 11.png │ │ │ ├── 12.png │ │ │ ├── 13.png │ │ │ ├── 14.png │ │ │ ├── 15.png │ │ │ ├── 16.png │ │ │ ├── 17.png │ │ │ ├── 18.png │ │ │ ├── 19.png │ │ │ ├── 2.png │ │ │ ├── 20.png │ │ │ ├── 21.png │ │ │ ├── 22.png │ │ │ ├── 23.png │ │ │ ├── 24.png │ │ │ ├── 25.png │ │ │ ├── 26.png │ │ │ ├── 27.png │ │ │ ├── 28.png │ │ │ ├── 29.png │ │ │ ├── 3.png │ │ │ ├── 30.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ └── 9.png │ │ ├── error.jpg │ │ ├── gh_42bdbe5c9412_1280.jpg │ │ ├── linus.jpg │ │ ├── loading.gif │ │ ├── loading.png │ │ ├── logo.png │ │ ├── menubar_mysong.png │ │ ├── menubar_pickedsong.png │ │ ├── menubar_picksong.png │ │ ├── menubar_selectroom.png │ │ ├── menubar_setting.png │ │ ├── menubar_upload.png │ │ ├── nohead.jpg │ │ ├── player_bar.png │ │ ├── player_bg.png │ │ ├── qrcode.jpg │ │ ├── snow1.png │ │ └── snow2.png │ └── mp3 │ │ ├── ci.m4a │ │ ├── da.m4a │ │ ├── dingdong.mp3 │ │ ├── dong.m4a │ │ └── message.mp3 ├── router.php ├── sdk │ └── bbbug.js └── uploads │ └── .gitignore ├── route └── app.php ├── runtime └── .gitignore ├── think └── websocket_bbbug_chat.js /.example.env: -------------------------------------------------------------------------------- 1 | APP_DEBUG = false 2 | SYSTEM_SALT= BBBUG_COM 3 | 4 | [APP] 5 | DEFAULT_TIMEZONE = Asia/Chongqing 6 | 7 | [DATABASE] 8 | TYPE = mysql 9 | HOSTNAME = 127.0.0.1 10 | DATABASE = BBBUG_COM 11 | USERNAME = root 12 | PASSWORD = 123456 13 | HOSTPORT = 3306 14 | CHARSET = utf8 15 | DEBUG = false 16 | PREFIX = sa_ 17 | 18 | [LANG] 19 | default_lang = zh-cn -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /.vscode 3 | /vendor 4 | /public/install 5 | /public/music 6 | /public/weapp_code 7 | *.log 8 | .env 9 | composer.lock 10 | .DS_Store 11 | /app/api/controller/Test.php 12 | /app/command/Test.php 13 | /app/api/view/test -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: php 4 | 5 | branches: 6 | only: 7 | - stable 8 | 9 | cache: 10 | directories: 11 | - $HOME/.composer/cache 12 | 13 | before_install: 14 | - composer self-update 15 | 16 | install: 17 | - composer install --no-dev --no-interaction --ignore-platform-reqs 18 | - zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Core.zip . 19 | - composer require --update-no-dev --no-interaction "topthink/think-image:^1.0" 20 | - composer require --update-no-dev --no-interaction "topthink/think-migration:^1.0" 21 | - composer require --update-no-dev --no-interaction "topthink/think-captcha:^1.0" 22 | - composer require --update-no-dev --no-interaction "topthink/think-mongo:^1.0" 23 | - composer require --update-no-dev --no-interaction "topthink/think-worker:^1.0" 24 | - composer require --update-no-dev --no-interaction "topthink/think-helper:^1.0" 25 | - composer require --update-no-dev --no-interaction "topthink/think-queue:^1.0" 26 | - composer require --update-no-dev --no-interaction "topthink/think-angular:^1.0" 27 | - composer require --dev --update-no-dev --no-interaction "topthink/think-testing:^1.0" 28 | - zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Full.zip . 29 | 30 | script: 31 | - php think unit 32 | 33 | deploy: 34 | provider: releases 35 | api_key: 36 | secure: TSF6bnl2JYN72UQOORAJYL+CqIryP2gHVKt6grfveQ7d9rleAEoxlq6PWxbvTI4jZ5nrPpUcBUpWIJHNgVcs+bzLFtyh5THaLqm39uCgBbrW7M8rI26L8sBh/6nsdtGgdeQrO/cLu31QoTzbwuz1WfAVoCdCkOSZeXyT/CclH99qV6RYyQYqaD2wpRjrhA5O4fSsEkiPVuk0GaOogFlrQHx+C+lHnf6pa1KxEoN1A0UxxVfGX6K4y5g4WQDO5zT4bLeubkWOXK0G51XSvACDOZVIyLdjApaOFTwamPcD3S1tfvuxRWWvsCD5ljFvb2kSmx5BIBNwN80MzuBmrGIC27XLGOxyMerwKxB6DskNUO9PflKHDPI61DRq0FTy1fv70SFMSiAtUv9aJRT41NQh9iJJ0vC8dl+xcxrWIjU1GG6+l/ZcRqVx9V1VuGQsLKndGhja7SQ+X1slHl76fRq223sMOql7MFCd0vvvxVQ2V39CcFKao/LB1aPH3VhODDEyxwx6aXoTznvC/QPepgWsHOWQzKj9ftsgDbsNiyFlXL4cu8DWUty6rQy8zT2b4O8b1xjcwSUCsy+auEjBamzQkMJFNlZAIUrukL/NbUhQU37TAbwsFyz7X0E/u/VMle/nBCNAzgkMwAUjiHM6FqrKKBRWFbPrSIixjfjkCnrMEPw= 37 | file: 38 | - ThinkPHP_Core.zip 39 | - ThinkPHP_Full.zip 40 | skip_cleanup: true 41 | on: 42 | tags: true 43 | -------------------------------------------------------------------------------- /Database.sql: -------------------------------------------------------------------------------- 1 | -- phpMyAdmin SQL Dump 2 | -- version 4.6.6 3 | -- https://www.phpmyadmin.net/ 4 | -- 5 | -- Host: 127.0.0.1:3306 6 | -- Generation Time: 2021-06-30 20:32:25 7 | -- 服务器版本: 5.6.48-log 8 | -- PHP Version: 7.1.32 9 | 10 | SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 11 | SET time_zone = "+00:00"; 12 | 13 | 14 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 15 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; 16 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; 17 | /*!40101 SET NAMES utf8mb4 */; 18 | 19 | -- 20 | -- Database: `BBBBUG_Export` 21 | -- 22 | 23 | -- -------------------------------------------------------- 24 | 25 | -- 26 | -- 表的结构 `sa_access` 27 | -- 28 | 29 | CREATE TABLE `sa_access` ( 30 | `access_id` int(11) NOT NULL, 31 | `access_user` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID', 32 | `access_token` varchar(255) NOT NULL DEFAULT '' COMMENT 'AccessToken', 33 | `access_plat` varchar(255) NOT NULL DEFAULT 'all' COMMENT '登录平台', 34 | `access_ip` varchar(255) NOT NULL DEFAULT '' COMMENT 'IP', 35 | `access_status` int(11) NOT NULL DEFAULT '0' COMMENT '状态', 36 | `access_createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', 37 | `access_updatetime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间' 38 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='授权信息表'; 39 | 40 | -- -------------------------------------------------------- 41 | 42 | -- 43 | -- 表的结构 `sa_app` 44 | -- 45 | 46 | CREATE TABLE `sa_app` ( 47 | `app_id` int(11) NOT NULL, 48 | `app_key` varchar(255) NOT NULL DEFAULT '' COMMENT 'key', 49 | `app_name` varchar(255) NOT NULL DEFAULT '' COMMENT 'name', 50 | `app_url` varchar(255) NOT NULL DEFAULT '' COMMENT 'url', 51 | `app_user` int(11) NOT NULL DEFAULT '0' COMMENT 'user', 52 | `app_scope` varchar(255) NOT NULL DEFAULT '' COMMENT 'scope', 53 | `app_status` int(11) NOT NULL DEFAULT '0' COMMENT '状态', 54 | `app_createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', 55 | `app_updatetime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间' 56 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用表'; 57 | 58 | -- 59 | -- 转存表中的数据 `sa_app` 60 | -- 61 | 62 | INSERT INTO `sa_app` (`app_id`, `app_key`, `app_name`, `app_url`, `app_user`, `app_scope`, `app_status`, `app_createtime`, `app_updatetime`) VALUES 63 | (1, '请重置后对接', 'BBBUG', 'https://bbbug.com', 1, '', 0, 0, 0), 64 | (1001, '请重置后对接', 'Gitee', 'https://gitee.com/#extra#', 1, '', 0, 0, 0), 65 | (1002, '请重置后对接', 'OSChina', 'https://my.oschina.net/#extra#', 1, '', 0, 0, 0), 66 | (1003, '请重置后对接', 'QQ', 'https://hamm.cn', 1, '', 0, 0, 0), 67 | (1004, '请重置后对接', '钉钉', 'https://hamm.cn', 1, '', 0, 0, 0), 68 | (1005, '请重置后对接', '微信小程序', 'https://hamm.cn', 1, '', 0, 0, 0); 69 | 70 | -- -------------------------------------------------------- 71 | 72 | -- 73 | -- 表的结构 `sa_attach` 74 | -- 75 | 76 | CREATE TABLE `sa_attach` ( 77 | `attach_id` int(11) NOT NULL, 78 | `attach_path` varchar(255) NOT NULL DEFAULT '' COMMENT '路径', 79 | `attach_used` int(11) NOT NULL DEFAULT '0', 80 | `attach_thumb` varchar(255) NOT NULL DEFAULT '', 81 | `attach_type` varchar(255) NOT NULL DEFAULT '' COMMENT '类型', 82 | `attach_sha` varchar(255) NOT NULL DEFAULT '', 83 | `attach_size` int(11) NOT NULL DEFAULT '0' COMMENT '大小', 84 | `attach_user` int(11) NOT NULL DEFAULT '0' COMMENT '用户', 85 | `attach_status` int(11) NOT NULL DEFAULT '0' COMMENT '状态', 86 | `attach_createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', 87 | `attach_updatetime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间' 88 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='附件表'; 89 | 90 | -- -------------------------------------------------------- 91 | 92 | -- 93 | -- 表的结构 `sa_conf` 94 | -- 95 | 96 | CREATE TABLE `sa_conf` ( 97 | `conf_id` int(11) NOT NULL, 98 | `conf_key` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '参数名', 99 | `conf_value` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '参数值', 100 | `conf_desc` varchar(255) CHARACTER SET utf8 DEFAULT '' COMMENT '参数描述', 101 | `conf_int` int(11) NOT NULL DEFAULT '0' COMMENT '参数到期', 102 | `conf_status` int(11) NOT NULL DEFAULT '0', 103 | `conf_createtime` int(11) NOT NULL DEFAULT '0', 104 | `conf_updatetime` int(11) NOT NULL DEFAULT '0' 105 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置表'; 106 | 107 | -- 108 | -- 转存表中的数据 `sa_conf` 109 | -- 110 | 111 | INSERT INTO `sa_conf` (`conf_id`, `conf_key`, `conf_value`, `conf_desc`, `conf_int`, `conf_status`, `conf_createtime`, `conf_updatetime`) VALUES 112 | (11, 'weapp_appid', '', '小程序APPID', 0, 0, 0, 0), 113 | (12, 'weapp_appkey', '', '小程序SECRET', 0, 0, 0, 0), 114 | (39, 'upload_max_file', '2097152', '最大文件上传限制', 0, 0, 0, 0), 115 | (40, 'upload_file_type', 'jpg,png,gif,jpeg,bmp,txt,pdf,mp3,mp4,amr,m4a,xls,xlsx,ppt,pptx,doc,docx', '允许文件上传类型', 0, 0, 0, 0), 116 | (41, 'upload_max_image', '2097152', '最大图片上传限制', 0, 0, 0, 0), 117 | (42, 'upload_image_type', 'jpg,png,gif,jpeg,bmp', '允许上传图片类型', 0, 0, 0, 0), 118 | (47, 'default_group', '5', '注册默认用户组', 0, 0, 0, 1598539052), 119 | (48, 'email_account', 'admin@mail.bbbug.com', '邮箱账号', 0, 0, 0, 1598539052), 120 | (49, 'email_password', '123456', '邮箱密码', 0, 0, 0, 1598539052), 121 | (50, 'email_host', 'smtp.exmail.qq.com', '邮箱服务器', 0, 0, 0, 1598539052), 122 | (51, 'email_remark', 'BBBUG TEAM', '邮箱签名', 0, 0, 0, 1598539052), 123 | (52, 'email_port', '465', '邮箱端口号', 0, 0, 0, 1598539052), 124 | (53, 'websocket_http', 'http://127.0.0.1:10012/', 'WebsocketHTTP请求地址', 0, 0, 0, 1598539052), 125 | (54, 'websocket_token', 'wss_bbbug_com', 'Websocket验证串', 0, 0, 0, 1598539052), 126 | (55, 'api_guest_token', '45af3cfe44942c956e026d5fd58f0feffbd3a237', '临时用户access_token', 0, 0, 0, 1598539052), 127 | (56, 'frontend_url', '', '前端地址', 0, 0, 0, 0), 128 | (57, 'api_url', '', 'API地址', 0, 0, 0, 0), 129 | (58, 'tencent_ai_appid', '', '腾讯AI的APPID', 0, 0, 0, 1598539052), 130 | (59, 'tencent_ai_appkey', '', '腾讯AI的APPKEY', 0, 0, 0, 1598539052), 131 | (60, 'static_url', '', 'Static文件地址', 0, 0, 0, 0); 132 | 133 | -- -------------------------------------------------------- 134 | 135 | -- 136 | -- 表的结构 `sa_keywords` 137 | -- 138 | 139 | CREATE TABLE `sa_keywords` ( 140 | `keywords_id` int(11) NOT NULL, 141 | `keywords_source` varchar(255) NOT NULL DEFAULT '' COMMENT '原串', 142 | `keywords_target` varchar(255) NOT NULL DEFAULT '' COMMENT '替换', 143 | `keywords_all` int(11) NOT NULL DEFAULT '0' COMMENT '全替换', 144 | `keywords_status` int(11) NOT NULL DEFAULT '0' COMMENT '状态', 145 | `keywords_createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', 146 | `keywords_updatetime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间' 147 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='关键词表'; 148 | 149 | -- 150 | -- 转存表中的数据 `sa_keywords` 151 | -- 152 | 153 | INSERT INTO `sa_keywords` (`keywords_id`, `keywords_source`, `keywords_target`, `keywords_all`, `keywords_status`, `keywords_createtime`, `keywords_updatetime`) VALUES 154 | (3, ' 130 | 131 | 132 |
133 |