精华内容
下载资源
问答
  • Fiddler实现手机抓包——小白入门

    万次阅读 多人点赞 2016-09-19 18:53:18
    手机用fiddler抓包 电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。 一.对PC(笔记本)参数进行配置  1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的)  打开...

    手机用fiddler抓包

    电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。

    一.对PC(笔记本)参数进行配置

       1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的)

             打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS

             勾选CaptureHTTPS CONNECTs,点击Actions,

             勾选Decrypt HTTPS trafficIgnore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),见图:

     

    2.配置fiddler允许远程连接

             上一步窗口中点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:

     

    点击完成之后,PC端配置完成,接下来开始配置手机端,以安卓为例,iOS方法同安卓;

    二.对手机端进行参数配置

             首先要保证手机和电脑都处于同一个网络;

             然后要知道电脑的ip地址(当然这个电脑是安装fiddler的电脑),电脑ip地址可通过cmd,输入ipconfig查询,或网络共享中ipv4找到,我的是192.168.103.53,

             再者要知道fiddler的端口号,Tools->TelerikFiddler Options->Connections,port中值就是端口号,一般默认为8888;接下来开始操作手机;

    1.第一步:手机和电脑连接同一个网络,打开手机浏览器,输入http://ip:端口号,点击前往;见下图:

            

    2.第二步:前往之后会跳转到证书下载页,见下图:

             点击FiddlerRootcertificate下载证书;

            

    3.第三步:点击下载之后,安装证书并起个名字,随便写就行,点击确定;

            

    4.第四步:要求设置一个手机密码,自己设置一个,记住密码就行,最后不用了去系统-安全-密码中去掉即可;

            

    5.第五步:更改手机无线网的代理

             手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定即可,

     

    6.操作手机,电脑fiddler中会显示一些http信息,成功;

     

     

    三.其他

    1.停止电脑对手机的网络监控

             系统设置-wifi,找到代理,去掉即可;

    2.删除手机中证书                       

             安卓系统设置—安全—受信任的凭证—用户,点击证书删除即可;

    3.删除手机上密码

             手机系统—安全—密码,删除系统密码即可;

     

     

     

     

    展开全文
  • 有大批量的手机号需要导入到手机的通讯录保存 然后通过通讯录加客户微信,通过支付宝通讯录核实用户信息等等应用中 很多人也知道QQ同步助手也可以完成相应的动作,不过QQ自从8月份开始就开始收费了,120块大洋/年 ...

    很多人遇到一个问题,在做微商、还有整理客户资料等等过程中

    有大批量的手机号需要导入到手机的通讯录保存

    然后通过通讯录加客户微信,通过支付宝通讯录核实用户信息等等应用中

    很多人也知道QQ同步助手也可以完成相应的动作,不过QQ自从8月份开始就开始收费了,120块大洋/年

    而且数量到了几十万的时候就挂了,那么很多人不得不问我们还有没有其他办法,很显然是有的,下面我们说说这个该怎么弄

    第一步、备份手机通讯录( 除非你以后要保留这些导入的号码,否则几万个号码的话选着性删除就很麻烦)

    第二步、制作电话本模板excel表格,支持xls格式文件(姓名、电话2列,其他可有可无)如下图:

     

    第三步、制作通讯录批量导入格式文件,选择上方的转手机导入格式即可

     

    第四步、通过手机微信、QQ、或者数据线把制作好的文件导入手机直接打开

    苹果手机选择 更多 选项—— 然后拷贝到通讯录——最后储存即可

     

    然后回到通讯录的页面,就可以搜索到我们刚才添加的手机号,全程不到5分钟全部搞定,比QQ同步助手还要简单

     

    软件下载链接:https://share.weiyun.com/JG6ZNAv7

    百度云盘下载:https://pan.baidu.com/s/1NsMEMIXXUhZInl1Q1q0xug 提取码:qe75 

    CSDN贵族下载地址:https://download.csdn.net/download/bbyn1314/11856129

    好了有其他问题,可以在博文下留言,尽力的去帮你们解决

    展开全文
  • 【精品计划0】蓝桥杯 摔手机

    万次阅读 多人点赞 2018-12-04 18:07:32
    x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。 x星球...

    原题描述:

            x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。
    各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。
            x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。
            如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。

    特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n

            为了减少测试次数,从每个厂家抽样3部手机参加测试。
            某次测试的塔高为1000层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?
            请填写这个最多测试次数。

            注意:需要填写的是一个整数,不要填写任何多余内容

    答案19

     

    文章目的

     

    读完题后,我们追求的不是要写出得数(至少对于本博客是不够的),而是用代码实现方法,并思考是否可以优化。

    其实本题的方法是非常多种多样的。非常适合锻炼思维。

    我们把问题扩展到n个手机来思考。

    手机k个,楼n层,最终结果M次。

    时空复杂度目录

    暴力:                        O(N!)

    DP:                            O(N*N*K)  O(N*K)

    压空间:                    O(N*N*K)  O(N)

    四边形不等式优化     O(N*N)       

    换思路:                    O(K*M)

    最优:                         O(K*M)    O(N)

    文末有测试,大家可以去直观感受一下各方法运行的效率

    二分

     

    容易想到二分思路:不断二分范围,取中点,测验是否会摔坏,然后缩小一半范围,继续尝试,很显然,答案为logN(2为底)

    但是,二分得出的答案是不对的。注意:我们要保证在都手机摔完之前,能确定耐摔指数到底是多少。

    举例:

    我们在500楼摔坏了,在250楼摔,又坏了。接下来,我们只能从1楼开始一层一层试

    因为如果我们在125层摔坏了,就没有手机可以用,也就是永远都测不出来,而这是不被允许的。其实我们连测第2层都不敢测,因为在第2层摔坏了,我们就无法知道手机在第一层能否被摔坏。所以只有一部手机时,我们只敢从第一层开始摔。

     

    尝试较优的策略

     

    既然二分是不对的,我们继续分析:摔手机的最优策略到底是如何的。

    只有一部手机时,我们只敢从第一层开始摔。

    有两部手机的时候,我们就敢隔层摔了,因为一部手机坏了,我们还有另一部来继续试。

    这时就有点意思了,我们分析情况:

    情况1)假设我们第一部手机在i层摔坏了,然后最坏情况还要试多少次?这时我们还剩一部手机,所以只敢一层一层试,最坏情况要试到i-1层,共试了i次。

    情况2)假设我们第一部手机在i层试了,但是没摔坏,然后最坏情况还要试多少次?(这时发现算情况2时依旧是相似的问题,确定了可以用递归来解。)

     

    最优解(最小值)是决策后两种情况的最差情况(最大值),我们的本能感觉应该就是让最差情况好一点,让最好情况差一点,这样比较接近正确答案。比如两部手机,一百层,我们可以在50层摔,没坏,这一次就很赚,我们没摔坏手机还把范围缩小了50层。如果坏了,就比较坑了,我们要从1试到50。虽然可能缩小一半,但是最坏情况次数太多,所以肯定要从某个低于五十的层开始尝试。

    (以上几行是为了让读者理解决策,下面正文分析)

     

    归纳表达式

     

    假设我们的楼一共n层,我们的i可以取1-n任意值,有很多种可能的决策,我们的最小值设为f(n,k),n代表楼高(范围为1-100或101-200其实都一样),k代表手机数.

    我们假设的决策是在第i楼扔

    对于情况一,手机少了一部,并且我们确定了范围,一定在第i楼以下,所以手机-1,层数为i-1,这时f(n,k)=f(i-1,k-1).+1

    对于情况二,手机没少,并且我们确定了范围,一定在第i楼之上,所以手机数不变,而层数-i层,这时f(n,k)=f(n-i,k).+1

    归纳出

    f(n,k)=min(  max(f(i-1,k-1) ,f(n-i,k) ) i取1-n任意数    )+1

    简单总结:怎么确定第一个手机在哪扔?每层都试试,哪层的最坏情况(max)最好(min),就去哪层扔。

     

    写出暴力递归

    按照分析出来的表达式,我们可以写出暴力递归:

    	public static int solution1(int nLevel, int kChess) {
    		if (nLevel == 0) {
    			return 0;
    		}//范围缩小至0
    		if (kChess == 1) {
    			return nLevel;
    		}//每层依次试
    		int min = Integer.MAX_VALUE;//取不影响结果的数
    		for (int i = 1; i != nLevel + 1; i++) {
                          //尝试所有决策,取最优
    			min = Math.min(
    					min,
    					Math.max(Process1(i - 1, kChess - 1),Process1(nLevel - i, kChess)));
    		}
    		return min + 1;//别忘了加上本次
    	}

     

    改为动态规划

     

    具体思路如下

    https://blog.csdn.net/hebtu666/article/details/79912328

    	public static int solution2(int nLevel, int kChess) {
    		if (kChess == 1) {
    			return nLevel;
    		}
    		int[][] dp = new int[nLevel + 1][kChess + 1];
    		for (int i = 1; i != dp.length; i++) {
    			dp[i][1] = i;
    		}
    		for (int i = 1; i != dp.length; i++) {
    			for (int j = 2; j != dp[0].length; j++) {
    				int min = Integer.MAX_VALUE;
    				for (int k = 1; k != i + 1; k++) {
    					min = Math.min(min,
    							Math.max(dp[k - 1][j - 1], dp[i - k][j]));
    				}
    				dp[i][j] = min + 1;
    			}
    		}
    		return dp[nLevel][kChess];
    	}

     

    压缩空间

     

    我们发现,对于状态转移方程,只和上一盘排的dp表和左边的dp表有关,所以我们不需要把值全部记录,用两个长度为n的数组不断更新即可(具体对dp压缩空间的思路,也是很重要的,我在其它文章中有提过,在这里就不写了)

    	public static int solution3(int nLevel, int kChess) {
    		if (kChess == 1) {
    			return nLevel;
    		}
    		int[] preArr = new int[nLevel + 1];
    		int[] curArr = new int[nLevel + 1];
    		for (int i = 1; i != curArr.length; i++) {
    			curArr[i] = i;
    		}//初始化
    		for (int i = 1; i != kChess; i++) {
                      //先交换
    			int[] tmp = preArr;
    			preArr = curArr;
    			curArr = tmp;
                      //然后打新的一行
    			for (int j = 1; j != curArr.length; j++) {
    				int min = Integer.MAX_VALUE;
    				for (int k = 1; k != j + 1; k++) {
    					min = Math.min(min, Math.max(preArr[k - 1], curArr[j - k]));
    				}
    				curArr[j] = min + 1;
    			}
    		}
    		return curArr[curArr.length - 1];
    	}

     

    四边形不等式优化

     

    四边形不等式是一种比较常见的优化动态规划的方法

    定义:如果对于任意的a1≤a2<b1≤b2,有m[a1,b1]+m[a2,b2]≤m[a1,b2]+m[a2,b1],那么m[i,j]满足四边形不等式。

    对s[i,j-1]≤s[i,j]≤s[i+1,j]的证明:

    设mk[i,j]=m[i,k]+m[k,j],s[i,j]=d

    对于任意k<d,有mk[i,j]≥md[i,j](这里以m[i,j]=min{m[i,k]+m[k,j]}为例,max的类似),接下来只要证明mk[i+1,j]≥md[i+1,j],那么只有当s[i+1,j]≥s[i,j]时才有可能有mk[i+1,j]≥md[i+1,j]

    (mk[i+1,j]-md[i+1,j])-(mk[i,j]-md[i,j])

    =(mk[i+1,j]+md[i,j])-(md[i+1,j]+mk[i,j])

    =(m[i+1,k]+m[k,j]+m[i,d]+m[d,j])-(m[i+1,d]+m[d,j]+m[i,k]+m[k,j])

    =(m[i+1,k]+m[i,d])-(m[i+1,d]+m[i,k])

    ∵m满足四边形不等式,∴对于i<i+1≤k<d有m[i+1,k]+m[i,d]≥m[i+1,d]+m[i,k]

    ∴(mk[i+1,j]-md[i+1,j])≥(mk[i,j]-md[i,j])≥0

    ∴s[i,j]≤s[i+1,j],同理可证s[i,j-1]≤s[i,j]

    证毕

     

    通俗来说,

    优化策略1)我们在求k+1手机n层楼时,最后发现,第一个手机在m层扔导致了最优解的产生。那我们在求k个手机n层楼时,第一个手机的策略就不用尝试m层以上的楼了。

    优化策略2)我们在求k个手机n层楼时,最后发现,第一个手机在m层扔导致了最优解的产生。那我们在求k个手机n+1层楼时,就不用尝试m层以下的楼了。

    	public static int solution4(int nLevel, int kChess) {
    		if (kChess == 1) {
    			return nLevel;
    		}
    		int[][] dp = new int[nLevel + 1][kChess + 1];
    		for (int i = 1; i != dp.length; i++) {
    			dp[i][1] = i;
    		}
    		int[] cands = new int[kChess + 1];
    		for (int i = 1; i != dp[0].length; i++) {
    			dp[1][i] = 1;
    			cands[i] = 1;
    		}
    		for (int i = 2; i < nLevel + 1; i++) {
    			for (int j = kChess; j > 1; j--) {
    				int min = Integer.MAX_VALUE;
    				int minEnum = cands[j];
    				int maxEnum = j == kChess ? i / 2 + 1 : cands[j + 1];
                                  //优化策略
    				for (int k = minEnum; k < maxEnum + 1; k++) {
    					int cur = Math.max(dp[k - 1][j - 1], dp[i - k][j]);
    					if (cur <= min) {
    						min = cur;
    						cands[j] = k;//最优解记录层数
    					}
    				}
    				dp[i][j] = min + 1;
    			}
    		}
    		return dp[nLevel][kChess];
    	}

    注:对于四边形不等式的题目,比赛时不需要严格证明

    通常的做法是打表出来之后找规律,然后大胆猜测,显然可得。(手动滑稽)

     

    换一种思路

     

    有时,最优解并不是优化来的。

    当你对着某个题冥思苦想了好久,无论如何也不知道怎么把时间优化到合理范围,可能这个题的最优解就不是这种思路,这时,试着换一种思路思考,可能会有奇效。

    (比如训练时一道贪心我死活往dp想,肝了两个小时以后,不主攻这个方向的队友三分钟就有贪心思路了,泪目,不要把简单问题复杂化

     

    我们换一种思路想问题:

    原问题:n层楼,k个手机,最多测试次数

    反过来看问题:k个手机,扔m次,最多能确定多少层楼?

    我们定义dp[i][j]:i个手机扔j次能确定的楼数。

    分析情况:依旧是看第一部手机在哪层扔的决策,同样,我们的决策首先要保证能确定从1层某一段,而不能出现次数用完了还没确定好的情况。以这个为前提,保证了每次扔的楼层都是最优的,就能求出结果。

    依旧是取最坏情况:min(情况1,情况2)

    情况1)第一个手机碎了,我们就需要用剩下的i-1个手机和j-1次测试次数往下去测,dp[i-1][j-1]。那我们能确定的层数是无限的,因为本层以上的无限层楼都不会被摔坏。dp[i-1][j-1]+无穷=无穷

    情况2)第一个手机没碎,那我们就看i个手机扔j-1次能确定的楼数(向上试)+当前楼高h

    归纳表达式,要取最差情况,所以就是只有情况2:dp[i][j]=dp[i-1][j-1]+h

    那这个h到底是什么呢?取决于我敢从哪层扔。因为次数减了一次,我们还是要考虑i个球和j-1次的最坏情况能确定多少层,我才敢在层数+1的地方扔。(这是重点)

    也就是dp[i][j-1]的向上一层:h=dp[i][j-1]+1

     

    总:min(情况1,情况2)=min(无穷,dp[i-1][j-1]+dp[i][j-1]+1)=dp[i-1][j-1]+dp[i][j-1]+1

    这是解决k个手机,扔m次,最多能确定多少层楼?

    原问题是n层楼,k个手机,最多测试次数。

    所以我们在求的过程中,何时能确定的层数大于n,输出扔的次数即可

     

    最优解

    我们知道完全用二分扔需要logN+1次,这也绝对是手机足够情况下的最优解,我们做的这么多努力都是因为手机不够摔啊。。。。所以当我们的手机足够用二分来摔时,直接求出logN+1即可。

     

    当然,我们求dp需要左边的值和左上的值:

    依旧可以压缩空间,从左往右更新,previous记录左上的值。

    求自己时也要注意记录,否则更新过后,后面的要用没更新过的值(左上方)就找不到了。

    记录之后,求出当前数值,把记录的temp值给了previous即可。

    	public static int solution5(int nLevel, int kChess) {
    		int bsTimes = log2N(nLevel) + 1;
    		if (kChess >= bsTimes) {
    			return bsTimes;
    		}
    		int[] dp = new int[kChess];
    		int res = 0;
    		while (true) {
    			res++;//压缩空间记得记录次数
    			int previous = 0;
    			for (int i = 0; i < dp.length; i++) {
    				int tmp = dp[i];
    				dp[i] = dp[i] + previous + 1;
    				previous = tmp;
    				if (dp[i] >= nLevel) {
    					return res;
    				}
    			}
    		}
    	}
    
    	public static int log2N(int n) {
    		int res = -1;
    		while (n != 0) {
    			res++;
    			n >>>= 1;
    		}
    		return res;
    	}

     

     

     

     

    本题只是填空题,第一种方法就完全能算出来,就是为了追求最优解,追求思维的锻炼。写下了本文。

     

     

    测试:

    暴力:                        O(N!)

    DP:                            O(N*N*K)  O(N*K)

    压空间:                    O(N*N*K)  O(N)

    四边形不等式优化     O(N*N)       

    最优:                         O(K*M)    O(N)

    		long start = System.currentTimeMillis();
    		solution1(30, 2);
    		long end = System.currentTimeMillis();
    		System.out.println("cost time: " + (end - start) + " ms");
    		start = System.currentTimeMillis();
    		solution2(30, 2);
    		end = System.currentTimeMillis();
    		System.out.println("cost time: " + (end - start) + " ms");
    		start = System.currentTimeMillis();
    		solution3(30, 2);
    		end = System.currentTimeMillis();
    		System.out.println("cost time: " + (end - start) + " ms");
    		start = System.currentTimeMillis();
    		solution4(30, 2);
    		end = System.currentTimeMillis();
    		System.out.println("cost time: " + (end - start) + " ms");
    		start = System.currentTimeMillis();
    		solution5(30, 2);
    		end = System.currentTimeMillis();
    		System.out.println("cost time: " + (end - start) + " ms");
    /*
    结果:
    cost time: 7043 ms
    cost time: 0 ms
    cost time: 0 ms
    cost time: 0 ms
    cost time: 0 ms
    */

    暴力时间实在是太久了,只测一个30,2

     

    后四种方法测的大一些(差点把电脑测炸了,cpu100内存100):

    solution(100000, 10):

    solution2 cost time: 202525 ms
    solution3 cost time: 38131 ms
    solution4 cost time: 11295 ms
    solution5 cost time: 0 ms

     

    感受最优解的强大:

    solution5(1000 000 000,100):0 ms

    solution5(1000 000 000,10):0 ms

    最优解永远都是0 ms,我也是服了。。

     

    对比方法,在时间复杂度相同的条件下,空间复杂度一样会影响时间,因为空间太大的话,申请空间是相当浪费时间的。并且空间太大电脑会炸,所以不要认为空间不重要。

     

    展开全文
  • 产品:关于手机移动端的租房网站 角色:在这个产品中用户包括房东与房客 功能:房东可以在这个平台发布自己的房屋,房客可以在这个平台寻找自己想要租的房子(类似短租平台) 设计模式:使用前后端分离进行项目开发...

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

    项目源码下载

    一丶项目介绍

    • 产品:关于手机移动端的租房网站
    • 角色:在这个产品中用户包括房东与房客
    • 功能:房东可以在这个平台发布自己的房屋,房客可以在这个平台寻找自己想要租的房子(类似短租平台)
    • 设计模式:使用前后端分离进行项目开发(后端不再控制前端的效果展示)

    前端效果展示

    二丶前后端分离

    • 前后端分离的认识
    • 叙述:用户直接在浏览器中输入网址,不再是后端对应的动态逻辑了,而是一个静态页面
      从/index 变成了 index.html文本文件,对于静态资源就从提供静态资源服务器中去拿(nginx) 
      前端页面中对于数据这块的需求必定是从后端拿去数据,后端也不需要去渲染模板,直接将前端
      需要的数据转换成json格式字符串返回给前端即可(通过jquery以及其他前端框架去将数据渲染到页面)
      具体做成什么效果,跟后端没有什么关系,前端什么时候需要数据,后端就给数据,这就是前后端分离。
    • 优点:无论对于手机上的浏览器还是app程序向后端拿数据时,只要在后端已经定义好了接口,这个接口都是可以直接用的,体现出后端接口的复用性。
    • 流程:用户在浏览器中输入网址的时候,需要向后端(nginx)去要网页,在这个网页中没有任何的数据,只是普通的前端呈现的样式而已,在这个网页当中的js里面,通过ajax方式向后端接口要取数据,后端接口当中给前端返回的是json字符串,前端拿到这个字符串在到ajax回调函数中,通过jquery方式把数据填充到页面上。
    • 缺点:对于搜索引擎优化SEO不友好,无法将网页的数据通过搜索引擎搜索关键字查询此网页信息,爬虫拿取页面信息,并没有任何数据,导致在搜索引擎上排名无法靠前

    三丶项目需求

    需求功能

    1. 主页
        1.1 最多5个房屋logo图片展示,点击可跳转至房屋详情页面
        1.2 提供登陆/注册入口,登陆后显示用户名,点击可跳转至个人中心
        1.3 用户可以选择城区、入住时间、离开时间等条件进行搜索
        1.4 城区的区域信息需动态加载

    2. 注册
        2.1 用户账号默认为手机号
        2.2 图片验证码正确后才能发送短信验证码
        2.3 短信验证码每60秒可发送一次
        2.4 每个条件出错时有相应错误提示

    3. 登陆
        3.1 用手机号与密码登陆
        3.2 错误时有相应提示

    4. 房屋列表页
        4.1 可根据入住离开时间、区域进行筛选,并可进行排序
        4.2 房屋信息分页加载
        4.3 区域信息动态加载
        4.4 筛选条件更新后,页面立即刷新

    5. 房屋详情页
        5.1 需展示的详细信息参考设计图
        5.2 提供预定入口
        5.3 若是房东本人查看房屋信息时,预定入口不显示

    6. 房屋预定
        6.1 由用户确定入住时间
        6.2 根据用户确定的入住离开时间实时显示合计天数与总金额

    7. 我的爱家
        7.1 显示个人头像、手机号、用户名(用户名未设置时为用户手机号)
        7.2 提供修改个人信息的入口
        7.3 提供作为房客下单的查询入口
        7.4 提供成为房东所需实名认证的入口
        7.5 提供作为房东发布房屋信息的入口
        7.6 提供作为房东查询客户订单的入口
        7.7 提供退出的入口

    8. 个人信息修改
        8.1 可以修改个人头像
        8.2 可以修改用户名
        8.3 登陆手机号不能修改
        8.4 上传头像与用户名分开保存
        8.5 上传新头像后页面理解显示新头像

    9. 我的订单(房客)
        9.1 按时间倒序显示订单信息
        9.2 订单完成后提供评价功能
        9.3 已评价的订单能看到评价信息
        9.4 被拒绝的订单能看到拒单原因

    10. 实名认证
        10.1 实名认证只可进行一次
        10.2 提交认证信息后再次进入只能查看信息,不能修改
        10.3 认证信息包含姓名与身份证号

    11. 我的房源
        11.1 未实名认证的用户不能发布新房源信息,需引导到实名认证页面
        11.2 按时间倒序显示已经发布的房屋信息
        11.3 点击房屋可以进入详情页面
        11.4 对实名认证的用户提供发布新房屋的入口

    12. 发布新房源
        12.1 需要用户填写全部房屋信息
        12.2 房屋的文字信息与图片分开操作

    13. 客户订单(房东)
        13.1 按时间倒序显示用户下的订单
        13.2 对于新订单提供接单与拒单的功能
        13.3 拒单必须填写拒单原因
        13.4 若客户进行了订单评价,需显示

    14. 退出
        14.1 提供退出功能
     

    展开全文
  • 安卓手机当电脑摄像头(DroidCam网盘及使用方法)

    万次阅读 多人点赞 2018-09-11 18:20:01
    最近校招笔试,没有摄像头,所以打起了手机摄像头的主意,搜了一下,网上的安装包很旧,有的用不了,使用讲的也不全,所以我从官网和Google商店重新下了一遍。 安装环境: 笔记本 win10专业版 手机 小米mix2s,...
  • 手机上玩python编程-Pydroid3

    万次阅读 多人点赞 2020-12-02 08:37:00
    手机屏幕太少,写代码不方便,建议用电脑学习python有时候,就是不想正襟危坐的坐在电脑前面,想要在手机上轻量级的写点代码。安卓软件推荐Pydroid.3Pydroid 3免费高级版...
  • 最新手机号段归属地数据库 高性能dat解析

    万次阅读 多人点赞 2019-05-11 02:11:50
    最新手机号段数据库 2019-12-01 441831条记录 号码归属地数据库全面 准确 规范 字段包括 省份 城市 运营商 邮编 区号 等信息,对于数据分析、号码归属地查询等非常有帮助 名称:手机号码归属地查询 dat高效率...
  • fiddler 手机 https 抓包

    万次阅读 多人点赞 2016-08-13 22:20:02
    fiddler手机抓包原理fiddler手机抓包的原理与抓pc上的web数据一样,都是把fiddler当作代理,网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https下面开始手机抓包设置教程设置...
  • 2020,最新手机号码手机验证正则表达式

    万次阅读 多人点赞 2020-06-18 13:49:59
    最近在跟一个别人写好上线的项目,今天出了一个bug,部分正常的手机号验证格式不通,查看了代码发现正则表达式有较大的错误,如图: 存在的问题: 1.存在逗号 2.不够全面,部分正常的手机号验证不通过 所以...
  • Fiddler 如何抓取手机app包以及抓取https 响应

    万次阅读 热门讨论 2018-11-19 09:42:11
    Fiddler安装 此处略。我们需要安装Fiddler软件,版本需要在4.0以上,尽量越高越好。 ...打开Fiddler ——&amp;amp;amp;amp;... Options ....在进行这两步的过程中,会弹出一个 提示框,提示是否安装...手机端安装Fiddle...
  • 这两年区块链很火,除了传统的电脑矿机挖矿,现在APP市场流行大量参差不齐的手机挖矿APP。 相较于矿机挖矿,“手机挖矿”的优势是显而易见的,因为这种挖矿方式看上去属于“零投入”,而且还能够随时随地“挖”。...
  • JS利用正则表达式校验手机号 绪 由于项目需求,需要在前端实现手机号码的校验。当然了,对于基本的格式校验应该放在客户端进行,而不需要再将待校验的手机号发送至服务端,在服务端完成校验,然后将校验结果返回给...
  • 据相关数据调查机构最新研究报告称,截止2018年底,中国智能手机用户数量已经突破10亿,位居全球第一,与此同时,相当一部分用户需要手机数据备份的需求,小编为此搜集体验了在应用商店中下载量靠前的一些手机数据...
  • 通过QQ号社工出一个人的手机

    万次阅读 多人点赞 2019-09-04 10:27:15
    【前提】是QQ好友、对方和我的QQ都绑定了各自的手机号 找出生日期、星座、生肖(甚至是生辰八字) 先查看QQ基本资料,通常这些资料的生日信息是假的(也应该是假的),得知对方曾居住地 P省C市。 进入其空间查看,...
  • 华为手机如何添加门禁卡(加密)

    万次阅读 多人点赞 2019-10-25 15:34:09
    华为手机如何添加“加密门禁卡” 1、前期准备 (1)支持NFC手机一部 本人使用的是华为P20pro (2)PN532套装 这个淘宝上搜,很好买到的。 (3)空白卡(UIC)+加密门禁卡 (4)相关软件 1.M1卡分析助手 v2.6 添加...
  • 生活随记 - 5G时代安卓手机性能可以媲美苹果手机

    万次阅读 热门讨论 2020-10-31 00:56:23
    最近苹果12(毕竟是首批5g苹果手机)比较火,很多朋友都预定了苹果12,有预定的朋友在群里吐槽安卓手机慢不得不换苹果手机,这种观点,如果在5年前,哪怕是三年前,肯定没有多少人反对,但是现在嘛,经过这么多年,...
  • 安卓手机硬改软件介绍。改机软件 改手机参数

    万次阅读 热门讨论 2020-07-01 16:20:48
    安卓硬改,抖音,陌陌,拉新,引流等项目必备软件 ... ...手机端能一键操作的都是软改, ...小米oppovivo魅族等普通MTK高通机型只能修改IMEI、MEID的软件... 华为是可以修改参数最全面的手机,改完就可以当做新机使用了 ...
  • 大家都知道,刷机的方式有很多种,大体来讲,我们刷机一般采用以下几种方式:1、卡刷,即进入recovery模式操作手机将SD卡上的刷机包刷入手机,完成刷机过程;2、线刷,当手机无法进入recovery的时候只能线刷了,即...
  • 为什么我不建议你在当前购买 5G 手机

    万次阅读 多人点赞 2019-09-30 21:15:42
    首发于公众号:BaronTalk,...恰逢国庆,势必会迎来一波换机潮,而各大厂商发布的 5G 手机很可能会成为很多同学的首选,今天我要来给准备购买 5G 手机的同学泼泼冷水。 先抛出观点:**对于普通消费者,当前不适合购...
  • Windows10数据线连接坚果手机SmartisanTNT

    万次阅读 多人点赞 2020-05-31 00:27:40
    Windows10数据线连接坚果手机SmartisanTNT一、数据准备1.乐播TV软件(手机使用)2.Scrcpy软件(Windows10使用)二、连接过程1.手机状态2.“唤醒”TNT3.“连接”TNT三、结果 一、数据准备 1.乐播TV软件(手机使用) ...
  • 微信小程序授权登录和获取手机号功能(详细)

    万次阅读 多人点赞 2019-04-20 18:06:43
    最后发现可能是微信上的限制,模拟器调试拒绝有提示,真机点击拒绝也是能跳的,没办法又写了一套关于用户进入某个详情页判断手机号授权问题,这里记录一下,希望能帮到有需要的朋友,先看下效果!!...
  • 5G手机和4G手机的区别

    万次阅读 2019-02-11 11:48:50
    ▋ 我们现在用的4G手机,能用5G吗?  答案显然是不能。  5G是一次重大的科技革命,引入了很多技术创新,不是在4G网络上修修补补。  所以,现在市面上销售的手机,即使是最新款的4G手机、“4G+”手机,甚至...
  • 手机和计算机连接到同一个局域网中(通过WiFi、数据线等)才能进行下面的操作。(本次操作通过wifi连接) 第二步: 查看手机的IP地址 设置—&amp;amp;amp;gt;WLAN—&amp;amp;amp;gt;点击所连的...
  • 仿京东手机版html5手机网站wap购物网站模板源码

    千次下载 热门讨论 2014-12-18 18:51:19
    仿京东手机版html5手机网站wap购物网站模板源码 html5 仿京东,仿淘宝,仿天猫,仿凡客,仿蘑菇街,仿美团,仿苏宁,仿易迅
  • 1.手机USB接口通信特点 - 1.1 使用方便 - 1.2 通用性强 - 1.3 速度快 - 1.4 可采用总线供电 2. 手机USB接口通信原理 - 2.1 常见手机USB接口 - 2.2 通信过程 - 2.3 体系架构 2.4软件层次 3. 手机USB接口与...
  • 获取手机品牌:phone_brand = (TextView) findViewById(R.id.mobile_phone_brand); String brand = android.os.Build.BRAND; phone_brand.setText(brand);获取手机型号:phone_brand.setText(Build.MODEL);获取手机...
  • 这里介绍几款可以在手机上编程的app,分别是: 1.java和Android:AIDE集成开发环境。 2.C语言:c语言编译器、C4droid。 3.python:QPython3、Termux。 4.CSS/HTML/JavaScript:HTMLplay。 大部分都不需要root,...
  • android手机获取手机设备信息

    万次阅读 2016-12-15 16:56:44
    在有的项目中需要根据特定的手机信息来进行处理,这时就需要我们来获取手机的设备信息了,那首先看看我的测试机的一些基本信息:那么这些信息怎么获得呢??其实都封装在了TelephonyManager中,我们从里面可以拿到,...
  • 前些天本来想让Win10自带的电脑上面的日历(因为我看日历设计的不错)和华为手机上面的日历同步,结果不成想需要弄明白好多东西,现在说一下具体我都是做了什么。 实现的效果如下: 首先要同步手机上的日历和...
  • 万能小米手机解锁,刷机,默认破解BL锁

    万次阅读 多人点赞 2018-12-20 12:03:57
    早就想给自己的小米手机刷机了,奈何一直没有门,最后还在求助了万能的淘宝,刚刚在淘宝花了 30大洋买的刷机工具,刷机成功之后,才反应过来 这个工具竟然是可以在某网站免费下载使用,啊!坑啊 特此记录刷机解除到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 517,965
精华内容 207,186
关键字:

手机