composer.json文件——autoload选项——psr-4下增加模块名称,然后执行composer update命令。
- "autoload": {
- "psr-4": {
- "app\\": "app/",
- "api\\": "api/",
- "libs\\": "libs/",
- "init\\":"init/"
- }
- }

原因:这是因为runtime下没有模块配置缓存的原因
解决方法:左侧菜单找到拓展中心->应用列表,随便打开一下某个模块的配置按钮更新缓存即可解决
解决方法:api.php入口文件引入databaseInit类,初始化数据库配置项,如下代码:
- \epii\server\App::getInstance()->init(\init\example::class)->setBaseNameSpace("api")
- ->init(\libs\init\databaseInit::class)
- ->run();
databseInit类:
-
-
- namespace libs\init;
-
-
- use epii\orm\Db;
- use epii\server\i\IRun;
- use epii\server\Response;
- use epii\server\Tools;
-
- class databaseInit implements IRun
- {
- public function run()
- {
- if (file_exists($db_config = Tools::getVendorDir() . "/../config/db.conf.php")) {
-
- $config = include $db_config;
- $config["schema_path"] = Tools::getRuntimeDirectory() . "/cache/filed_cache/";
- Db::setConfig($config);
- } else {
- Response::error($db_config . " is not find!");
- }
- }
- }
composer安装storage_php_sdk:composer require wslibs/storage_php_sdk

模块入口文件引入配置文件
- \epii\admin\center\App::getInstance()
- ->init(\init\example::class)->init(\libs\init\uploadInit::class)
- ->setBaseNameSpace("app")->run();
配置文件类:
-
- namespace libs\init;
-
- use epii\server\i\IRun;
- use wslibs\storage_php_sdk\StorageManager;
-
- class uploadInit implements IRun
- {
- public function run()
- {
- StorageManager::storage_init(100,"d65fd571714d7111111111115");
- }
- }
前端正常使用上传组件即可
报错如图:

解决方法:
- 将上传到云端存储的url改为https
- 修改路径:verder>wslibs>storage_php_sdk>src>StorageManager.php
- 如图:

问题如图:

解决方法:
- 修改add_edit.php 文件中的upload_success方法,在类选择器中增加img元素选择器
- 路径:vendor>kjx>ad>view>adList>add_edit.php
代码改为:
-
- function upload_success() {
- var src=$('.epii-upload-file-icon>img').attr('src');
- $('input[name="img_url_show"]').val(src)
- }
-
-
- 参考目录5和wangEditor文档v4
- wangEditor文档v4地址:自己实现上传功能 · wangEditor 用户文档
前端js代码:
- //自定义上传图片
- editor.config.customUploadImg = function (resultFiles, insertImgFn) {
- $.ajax({
- url: '?app=uploadApi@upload&_upload_yun=1',
- type: 'post',
- dataType: 'json',
- success: function (res) {
- console.log("看看结果",res);
- var formData = new FormData();
- //formData.append("token", res.data.token);
- formData.append("task_id", res.data.task_id);
- // var files = resultFiles[0];
- formData.append("file", resultFiles[0]);
- // for(i=0;i
- // formData.append("file["+i+"]", files[i]);
- // }
- var url='http://file.wszx.cc/index.php/storage/index/token/'+res.data.token
- $.ajax({
- url: url,
- //url: 'http://test.storage.com/index.php/storage/index',
- dataType: 'json',
- type: 'POST',
- data: formData,
- processData: false, // 使数据不做处理
- contentType: false, // 不要设置Content-Type请求头
- success: function (data) {
- console.log(data);
- insertImgFn(data.url);
- },
- error: function (response) {
- console.log(response);
- }
- });
-
- }
- })
- };
解决方法:
- 将上传url改为https
- 路径:view>news_articles>add.php或者 vender>wslibs>news>view>articles>add.php找到自定义上传图片
- 如图

解决办法:
- 在article控制器中搜索类属性【static_url_pre】,这是控制静态文件路径的父类属性
- 在article类中重写该属性
- private $static_url_pre;
-
- public function __construct(){
- $this->static_url_pre = Tools::get_web_root()."addons_static/";
- }
重点:data-on-change 方法对应请求状态修改方法
例如:
"status" data-formatter="epiiFormatter.switch" data-on-change-url="?app=bb_type@status&id={id}">状态
解决方法:
- vender--->composer--->platform_check.php
- 将下图中注释的那张注释掉

- 将该域名配置到项目目录下config.josn中的login_success_url字段,没有文件自己创建文件
config.json文件内容:
{"login_success_url":"https://cabb.wszx.cc:8443/"}
入口文件中引入初始化文件:
\epii\admin\center\ProjectConfig::_setLoginPageConfig(new \libs\init\LoginPageConfigInit());
入口文件内容:
- /**
- * Created by PhpStorm.
- * User: mrren
- * Date: 2019/1/15
- * Time: 1:05 PM
- */
-
- namespace libs\init;
-
- use epii\admin\center\config\LoginPageConfig;
- use epii\admin\center\config\Settings;
- use epii\admin\center\libs\Tools;
- use epii\server\Args;
-
- class LoginPageConfigInit extends LoginPageConfig
- {
-
- public function getConfigs(): array
- {
- //这里修改的登录跳转
- $successurl = Args::configVal("login_success_url");
- $config = ["success_url" => $successurl?$successurl:Tools::get_web_root()];
- $allset = Settings::get();
- foreach ($allset as $key => $value) {
- if(stripos($key,"app.login.")===0){
- $config[str_replace("app.login.","",$key)] = $value;
- }
- }
- if(isset($config["bg_imgs"]) && $config["bg_imgs"]){
- $config["bg_imgs"] = explode(",", $config["bg_imgs"]);
- }
-
- return $config;
- }
- }