├── Csharp ├── README.md └── bitkyShop │ ├── bitkyShop │ ├── init │ │ ├── .gitignore │ │ └── CloudServiceHelper.cs │ ├── resource │ │ ├── kyOrderSound │ │ └── defaultCoverPhoto │ ├── utils │ │ ├── AsynUploadPhotoThread.cs │ │ ├── KyMatch.cs │ │ └── HashHelper.cs │ ├── App.config │ ├── App.xaml.cs │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── bean │ │ ├── beanShow │ │ │ ├── OrderStatus.cs │ │ │ ├── CommodityPcShow.cs │ │ │ └── OrderShow.cs │ │ ├── CommodityOrder.cs │ │ ├── SubCategory.cs │ │ ├── Order.cs │ │ ├── CommodityUploadInfo.cs │ │ └── Commodity.cs │ ├── App.xaml │ └── view │ │ ├── ICloudServiceView.cs │ │ ├── ConfirmUploadSubCategoryInfo.xaml │ │ ├── ConfirmUploadCommodityInfo.xaml │ │ ├── UpdateCommodityInfoWindow.xaml │ │ ├── UpdateCommodityInfoWindow.xaml.cs │ │ └── ConfirmUploadSubCategoryInfo.xaml.cs │ └── bitkyShop.sln ├── Android ├── bitkyShop │ ├── settings.gradle │ ├── MaterialRefreshLayout │ │ ├── src │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── res │ │ │ │ └── values │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── attrs_circle_progressbar.xml │ │ │ │ │ └── attrs.xml │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── cjj │ │ │ │ ├── MaterialRefreshListener.java │ │ │ │ ├── Util.java │ │ │ │ └── MaterialHeadListener.java │ │ └── build.gradle │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ ├── values │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ ├── dimens.xml │ │ │ │ │ │ ├── style_item_counter.xml │ │ │ │ │ │ └── styles.xml │ │ │ │ │ ├── drawable │ │ │ │ │ │ ├── recycler_devider.xml │ │ │ │ │ │ ├── selector_checkable.xml │ │ │ │ │ │ ├── selector_number_add_sub.xml │ │ │ │ │ │ ├── cardview_style_white.xml │ │ │ │ │ │ ├── navigationbar_selector_home.xml │ │ │ │ │ │ ├── navigationbar_selector_user.xml │ │ │ │ │ │ ├── navigationbar_selector_cart.xml │ │ │ │ │ │ ├── bg_btn_style_grey.xml │ │ │ │ │ │ ├── edittext_style_white.xml │ │ │ │ │ │ ├── button_style_white.xml │ │ │ │ │ │ ├── navigationbar_selector_hot.xml │ │ │ │ │ │ ├── bg_btn_style_blue.xml │ │ │ │ │ │ ├── bg_btn_style_red.xml │ │ │ │ │ │ └── navigationbar_selector_category.xml │ │ │ │ │ ├── color │ │ │ │ │ │ ├── selector_recycler.xml │ │ │ │ │ │ ├── selector_list_item.xml │ │ │ │ │ │ └── selecter_tab_text.xml │ │ │ │ │ ├── values-w820dp │ │ │ │ │ │ └── dimens.xml │ │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ │ └── selector_list_item.xml │ │ │ │ │ └── layout │ │ │ │ │ │ ├── tab_indicator.xml │ │ │ │ │ │ ├── recycler_categryfragment_single_text.xml │ │ │ │ │ │ ├── activity_main.xml │ │ │ │ │ │ ├── activity_search.xml │ │ │ │ │ │ ├── cartfragment_toolbar.xml │ │ │ │ │ │ ├── widget_item_counter.xml │ │ │ │ │ │ ├── fragment_login_phone.xml │ │ │ │ │ │ ├── activity_login.xml │ │ │ │ │ │ ├── recycler_subcategory_show.xml │ │ │ │ │ │ ├── activity_sub_category.xml │ │ │ │ │ │ ├── activity_order_manager.xml │ │ │ │ │ │ ├── fragment_hot.xml │ │ │ │ │ │ ├── fragment_categray.xml │ │ │ │ │ │ ├── activity_request_smscode.xml │ │ │ │ │ │ ├── recycler_orderactivity_show.xml │ │ │ │ │ │ ├── recycler_homefragment_show.xml │ │ │ │ │ │ ├── widget_ky_toolbar.xml │ │ │ │ │ │ ├── activity_create_address.xml │ │ │ │ │ │ ├── fragment_login_legacy.xml │ │ │ │ │ │ ├── activity_address_option.xml │ │ │ │ │ │ ├── fragment_cart.xml │ │ │ │ │ │ ├── recycler_cartfragment_show.xml │ │ │ │ │ │ ├── recycler_userfragment_receive_address.xml │ │ │ │ │ │ ├── activity_signup.xml │ │ │ │ │ │ └── fragment_user.xml │ │ │ │ ├── java │ │ │ │ │ └── cc │ │ │ │ │ │ └── bitky │ │ │ │ │ │ └── bitkyshop │ │ │ │ │ │ ├── fragment │ │ │ │ │ │ ├── userfragment │ │ │ │ │ │ │ ├── loginfragment │ │ │ │ │ │ │ │ ├── ILoginActivity.java │ │ │ │ │ │ │ │ ├── FindTabAdapter.java │ │ │ │ │ │ │ │ ├── LoginPhoneFragment.java │ │ │ │ │ │ │ │ ├── LoginLegacyFragment.java │ │ │ │ │ │ │ │ └── RequestSMSCodeActivity.java │ │ │ │ │ │ │ ├── orderactivity │ │ │ │ │ │ │ │ └── OrderActivityPresenter.java │ │ │ │ │ │ │ ├── addressactivity │ │ │ │ │ │ │ │ ├── CreateAddressActivity.java │ │ │ │ │ │ │ │ └── AddressOptionPresenter.java │ │ │ │ │ │ │ └── searchActivity │ │ │ │ │ │ │ │ └── SearchActivity.java │ │ │ │ │ │ ├── KyFragment.java │ │ │ │ │ │ ├── hotfragment │ │ │ │ │ │ │ ├── IHotFragment.java │ │ │ │ │ │ │ └── HotFragmentPresenter.java │ │ │ │ │ │ ├── categrayfragment │ │ │ │ │ │ │ ├── ICategrayFragment.java │ │ │ │ │ │ │ └── SubCategrayActivityPresenter.java │ │ │ │ │ │ ├── homefragment │ │ │ │ │ │ │ ├── IHomeFragment.java │ │ │ │ │ │ │ └── HomeFragmentPresenter.java │ │ │ │ │ │ └── cartfragment │ │ │ │ │ │ │ └── CartToolbar.java │ │ │ │ │ │ ├── bean │ │ │ │ │ │ ├── CardViewHomeItem.java │ │ │ │ │ │ ├── KyTab.java │ │ │ │ │ │ ├── cart │ │ │ │ │ │ │ ├── KyUser.java │ │ │ │ │ │ │ ├── CommodityOrder.java │ │ │ │ │ │ │ ├── ReceiveAddress.java │ │ │ │ │ │ │ ├── CommodityLocal.java │ │ │ │ │ │ │ └── Order.java │ │ │ │ │ │ ├── SubCategory.java │ │ │ │ │ │ └── Commodity.java │ │ │ │ │ │ ├── utils │ │ │ │ │ │ ├── tools │ │ │ │ │ │ │ ├── KyBmobHelper.java │ │ │ │ │ │ │ ├── KySet.java │ │ │ │ │ │ │ └── KyPattern.java │ │ │ │ │ │ ├── KyLog.java │ │ │ │ │ │ ├── ToastUtil.java │ │ │ │ │ │ ├── recyclerview │ │ │ │ │ │ │ ├── KyBaseViewHolder.java │ │ │ │ │ │ │ ├── KyBaseRecyclerAdapter.java │ │ │ │ │ │ │ └── DividerItemDecoration.java │ │ │ │ │ │ ├── BitkyRecyclerAdapter.java │ │ │ │ │ │ └── widget │ │ │ │ │ │ │ └── ItemCounter.java │ │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ │ └── globalDeploy │ │ │ │ │ │ └── GreenDaoKyHelper.java │ │ │ │ └── AndroidManifest.xml │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── cc │ │ │ │ │ └── bitky │ │ │ │ │ └── bitkyshop │ │ │ │ │ └── ExampleUnitTest.java │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── cc │ │ │ │ └── bitky │ │ │ │ └── bitkyshop │ │ │ │ └── ExampleInstrumentedTest.java │ │ └── proguard-rules.pro │ ├── build.gradle │ ├── gradle.properties │ └── gradlew.bat └── .gitignore ├── mdphoto ├── main │ ├── app01.png │ ├── app02.png │ ├── app03.png │ ├── app04.png │ ├── app05.png │ ├── app06.png │ ├── app07.png │ ├── desktop0.png │ ├── desktop1.png │ └── desktop2.png └── license-MIT-blue.svg └── LICENSE /Csharp/README.md: -------------------------------------------------------------------------------- 1 | 注意:由于安全原因,本项目屏蔽掉了PresetInfo.cs文件,该文件可根据自己的需要自行创建。 -------------------------------------------------------------------------------- /Android/bitkyShop/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':MaterialRefreshLayout' 2 | -------------------------------------------------------------------------------- /mdphoto/main/app01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/app01.png -------------------------------------------------------------------------------- /mdphoto/main/app02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/app02.png -------------------------------------------------------------------------------- /mdphoto/main/app03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/app03.png -------------------------------------------------------------------------------- /mdphoto/main/app04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/app04.png -------------------------------------------------------------------------------- /mdphoto/main/app05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/app05.png -------------------------------------------------------------------------------- /mdphoto/main/app06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/app06.png -------------------------------------------------------------------------------- /mdphoto/main/app07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/app07.png -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /mdphoto/main/desktop0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/desktop0.png -------------------------------------------------------------------------------- /mdphoto/main/desktop1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/desktop1.png -------------------------------------------------------------------------------- /mdphoto/main/desktop2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/mdphoto/main/desktop2.png -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/init/.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | 3 | PresetInfo.cs -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/resource/kyOrderSound: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/Csharp/bitkyShop/bitkyShop/resource/kyOrderSound -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/resource/defaultCoverPhoto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitkylin/BitkyShop/HEAD/Csharp/bitkyShop/bitkyShop/resource/defaultCoverPhoto -------------------------------------------------------------------------------- /Android/bitkyShop/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | .idea 4 | /build 5 | /gradle 6 | /local.properties 7 | .DS_Store 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/utils/AsynUploadPhotoThread.cs: -------------------------------------------------------------------------------- 1 | namespace bitkyShop.utils 2 | { 3 | public class AsynUploadPhotoThread 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Android/bitkyShop/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /libs 3 | 4 | # 因为隐私问题,暂时屏蔽build.gradle和BitkyApplication.java,敬请谅解 5 | build.gradle 6 | BitkyApplication.java 7 | 8 | *.png 9 | *.jpg -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace bitkyShop 4 | { 5 | /// 6 | /// App.xaml 的交互逻辑 7 | /// 8 | public partial class App : Application 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 生活服务超市 3 | 4 | 5 | Hello blank fragment 6 | 7 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/recycler_devider.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/color/selector_recycler.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffF44336 4 | #ff4CAF50 5 | #ff03A9F4 6 | #ffFFEB3B 7 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/fragment/userfragment/loginfragment/ILoginActivity.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.fragment.userfragment.loginfragment; 2 | 3 | interface ILoginActivity { 4 | void userLoginByLegacy(String userName, String password); 5 | 6 | void userLoginByPhone(String phone); 7 | 8 | void signUp(); 9 | } 10 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/selector_checkable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/src/main/java/com/cjj/MaterialRefreshListener.java: -------------------------------------------------------------------------------- 1 | package com.cjj; 2 | 3 | public abstract class MaterialRefreshListener { 4 | public void onfinish(){}; 5 | public abstract void onRefresh(MaterialRefreshLayout materialRefreshLayout); 6 | public void onRefreshLoadMore(MaterialRefreshLayout materialRefreshLayout){}; 7 | } 8 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/selector_number_add_sub.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/bean/CardViewHomeItem.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.bean; 2 | 3 | /** 4 | * Created by bitky on 2016/11/6. 5 | */ 6 | 7 | public class CardViewHomeItem { 8 | public String url; 9 | public String msg; 10 | 11 | public CardViewHomeItem(String url, String msg) { 12 | this.url = url; 13 | this.msg = msg; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/bean/beanShow/OrderStatus.cs: -------------------------------------------------------------------------------- 1 | namespace bitkyShop.bean.beanShow 2 | { 3 | public class OrderStatus 4 | { 5 | public const int NONE = 0; 6 | public const int 已下单 = 100; 7 | public const int 已送达 = 110; 8 | 9 | public const int 已确认收货 = 200; 10 | 11 | public const int 已取消 = 500; 12 | public const int 已删除 = 600; 13 | } 14 | } -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | BRLayoutLibrary 3 | 4 | @color/material_red 5 | @color/material_green 6 | @color/material_blue 7 | @color/material_yellow 8 | 9 | 10 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/utils/tools/KyBmobHelper.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.utils.tools; 2 | 3 | import cc.bitky.bitkyshop.bean.cart.KyUser; 4 | import cn.bmob.v3.BmobUser; 5 | 6 | public class KyBmobHelper { 7 | 8 | /** 9 | * 获取本地保存的当前用户 10 | */ 11 | public static KyUser getCurrentUser() { 12 | return BmobUser.getCurrentUser(KyUser.class); 13 | } 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/color/selector_list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/fragment/KyFragment.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.fragment; 2 | 3 | import android.support.v4.app.Fragment; 4 | import cc.bitky.bitkyshop.MainActivity; 5 | 6 | public class KyFragment extends Fragment { 7 | protected MainActivity mainActivity; 8 | 9 | public void setMainActivity(MainActivity mainActivity) { 10 | this.mainActivity = mainActivity; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable-xxhdpi/selector_list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/color/selecter_tab_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/cardview_style_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/navigationbar_selector_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/navigationbar_selector_user.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/navigationbar_selector_cart.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/fragment/hotfragment/IHotFragment.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.fragment.hotfragment; 2 | 3 | import static cc.bitky.bitkyshop.fragment.hotfragment.HotFragmentPresenter.RefreshType; 4 | 5 | import java.util.List; 6 | 7 | import cc.bitky.bitkyshop.bean.Commodity; 8 | 9 | public interface IHotFragment { 10 | 11 | void refreshRecyclerViewData(List list, RefreshType type); 12 | 13 | void CanNotRefreshData(RefreshType type); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/fragment/categrayfragment/ICategrayFragment.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.fragment.categrayfragment; 2 | 3 | import cc.bitky.bitkyshop.bean.SubCategory; 4 | import cc.bitky.bitkyshop.fragment.categrayfragment.CategrayFragmentPresenter.RefreshType; 5 | import java.util.List; 6 | 7 | public interface ICategrayFragment { 8 | 9 | void refreshRecyclerViewData(List list, RefreshType loadMore); 10 | 11 | void CanNotRefreshData(RefreshType loadMore); 12 | } 13 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/test/java/cc/bitky/bitkyshop/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/utils/KyLog.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.utils; 2 | 3 | 4 | import android.support.annotation.Nullable; 5 | 6 | import com.socks.library.KLog; 7 | 8 | public class KyLog { 9 | 10 | public static String TAG = "bitky"; 11 | 12 | public static void init(boolean isShowLog, @Nullable String tag) { 13 | TAG = tag; 14 | KLog.init(isShowLog, tag); 15 | } 16 | 17 | public static String getTAG(String msg) { 18 | return TAG + "_" + msg; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/fragment/homefragment/IHomeFragment.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.fragment.homefragment; 2 | 3 | import cc.bitky.bitkyshop.bean.Commodity; 4 | import java.util.List; 5 | 6 | /** 7 | * Created by bitky on 2016/11/18. 8 | */ 9 | 10 | public interface IHomeFragment { 11 | 12 | /** 13 | * 初始化获取数据 14 | * 15 | * @param list 获取的数据 16 | */ 17 | void initRecyclerViewData(List list); 18 | 19 | void refleshRecyclerViewData(List list, HomeFragmentPresenter.RefreshType type); 20 | 21 | void CanNotRefreshData(HomeFragmentPresenter.RefreshType type); 22 | } 23 | -------------------------------------------------------------------------------- /Android/.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the ART/Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | out/ 15 | 16 | # Gradle files 17 | .gradle/ 18 | build/ 19 | 20 | # Local configuration file (sdk path, etc) 21 | local.properties 22 | 23 | # Proguard folder generated by Eclipse 24 | proguard/ 25 | 26 | # Log Files 27 | *.log 28 | 29 | # Android Studio Navigation editor temp files 30 | .navigation/ 31 | 32 | # Android Studio captures folder 33 | captures/ 34 | 35 | # Intellij 36 | *.iml 37 | .idea/workspace.xml 38 | 39 | # Keystore files 40 | *.jks 41 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/values/style_item_counter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/bg_btn_style_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/layout/tab_indicator.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 13 | 14 | 20 | 21 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/edittext_style_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/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 D:\developer\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 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/button_style_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /mdphoto/license-MIT-blue.svg: -------------------------------------------------------------------------------- 1 | licenselicenseMITMIT -------------------------------------------------------------------------------- /Android/bitkyShop/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | google() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:3.0.1' 10 | classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1' 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | google() 19 | jcenter() 20 | maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" } 21 | maven { url "https://jitpack.io" } 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/layout/recycler_categryfragment_single_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 22 | 23 | -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/src/main/java/com/cjj/Util.java: -------------------------------------------------------------------------------- 1 | package com.cjj; 2 | 3 | import android.content.Context; 4 | 5 | public class Util { 6 | 7 | public static int dip2px(Context context, float dpValue) { 8 | final float scale = context.getResources().getDisplayMetrics().density; 9 | return (int) (dpValue * scale + 0.5f); 10 | } 11 | 12 | public static int px2dip(Context context, float pxValue) { 13 | final float scale = context.getResources().getDisplayMetrics().density; 14 | return (int) (pxValue / scale + 0.5f); 15 | } 16 | 17 | public static float limitValue(float a, float b) { 18 | float valve = 0; 19 | final float min = Math.min(a, b); 20 | final float max = Math.max(a, b); 21 | valve = valve > min ? valve : min; 22 | valve = valve < max ? valve : max; 23 | return valve; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/androidTest/java/cc/bitky/bitkyshop/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("cc.bitky.bitkyshop", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/bean/KyTab.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.bean; 2 | 3 | public class KyTab { 4 | 5 | private String title; 6 | private int icon; 7 | private Class fragment; 8 | 9 | public KyTab(Class fragment, String title, int icon) { 10 | this.title = title; 11 | this.icon = icon; 12 | this.fragment = fragment; 13 | } 14 | 15 | public String getTitle() { 16 | return title; 17 | } 18 | 19 | public void setTitle(String title) { 20 | this.title = title; 21 | } 22 | 23 | public int getIcon() { 24 | return icon; 25 | } 26 | 27 | public void setIcon(int icon) { 28 | this.icon = icon; 29 | } 30 | 31 | public Class getFragment() { 32 | return fragment; 33 | } 34 | 35 | public void setFragment(Class fragment) { 36 | this.fragment = fragment; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/utils/KyMatch.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace bitkyShop.utils 4 | { 5 | public class KyMatch 6 | { 7 | /// 8 | /// 判断是自然数 9 | /// 10 | /// 待匹配的文本 11 | /// 匹配结果 12 | public static bool IsInt(string value) //判断是自然数 13 | { 14 | value = value.Trim(); 15 | return Regex.IsMatch(value, @"^[1-9]\d*|0$"); 16 | } 17 | 18 | /// 19 | /// 判断是正浮点数 20 | /// 21 | /// 待匹配的文本 22 | /// 匹配结果 23 | public static bool IsFloat(string value) //判断是正浮点数或自然数 24 | { 25 | value = value.Trim(); 26 | return Regex.IsMatch(value, @"^[1-9]d*.d*|0.d*[1-9]d*|[1-9]\d*|0$"); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 26 5 | resourcePrefix "MaterialRefreshLayoutky" //这个随便填 6 | defaultConfig { 7 | minSdkVersion 19 8 | targetSdkVersion 26 9 | versionCode 1 10 | versionName "1.0" 11 | } 12 | 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | 20 | lintOptions { 21 | checkReleaseBuilds false 22 | // Or, if you prefer, you can continue to check for errors in release builds, 23 | // but continue the build even when errors are found: 24 | abortOnError false 25 | } 26 | } 27 | 28 | dependencies { 29 | compile fileTree(dir: 'libs', include: ['*.jar']) 30 | compile 'com.android.support:appcompat-v7:26.1.0' 31 | compile 'com.android.support:support-v4:26.1.0' 32 | } 33 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 18 | 19 | 24 | 25 | 26 | > 27 | 28 | 29 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/layout/activity_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 21 | 22 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/bean/cart/KyUser.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.bean.cart; 2 | 3 | import cn.bmob.v3.BmobUser; 4 | 5 | public class KyUser extends BmobUser { 6 | private String pwdResumeQuestion; 7 | private String pwdResumeAnswer; 8 | private Boolean haveDetailInfo; 9 | 10 | public Boolean getHaveDetailInfo() { 11 | return haveDetailInfo; 12 | } 13 | 14 | public void setHaveDetailInfo(Boolean haveDetailInfo) { 15 | this.haveDetailInfo = haveDetailInfo; 16 | } 17 | 18 | public String getPwdResumeQuestion() { 19 | return pwdResumeQuestion; 20 | } 21 | 22 | public void setPwdResumeQuestion(String pwdResumeQuestion) { 23 | this.pwdResumeQuestion = pwdResumeQuestion; 24 | } 25 | 26 | public String getPwdResumeAnswer() { 27 | return pwdResumeAnswer; 28 | } 29 | 30 | public void setPwdResumeAnswer(String pwdResumeAnswer) { 31 | this.pwdResumeAnswer = pwdResumeAnswer; 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/bean/cart/CommodityOrder.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.bean.cart; 2 | 3 | import java.io.Serializable; 4 | 5 | public class CommodityOrder implements Serializable { 6 | 7 | private String objectId; 8 | private Double price; 9 | private Integer count; 10 | 11 | public CommodityOrder(String objectId, Double price, Integer count) { 12 | this.objectId = objectId; 13 | this.price = price; 14 | this.count = count; 15 | } 16 | 17 | public String getObjectId() { 18 | return objectId; 19 | } 20 | 21 | public void setObjectId(String objectId) { 22 | this.objectId = objectId; 23 | } 24 | 25 | public Double getPrice() { 26 | return price; 27 | } 28 | 29 | public void setPrice(Double price) { 30 | this.price = price; 31 | } 32 | 33 | public Integer getCount() { 34 | return count; 35 | } 36 | 37 | public void setCount(Integer count) { 38 | this.count = count; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/bean/CommodityOrder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Threading.Tasks; 5 | using cn.bmob.io; 6 | 7 | namespace bitkyShop.bean 8 | { 9 | public class CommodityOrder : BmobTable 10 | { 11 | public String objectId; 12 | public BmobDouble price; 13 | public BmobInt count; 14 | 15 | 16 | 17 | //读字段信息 18 | public override void readFields(BmobInput input) 19 | { 20 | base.readFields(input); 21 | objectId = input.getString("objectId"); 22 | price = input.getDouble("price"); 23 | count = input.getInt("count"); 24 | } 25 | 26 | //写字段信息 27 | public override void write(BmobOutput output, bool all) 28 | { 29 | base.write(output, all); 30 | output.Put("objectId", objectId); 31 | output.Put("price", price); 32 | output.Put("count", count); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/bean/SubCategory.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.bean; 2 | 3 | import cn.bmob.v3.BmobObject; 4 | 5 | public class SubCategory extends BmobObject { 6 | 7 | private String mainCategory; 8 | private String photoUrl; 9 | public String photoName; 10 | private String name; 11 | 12 | public String getMainCategory() { 13 | return mainCategory; 14 | } 15 | 16 | public void setMainCategory(String mainCategory) { 17 | this.mainCategory = mainCategory; 18 | } 19 | 20 | public String getPhotoUrl() { 21 | return photoUrl; 22 | } 23 | 24 | public void setPhotoUrl(String photoUrl) { 25 | this.photoUrl = photoUrl; 26 | } 27 | 28 | public String getName() { 29 | return name; 30 | } 31 | 32 | public void setName(String name) { 33 | this.name = name; 34 | } 35 | 36 | public String getPhotoName() { 37 | return photoName; 38 | } 39 | 40 | public void setPhotoName(String photoName) { 41 | this.photoName = photoName; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/navigationbar_selector_hot.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "bitkyShop", "bitkyShop\bitkyShop.csproj", "{BD0859AA-E531-4B52-B81A-2B4D1C22B8DF}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {BD0859AA-E531-4B52-B81A-2B4D1C22B8DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {BD0859AA-E531-4B52-B81A-2B4D1C22B8DF}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {BD0859AA-E531-4B52-B81A-2B4D1C22B8DF}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {BD0859AA-E531-4B52-B81A-2B4D1C22B8DF}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/layout/cartfragment_toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 17 | 18 | 29 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/utils/tools/KySet.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.utils.tools; 2 | 3 | public class KySet { 4 | //请求 5 | public static final int USER_REQUEST_SIGN_UP = 11; 6 | public static final int USER_REQUEST_LOG_IN = 12; 7 | public static final int CART_REQUEST_SUBMIT_ORDER = 13; 8 | public static final int USER_REQUEST_CREATE_ADDRESS = 14; 9 | public static final int CART_REQUEST_SELECT_RECEIVE_ADDRESS = 15; 10 | public static final int USER_REQUEST_HISTORY_ORDER = 16; 11 | public static final int USER_REQUEST_PHONE_SIGNUP_OR_LOGIN = 18; 12 | 13 | //返回结果 14 | public static final int USER_RESULT_SIGN_UP = 21; 15 | public static final int USER_RESULT_LOG_IN = 22; 16 | public static final int CART_RESULT_SUBMIT_ORDER = 23; 17 | public static final int USER_RESULT_CREATE_ADDRESS = 24; 18 | public static final int CART_RESULT_SELECT_RECEIVE_ADDRESS = 25; 19 | public static final int USER_RESULT_REFRESH_ORDER = 27; 20 | public static final int USER_RESULT_PHONE_SIGNUP_OR_LOGIN = 28; 21 | 22 | public static final int RESULT_ERROR = -21; 23 | } 24 | -------------------------------------------------------------------------------- /Android/bitkyShop/gradle.properties: -------------------------------------------------------------------------------- 1 | ## Project-wide Gradle settings. 2 | # 3 | # For more details on how to configure your build environment visit 4 | # http://www.gradle.org/docs/current/userguide/build_environment.html 5 | # 6 | # Specifies the JVM arguments used for the daemon process. 7 | # The setting is particularly useful for tweaking memory settings. 8 | # Default value: -Xmx1024m -XX:MaxPermSize=256m 9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 10 | # 11 | # When configured, Gradle will run in incubating parallel mode. 12 | # This option should only be used with decoupled projects. More details, visit 13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 14 | # org.gradle.parallel=true 15 | #Sun Oct 22 02:33:45 CST 2017 16 | systemProp.http.proxyHost=127.0.0.1 17 | org.gradle.jvmargs=-Xmx2048m -XX\:MaxPermSize\=512m -XX\:+HeapDumpOnOutOfMemoryError -Dfile.encoding\=UTF-8 18 | org.gradle.daemon=true 19 | org.gradle.configureondemand=true 20 | org.gradle.parallel=true 21 | systemProp.http.proxyPort=1080 22 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace bitkyShop.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/bg_btn_style_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/bg_btn_style_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/drawable/navigationbar_selector_category.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 123lml123 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/bean/SubCategory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using cn.bmob.io; 3 | 4 | namespace bitkyShop.bean 5 | { 6 | public class SubCategory : BmobTable 7 | { 8 | public string mainCategory { set; get; } 9 | public string name { set; get; } 10 | public string photoUrl { set; get; } 11 | public string photoName { set; get; } 12 | 13 | //读字段信息 14 | public override void readFields(BmobInput input) 15 | { 16 | base.readFields(input); 17 | mainCategory = input.getString("mainCategory"); 18 | photoUrl = input.getString("photoUrl"); 19 | photoName = input.getString("photoName"); 20 | name = input.getString("name"); 21 | } 22 | 23 | //写字段信息 24 | public override void write(BmobOutput output, bool all) 25 | { 26 | base.write(output, all); 27 | output.Put("mainCategory", mainCategory); 28 | output.Put("photoUrl", photoUrl); 29 | output.Put("photoName", photoName); 30 | output.Put("name", name); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/src/main/java/com/cjj/MaterialHeadListener.java: -------------------------------------------------------------------------------- 1 | package com.cjj; 2 | /* 3 | * Copyright (C) 2015 Pedro Paulo de Amorim 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | public interface MaterialHeadListener { 18 | void onComlete(MaterialRefreshLayout materialRefreshLayout); 19 | void onBegin(MaterialRefreshLayout materialRefreshLayout); 20 | void onPull(MaterialRefreshLayout materialRefreshLayout, float fraction); 21 | void onRelease(MaterialRefreshLayout materialRefreshLayout, float fraction); 22 | void onRefreshing(MaterialRefreshLayout materialRefreshLayout); 23 | } 24 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 16 | 17 | 21 | 22 | 25 | 26 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/fragment/userfragment/loginfragment/FindTabAdapter.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.fragment.userfragment.loginfragment; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentPagerAdapter; 6 | import java.util.List; 7 | 8 | public class FindTabAdapter extends FragmentPagerAdapter { 9 | 10 | private List list_fragment;//fragment列表 11 | private List list_Title; //tab名的列表 12 | 13 | FindTabAdapter(FragmentManager fm, List list_fragment, List list_Title) { 14 | super(fm); 15 | this.list_fragment = list_fragment; 16 | this.list_Title = list_Title; 17 | } 18 | 19 | @Override 20 | public Fragment getItem(int position) { 21 | return list_fragment.get(position); 22 | } 23 | 24 | @Override 25 | public int getCount() { 26 | return list_Title.size(); 27 | } 28 | 29 | //此方法用来显示tab上的名字 30 | @Override 31 | public CharSequence getPageTitle(int position) { 32 | return list_Title.get(position % list_Title.size()); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Csharp/bitkyShop/bitkyShop/view/ICloudServiceView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using bitkyShop.bean; 3 | using bitkyShop.bean.beanShow; 4 | using Qiniu.Http; 5 | 6 | namespace bitkyShop.view 7 | { 8 | public interface ICloudServiceView 9 | { 10 | /// 11 | /// 七牛上传完毕事件处理 12 | /// 13 | /// 已上传的文件名 14 | /// 返回信息 15 | /// 返回Json 16 | void OnQiniuUploadCompleted(string key, ResponseInfo respInfo, string respJson); 17 | 18 | void ConfirmUpload(); 19 | 20 | /// 21 | /// Bmob上传完毕回调 22 | /// 23 | /// 错误代码,0:成功,1:失败 24 | /// 返回信息 25 | void OnBmobUploadCompleted(int code, string msg); 26 | 27 | void orderShow(List orders); 28 | void addOrderCommodity(CommodityPcShow commodityPcShow); 29 | void commodityShow(List commodities); 30 | void updateCommodity(Commodity commodity); 31 | void subCategoryShow(List subCategories); 32 | } 33 | } -------------------------------------------------------------------------------- /Android/bitkyShop/MaterialRefreshLayout/src/main/res/values/attrs_circle_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/java/cc/bitky/bitkyshop/utils/tools/KyPattern.java: -------------------------------------------------------------------------------- 1 | package cc.bitky.bitkyshop.utils.tools; 2 | 3 | import java.util.regex.Matcher; 4 | import java.util.regex.Pattern; 5 | 6 | /** 7 | * Created by bitky on 2016/12/7. 8 | */ 9 | 10 | public class KyPattern { 11 | /** 12 | * 验证手机号码 13 | * 14 | * @param phoneNumber 手机号码 15 | * @return boolean 16 | */ 17 | public static boolean checkPhoneNumber(String phoneNumber) { 18 | Pattern pattern = Pattern.compile("^1[0-9]{10}$"); 19 | Matcher matcher = pattern.matcher(phoneNumber); 20 | return matcher.matches(); 21 | } 22 | 23 | /** 24 | * 验证数字字母和中文字符 25 | * 26 | * @param phoneNumber 用户名 27 | * @return boolean 28 | */ 29 | public static boolean checkUserName(String phoneNumber) { 30 | Pattern pattern = Pattern.compile("([a-zA-Z0-9\\u4e00-\\u9fa5]{2,24})"); 31 | Matcher matcher = pattern.matcher(phoneNumber); 32 | return matcher.matches(); 33 | } 34 | 35 | /** 36 | * 验证数字字母 37 | * 38 | * @param phoneNumber 密码 39 | * @return boolean 40 | */ 41 | public static boolean checkNumStr(String phoneNumber) { 42 | Pattern pattern = Pattern.compile("([a-zA-Z0-9]{2,24})"); 43 | Matcher matcher = pattern.matcher(phoneNumber); 44 | return matcher.matches(); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Android/bitkyShop/app/src/main/res/layout/widget_item_counter.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 |