| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- window.ss = {
- dom: {
- TYPE: {
- INPUT: 1,
- OBJP: 2,
- DATE: 3,
- TIME: 4,
- DATETIME: 5,
- ONOFFBTN: 6,
- PIC: 7,
- HTML: 9,
- CCPSINGLE: 51, //只对应一个对象属性的,带编码规则的级联菜单,如“出生地区码”(对应省、市、区)
- CCPMUTIPLE: 52, //对应多个对象属性的级联菜单
- SEARCHINPUT: 31, //查询页用到的文本框
- SEARCHDATE: 33, //查询页用到的日期选择
- SEARCHTIME: 34, //查询页用到的时间选择
- SEARCHDATETIME: 35, //查询页用到的日期时间选择
- },
- },
- config: {},
- };
- window.SS = window.ss; //最终都用小写ss,暂时先兼容大写SS
- (function () {
- // ========== 移动端适配:设置根元素font-size ==========
- // 设计稿宽度430px,分成10份,1rem = 43px(在430px屏幕上)
- function setRootFontSize() {
- const designWidth = 430; // 设计稿宽度
- const rootValue = designWidth / 10; // 43px
- const clientWidth = document.documentElement.clientWidth || window.innerWidth;
- // 计算当前屏幕对应的根font-size
- const rootFontSize = (clientWidth / designWidth) * rootValue;
- // 设置根元素font-size
- document.documentElement.style.fontSize = rootFontSize + 'px';
- // 调试信息(可选)
- // console.log(`屏幕宽度: ${clientWidth}px, 根font-size: ${rootFontSize}px, 1rem = ${rootFontSize}px`);
- }
- // 立即执行
- setRootFontSize();
- // 监听窗口大小变化
- window.addEventListener('resize', setRootFontSize);
- // 监听屏幕旋转
- window.addEventListener('orientationchange', setRootFontSize);
- // ========== 移动端适配结束 ==========
- const _deps = [
- ['script', '/js/mp_jq/jquery1.11.3.min.js', ''],
- ['script', '/js/mp_vue/vue.global.js', ''],
- ['script', '/js/mp_axios/axios.min.js', ''],
- ['script', '/js/mp_jweixin/jweixin-1.6.0.js', ''],
- ['script', '/js/mp_common/common.js', ''],
- ['script', '/js/mp_toast/toast.js', ''],
- ['script', '/js/mp_request/request.js', ''],
- ['script', '/js/mp_user_api/user-api.js', ''],
- ['script', '/js/mp_validator/validator-rules.js', ''],
- ['script', '/js/mp_validation/validation-manager.js', ''],
- ['script', '/js/mp_ss_components/mp-ss-components.js', ''],
- ['script', '/js/mp_bridge/bridge.js', ''],
- ['script', '/js/mp_utils/field-formatter.js', ''],
- ['script', '/js/mp_utils/navigation.js', ''],
- // 引入 Vant UI 库
- ['script', '/js/mp_vant/vant.min.js'],
- ['style', '/skin/mp_easy/vant.min.css'],
- // 引入 Day.js 日期处理库
- ['script', '/js/mp_dayjs/dayjs.min.js'],
- // 引入 Cropper.js 图片裁剪库
- ['script', '/js/mp_cropper/cropper.min.js'],
- ['style', '/skin/mp_easy/cropper.min.css'],
- // ['style', '/skin/mp_easy/base.css'],
- ['style', '/skin/mp_easy/base.css'],
- ['style', '/skin/mp_easy/iconfont.css'],
- ];
- function loadResource(type, src, module) {
- return new Promise((resolve, reject) => {
- const elem = document.createElement(
- type === 'script' ? 'script' : 'link'
- );
- if (type === 'script') {
- elem.src = src;
- elem.type = module ? 'module' : '';
- } else {
- elem.rel = 'stylesheet';
- elem.href = src;
- }
- elem.onload = () => {
- if (type === 'script') {
- // elem.remove();
- }
- resolve();
- };
- elem.onerror = reject;
- document.head.appendChild(elem);
- });
- }
- // 等待所有依赖加载完成后再执行回调
- window.SS.ready = function (callback) {
- if (window.SS && window.SS.dom && window.SS.dom.initializeFormApp) {
- callback();
- } else {
- document.addEventListener('SSReady', () => {
- // 确保组件初始化完成后再执行回调
- if (
- window.SS &&
- window.SS.dom &&
- window.SS.dom.initializeFormApp
- ) {
- callback();
- }
- });
- }
- };
- async function loadAll() {
- // 然后加载资源
- for (const [type, src, module] of _deps) {
- await loadResource(type, src, module);
- if (src.includes('ace.js')) {
- window.ace.require('ace/config').set('workerPath', null);
- }
- }
- document.dispatchEvent(new Event('SSReady'));
- }
- // 当 DOM 加载完成后执行清理和加载
- if (document.readyState === 'loading') {
- document.addEventListener('DOMContentLoaded', loadAll);
- console.log('DOMContentLoaded');
- } else {
- loadAll();
- }
- })();
|