├── .gitignore ├── 1.png ├── README.md ├── build.gradle ├── example ├── .gitignore ├── build.gradle ├── example-release.apk ├── libs │ ├── MobCommons-2016.1222.1756.jar │ ├── MobTools-2016.1222.1756.jar │ ├── ShareSDK-Core-2.8.0.jar │ ├── ShareSDK-ShortMessage-2.8.0.jar │ ├── ShareSDK-Wechat-2.8.0.jar │ ├── ShareSDK-Wechat-Core-2.8.0.jar │ ├── ShareSDK-Wechat-Favorite-2.8.0.jar │ └── ShareSDK-Wechat-Moments-2.8.0.jar ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── ShareSDK.xml │ ├── assets │ │ └── zepto.js │ ├── dist │ │ ├── css │ │ │ ├── sm-extend.css │ │ │ ├── sm-extend.min.css │ │ │ ├── sm.css │ │ │ └── sm.min.css │ │ └── js │ │ │ ├── sm-city-picker.js │ │ │ ├── sm-city-picker.min.js │ │ │ ├── sm-extend.js │ │ │ ├── sm-extend.min.js │ │ │ ├── sm.js │ │ │ └── sm.min.js │ ├── index.html │ ├── js │ │ └── index.js │ └── second.html │ ├── java │ ├── cn │ │ └── sharesdk │ │ │ └── onekeyshare │ │ │ ├── CustomerLogo.java │ │ │ ├── OnekeyShare.java │ │ │ ├── OnekeySharePage.java │ │ │ ├── OnekeyShareTheme.java │ │ │ ├── OnekeyShareThemeImpl.java │ │ │ ├── ShareContentCustomizeCallback.java │ │ │ └── themes │ │ │ └── classic │ │ │ ├── ClassicTheme.java │ │ │ ├── EditPage.java │ │ │ ├── FriendAdapter.java │ │ │ ├── FriendListItem.java │ │ │ ├── FriendListPage.java │ │ │ ├── IndicatorView.java │ │ │ ├── PRTHeader.java │ │ │ ├── PicViewerPage.java │ │ │ ├── PlatformPage.java │ │ │ ├── PlatformPageAdapter.java │ │ │ ├── RotateImageView.java │ │ │ ├── XView.java │ │ │ ├── land │ │ │ ├── EditPageLand.java │ │ │ ├── FriendListPageLand.java │ │ │ ├── PlatformPageAdapterLand.java │ │ │ └── PlatformPageLand.java │ │ │ └── port │ │ │ ├── EditPagePort.java │ │ │ ├── FriendListPagePort.java │ │ │ ├── PlatformPageAdapterPort.java │ │ │ └── PlatformPagePort.java │ └── com │ │ └── diabin │ │ └── fastec │ │ └── example │ │ ├── ExampleActivity.java │ │ ├── ExampleApp.java │ │ ├── ExampleDelegate.java │ │ ├── event │ │ ├── ShareEvent.java │ │ └── TestEvent.java │ │ ├── generators │ │ ├── AppRegister.java │ │ ├── WeChatEntry.java │ │ └── WeChatPayEntry.java │ │ └── push │ │ └── PushReceiver.java │ └── res │ ├── drawable-hdpi │ └── ssdk_oks_ptr_ptr.png │ ├── drawable-xhdpi │ ├── ssdk_auth_title_back.png │ ├── ssdk_back_arr.png │ ├── ssdk_logo.png │ ├── ssdk_oks_classic_alipay.png │ ├── ssdk_oks_classic_alipaymoments.png │ ├── ssdk_oks_classic_bluetooth.png │ ├── ssdk_oks_classic_check_checked.png │ ├── ssdk_oks_classic_check_default.png │ ├── ssdk_oks_classic_douban.png │ ├── ssdk_oks_classic_dropbox.png │ ├── ssdk_oks_classic_email.png │ ├── ssdk_oks_classic_evernote.png │ ├── ssdk_oks_classic_facebook.png │ ├── ssdk_oks_classic_facebookmessenger.png │ ├── ssdk_oks_classic_flickr.png │ ├── ssdk_oks_classic_foursquare.png │ ├── ssdk_oks_classic_googleplus.png │ ├── ssdk_oks_classic_instagram.png │ ├── ssdk_oks_classic_instapaper.png │ ├── ssdk_oks_classic_kaixin.png │ ├── ssdk_oks_classic_kakaostory.png │ ├── ssdk_oks_classic_kakaotalk.png │ ├── ssdk_oks_classic_laiwang.png │ ├── ssdk_oks_classic_laiwangmoments.png │ ├── ssdk_oks_classic_line.png │ ├── ssdk_oks_classic_linkedin.png │ ├── ssdk_oks_classic_mingdao.png │ ├── ssdk_oks_classic_pinterest.png │ ├── ssdk_oks_classic_pocket.png │ ├── ssdk_oks_classic_qq.png │ ├── ssdk_oks_classic_qzone.png │ ├── ssdk_oks_classic_renren.png │ ├── ssdk_oks_classic_shortmessage.png │ ├── ssdk_oks_classic_sinaweibo.png │ ├── ssdk_oks_classic_tencentweibo.png │ ├── ssdk_oks_classic_tumblr.png │ ├── ssdk_oks_classic_twitter.png │ ├── ssdk_oks_classic_vkontakte.png │ ├── ssdk_oks_classic_wechat.png │ ├── ssdk_oks_classic_wechatfavorite.png │ ├── ssdk_oks_classic_wechatmoments.png │ ├── ssdk_oks_classic_whatsapp.png │ ├── ssdk_oks_classic_yixin.png │ ├── ssdk_oks_classic_yixinmoments.png │ ├── ssdk_oks_classic_youdao.png │ └── ssdk_title_div.png │ ├── drawable │ ├── ssdk_oks_classic_platform_cell_back.xml │ └── ssdk_oks_classic_progressbar.xml │ ├── layout │ ├── activity_main.xml │ └── delegate_example.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── app_logo.png │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── raw │ └── test.json │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── ssdk_instapaper_strings.xml │ ├── ssdk_oks_color_drawables.xml │ ├── ssdk_oks_strings.xml │ ├── ssdk_strings.xml │ ├── strings.xml │ └── styles.xml ├── gradle.properties ├── gradlew ├── gradlew.bat ├── latte-annotations ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── flj │ └── latte │ └── annotations │ ├── AppRegisterGenerator.java │ ├── EntryGenerator.java │ └── PayEntryGenerator.java ├── latte-compiler ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── flj │ └── latte │ └── compiler │ ├── AppRegisterVisitor.java │ ├── EntryVisitor.java │ ├── LatteProcessor.java │ └── PayEntryVisitor.java ├── latte-core ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── flj │ │ └── latte │ │ ├── activities │ │ └── ProxyActivity.java │ │ ├── app │ │ ├── AccountManager.java │ │ ├── ConfigKeys.java │ │ ├── Configurator.java │ │ ├── IUserChecker.java │ │ ├── Latte.java │ │ └── YLXconst.java │ │ ├── delegates │ │ ├── BaseDelegate.java │ │ ├── IPageLoadListener.java │ │ ├── LatteDelegate.java │ │ ├── PermissionCheckerDelegate.java │ │ ├── bottom │ │ │ ├── BaseBottomDelegate.java │ │ │ ├── BottomItemDelegate.java │ │ │ ├── BottomTabBean.java │ │ │ └── ItemBuilder.java │ │ └── web │ │ │ ├── IWebViewInitializer.java │ │ │ ├── LatteWebInterface.java │ │ │ ├── WebDelegate.java │ │ │ ├── WebDelegateImpl.java │ │ │ ├── WebViewInitializer.java │ │ │ ├── chromeclient │ │ │ └── WebChromeClientImpl.java │ │ │ ├── client │ │ │ └── WebViewClientImpl.java │ │ │ ├── event │ │ │ ├── Event.java │ │ │ ├── EventManager.java │ │ │ ├── IEvent.java │ │ │ └── UndefineEvent.java │ │ │ └── route │ │ │ ├── RouteKeys.java │ │ │ └── Router.java │ │ ├── net │ │ ├── HttpMethod.java │ │ ├── RestClient.java │ │ ├── RestClientBuilder.java │ │ ├── RestCreator.java │ │ ├── RestService.java │ │ ├── callback │ │ │ ├── IError.java │ │ │ ├── IFailure.java │ │ │ ├── IRequest.java │ │ │ ├── ISuccess.java │ │ │ └── RequestCallbacks.java │ │ ├── download │ │ │ ├── DownloadHandler.java │ │ │ └── SaveFileTask.java │ │ ├── interceptors │ │ │ ├── BaseInterceptor.java │ │ │ └── DebugInterceptor.java │ │ └── rx │ │ │ ├── AddCookieInterceptor.java │ │ │ ├── RxRestClient.java │ │ │ ├── RxRestClientBuilder.java │ │ │ └── RxRestService.java │ │ ├── ui │ │ ├── camera │ │ │ ├── CameraHandler.java │ │ │ ├── CameraImageBean.java │ │ │ ├── LatteCamera.java │ │ │ └── RequestCodes.java │ │ ├── loader │ │ │ ├── LatteLoader.java │ │ │ ├── LoaderCreator.java │ │ │ └── LoaderStyle.java │ │ └── scanner │ │ │ ├── LatteViewFinderView.java │ │ │ ├── ScanView.java │ │ │ └── ScannerDelegate.java │ │ ├── util │ │ ├── AMUtils.java │ │ ├── CommonUtils.java │ │ ├── DialogSelectItemUtil.java │ │ ├── callback │ │ │ ├── CallbackManager.java │ │ │ ├── CallbackType.java │ │ │ ├── IGlobalCallback.java │ │ │ └── SortPopCallBack.java │ │ ├── dimen │ │ │ └── DimenUtil.java │ │ ├── downtimer │ │ │ ├── DownTimer.java │ │ │ └── DownTimerListener.java │ │ ├── expandtext │ │ │ └── StretchUtil.java │ │ ├── file │ │ │ └── FileUtil.java │ │ ├── log │ │ │ └── LatteLogger.java │ │ ├── storage │ │ │ └── LattePreference.java │ │ └── timer │ │ │ ├── BaseTimerTask.java │ │ │ └── ITimerListener.java │ │ └── wechat │ │ ├── BaseWXActivity.java │ │ ├── BaseWXEntryActivity.java │ │ ├── BaseWXPayEntryActivity.java │ │ ├── LatteWeChat.java │ │ ├── callbacks │ │ └── IWeChatSignInCallback.java │ │ └── templates │ │ ├── AppRegisterTemplate.java │ │ ├── WXEntryTemplate.java │ │ └── WXPayEntryTemplate.java │ └── res │ ├── anim │ ├── push_bottom_in.xml │ └── push_bottom_out.xml │ ├── drawable │ ├── btn_border.xml │ ├── btn_border_nativephoto.xml │ ├── btn_border_takephoto.xml │ ├── btn_dialog_cancel.xml │ └── dialog_okcancle_bottombg.xml │ ├── layout │ ├── bottom_item_icon_text_layout.xml │ ├── delegate_bottom.xml │ ├── dialog_camera_panel.xml │ ├── dialog_select_item.xml │ └── dialog_select_list.xml │ └── values │ ├── ids.xml │ ├── strings.xml │ └── style.xml ├── latte-ec ├── .gitignore ├── build.gradle ├── libs │ └── alipaySdk-20170922.jar ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── iconfont.ttf │ ├── java │ └── com │ │ └── flj │ │ └── latte │ │ └── ec │ │ ├── course_detail │ │ ├── CourseDetailDelegate.java │ │ ├── CourseDetailItemType.java │ │ └── Teachingeiradapter.java │ │ ├── detail │ │ ├── GoodsDetailDelegate.java │ │ ├── GoodsInfoDelegate.java │ │ ├── ImageDelegate.java │ │ ├── RecyclerImageAdapter.java │ │ ├── ScaleUpAnimator.java │ │ └── TabPagerAdapter.java │ │ ├── icon │ │ ├── EcIcons.java │ │ └── FontEcModule.java │ │ ├── launcher │ │ ├── LauncherDelegate.java │ │ └── LauncherScrollDelegate.java │ │ ├── main │ │ ├── EcBottomDelegate.java │ │ ├── audition │ │ │ ├── AuditionDelegate.java │ │ │ ├── AuditionItemFields.java │ │ │ ├── AuditionItemType.java │ │ │ ├── OverAuditionDelegate │ │ │ │ ├── OverAuditionConveter.java │ │ │ │ ├── OverAuditionDelegate.java │ │ │ │ └── OverAuditionadapter.java │ │ │ ├── OverBookDelegate │ │ │ │ ├── OverBookConverter.java │ │ │ │ ├── OverBookDelegate.java │ │ │ │ └── OverBookadapter.java │ │ │ └── OverdueDelegate │ │ │ │ ├── OverdueConverter.java │ │ │ │ ├── OverdueDelegate.java │ │ │ │ └── Overdueadapter.java │ │ ├── cart │ │ │ ├── ICartItemListener.java │ │ │ ├── ShopCartAdapter.java │ │ │ ├── ShopCartDataConverter.java │ │ │ ├── ShopCartDelegate.java │ │ │ ├── ShopCartItemFields.java │ │ │ └── ShopCartItemType.java │ │ ├── discover │ │ │ └── DiscoverDelegate.java │ │ ├── index │ │ │ ├── IndexArtConverter.java │ │ │ ├── IndexArtItemType.java │ │ │ ├── IndexArtadapter.java │ │ │ ├── IndexDataConverter.java │ │ │ ├── IndexDelegate.java │ │ │ ├── IndexHotConverter.java │ │ │ ├── IndexHotItemClickListener.java │ │ │ ├── IndexHotadapter.java │ │ │ ├── IndexItemClickListener.java │ │ │ ├── IndexItemFields.java │ │ │ ├── IndexItemType.java │ │ │ ├── TranslucentBehavior.java │ │ │ └── search │ │ │ │ ├── SearchAdapter.java │ │ │ │ ├── SearchDataConverter.java │ │ │ │ ├── SearchDelegate.java │ │ │ │ └── SearchItemType.java │ │ ├── personal │ │ │ ├── PersonalClickListener.java │ │ │ ├── PersonalDelegate.java │ │ │ ├── address │ │ │ │ ├── AddressAdapter.java │ │ │ │ ├── AddressDataConverter.java │ │ │ │ ├── AddressDelegate.java │ │ │ │ ├── AddressItemFields.java │ │ │ │ └── AddressItemType.java │ │ │ ├── list │ │ │ │ ├── ListAdapter.java │ │ │ │ ├── ListBean.java │ │ │ │ └── ListItemType.java │ │ │ ├── order │ │ │ │ ├── OrderCommentDelegate.java │ │ │ │ ├── OrderItemFields.java │ │ │ │ ├── OrderListAdapter.java │ │ │ │ ├── OrderListClickListener.java │ │ │ │ ├── OrderListDataConverter.java │ │ │ │ ├── OrderListDelegate.java │ │ │ │ └── OrderListItemType.java │ │ │ ├── profile │ │ │ │ ├── UploadConfig.java │ │ │ │ ├── UserProfileClickListener.java │ │ │ │ └── UserProfileDelegate.java │ │ │ └── settings │ │ │ │ ├── AboutDelegate.java │ │ │ │ ├── NameDelegate.java │ │ │ │ ├── SettingsClickListener.java │ │ │ │ └── SettingsDelegate.java │ │ └── sort │ │ │ ├── SortDelegate.java │ │ │ ├── content │ │ │ ├── ContentDelegate.java │ │ │ ├── SectionAdapter.java │ │ │ ├── SectionBean.java │ │ │ ├── SectionContentItemEntity.java │ │ │ └── SectionDataConverter.java │ │ │ └── list │ │ │ ├── SortRecyclerAdapter.java │ │ │ ├── VerticalListDataConverter.java │ │ │ └── VerticalListDelegate.java │ │ ├── pay │ │ ├── FastPay.java │ │ ├── IAlPayResultListener.java │ │ ├── PayAsyncTask.java │ │ └── PayResult.java │ │ └── sign │ │ ├── ISignListener.java │ │ ├── SignHandler.java │ │ ├── SignInDelegate.java │ │ └── SignUpDelegate.java │ └── res │ ├── anim │ └── translate_anim.xml │ ├── drawable │ ├── arrow_down.png │ ├── arrow_up.png │ ├── avator.png │ ├── border_circle_timer.xml │ ├── btn_border_overbook.xml │ ├── btn_border_overdue.xml │ ├── de_bg.png │ ├── dot_focus.xml │ ├── dot_normal.xml │ ├── ic_audition_remind.png │ ├── ic_home_art.png │ ├── ic_home_broadcast.png │ ├── ic_home_computer.png │ ├── ic_home_dance.png │ ├── ic_home_hot.png │ ├── ic_home_music.png │ ├── ic_home_sports.png │ ├── ic_my_comments.png │ ├── ic_my_favorites.png │ ├── ic_my_leave.png │ ├── ic_right.png │ ├── pic_home_banner.png │ ├── rs_select_btn_blue.xml │ ├── rs_select_btn_gray.xml │ ├── saber.png │ └── ylx_blue_btn.xml │ ├── layout │ ├── arrow_item_avatar.xml │ ├── arrow_item_layout.xml │ ├── arrow_switch_layout.xml │ ├── delegate_about.xml │ ├── delegate_address.xml │ ├── delegate_audition.xml │ ├── delegate_course_detail.xml │ ├── delegate_discover.xml │ ├── delegate_goods_detail.xml │ ├── delegate_goods_info.xml │ ├── delegate_image.xml │ ├── delegate_index.xml │ ├── delegate_launcher.xml │ ├── delegate_list_content.xml │ ├── delegate_name.xml │ ├── delegate_order_comment.xml │ ├── delegate_order_list.xml │ ├── delegate_overaudition.xml │ ├── delegate_overbook.xml │ ├── delegate_overdue.xml │ ├── delegate_personal.xml │ ├── delegate_search.xml │ ├── delegate_settings.xml │ ├── delegate_shop_cart.xml │ ├── delegate_sign_in.xml │ ├── delegate_sign_up.xml │ ├── delegate_sort.xml │ ├── delegate_user_profile.xml │ ├── delegate_vertical_list.xml │ ├── dialog_pay_panel.xml │ ├── item_address.xml │ ├── item_art_course.xml │ ├── item_hot_course.xml │ ├── item_image.xml │ ├── item_order_list.xml │ ├── item_overadutiton.xml │ ├── item_overaudition.xml │ ├── item_overbook.xml │ ├── item_search.xml │ ├── item_section_content.xml │ ├── item_section_header.xml │ ├── item_shop_cart.xml │ ├── item_teaching_enviroment.xml │ ├── item_vertical_menu_list.xml │ ├── layout_goods_detail_bottom.xml │ └── stub_shop_cart_no_item.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── avatar.jpg │ ├── ic_launcher.png │ ├── ic_launcher_round.png │ ├── launcher_00.jpeg │ ├── launcher_01.jpeg │ ├── launcher_02.jpeg │ ├── launcher_03.jpeg │ ├── launcher_04.jpeg │ └── launcher_05.jpeg │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ └── values │ ├── colors.xml │ ├── dimens.xml │ └── strings.xml ├── latte-ui ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── flj │ │ └── latte │ │ └── ui │ │ ├── animation │ │ ├── BezierAnimation.java │ │ └── BezierUtil.java │ │ ├── banner │ │ ├── BannerCreator.java │ │ ├── BannerCreatornative.java │ │ ├── HolderCreator.java │ │ ├── HolderCreatornative.java │ │ ├── ImageHolder.java │ │ └── ImageHoldernative.java │ │ ├── date │ │ └── DateDialogUtil.java │ │ ├── dimen │ │ └── ScreenUtils.java │ │ ├── image │ │ └── LatteGlideModel.java │ │ ├── launcher │ │ ├── ILauncherListener.java │ │ ├── LauncherHolder.java │ │ ├── LauncherHolderCreator.java │ │ ├── OnLauncherFinishTag.java │ │ └── ScrollLauncherTag.java │ │ ├── recycler │ │ ├── BaseDecoration.java │ │ ├── DataConverter.java │ │ ├── DividerLookupImpl.java │ │ ├── ItemType.java │ │ ├── MultipleEntityBuilder.java │ │ ├── MultipleFields.java │ │ ├── MultipleItemEntity.java │ │ ├── MultipleRecyclerAdapter.java │ │ ├── MultipleViewHolder.java │ │ └── RgbValue.java │ │ ├── refresh │ │ ├── PagingBean.java │ │ └── RefreshHandler.java │ │ └── widget │ │ ├── AutoPhotoLayout.java │ │ ├── CircleTextView.java │ │ └── StarLayout.java │ └── res │ ├── drawable │ ├── border_text.xml │ ├── btn_border.xml │ ├── btn_border_nativephoto.xml │ ├── btn_border_takephoto.xml │ ├── btn_normal_border.xml │ ├── dot_focus.xml │ └── dot_normal.xml │ ├── layout │ ├── dialog_camera_panel.xml │ ├── dialog_image_click_panel.xml │ ├── item_multiple_banner.xml │ ├── item_multiple_image.xml │ ├── item_multiple_image_text.xml │ └── item_multiple_text.xml │ └── values │ ├── attrs.xml │ ├── dimen.xml │ ├── ids.xml │ ├── strings.xml │ └── style.xml ├── pics ├── 1.png ├── 10.png ├── 11.png ├── 12.png ├── 13.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png ├── 7.png ├── 8.png └── 9.png ├── settings.gradle └── teacherapp ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src ├── androidTest └── java │ └── com │ └── tongyao │ └── teacherapp │ └── ExampleInstrumentedTest.java ├── main ├── AndroidManifest.xml ├── java │ └── com │ │ └── tongyao │ │ └── teacherapp │ │ └── activities │ │ ├── LoginActivity.java │ │ ├── MainActivity.java │ │ └── RegisterActivity.java └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ └── ic_launcher_background.xml │ ├── layout │ └── activity_main.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ └── values │ ├── colors.xml │ ├── strings.xml │ └── styles.xml └── test └── java └── com └── tongyao └── teacherapp └── ExampleUnitTest.java /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | build 4 | gradle 5 | .idea 6 | local.properties -------------------------------------------------------------------------------- /1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/1.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # yuelexue 2 | [https://blog.csdn.net/qq_38366777/article/details/82840140](csdn博客传送门) 3 | 4 | 简要介绍功能 5 | 1.在悦乐学系统中,用户能通过自己的手机号来获取账户,这也是市面上很主流的操作,当输入符合规定时,便能成为该系统的一个用户。 6 | 7 | 2.登陆功能,用户通过之前注册的账户、便能成功访问悦乐学系统 8 | 9 | 3.课程搜索功能,用户输入关键字,搜索出名称相关的课程,并根据自己的需要选择对应的课程。 10 | 11 | 4.课程分类功能,用户可根据分类搜索出相关培训机构信息,并根据系统提示,购买或预约该课程(分类如数学、英语、美术、体育等等) 12 | 13 | 5.支付功能,能让用户使用第三方支付平台(支付宝、微信) 14 | 15 | 6.试听课程(已预约课程、已结束课程) 16 | 17 | 7.个人中心内对帐户头像、密码等可以进行更改。 18 | 19 | 8.反馈功能,用户可以根据自己的需求、并在使用的过程产生问题,可以提供给开发者 20 | 21 | 22 | 23 | 项目架构介绍 24 | core 核心库:封装app通用的一些基础组件,比如网络情求,权限设置等等 25 | 26 | ec 业务库:这里面含有以上app所有的业务逻辑 27 | 28 | ui  ui库:封装统一使用的ui 29 | 30 | 31 | 32 | 图片展示 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | jcenter() 4 | google() 5 | } 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:3.0.1' 8 | } 9 | } 10 | 11 | allprojects { 12 | repositories { 13 | jcenter() 14 | mavenCentral() 15 | //BaseRecyclerViewAdapterHelper 16 | maven { url "https://jitpack.io" } 17 | google() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /example/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 26 5 | buildToolsVersion '27.0.1' 6 | defaultConfig { 7 | applicationId "com.diabin.fastec.example" 8 | minSdkVersion 21 9 | targetSdkVersion 26 10 | versionCode 2 11 | versionName "1.1" 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | multiDexEnabled true 14 | 15 | ndk { 16 | //选择要添加的对应cpu类型的.so库。 17 | abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a', 'x86', 'x86_64', 'mips', 'mips64' 18 | } 19 | 20 | manifestPlaceholders = [ 21 | JPUSH_PKGNAME: applicationId, 22 | JPUSH_APPKEY : "26a34a494a1d5dc03b133b24", 23 | JPUSH_CHANNEL: "developer-default", 24 | ] 25 | } 26 | buildTypes { 27 | release { 28 | minifyEnabled false 29 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 30 | } 31 | } 32 | productFlavors { 33 | } 34 | compileOptions { 35 | sourceCompatibility JavaVersion.VERSION_1_8 36 | targetCompatibility JavaVersion.VERSION_1_8 37 | } 38 | } 39 | 40 | dependencies { 41 | implementation fileTree(include: ['*.jar'], dir: 'libs') 42 | implementation project(':latte-ec') 43 | provided project(':latte-annotations') 44 | annotationProcessor project(':latte-compiler') 45 | implementation 'cn.jiguang.sdk:jpush:3.0.8' 46 | implementation 'cn.jiguang.sdk:jcore:1.1.6' 47 | } 48 | -------------------------------------------------------------------------------- /example/example-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/example-release.apk -------------------------------------------------------------------------------- /example/libs/MobCommons-2016.1222.1756.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/MobCommons-2016.1222.1756.jar -------------------------------------------------------------------------------- /example/libs/MobTools-2016.1222.1756.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/MobTools-2016.1222.1756.jar -------------------------------------------------------------------------------- /example/libs/ShareSDK-Core-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/ShareSDK-Core-2.8.0.jar -------------------------------------------------------------------------------- /example/libs/ShareSDK-ShortMessage-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/ShareSDK-ShortMessage-2.8.0.jar -------------------------------------------------------------------------------- /example/libs/ShareSDK-Wechat-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/ShareSDK-Wechat-2.8.0.jar -------------------------------------------------------------------------------- /example/libs/ShareSDK-Wechat-Core-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/ShareSDK-Wechat-Core-2.8.0.jar -------------------------------------------------------------------------------- /example/libs/ShareSDK-Wechat-Favorite-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/ShareSDK-Wechat-Favorite-2.8.0.jar -------------------------------------------------------------------------------- /example/libs/ShareSDK-Wechat-Moments-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/libs/ShareSDK-Wechat-Moments-2.8.0.jar -------------------------------------------------------------------------------- /example/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/FuLingjie/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /example/src/main/assets/js/index.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | $('.share').click(function () { 3 | var json = { 4 | action: "share", 5 | params: { 6 | imageUrl:"http://i9.qhimg.com/t017d891ca365ef60b5.jpg", 7 | url:"https://www.baidu.com", 8 | title:"标题", 9 | text:"描述" 10 | } 11 | }; 12 | 13 | latte.event(JSON.stringify(json)); 14 | 15 | }); 16 | 17 | $('.comment').click(function () { 18 | 19 | var json = { 20 | action: "comment" 21 | }; 22 | 23 | latte.event(JSON.stringify(json)); 24 | 25 | }); 26 | }); -------------------------------------------------------------------------------- /example/src/main/assets/second.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 本地测试2 9 | 10 | 11 | 12 |

