ホームページ  >  記事  >  WeChat アプレット  >  WeChat アプレットのチェックインと出席バックエンド コードを共有する

WeChat アプレットのチェックインと出席バックエンド コードを共有する

藏色散人
藏色散人転載
2020-07-25 13:23:084445ブラウズ

関連する推奨事項: 「

小プログラム開発チュートリアル
#サーバーのソース コード

多くの友人がバックエンド コードについて尋ねるプライベート メッセージを私に送ってきたという事実を考慮して。たくさんの人に助けられてとてもうれしいです。しかし、諸事情によりクライアントコードと一緒に公開できなかったので、誰でも簡単にダウンロードして学習できるよう、GitHub上でコードを公開します。ここで使用されるのは Java サーブレットです。これは、Web ブラウザまたは他の HTTP クライアントからのリクエストと、HTTP サーバー上のデータベースまたはアプリケーションの間の中間層として Web サーバーまたはアプリケーション サーバー上で実行されるプログラムです。データベースは MySQL を使用し、永続化レイヤーは Java のネイティブ API である JDBC を使用します。フレームワークは使用されないため、初心者でも Web の動作メカニズムと原則を学び、より深く理解できるようになります。

GitHub アドレス: Portal

キー コードは次のとおりです:

/**
 * Servlet implementation class Login
 */@WebServlet("/Login")public class Login extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final String APPID="xxxxxxxxxx";
	private static final String SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxx";

    /**
     * Default constructor. 
     */
    public Login() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//ÉèÖÃÇëÇó±àÂë
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        /* ÉèÖÃÏìӦͷÔÊÐíajax¿çÓò·ÃÎÊ */
        response.setHeader("Access-Control-Allow-Origin", "*");
        /* ÐǺűíʾËùÓеÄÒìÓòÇëÇ󶼿ÉÒÔ½ÓÊÜ£¬ */
        response.setHeader("Access-Control-Allow-Methods", "GET,POST");
        String flag=request.getParameter("flag");
     //   System.out.println(flag);
        if("login".equals(flag)) {
        	String code=request.getParameter("js_code");
        	String url = "https://api.weixin.qq.com/sns/jscode2session?appid="+APPID+
   				 "&secret="+SECRET+"&js_code="+ code +"&grant_type=authorization_code";
        	JSONObject sjson=CommonUtil.httpsRequest(url, "GET", null);
        	/*String openid="";
        	String session_key="";
        	if (sjson != null) {
				try {
					 openid = sjson.getString("openid");
					 session_key=sjson.getString("session_key");
				} catch (Exception e) {
					System.out.println("ÒµÎñ²Ù×÷ʧ°Ü");
					e.printStackTrace();
				}
			} else {
				System.out.println("codeÎÞЧ");
			}
        	System.out.println(session_key+"  "+openid);*/
        	
        	/*Map<String, Object> result = new HashMap<String, Object>();
            result.put("res", "test");
            result.put("msg", "ºǫ́ÒÑÊÕµ½");*/
         //   String json = new Gson().toJson(sjson);
           // System.out.println(json);
        	Writer out=response.getWriter();
        	out.write(sjson.toString());
        	out.flush();
        }
        if("init".equals(flag)) {
        	StudentDAO studentDAO=new StudentDAO();
        	String userid=request.getParameter("userid");
            boolean res=true;
            try {
    			res=studentDAO.findCheck(userid);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
            Map<String, Object> result = new HashMap<String, Object>();
            result.put("res", res);
            result.put("msg", "ºǫ́ÒÑÊÕµ½");
            String json = new Gson().toJson(result);
            //·µ»ØÖµ¸ø΢ÐÅС³ÌÐò
            Writer out = response.getWriter();
            out.write(json);
            out.flush();
        }
        if("student".equals(flag)) {
        	StudentDAO studentDAO=new StudentDAO();
        	String userid=request.getParameter("userid");
        	String studentName=request.getParameter("sname");
        	String studentNum=request.getParameter("snum");
        	Student student=new Student(userid, studentName, studentNum,new Date());
        	try {
				int a=studentDAO.create(student);
				if(a!=0) {
					System.out.println("²åÈë³É¹¦");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
        }
        if("teacher".equals(flag)) {
        	TeacherDAO teacherDAO=new TeacherDAO();
        	String userid=request.getParameter("userid");
        	String teacherName=request.getParameter("tname");
        	String teacherID=request.getParameter("tnum");
        	Teacher tea=new Teacher(userid, teacherID, teacherName,new Date());
        	try {
				int a=teacherDAO.create(tea);
				if(a!=0) {
					System.out.println("²åÈë³É¹¦");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
        }
        if("guide".equals(flag)) {
        	StudentDAO studentDAO=new StudentDAO();
        	String userid=request.getParameter("userid");
        	System.out.println(userid);
            boolean res=true;
            String state="";
            try {
    			res=studentDAO.findCheck(userid);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
            if(res) {
            	state="student";
            }
            else{
				TeacherDAO teacherDAO=new TeacherDAO();
				try {
					res=teacherDAO.findCheck(userid);
				} catch (Exception e) {
					e.printStackTrace();
				}
				if(res) {
		            	state="teacher";
		         }
				else {
					state="none";
				}
			}
            String json = new Gson().toJson(state);
            //·µ»ØÖµ¸ø΢ÐÅС³ÌÐò
            Writer out = response.getWriter();
            out.write(json);
            out.flush();
        }
        if("myInfo".equals(flag)) {
        	String userid=request.getParameter("userid");
        	StudentDAO studentDAO=new StudentDAO();
        	try {
				List<String> list=studentDAO.myInfo(userid);
				Map<String, String> result = new HashMap<String, String>();
	            result.put("backName",list.get(0));
	            result.put("backNum", list.get(1));
	            String json = new Gson().toJson(result);
	            //·µ»ØÖµ¸ø΢ÐÅС³ÌÐò
	            Writer out = response.getWriter();
	            out.write(json);
	            out.flush();
			} catch (Exception e) {
				e.printStackTrace();
			}
        	
        }
        
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}}

ここでは独自の APPID と SECRET を使用します。最近はブログにあまり注目していないのと、アドバイスを求める人が多いため、多くのプライベート メッセージに返信する時間がありません。残りはご自身で探索していただくことにします。このプログラムは純粋に個人的な興味のためのものであり、商業目的で使用してはなりません。

以上がWeChat アプレットのチェックインと出席バックエンド コードを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。