Compare commits
	
		
			33 Commits
		
	
	
		
			7a5d43281b
			...
			edb26b3d8b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| edb26b3d8b | |||
| 443f82ea75 | |||
| 75adb97abb | |||
| 1f24a59bd9 | |||
| 14d0c9c123 | |||
| b99a3412e2 | |||
| 63300f68f8 | |||
| acf4f94798 | |||
| 87f4d220e5 | |||
| cf4dd727c5 | |||
| 49055e892c | |||
| afedb81633 | |||
| 04b8bf365f | |||
| 874c64829a | |||
| 82e1c0941e | |||
| 3119c862b1 | |||
| 23f46a24c9 | |||
| fc8aa19c67 | |||
| 72448038d1 | |||
| 196be3099a | |||
| 87d33bb1df | |||
| efd9b9be57 | |||
| 7dd46dbd15 | |||
| d70ead2f77 | |||
| 95f1f6d484 | |||
| 54d87fc5db | |||
| f434ad531c | |||
| 
						 | 
					3bb47109ed | ||
| 84bc1c6fbc | |||
| 
						 | 
					a92f2d06ea | ||
| 
						 | 
					45e8ef9322 | ||
| 
						 | 
					7c1e4e441a | ||
| 4d3c44be6e | 
@ -0,0 +1,75 @@
 | 
				
			|||||||
 | 
					import { API, HTTPMethod, IParamSetting, GeneralCallbackResult} from "../core/Api";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IScheduleInput {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * session
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    cookie: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 学期
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    semester: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IScheduleOutput {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IScheduleEvent {
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * session 过期
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					     expire: GeneralCallbackResult;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     /**
 | 
				
			||||||
 | 
					      * 登录失败
 | 
				
			||||||
 | 
					      */
 | 
				
			||||||
 | 
					     unauthorized: GeneralCallbackResult;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					     /**
 | 
				
			||||||
 | 
					      * 未知的问题
 | 
				
			||||||
 | 
					      */
 | 
				
			||||||
 | 
					     error: GeneralCallbackResult;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					     /**
 | 
				
			||||||
 | 
					      * 数据损坏或丢失
 | 
				
			||||||
 | 
					      */
 | 
				
			||||||
 | 
					     badData: GeneralCallbackResult;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Schedule API
 | 
				
			||||||
 | 
					 * 需要session与semester
 | 
				
			||||||
 | 
					 * 此 API 用来向教务处发起获取课程表的请求
 | 
				
			||||||
 | 
					 * 请求成功后将获得教务处返回的课程表JSON文件
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					class Schedlue extends API<IScheduleInput, IScheduleOutput, IScheduleEvent> {
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    public override baseUrl: string = "jwc.2333.pub";
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					    public override url = "/course_timetable";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public override method: HTTPMethod = HTTPMethod.GET;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public override params: IParamSetting<IScheduleInput> = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        cookie: {
 | 
				
			||||||
 | 
					            mapKey: "cookie",
 | 
				
			||||||
 | 
					            isHeader: true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        semester: {
 | 
				
			||||||
 | 
					            mapKey: "semester",
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public constructor() {
 | 
				
			||||||
 | 
					        super();
 | 
				
			||||||
 | 
					        this.initDebugLabel("Schedule");
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        this.addFailedCallBack();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -14,7 +14,7 @@ $theme-color-dark-text: rgba(255, 255, 255, .5);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
$black-filter: brightness(0) opacity(.65);
 | 
					$black-filter: brightness(0) opacity(.65);
 | 
				
			||||||
$white-filter: brightness(100) opacity(.65);
 | 
					$white-filter: brightness(100) opacity(.65);
 | 
				
			||||||
$blue-filter: opacity(.65);
 | 
					$blue-filter: opacity(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 页面容器外边距
 | 
					// 页面容器外边距
 | 
				
			||||||
view.container {
 | 
					view.container {
 | 
				
			||||||
@ -24,14 +24,23 @@ view.container {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 带阴影的 card
 | 
					// 带阴影的 card
 | 
				
			||||||
view.card {
 | 
					view.card {
 | 
				
			||||||
    width: calc( 100% - 36px );
 | 
					    width: calc( 100% - 40px );
 | 
				
			||||||
    padding: 0 18px;
 | 
					    padding: 0 20px;
 | 
				
			||||||
    border-radius: 15px;
 | 
					    border-radius: 15px;
 | 
				
			||||||
    background-color: $theme-color-light-layout;
 | 
					    background-color: $theme-color-light-layout;
 | 
				
			||||||
    box-shadow: 0 1.6px 3.6px 0 rgba(0, 0, 0, .08), 
 | 
					    box-shadow: 0 1.6px 3.6px 0 rgba(0, 0, 0, .08), 
 | 
				
			||||||
                0 0.3px 0.9px 0 rgba(0, 0, 0, .05);
 | 
					                0 0.3px 0.9px 0 rgba(0, 0, 0, .05);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					image.icon {
 | 
				
			||||||
 | 
					    filter: $black-filter;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					image.icon-sub {
 | 
				
			||||||
 | 
					    filter: $black-filter;
 | 
				
			||||||
 | 
					    opacity: .6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 顶部导航栏阴影
 | 
					// 顶部导航栏阴影
 | 
				
			||||||
view.top-shadow {
 | 
					view.top-shadow {
 | 
				
			||||||
    position: fixed;
 | 
					    position: fixed;
 | 
				
			||||||
@ -48,23 +57,27 @@ page {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
view, text {
 | 
					view, text {
 | 
				
			||||||
    font-size: .99em;
 | 
					    font-size: .97em;
 | 
				
			||||||
 | 
					    letter-spacing: .1em;
 | 
				
			||||||
    font-family: Hiragino Sans GB, MicroSoft YaHei;
 | 
					    font-family: Hiragino Sans GB, MicroSoft YaHei;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
view.h1 {
 | 
					view.h1 {
 | 
				
			||||||
    color: $theme-color-light-title;
 | 
					    color: $theme-color-light-title;
 | 
				
			||||||
    font-size: 1.5em;
 | 
					    font-size: 1.5em;
 | 
				
			||||||
 | 
					    letter-spacing: .1em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
view.h2 {
 | 
					view.h2 {
 | 
				
			||||||
    color: $theme-color-light-title;
 | 
					    color: $theme-color-light-title;
 | 
				
			||||||
    font-size: 1.3em;
 | 
					    font-size: 1.3em;
 | 
				
			||||||
 | 
					    letter-spacing: .1em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
view.h3 {
 | 
					view.h3 {
 | 
				
			||||||
    color: $theme-color-light-title;
 | 
					    color: $theme-color-light-title;
 | 
				
			||||||
    font-size: 1em;
 | 
					    font-size: 1em;
 | 
				
			||||||
 | 
					    letter-spacing: .1em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@media (prefers-color-scheme: dark){
 | 
					@media (prefers-color-scheme: dark){
 | 
				
			||||||
@ -77,6 +90,14 @@ view.h3 {
 | 
				
			|||||||
        background-color: $theme-color-dark-layout;
 | 
					        background-color: $theme-color-dark-layout;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    image.icon {
 | 
				
			||||||
 | 
					        filter: $white-filter;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    image.icon-sub {
 | 
				
			||||||
 | 
					        filter: $white-filter;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    view.h1 {
 | 
					    view.h1 {
 | 
				
			||||||
        color: $theme-color-dark-title;
 | 
					        color: $theme-color-dark-title;
 | 
				
			||||||
        font-size: 1.2em;
 | 
					        font-size: 1.2em;
 | 
				
			||||||
 | 
				
			|||||||
@ -168,16 +168,17 @@ class API<
 | 
				
			|||||||
> {
 | 
					> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 基础 URL
 | 
					     * 默认调试标签
 | 
				
			||||||
     * TODO: 这里可能涉及负载均衡
 | 
					 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static get baseUrl():string {
 | 
					 | 
				
			||||||
        return "https://jwc.nogg.cn";
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public static defaultLogLabel:LogLabel = new LogLabel(
 | 
					    public static defaultLogLabel:LogLabel = new LogLabel(
 | 
				
			||||||
        `API:API`, colorRadio(200, 120, 222)
 | 
					        `API:API`, colorRadio(200, 120, 222)
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 基础 URL
 | 
				
			||||||
 | 
					     * TODO: 这里可能涉及负载均衡
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public baseUrl: string = "https://jwc.nogg.cn";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Logger 使用的标签
 | 
					     * Logger 使用的标签
 | 
				
			||||||
@ -319,7 +320,7 @@ class API<
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // 重置请求数据
 | 
					        // 重置请求数据
 | 
				
			||||||
        const requestData:IWxRequestOption<O> = this.requestData = {
 | 
					        const requestData:IWxRequestOption<O> = this.requestData = {
 | 
				
			||||||
            url: API.baseUrl + this.url,
 | 
					            url: this.baseUrl + this.url,
 | 
				
			||||||
            data: {}, header: {},
 | 
					            data: {}, header: {},
 | 
				
			||||||
            timeout: this.timeout,
 | 
					            timeout: this.timeout,
 | 
				
			||||||
            method: this.method,
 | 
					            method: this.method,
 | 
				
			||||||
 | 
				
			|||||||
@ -491,6 +491,27 @@ class Manager<WXC extends AnyWXContext = AnyWXContext> {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 异步页面加载
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * *注意*
 | 
				
			||||||
 | 
					     * 页面模块加载后,必须手动执行 loadAllModule
 | 
				
			||||||
 | 
					     * loadAllModule Modular 才会真正的被加载
 | 
				
			||||||
 | 
					     * 模块加载后可以处理逻辑绑定
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static async PageAsync(): Promise<{
 | 
				
			||||||
 | 
					        manager: Manager<AnyWXContext>, 
 | 
				
			||||||
 | 
					        query: Record<string, string | undefined>
 | 
				
			||||||
 | 
					    }> {
 | 
				
			||||||
 | 
					        return new Promise((solve) => {
 | 
				
			||||||
 | 
					            Page({
 | 
				
			||||||
 | 
					                async onLoad(query) {
 | 
				
			||||||
 | 
					                    let manager = new Manager(this);
 | 
				
			||||||
 | 
					                    await solve({ manager, query });
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { Manager, Modular, AnyWXContext, WXContext, ILifetime}
 | 
					export { Manager, Modular, AnyWXContext, WXContext, ILifetime}
 | 
				
			||||||
							
								
								
									
										62
									
								
								miniprogram/image/account/Account_Arrow.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								miniprogram/image/account/Account_Arrow.svg
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
				
			||||||
 | 
					<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
				
			||||||
 | 
						 viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
 | 
				
			||||||
 | 
					<style type="text/css">
 | 
				
			||||||
 | 
						.st0{fill:#F4F0F1;}
 | 
				
			||||||
 | 
						.st1{fill:#FFFFFF;}
 | 
				
			||||||
 | 
						.st2{fill:#3EA3D8;}
 | 
				
			||||||
 | 
						.st3{fill:#CCCCCC;}
 | 
				
			||||||
 | 
						.st4{fill:none;stroke:#CCCCCC;stroke-linecap:square;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st5{fill:none;stroke:#CCCCCC;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st6{fill:none;stroke:#CCCCCC;stroke-miterlimit:10;stroke-dasharray:1.9084,1.9084;}
 | 
				
			||||||
 | 
						.st7{fill:#1A1A1A;}
 | 
				
			||||||
 | 
						.st8{fill:none;stroke:#1A1A1A;stroke-width:3;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st9{fill:none;stroke:#1A1A1A;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st10{fill:none;stroke:#E6E6E6;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st11{fill:#666666;}
 | 
				
			||||||
 | 
						.st12{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st13{fill:#B3B3B3;}
 | 
				
			||||||
 | 
						.st14{opacity:0.05;}
 | 
				
			||||||
 | 
						.st15{clip-path:url(#SVGID_00000148643560888163687730000014354677953684036249_);}
 | 
				
			||||||
 | 
						.st16{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st17{opacity:0.4;fill:#3EA3D8;}
 | 
				
			||||||
 | 
						.st18{fill:none;stroke:#3EA3D8;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st19{fill:none;stroke:#3EA3D8;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
 | 
					<g id="A1">
 | 
				
			||||||
 | 
						<g id="NAV_x5F_BAR_00000129914889952932149030000011711506177042644156_">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="HEADER_x5F_BAR_00000015351907221170818370000001589878730520391302_">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="FUNC_x5F_LIST">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="MAIN_x5F_FUNC">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="USER_x5F_CARD">
 | 
				
			||||||
 | 
							<g id="BG" class="st14">
 | 
				
			||||||
 | 
							</g>
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="ICON">
 | 
				
			||||||
 | 
						<polyline class="st19" points="17.39,10.88 83.65,50 17.39,89.12 	"/>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="DEFAULT_x5F_AVATOR">
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="COLOR">
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="NAV_x5F_BAR">
 | 
				
			||||||
 | 
						<g id="ICON_x5F_SETTING">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="ICON_x5F_INFO">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="ICON_x5F_KCB">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="HEADER_x5F_BAR">
 | 
				
			||||||
 | 
						<g id="BUTTON">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="TOP">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 2.0 KiB  | 
							
								
								
									
										65
									
								
								miniprogram/image/account/Account_NO.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								miniprogram/image/account/Account_NO.svg
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
				
			||||||
 | 
					<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
				
			||||||
 | 
						 viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
 | 
				
			||||||
 | 
					<style type="text/css">
 | 
				
			||||||
 | 
						.st0{fill:#F4F0F1;}
 | 
				
			||||||
 | 
						.st1{fill:#FFFFFF;}
 | 
				
			||||||
 | 
						.st2{fill:#3EA3D8;}
 | 
				
			||||||
 | 
						.st3{fill:#CCCCCC;}
 | 
				
			||||||
 | 
						.st4{fill:none;stroke:#CCCCCC;stroke-linecap:square;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st5{fill:none;stroke:#CCCCCC;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st6{fill:none;stroke:#CCCCCC;stroke-miterlimit:10;stroke-dasharray:1.9084,1.9084;}
 | 
				
			||||||
 | 
						.st7{fill:#1A1A1A;}
 | 
				
			||||||
 | 
						.st8{fill:none;stroke:#1A1A1A;stroke-width:3;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st9{fill:none;stroke:#1A1A1A;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st10{fill:none;stroke:#E6E6E6;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st11{fill:#666666;}
 | 
				
			||||||
 | 
						.st12{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st13{fill:#B3B3B3;}
 | 
				
			||||||
 | 
						.st14{opacity:0.05;}
 | 
				
			||||||
 | 
						.st15{clip-path:url(#SVGID_00000174590641328129768410000008888487617591348397_);}
 | 
				
			||||||
 | 
						.st16{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st17{opacity:0.4;fill:#3EA3D8;}
 | 
				
			||||||
 | 
						.st18{fill:none;stroke:#3EA3D8;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
						.st19{fill:none;stroke:#3EA3D8;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
 | 
					<g id="A1">
 | 
				
			||||||
 | 
						<g id="NAV_x5F_BAR_00000129914889952932149030000011711506177042644156_">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="HEADER_x5F_BAR_00000015351907221170818370000001589878730520391302_">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="FUNC_x5F_LIST">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="MAIN_x5F_FUNC">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="USER_x5F_CARD">
 | 
				
			||||||
 | 
							<g id="BG" class="st14">
 | 
				
			||||||
 | 
							</g>
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="ICON">
 | 
				
			||||||
 | 
						<g>
 | 
				
			||||||
 | 
							<line class="st19" x1="10.88" y1="10.88" x2="89.12" y2="89.12"/>
 | 
				
			||||||
 | 
							<line class="st19" x1="89.12" y1="10.88" x2="10.88" y2="89.12"/>
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="DEFAULT_x5F_AVATOR">
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="COLOR">
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="NAV_x5F_BAR">
 | 
				
			||||||
 | 
						<g id="ICON_x5F_SETTING">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="ICON_x5F_INFO">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="ICON_x5F_KCB">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					<g id="HEADER_x5F_BAR">
 | 
				
			||||||
 | 
						<g id="BUTTON">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
						<g id="TOP">
 | 
				
			||||||
 | 
						</g>
 | 
				
			||||||
 | 
					</g>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 2.1 KiB  | 
@ -18,7 +18,7 @@
 | 
				
			|||||||
	.st12{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
 | 
						.st12{fill:none;stroke:#B3B3B3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
 | 
				
			||||||
	.st13{fill:#B3B3B3;}
 | 
						.st13{fill:#B3B3B3;}
 | 
				
			||||||
	.st14{opacity:0.05;}
 | 
						.st14{opacity:0.05;}
 | 
				
			||||||
	.st15{clip-path:url(#SVGID_00000119811792014936471320000011453116645578675119_);}
 | 
						.st15{clip-path:url(#SVGID_00000000193655916124849200000001531564748471850152_);}
 | 
				
			||||||
	.st16{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
 | 
						.st16{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
 | 
				
			||||||
	.st17{opacity:0.4;fill:#3EA3D8;}
 | 
						.st17{opacity:0.4;fill:#3EA3D8;}
 | 
				
			||||||
	.st18{fill:none;stroke:#3EA3D8;stroke-miterlimit:10;}
 | 
						.st18{fill:none;stroke:#3EA3D8;stroke-miterlimit:10;}
 | 
				
			||||||
 | 
				
			|||||||
| 
		 Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB  | 
							
								
								
									
										8
									
								
								miniprogram/modular/Mask/Mask.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								miniprogram/modular/Mask/Mask.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					view.mask {
 | 
				
			||||||
 | 
						position: fixed;
 | 
				
			||||||
 | 
						width: 100%;
 | 
				
			||||||
 | 
						height: 100%;
 | 
				
			||||||
 | 
						background-color: rgba($color: #000000, $alpha: .2);
 | 
				
			||||||
 | 
						z-index: 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										45
									
								
								miniprogram/modular/Mask/Mask.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								miniprogram/modular/Mask/Mask.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					import { Modular, Manager } from "../../core/Module";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Mask<M extends Manager> extends Modular<M> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public data? = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/**
 | 
				
			||||||
 | 
							 * 蒙版的层级
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							zIndex: 1,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/**
 | 
				
			||||||
 | 
							 * 蒙版是否显示
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							isShow: false
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private disappearTimer?: number;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * 显示蒙版
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public showMask() {
 | 
				
			||||||
 | 
							this.setData({ isShow: true });
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * 隐藏蒙版
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public hideMask() {
 | 
				
			||||||
 | 
							this.setData({ isShow: false });
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public override onLoad() {
 | 
				
			||||||
 | 
							this.setFunc(this.handleClickMask, "handleClickMask");
 | 
				
			||||||
 | 
					        // Do something
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private handleClickMask() {
 | 
				
			||||||
 | 
							this.hideMask();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export { Mask };
 | 
				
			||||||
 | 
					export default Mask;
 | 
				
			||||||
							
								
								
									
										66
									
								
								miniprogram/pages/Account/Account.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								miniprogram/pages/Account/Account.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,66 @@
 | 
				
			|||||||
 | 
					// pages/Account/Account.js
 | 
				
			||||||
 | 
					Page({
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面的初始数据
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  data: {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面加载
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onLoad: function (options) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面初次渲染完成
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onReady: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面显示
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onShow: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面隐藏
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onHide: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面卸载
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onUnload: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面相关事件处理函数--监听用户下拉动作
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onPullDownRefresh: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面上拉触底事件的处理函数
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onReachBottom: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 用户点击右上角分享
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onShareAppMessage: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
@ -1,3 +1,10 @@
 | 
				
			|||||||
@import "./UserCard.scss";
 | 
					@import "./UserCard.scss";
 | 
				
			||||||
@import "./MainFunction.scss";
 | 
					@import "./MainFunction.scss";
 | 
				
			||||||
@import "./FunctionList.scss";
 | 
					@import "./FunctionList.scss";
 | 
				
			||||||
 | 
					@import "../../modular/Mask/Mask.scss";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					view.container{
 | 
				
			||||||
 | 
					    padding-top: 50rpx;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,9 +2,25 @@ import { Manager } from "../../core/Module";
 | 
				
			|||||||
import { UserCard } from "./UserCard";
 | 
					import { UserCard } from "./UserCard";
 | 
				
			||||||
import { MainFunction } from "./MainFunction";
 | 
					import { MainFunction } from "./MainFunction";
 | 
				
			||||||
import { FunctionList } from "./FunctionList";
 | 
					import { FunctionList } from "./FunctionList";
 | 
				
			||||||
 | 
					import { Mask } from "../../modular/Mask/Mask";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Manager.Page((manager) => {
 | 
					(async () => {
 | 
				
			||||||
    manager.addModule(UserCard, "userCard");
 | 
					
 | 
				
			||||||
 | 
					    // 初始化页面
 | 
				
			||||||
 | 
					    const { manager, query } = await Manager.PageAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 添加蒙版 Modular
 | 
				
			||||||
 | 
					    const mask = manager.addModule(Mask, "mask");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 添加 UserCard Modular
 | 
				
			||||||
 | 
					    manager.addModule(UserCard, "userCard", { mask });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 添加 MainFunction Modular
 | 
				
			||||||
    manager.addModule(MainFunction, "mainFunction");
 | 
					    manager.addModule(MainFunction, "mainFunction");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 添加 FunctionList Modular
 | 
				
			||||||
    manager.addModule(FunctionList, "functionList");
 | 
					    manager.addModule(FunctionList, "functionList");
 | 
				
			||||||
});
 | 
					
 | 
				
			||||||
 | 
					    // 初始化全部 Modular
 | 
				
			||||||
 | 
					    await manager.loadAllModule(query);
 | 
				
			||||||
 | 
					})();
 | 
				
			||||||
@ -1,3 +1,5 @@
 | 
				
			|||||||
 | 
					<!-- 蒙版 -->
 | 
				
			||||||
 | 
					<view class="mask" bindtap="mask$handleClickMask" style="display:{{mask$isShow ? 'block' : 'none'}}"></view>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!-- 顶部的阴影 -->
 | 
					<!-- 顶部的阴影 -->
 | 
				
			||||||
<view class="top-shadow"></view>
 | 
					<view class="top-shadow"></view>
 | 
				
			||||||
@ -11,12 +13,60 @@
 | 
				
			|||||||
            <open-data type="userAvatarUrl" />
 | 
					            <open-data type="userAvatarUrl" />
 | 
				
			||||||
        </view>
 | 
					        </view>
 | 
				
			||||||
        <view class="info">
 | 
					        <view class="info">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- 主题变换按钮 -->
 | 
				
			||||||
 | 
					            <view class="theme">
 | 
				
			||||||
 | 
					                <view bindtap="userCard$changeTheme">
 | 
				
			||||||
 | 
					                    <image class="icon-sub" src="../../image/account/Account_Theme.svg" />
 | 
				
			||||||
 | 
					                </view>
 | 
				
			||||||
 | 
					            </view>
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            <!-- 用户昵称 -->
 | 
				
			||||||
            <view class="nick h1">
 | 
					            <view class="nick h1">
 | 
				
			||||||
                <open-data type="userNickName" />
 | 
					                <open-data type="userNickName" />
 | 
				
			||||||
            </view>
 | 
					            </view>
 | 
				
			||||||
            <view class="student">秦浩轩</view>
 | 
					
 | 
				
			||||||
            <view class="student">1806240113</view>
 | 
					            <!-- 学生信息 -->
 | 
				
			||||||
 | 
					            <view class="student">
 | 
				
			||||||
 | 
					                <view class="name">秦浩轩</view>
 | 
				
			||||||
 | 
					                <view class="certified">
 | 
				
			||||||
 | 
					                    <view class="certifi-info">已认证</view>
 | 
				
			||||||
 | 
					                    <image class="text-icon" src="../../image/account/Account_OK.svg"></image>
 | 
				
			||||||
 | 
					                </view>
 | 
				
			||||||
 | 
					            </view>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- 学号信息 -->
 | 
				
			||||||
 | 
					            <view class="student-id">1806240113</view>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- 学校 -->
 | 
				
			||||||
 | 
					            <view class="school">大连工业大学</view>
 | 
				
			||||||
        </view>
 | 
					        </view>
 | 
				
			||||||
    </view>
 | 
					    </view>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!--主要功能-->
 | 
				
			||||||
 | 
					    <view class="card main-function">
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        <!--每个功能的容器-->
 | 
				
			||||||
 | 
					        <view class="branch-funtion" wx:for="{{ mainFunction$mainFunctionList }}" wx:key="index">
 | 
				
			||||||
 | 
					            <view style="{{ index == (mainFunction$mainFunctionList - 1) ? 'border-bottom: 0px' : '' }}">
 | 
				
			||||||
 | 
					                <!--每个功能的图片-->
 | 
				
			||||||
 | 
					                <image class="icon" src="../../image/account/Account_{{ item.iconUrl }}.svg"></image>
 | 
				
			||||||
 | 
					                <!--每个功能的文字-->
 | 
				
			||||||
 | 
					                <view>{{ item.displayName }}</view>
 | 
				
			||||||
 | 
					            </view>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
					    </view>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- 功能列表 -->
 | 
				
			||||||
 | 
					    <view class="card function-list">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- 每一行 -->
 | 
				
			||||||
 | 
					        <view class="function" wx:for="{{ functionList$functionList }}" wx:key="index">
 | 
				
			||||||
 | 
					            <view style="{{ index == (functionList$functionList.length - 1) ? 'border-bottom: 0px' : '' }}">
 | 
				
			||||||
 | 
					                <image class="icon func-icon" src="../../image/account/Account_{{ item.iconUrl }}.svg" />
 | 
				
			||||||
 | 
					                <view>{{ item.displayName }}</view>
 | 
				
			||||||
 | 
					                <image class="icon-sub arrow" src="../../image/account/Account_Arrow.svg" />
 | 
				
			||||||
 | 
					            </view>
 | 
				
			||||||
 | 
					        </view>
 | 
				
			||||||
 | 
					    </view>
 | 
				
			||||||
</view>
 | 
					</view>
 | 
				
			||||||
@ -1 +1,43 @@
 | 
				
			|||||||
@import "../../app.scss";
 | 
					@import "../../app.scss";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					view.function-list {
 | 
				
			||||||
 | 
					    margin-top: 50rpx;
 | 
				
			||||||
 | 
					    margin-bottom: 50rpx;
 | 
				
			||||||
 | 
					    padding: 0 0 !important;
 | 
				
			||||||
 | 
					    width: 100% !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    view.function {
 | 
				
			||||||
 | 
					        padding: 0 20px;
 | 
				
			||||||
 | 
					        width: calc( 100% - 40px );
 | 
				
			||||||
 | 
					        height: 55px;
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        > view {
 | 
				
			||||||
 | 
					            height: 100%;
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					            border-bottom: 1px solid rgba($color: #000000, $alpha: .1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            image.func-icon {
 | 
				
			||||||
 | 
					                width: 26px;
 | 
				
			||||||
 | 
					                height: 26px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            view {
 | 
				
			||||||
 | 
					                margin-left: 15px;
 | 
				
			||||||
 | 
					                flex-grow: 1;
 | 
				
			||||||
 | 
					                font-size: .9em;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            image.arrow {
 | 
				
			||||||
 | 
					                width: 10px;
 | 
				
			||||||
 | 
					                height: 10px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@media (prefers-color-scheme: dark) {
 | 
				
			||||||
 | 
					    view.function-list view.function > view {
 | 
				
			||||||
 | 
					      border-bottom: 1px solid rgba($color: #ffffff, $alpha: .1);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
@ -1,6 +1,31 @@
 | 
				
			|||||||
import { Modular, Manager } from "../../core/Module";
 | 
					import { Modular, Manager } from "../../core/Module";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IFunctionListItem {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 显示名称
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    displayName: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 图标路径
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    iconUrl: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class FunctionList<M extends Manager> extends Modular<M> {
 | 
					class FunctionList<M extends Manager> extends Modular<M> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static readonly functionList: IFunctionListItem[] = [
 | 
				
			||||||
 | 
					        { displayName: "赞助计划", iconUrl: "Sponsor" },
 | 
				
			||||||
 | 
					        { displayName: "公众号", iconUrl: "PubilcAccount" },
 | 
				
			||||||
 | 
					        { displayName: "自助问答", iconUrl: "FAQ" },
 | 
				
			||||||
 | 
					        { displayName: "关于我们", iconUrl: "AboutUs" },
 | 
				
			||||||
 | 
					        { displayName: "联系客服", iconUrl: "Support" }
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public data = {
 | 
				
			||||||
 | 
					        functionList: FunctionList.functionList
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public override onLoad() {
 | 
					    public override onLoad() {
 | 
				
			||||||
        // Do something
 | 
					        // Do something
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1,39 @@
 | 
				
			|||||||
@import "../../app.scss";
 | 
					@import "../../app.scss";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//主要功能
 | 
				
			||||||
 | 
					view.main-function {
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  margin-top: 50rpx;
 | 
				
			||||||
 | 
					  padding: 0 !important;
 | 
				
			||||||
 | 
					  width: 100% !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  view.branch-funtion {
 | 
				
			||||||
 | 
					    padding: 13px 0;
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    > view {
 | 
				
			||||||
 | 
					      display: flex;
 | 
				
			||||||
 | 
					      flex-direction: column;
 | 
				
			||||||
 | 
					      align-items: center;
 | 
				
			||||||
 | 
					      justify-self: center;
 | 
				
			||||||
 | 
					      border-right: 1px solid rgba($color: #000000, $alpha: .1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      image {
 | 
				
			||||||
 | 
					        height: 35px;
 | 
				
			||||||
 | 
					        width: 35px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      view {
 | 
				
			||||||
 | 
					        text-align: center;
 | 
				
			||||||
 | 
					        margin-top: 5px;
 | 
				
			||||||
 | 
					        font-size: .9em;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@media (prefers-color-scheme: dark) {
 | 
				
			||||||
 | 
					  view.main-function view.branch-funtion > view {
 | 
				
			||||||
 | 
					    border-right: 1px solid rgba($color: #ffffff, $alpha: .1);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,30 @@
 | 
				
			|||||||
import { Modular, Manager } from "../../core/Module";
 | 
					import { Modular, Manager } from "../../core/Module";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IMainFunctionItem {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 显示名称
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    displayName: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 图标路径
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    iconUrl: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class MainFunction<M extends Manager> extends Modular<M> {
 | 
					class MainFunction<M extends Manager> extends Modular<M> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static readonly MainFunctionList: IMainFunctionItem[] = [
 | 
				
			||||||
 | 
					        { displayName: "账号信息", iconUrl: "UserInfo" },
 | 
				
			||||||
 | 
					        { displayName: "课表缓存", iconUrl: "DateList" },
 | 
				
			||||||
 | 
					        { displayName: "功能定制", iconUrl: "Customer" },
 | 
				
			||||||
 | 
					        { displayName: "更多设置", iconUrl: "Settings" }
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public data? = {
 | 
				
			||||||
 | 
					        mainFunctionList: MainFunction.MainFunctionList
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public override onLoad() {
 | 
					    public override onLoad() {
 | 
				
			||||||
        // Do something
 | 
					        // Do something
 | 
				
			||||||
 | 
				
			|||||||
@ -2,29 +2,85 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 用户卡片
 | 
					// 用户卡片
 | 
				
			||||||
view.user-card {
 | 
					view.user-card {
 | 
				
			||||||
    margin-top: 20px;
 | 
					 | 
				
			||||||
    height: 100px;
 | 
					 | 
				
			||||||
    display: flex;
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
    padding-top: 20px;
 | 
					    padding-top: 20px;
 | 
				
			||||||
    padding-bottom: 20px;
 | 
					    padding-bottom: 20px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    view.avatar {
 | 
					    view.avatar {
 | 
				
			||||||
 | 
					        flex-basis: 80px;
 | 
				
			||||||
        width: 80px;
 | 
					        width: 80px;
 | 
				
			||||||
        height: 80px;
 | 
					        height: 80px;
 | 
				
			||||||
        border-radius: 1000px;
 | 
					        border-radius: 1000px;
 | 
				
			||||||
 | 
					        flex-shrink: 0;
 | 
				
			||||||
        overflow: hidden;
 | 
					        overflow: hidden;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    view.info {
 | 
					    view.info {
 | 
				
			||||||
        width: calc(100% - 80px - 20px);
 | 
					        flex-grow: 1;
 | 
				
			||||||
        padding-left: 20px;
 | 
					        padding-left: 20px;
 | 
				
			||||||
 | 
					        max-width: calc(100% - 80px - 20px);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        view.theme {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            padding: 20px 0 10px 0;
 | 
				
			||||||
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            justify-content: flex-end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            view {
 | 
				
			||||||
 | 
					                width: 23px;
 | 
				
			||||||
 | 
					                height: 23px;
 | 
				
			||||||
 | 
					                padding: 20px;
 | 
				
			||||||
 | 
					                margin: -20px;
 | 
				
			||||||
 | 
					                border-radius: 20px;
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                image {
 | 
				
			||||||
 | 
					                    width: 100%;
 | 
				
			||||||
 | 
					                    height: 100%;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        view.nick {
 | 
					        view.nick {
 | 
				
			||||||
            margin: 4px 0;
 | 
					            margin-bottom: 6px;
 | 
				
			||||||
 | 
					            word-break: keep-all;
 | 
				
			||||||
 | 
					            white-space: nowrap;
 | 
				
			||||||
 | 
					            overflow: hidden;
 | 
				
			||||||
 | 
					            text-overflow: ellipsis;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 学生信息
 | 
				
			||||||
        view.student {
 | 
					        view.student {
 | 
				
			||||||
            margin: 1px 0;
 | 
					            display: flex;
 | 
				
			||||||
 | 
					            align-items: center;
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            view.certified {
 | 
				
			||||||
 | 
					                color: $theme-color-blue;
 | 
				
			||||||
 | 
					                border: 1px solid $theme-color-blue;
 | 
				
			||||||
 | 
					                border-radius: 4px;
 | 
				
			||||||
 | 
					                margin-left: .3em;
 | 
				
			||||||
 | 
					                font-size: .85em;
 | 
				
			||||||
 | 
					                height: 1.2em;
 | 
				
			||||||
 | 
					                padding: 0 2px;
 | 
				
			||||||
 | 
					                display: flex;
 | 
				
			||||||
 | 
					                justify-content: center;
 | 
				
			||||||
 | 
					                align-items: center;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                image.text-icon {
 | 
				
			||||||
 | 
					                    margin-left: .25em;
 | 
				
			||||||
 | 
					                    width: 10px;
 | 
				
			||||||
 | 
					                    height: 10px;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        view.student-id {
 | 
				
			||||||
 | 
					            margin-bottom: 3px;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        view.school {
 | 
				
			||||||
 | 
					            text-align: right;
 | 
				
			||||||
 | 
					            padding: 10px 0 20px 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,21 @@
 | 
				
			|||||||
import { Modular, Manager } from "../../core/Module";
 | 
					import { Modular, Manager } from "../../core/Module";
 | 
				
			||||||
 | 
					import { Mask } from "../../modular/Mask/Mask";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type IUserCardDependent<M extends Manager> = {
 | 
				
			||||||
 | 
					    mask: Mask<M>
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class UserCard<M extends Manager> extends Modular<M, IUserCardDependent<M>> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class UserCard<M extends Manager> extends Modular<M> {
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    public override onLoad() {
 | 
					    public override onLoad() {
 | 
				
			||||||
        // Do something
 | 
					        this.setFunc(this.handleChangeTheme, "changeTheme")
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 处理主题更换
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private handleChangeTheme() {
 | 
				
			||||||
 | 
					        this.depends?.mask.showMask();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										66
									
								
								miniprogram/pages/Information/Information.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								miniprogram/pages/Information/Information.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,66 @@
 | 
				
			|||||||
 | 
					// pages/Information/Information.js
 | 
				
			||||||
 | 
					Page({
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面的初始数据
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  data: {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面加载
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onLoad: function (options) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面初次渲染完成
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onReady: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面显示
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onShow: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面隐藏
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onHide: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面卸载
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onUnload: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面相关事件处理函数--监听用户下拉动作
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onPullDownRefresh: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面上拉触底事件的处理函数
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onReachBottom: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 用户点击右上角分享
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onShareAppMessage: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
@ -28,7 +28,7 @@ implements Partial<ILifetime> {
 | 
				
			|||||||
            s.set("be", 12);
 | 
					            s.set("be", 12);
 | 
				
			||||||
        }, 1000)
 | 
					        }, 1000)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        new Login().param({studentId: "1806240113", password: "qazxsw123"})
 | 
					        new Login().param({studentId: "2017060129", password: "hch2000210%"})
 | 
				
			||||||
        .request().wait({
 | 
					        .request().wait({
 | 
				
			||||||
            ok: (w) => {console.log("ok", w)},
 | 
					            ok: (w) => {console.log("ok", w)},
 | 
				
			||||||
            no: (w) => {console.log("no", w)},
 | 
					            no: (w) => {console.log("no", w)},
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										66
									
								
								miniprogram/pages/Timetable/Timetable.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								miniprogram/pages/Timetable/Timetable.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,66 @@
 | 
				
			|||||||
 | 
					// pages/Timetable/Timetable.js
 | 
				
			||||||
 | 
					Page({
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面的初始数据
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  data: {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面加载
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onLoad: function (options) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面初次渲染完成
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onReady: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面显示
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onShow: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面隐藏
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onHide: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 生命周期函数--监听页面卸载
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onUnload: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面相关事件处理函数--监听用户下拉动作
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onPullDownRefresh: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 页面上拉触底事件的处理函数
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onReachBottom: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * 用户点击右上角分享
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  onShareAppMessage: function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
@ -6,7 +6,17 @@ import { TestCore } from "./TestCore";
 | 
				
			|||||||
 * 此页面使用 Manager 进行模块化管理
 | 
					 * 此页面使用 Manager 进行模块化管理
 | 
				
			||||||
 * 若要添加先功能请先定义 Modular 并添加至 Manager
 | 
					 * 若要添加先功能请先定义 Modular 并添加至 Manager
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
Manager.Page((manager)=>{
 | 
					(async () => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 初始化页面
 | 
				
			||||||
 | 
					    const { manager, query } = await Manager.PageAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 添加 StatusBar Modular
 | 
				
			||||||
    manager.addModule(StatusBar, "statusBar");
 | 
					    manager.addModule(StatusBar, "statusBar");
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    // 添加 TestCore Modular
 | 
				
			||||||
    manager.addModule(TestCore, "testCore");
 | 
					    manager.addModule(TestCore, "testCore");
 | 
				
			||||||
})
 | 
					
 | 
				
			||||||
 | 
					    // 初始化全部 Modular
 | 
				
			||||||
 | 
					    await manager.loadAllModule(query);
 | 
				
			||||||
 | 
					})()
 | 
				
			||||||
@ -1,58 +1,53 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "description": "项目配置文件",
 | 
					  "description": "项目配置文件",
 | 
				
			||||||
    "packOptions": {
 | 
					  "packOptions": {
 | 
				
			||||||
        "ignore": []
 | 
					    "ignore": []
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "miniprogramRoot": "miniprogram/",
 | 
				
			||||||
 | 
					  "compileType": "miniprogram",
 | 
				
			||||||
 | 
					  "libVersion": "2.16.1",
 | 
				
			||||||
 | 
					  "projectname": "mini-dlpu-v3",
 | 
				
			||||||
 | 
					  "setting": {
 | 
				
			||||||
 | 
					    "urlCheck": false,
 | 
				
			||||||
 | 
					    "es6": true,
 | 
				
			||||||
 | 
					    "enhance": true,
 | 
				
			||||||
 | 
					    "postcss": true,
 | 
				
			||||||
 | 
					    "preloadBackgroundData": false,
 | 
				
			||||||
 | 
					    "minified": true,
 | 
				
			||||||
 | 
					    "newFeature": false,
 | 
				
			||||||
 | 
					    "coverView": true,
 | 
				
			||||||
 | 
					    "nodeModules": false,
 | 
				
			||||||
 | 
					    "autoAudits": false,
 | 
				
			||||||
 | 
					    "showShadowRootInWxmlPanel": true,
 | 
				
			||||||
 | 
					    "scopeDataCheck": false,
 | 
				
			||||||
 | 
					    "uglifyFileName": true,
 | 
				
			||||||
 | 
					    "checkInvalidKey": true,
 | 
				
			||||||
 | 
					    "checkSiteMap": true,
 | 
				
			||||||
 | 
					    "uploadWithSourceMap": true,
 | 
				
			||||||
 | 
					    "compileHotReLoad": false,
 | 
				
			||||||
 | 
					    "useMultiFrameRuntime": true,
 | 
				
			||||||
 | 
					    "useApiHook": true,
 | 
				
			||||||
 | 
					    "useApiHostProcess": true,
 | 
				
			||||||
 | 
					    "babelSetting": {
 | 
				
			||||||
 | 
					      "ignore": [],
 | 
				
			||||||
 | 
					      "disablePlugins": [],
 | 
				
			||||||
 | 
					      "outputPath": ""
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "miniprogramRoot": "miniprogram/",
 | 
					    "enableEngineNative": false,
 | 
				
			||||||
    "compileType": "miniprogram",
 | 
					    "bundle": false,
 | 
				
			||||||
    "libVersion": "2.16.1",
 | 
					    "useIsolateContext": false,
 | 
				
			||||||
    "projectname": "mini-dlpu-v3",
 | 
					    "useCompilerModule": true,
 | 
				
			||||||
    "setting": {
 | 
					    "userConfirmedUseCompilerModuleSwitch": false,
 | 
				
			||||||
        "urlCheck": false,
 | 
					    "userConfirmedBundleSwitch": false,
 | 
				
			||||||
        "es6": true,
 | 
					    "packNpmManually": false,
 | 
				
			||||||
        "enhance": true,
 | 
					    "packNpmRelationList": [],
 | 
				
			||||||
        "postcss": true,
 | 
					    "minifyWXSS": true
 | 
				
			||||||
        "preloadBackgroundData": false,
 | 
					  },
 | 
				
			||||||
        "minified": true,
 | 
					  "simulatorType": "wechat",
 | 
				
			||||||
        "newFeature": false,
 | 
					  "simulatorPluginLibVersion": {},
 | 
				
			||||||
        "coverView": true,
 | 
					  "appid": "wx7d809f5e8955843d",
 | 
				
			||||||
        "nodeModules": false,
 | 
					  "scripts": {
 | 
				
			||||||
        "autoAudits": false,
 | 
					    "beforeCompile": ""
 | 
				
			||||||
        "showShadowRootInWxmlPanel": true,
 | 
					  },
 | 
				
			||||||
        "scopeDataCheck": false,
 | 
					  "condition": {}
 | 
				
			||||||
        "uglifyFileName": true,
 | 
					 | 
				
			||||||
        "checkInvalidKey": true,
 | 
					 | 
				
			||||||
        "checkSiteMap": true,
 | 
					 | 
				
			||||||
        "uploadWithSourceMap": true,
 | 
					 | 
				
			||||||
        "compileHotReLoad": false,
 | 
					 | 
				
			||||||
        "lazyloadPlaceholderEnable": false,
 | 
					 | 
				
			||||||
        "useMultiFrameRuntime": false,
 | 
					 | 
				
			||||||
        "useApiHook": false,
 | 
					 | 
				
			||||||
        "useApiHostProcess": false,
 | 
					 | 
				
			||||||
        "babelSetting": {
 | 
					 | 
				
			||||||
            "ignore": [],
 | 
					 | 
				
			||||||
            "disablePlugins": [],
 | 
					 | 
				
			||||||
            "outputPath": ""
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "enableEngineNative": false,
 | 
					 | 
				
			||||||
        "useIsolateContext": false,
 | 
					 | 
				
			||||||
        "userConfirmedBundleSwitch": false,
 | 
					 | 
				
			||||||
        "packNpmManually": false,
 | 
					 | 
				
			||||||
        "packNpmRelationList": [],
 | 
					 | 
				
			||||||
        "minifyWXSS": true,
 | 
					 | 
				
			||||||
        "disableUseStrict": false,
 | 
					 | 
				
			||||||
        "minifyWXML": true,
 | 
					 | 
				
			||||||
        "showES6CompileOption": false,
 | 
					 | 
				
			||||||
        "useCompilerPlugins": [
 | 
					 | 
				
			||||||
            "typescript",
 | 
					 | 
				
			||||||
            "sass"
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "simulatorType": "wechat",
 | 
					 | 
				
			||||||
    "simulatorPluginLibVersion": {},
 | 
					 | 
				
			||||||
    "appid": "wx7d809f5e8955843d",
 | 
					 | 
				
			||||||
    "scripts": {
 | 
					 | 
				
			||||||
        "beforeCompile": ""
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "condition": {}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user