这是本地页面2

13 | 14 | 15 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/CustomerLogo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import android.graphics.Bitmap; 12 | import android.view.View.OnClickListener; 13 | 14 | /** 15 | * 九宫格自定义的图标对象 16 | */ 17 | public class CustomerLogo { 18 | public String label; 19 | public Bitmap logo; 20 | public OnClickListener listener; 21 | } 22 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/OnekeyShareTheme.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import cn.sharesdk.onekeyshare.themes.classic.ClassicTheme; 12 | 13 | /** 14 | * 快捷分享的主题样式 15 | */ 16 | public enum OnekeyShareTheme { 17 | /** 18 | * 九格宫的主题样式 ,对应的实现类ClassicTheme 19 | */ 20 | CLASSIC(0, new ClassicTheme()); 21 | 22 | private final int value; 23 | private final OnekeyShareThemeImpl impl; 24 | 25 | private OnekeyShareTheme(int value, OnekeyShareThemeImpl impl) { 26 | this.value = value; 27 | this.impl = impl; 28 | } 29 | 30 | public static OnekeyShareTheme fromValue(int value) { 31 | for (OnekeyShareTheme theme : OnekeyShareTheme.values()) { 32 | if (theme.value == value) { 33 | return theme; 34 | } 35 | } 36 | return CLASSIC; 37 | } 38 | 39 | public int getValue() { 40 | return value; 41 | } 42 | 43 | public OnekeyShareThemeImpl getImpl() { 44 | return impl; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/ShareContentCustomizeCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import cn.sharesdk.framework.Platform; 12 | import cn.sharesdk.framework.Platform.ShareParams; 13 | 14 | /** 15 | * 自定义不同平台分享不同内容的接口 16 | */ 17 | public interface ShareContentCustomizeCallback { 18 | 19 | public void onShare(Platform platform, ShareParams paramsToShare); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/themes/classic/RotateImageView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.graphics.Canvas; 13 | import android.widget.ImageView; 14 | 15 | /** 16 | * 在At好友页面中,下拉刷新列表头部的旋转箭头 17 | */ 18 | public class RotateImageView extends ImageView { 19 | private float rotation; 20 | 21 | public RotateImageView(Context context) { 22 | super(context); 23 | } 24 | 25 | public void setRotation(float rotation) { 26 | this.rotation = rotation; 27 | invalidate(); 28 | } 29 | 30 | protected void onDraw(Canvas canvas) { 31 | canvas.rotate(rotation, getWidth() / 2, getHeight() / 2); 32 | super.onDraw(canvas); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/themes/classic/XView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.graphics.Canvas; 13 | import android.graphics.Paint; 14 | import android.view.View; 15 | 16 | /** 17 | * 编辑页面中删除图片“X”按钮 18 | */ 19 | public class XView extends View { 20 | private float ratio; 21 | 22 | public XView(Context context) { 23 | super(context); 24 | } 25 | 26 | public void setRatio(float ratio) { 27 | this.ratio = ratio; 28 | } 29 | 30 | protected void onDraw(Canvas canvas) { 31 | int width = getWidth() / 2; 32 | int height = getHeight() / 2; 33 | 34 | Paint paint = new Paint(); 35 | paint.setAntiAlias(true); 36 | paint.setColor(0xffa0a0a0); 37 | canvas.drawRect(width, 0, getWidth(), height, paint); 38 | 39 | paint = new Paint(); 40 | paint.setAntiAlias(true); 41 | paint.setStrokeWidth(3f * ratio); 42 | paint.setColor(0xffffffff); 43 | float left = 8f * ratio; 44 | canvas.drawLine(width + left, left, getWidth() - left, width - left, paint); 45 | canvas.drawLine(width + left, width - left, getWidth() - left, left, paint); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/themes/classic/land/FriendListPageLand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.land; 10 | 11 | import com.mob.tools.utils.ResHelper; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.FriendListPage; 15 | 16 | /** 17 | * 横屏的好友列表 18 | */ 19 | public class FriendListPageLand extends FriendListPage { 20 | private static final int DESIGN_SCREEN_WIDTH = 1280; 21 | private static final int DESIGN_TITLE_HEIGHT = 70; 22 | 23 | public FriendListPageLand(OnekeyShareThemeImpl impl) { 24 | super(impl); 25 | } 26 | 27 | protected float getRatio() { 28 | float screenWidth = ResHelper.getScreenWidth(activity); 29 | return screenWidth / DESIGN_SCREEN_WIDTH; 30 | } 31 | 32 | protected int getDesignTitleHeight() { 33 | return DESIGN_TITLE_HEIGHT; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/themes/classic/land/PlatformPageLand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.land; 10 | 11 | import java.util.ArrayList; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | /** 18 | * 横屏的九宫格页面 19 | */ 20 | public class PlatformPageLand extends PlatformPage { 21 | 22 | public PlatformPageLand(OnekeyShareThemeImpl impl) { 23 | super(impl); 24 | } 25 | 26 | public void onCreate() { 27 | requestLandscapeOrientation(); 28 | super.onCreate(); 29 | } 30 | 31 | protected PlatformPageAdapter newAdapter(ArrayList cells) { 32 | return new PlatformPageAdapterLand(this, cells); 33 | } 34 | 35 | } 36 | 37 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/themes/classic/port/FriendListPagePort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.port; 10 | 11 | import com.mob.tools.utils.ResHelper; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.FriendListPage; 15 | 16 | /** 17 | * 竖屏的好友列表 18 | */ 19 | public class FriendListPagePort extends FriendListPage { 20 | private static final int DESIGN_SCREEN_WIDTH = 720; 21 | private static final int DESIGN_TITLE_HEIGHT = 96; 22 | 23 | public FriendListPagePort(OnekeyShareThemeImpl impl) { 24 | super(impl); 25 | } 26 | 27 | protected float getRatio() { 28 | float screenWidth = ResHelper.getScreenWidth(activity); 29 | return screenWidth / DESIGN_SCREEN_WIDTH; 30 | } 31 | 32 | protected int getDesignTitleHeight() { 33 | return DESIGN_TITLE_HEIGHT; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /example/src/main/java/cn/sharesdk/onekeyshare/themes/classic/port/PlatformPagePort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.port; 10 | 11 | import java.util.ArrayList; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | /** 18 | * 竖屏的九宫格页面 19 | */ 20 | public class PlatformPagePort extends PlatformPage { 21 | 22 | public PlatformPagePort(OnekeyShareThemeImpl impl) { 23 | super(impl); 24 | } 25 | 26 | public void onCreate() { 27 | requestPortraitOrientation(); 28 | super.onCreate(); 29 | } 30 | 31 | protected PlatformPageAdapter newAdapter(ArrayList cells) { 32 | return new PlatformPageAdapterPort(this, cells); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /example/src/main/java/com/diabin/fastec/example/event/ShareEvent.java: -------------------------------------------------------------------------------- 1 | package com.diabin.fastec.example.event; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import com.flj.latte.delegates.web.event.Event; 6 | import com.flj.latte.util.log.LatteLogger; 7 | 8 | import cn.sharesdk.framework.ShareSDK; 9 | import cn.sharesdk.onekeyshare.OnekeyShare; 10 | 11 | /** 12 | * Created by 傅令杰 13 | */ 14 | 15 | public class ShareEvent extends Event { 16 | 17 | @Override 18 | public String execute(String params) { 19 | 20 | LatteLogger.json("ShareEvent", params); 21 | 22 | final JSONObject object = JSON.parseObject(params).getJSONObject("params"); 23 | final String title = object.getString("title"); 24 | final String url = object.getString("url"); 25 | final String imageUrl = object.getString("imageUrl"); 26 | final String text = object.getString("text"); 27 | 28 | ShareSDK.initSDK(getContext()); 29 | final OnekeyShare oks = new OnekeyShare(); 30 | oks.disableSSOWhenAuthorize(); 31 | oks.setTitle(title); 32 | oks.setText(text); 33 | oks.setImageUrl(imageUrl); 34 | oks.setUrl(url); 35 | oks.show(getContext()); 36 | 37 | return null; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /example/src/main/java/com/diabin/fastec/example/event/TestEvent.java: -------------------------------------------------------------------------------- 1 | package com.diabin.fastec.example.event; 2 | 3 | import android.webkit.WebView; 4 | import android.widget.Toast; 5 | 6 | import com.flj.latte.delegates.web.event.Event; 7 | 8 | /** 9 | * Created by 傅令杰 10 | */ 11 | 12 | public class TestEvent extends Event { 13 | @Override 14 | public String execute(String params) { 15 | Toast.makeText(getContext(), getAction(), Toast.LENGTH_LONG).show(); 16 | if (getAction().equals("test")) { 17 | final WebView webView = getWebView(); 18 | webView.post(new Runnable() { 19 | @Override 20 | public void run() { 21 | webView.evaluateJavascript("nativeCall();", null); 22 | } 23 | }); 24 | } 25 | return null; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /example/src/main/java/com/diabin/fastec/example/generators/AppRegister.java: -------------------------------------------------------------------------------- 1 | package com.diabin.fastec.example.generators; 2 | 3 | import com.flj.latte.annotations.AppRegisterGenerator; 4 | import com.flj.latte.wechat.templates.AppRegisterTemplate; 5 | 6 | /** 7 | * Created by 傅令杰 on 2017/4/22 8 | */ 9 | @SuppressWarnings("unused") 10 | @AppRegisterGenerator( 11 | packageName = "com.diabin.fastec.example", 12 | registerTemplate = AppRegisterTemplate.class 13 | ) 14 | public interface AppRegister { 15 | } 16 | -------------------------------------------------------------------------------- /example/src/main/java/com/diabin/fastec/example/generators/WeChatEntry.java: -------------------------------------------------------------------------------- 1 | package com.diabin.fastec.example.generators; 2 | 3 | import com.flj.latte.annotations.EntryGenerator; 4 | import com.flj.latte.wechat.templates.WXEntryTemplate; 5 | 6 | /** 7 | * Created by 傅令杰 on 2017/4/22 8 | */ 9 | 10 | @SuppressWarnings("unused") 11 | @EntryGenerator( 12 | packageName = "com.diabin.fastec.example", 13 | entryTemplate = WXEntryTemplate.class 14 | ) 15 | public interface WeChatEntry { 16 | } 17 | -------------------------------------------------------------------------------- /example/src/main/java/com/diabin/fastec/example/generators/WeChatPayEntry.java: -------------------------------------------------------------------------------- 1 | package com.diabin.fastec.example.generators; 2 | 3 | import com.flj.latte.annotations.PayEntryGenerator; 4 | import com.flj.latte.wechat.templates.WXPayEntryTemplate; 5 | 6 | /** 7 | * Created by 傅令杰 on 2017/4/22 8 | */ 9 | @SuppressWarnings("unused") 10 | @PayEntryGenerator( 11 | packageName = "com.diabin.fastec.example", 12 | payEntryTemplate = WXPayEntryTemplate.class 13 | ) 14 | public interface WeChatPayEntry { 15 | } 16 | -------------------------------------------------------------------------------- /example/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_back_arr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_back_arr.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_logo.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png -------------------------------------------------------------------------------- /example/src/main/res/drawable-xhdpi/ssdk_title_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hughcoder/yuelexue/d6a3d4714ba677370052168adfd66b23b446c41b/example/src/main/res/drawable-xhdpi/ssdk_title_div.png -------------------------------------------------------------------------------- /example/src/main/res/drawable/ssdk_oks_classic_platform_cell_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /example/src/main/res/drawable/ssdk_oks_classic_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /example/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /example/src/main/res/layout/delegate_example.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 |