1, идеи
Мы взяли на себя общую структуру нового управления освещением, быстро ознакомиться с соответствующей конфигурацией способствует быстрому развитию
2, каталог анализ
![5526061-db667a9fa50879a9.png](https://upload-images.jianshu.io/upload_images/5526061-db667a9fa50879a9.png)
H5 для того, чтобы загрузить
project.json конфигурации приложения
//原生项目
{ "type": "vue",
"plugins": [
"jsnative"
],
"env": {
"product": {
"appBaseUrl": "xxxx/appServer/" //默认地址
}
}
}
Конфигурация адреса сети
appBaseUrl
H5 старт
index.html точка входа для запуска приложений
<html>
<head>
<title>和信基金</title>
<style/>
<link rel="stylesheet" href="./css/web.css">
</head>
<body>
<div class="wxmask"></div>
<div id="main">
<view id="index" /> //页面挂载
<view id="login" parent="index" async="true" />
<view id="home" home="true" parent="index" async="true"/>
</div>
<script src="app.js"></script>
</body>
<html>
Анализ код
1, необходимо написать страницу в главной регистрации
зрения страницы каталога выгрузки , соответствующем
2, глобальный CSS CSS / web.css
. 3, основной app.js входа приложения
app.js глобальной универсальной логики приложений главный вход
import App from "light"
import service from '@/service/plugin';
App.Vue.use(service);
App.filter("start",function (next) {
//启动拦截器
App.log("app started...");
// 加载配置文件
service.load('./static/config.json').then(next)
}).filter("route",function (from, to, next) {
//视图拦截器
App.log(`view changed:${from.path}--${to.path}`);
next();
}).start();
1, приложение перед началом перехвата
запуска --- нагрузки (./static/config.json) выполнен с возможностью загрузки данных о
маршруте --- журнал (вид изменен: { from.path} - {to.path}); Печать страницы Перейти
plugin.load -> config.js / Config -> CONFIG-generated.js
Процесс загрузки конфигурации конфигурации
plugin.load (./ статическая / config.json)
config.js код
import configDynamic from './config-generated';
for (var key in configDynamic) {
config[key] = configDynamic[key];
}
export default config;
plugin.js код
import Light from "light"
import Config from '@/config';
load (url, timeout = 1000) {
return new Promise((resolve) => {
Light.fetch({
method: 'GET',
url: url,
type: 'json',
timeout: timeout
}, function (res) {
let config = res.ok && res.data ? res.data : {};
// 赋值到原配置文件,相同字段会被覆盖
for (var key in config) {
if (config[key]) {
Config[key] = config[key];
}
}
resolve(config);
// 加载配置文件失败
})
})
}
1, config.js файл загрузить конфигурационный файл-generated.js с параметрами расширения2、json 赋值到原配置文件,相同字段会被覆盖 最终以“./static/config.json”为准
Монтаж Java Native код
. GmuManager.getInstance () openGmu (SplashNetActivity.this " ГМУ: // главный ", NULL, NULL);
. GmuManager.getInstance () openGmu (SplashNetActivity.this " ГМУ: // войти ", NULL, NULL);
Вид / index.vue
init($);
Перейти на главную страницу