ホームページ > WeChat アプレット > ミニプログラム開発 > WeChat アプレットのチェックインと出席バックエンド コードを共有する

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

藏色散人
リリース: 2020-07-25 13:23:08
転載
4684 人が閲覧しました

関連する推奨事項: 「

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

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

GitHub アドレス: Portal

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

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

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

/**

 * 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 サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート